关于apply-templates中的select属性

时间:2011-06-13 09:12:36

标签: xml xslt

我有一个关于如何在apply-templates中使用select属性的问题。 当我这样写:<ul><xsl:apply-templates select="authors/author" /></ul>时,它是什么意思?这是否意味着它应该应用一个模板,其中作者节点是作者节点的子节点,该节点是当前节点的子节点?

遵循模板规则:

<xsl:template match="author">  
    <li><xsl:value-of select="."/></li>
</xsl:template>

1 个答案:

答案 0 :(得分:2)

  

这是否意味着它应该适用   作者节点所在的模板   作者节点的子节点是   当前节点的子节点?

完全。

嗯,更加夸张:这意味着XSLT处理器应该将模板应用于所有 <author>个节点 <authors>个节点的所有 <author>个节点谁是当前节点的子节点。

如果有多个模板可以匹配<xsl:template match="author[not(@country = 'USA')]"> <!-- will execute for any non-U.S. authors, specifically --> </xsl:template> <xsl:template match="author"> <!-- will execute for all other authors --> </xsl:template> ,则XSLT处理器将决定应用哪个模板。例如:

{{1}}