将“model”属性添加到xslt样式表

时间:2012-08-05 11:22:03

标签: xslt xslt-2.0

我有一个xslt样式表,其功能没有问题。我需要将mode属性添加到所有xsl:template元素。为了将属性添加到所有元素并且样式表仍然正常运行,我应该记住哪些事实。任何帮助表示赞赏。提前谢谢。

1 个答案:

答案 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>

虽然单模式值没有区别。