3

EXSLT Tokenizer for-each 循环中的当前节点上下文是什么?我似乎无法查询文档中的任何节点。例子:

<xsl:for-each select="str:tokenize($renderList,',')">
   <xsl:variable name ="tag" select="."/>
   <xsl:value-of select = "//tag[@name = $tag]"/>
</xsl:for-each>

如果我<xsl:value-of select = "//tag[@name = 'A']"/>在 for-each 循环之外硬编码,则查询有效。

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

4

1 回答 1

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>
于 2012-08-14T02:16:51.817 回答