Re[3]: Параметр XSLT процессора через IE URL
От: thor Россия  
Дата: 07.03.03 12:00
Оценка:
Здравствуйте, [darkening], Вы писали:

D>Ошибку выдает — The Server is undefined.


D>Можно простенький пример использования? Заранее спаисбо.


Привожу исходники небольшого примера, у меня работают

test.xml
<?xml version="1.0" encoding="windows-1251"?>
<items>
    <item id="cool">item1</item>
    <item id="cool2">item2</item>
    <item id="cool">item3</item>    
</items>


test.xslt
<?xml version="1.0" encoding="windows-1251"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:output method="html" version="1.0" encoding="windows-1251" indent="yes"/>
    
    <xsl:param name="forid"/>
    
    <xsl:template match="*">
        <xsl:apply-templates select="//item"/>
    </xsl:template>
    
    <xsl:template match="item">
        <xsl:if test="@id=$forid">
            <xsl:value-of select="text()"/><br/>
        </xsl:if>
    </xsl:template>
</xsl:stylesheet>


test.asp
<%@language="JScript"%>
<%
    var xslt = Server.CreateObject("Msxml2.XSLTemplate.4.0");
    var xslDoc = Server.CreateObject("Msxml2.FreeThreadedDOMDocument.4.0");
    var xslProc;
    try {
        xslDoc.async = false;
        xslDoc.load(Server.MapPath('test.xslt'));
        xslt.stylesheet = xslDoc;
        var xmlDoc = Server.CreateObject("Msxml2.DOMDocument.4.0");
        xmlDoc.async = false;
        xmlDoc.validateOnParse = false;
        var b = xmlDoc.load(Server.MapPath('test.xml'));
        xslProc = xslt.createProcessor();
        xslProc.input = xmlDoc;
        xslProc.addParameter("forid", "cool2") 
        xslProc.transform();
        var out = xslProc.output;
        Response.write(out)
    }
    catch(e){
        Response.Write('fail');
    }
%>



Если возникнут пробемы ICQ #147468765
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.