我有一个xslt样式表,其功能没有问题。我需要将mode属性添加到所有xsl:template元素。为了将属性添加到所有元素并且样式表仍然正常运行,我应该记住哪些事实。任何帮助表示赞赏。提前谢谢。
答案 0 :(得分:3)
当然,这取决于样式表和您要使用的确切模式值,有关详细信息,请参阅http://www.w3.org/TR/xslt20/#modes。
假设你有类似没有模式属性的模板,例如
<xsl:template match="foo">
<bar>
<xsl:apply-templates/>
</bar>
</xsl:template>
并且您想要使用某种模式,那么您必须同时更改xsl:template
以及xsl:apply-templates
,例如
<xsl:template match="foo" mode="m1">
<bar>
<xsl:apply-templates mode="m1"/>
</bar>
</xsl:template>
然而,在apply-templates
您有不同的选项,您可以使用
<xsl:template match="foo" mode="m1">
<bar>
<xsl:apply-templates mode="#current"/>
</bar>
</xsl:template>
虽然单模式值没有区别。