EXSLT字符串标记符上下文

时间:2012-08-14 01:53:59

标签: xslt exslt

每个循环的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循环,则查询可以正常工作。

循环中的上下文节点是什么?

1 个答案:

答案 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>