我怎样才能在xslt中获得所有有另一个具有某个特定名字的孩子的孩子?
例如:
<node>
<text>
<char></char>
</text>
<text>
<char></char>
</text>
<text>
<tag></tag>
</text>
</node>
我想调用一个应用模板到内部有text
的所有tag
个节点,并为所有文本节点调用另一个模板,内部有char
答案 0 :(得分:1)
<xsl:template match="node">
<xsl:apply-templates select="text[tag]"/>
<xsl:call-template name="foo">
<xsl:with-param name="elements" select="text[char]"/>
</xsl:call-template>
</xsl:template>
应该给你一个想法,虽然我建议在两种情况下使用apply-templates,使用不同的模式或合适的匹配模式:
<xsl:template match="node">
<xsl:apply-templates/>
</xsl:apply-templates>
<xsl:template match="text[tag]">
...
</xsl:templates>
<xsl:template match="text[char]">
...
</xsl:templates>