每个循环的EXSLT Tokenizer中的当前节点上下文是什么?我似乎无法查询文档中的任何节点。例如:
<xsl:for-each select="str:tokenize($renderList,',')">
<xsl:variable name ="tag" select="."/>
<xsl:value-of select = "//tag[@name = $tag]"/>
</xsl:for-each>
如果我将for <xsl:value-of select = "//tag[@name = 'A']"/>
硬编码为for-each循环,则查询可以正常工作。
循环中的上下文节点是什么?
答案 0 :(得分:4)
问题在于xsl:for-each
当前文档不是原始源XML文档。
这应该有效:
<xsl:variable name="vDoc" select="/"/>
<xsl:for-each select="str:tokenize($renderList,',')">
<xsl:variable name ="tag" select="."/>
<xsl:value-of select = "$vDoc//tag[@name = $tag]"/>
</xsl:for-each>