我有这个......
<xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common">
<xsl:variable name="data">
<root>
<test>1000</test>
<test>2000</test>
<test>3000</test>
</root>
</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="$data/root/test">
<xsl:for-each select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
我认为在XSLT 1.1中,$ data变量将被视为一个节点集,因此标准的XSLT内容(如for-each)应该可以正常工作。
我没有收到错误,但是没有输出 - 好像$ data nodeset完全是空的。
我也试过这个
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common">
<xsl:variable name="data">
<root>
<test>1000</test>
<test>2000</test>
<test>3000</test>
</root>
</xsl:variable>
<xsl:template match="/">
<xsl:for-each select="exslt:node-set($data)/root/test">
<xsl:for-each select="."/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
结果相同。 (事实上,我之前没有遇到任何问题) 我正在使用撒克逊人。
我错过了什么? (顺便说一句,我不能使用XSLT 2.0)。
由于
答案 0 :(得分:1)
您写道:
我没有得到错误,但我得不到 输出
问题在于:
<xsl:for-each select="."/>
你的问题:
我错过了什么?
答案:您错过了模板。
答案 1 :(得分:0)
<xsl:template match="/"> <xsl:for-each select="exslt:node-set($data)/root/test"> <xsl:for-each select="."/> </xsl:for-each> </xsl:template>
错误在以下(空)指令中:
<xsl:for-each select="."/>
这(可能)必须:
<xsl:value-of select="."/>
或强>
<xsl:copy-of select="."/>
或......?