首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > XML SOAP >

javascript怎么调用xslt的变量

2012-08-17 
javascript如何调用xslt的变量如XML code?xml version1.0 encodingutf-8?xsl:stylesheet version

javascript如何调用xslt的变量

XML code
<?xml version="1.0" encoding="utf-8"?><xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"    xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">    <xsl:output method="xml" indent="yes"/>    <xsl:template match="Component" name="Chart">     <xsl:param name="ID" select="'Test'"></xsl:param>           <script >        <![CDATA[                        function loadXMLDoc(dname)     {        var txt = "";        if (window.XMLHttpRequest) {            xhttp = new XMLHttpRequest();        }        else {            xhttp = new ActiveXObject("Microsoft.XMLHTTP");        }        xhttp.onreadystatechange = function () {            if (xhttp.readyState == 4) {                if (xhttp.status = 200) {                    txt = xhttp.responseXML;                                 }            }        }        xhttp.open("GET", dname, false);        xhttp.send("");        //return xhttp.responseXML;        return txt;    }    xml = loadXMLDoc("contraint1WithGridChartList.xml");   path = "//Component[@ID=$ID]//Parameter[@Type='XValue']          ]]>      </script>    </xsl:template></xsl:stylesheet>



JavaScript里面的$ID不起作用,请问如何传进去

[解决办法]
如果写上了 <!<CDATA[ 里面的东西就完全不被 替换了。你应该把这个函数前后切割然后组合。。。
但是非常不推荐这么做。有啥理由要这么变换生成JavaScripts代码么。。。
XSLT不过就是一套变换规则而已。。
[解决办法]
如楼上所说,你要传值的地方把CDATA去掉。

但是看你的写法似乎很多余,先XML+XSLT,然后再转成JS,继续读XML,那为什么不直接在XSLT里读XML呢?
XSLT支持document函数

热点排行