确定xsl:template匹配中的哪个析取匹配

时间:2010-06-21 20:21:26

标签: xslt match

假设我有这样的XML:

<xsl:template match="assessment | section ">
             .
             .
             .
</xsl:template>

我之所以这样做,是因为我主要希望将assessmentsection个节点视为相同。但是,我确实希望对待它们的方式略有不同。如何判断匹配是assessment还是section

2 个答案:

答案 0 :(得分:0)

做这样的事情:

<xsl:if test="name()='section'">
</xsl:if>

答案 1 :(得分:0)

您可以测试

self::assessment

比使用name()函数稍微高效。

但是在这种情况下,我会将公共代码放在另一个模板(命名或命名模式)中,并将实例化常见处理,如下所示:

<xsl:apply-templates select="." mode="common"/>