2

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

4

1 回答 1

3

当然,这取决于样式表和您要使用的确切模式值,有关详细信息,请参阅http://www.w3.org/TR/xslt20/#modes

假设您有类似没有模式属性的模板,例如

<xsl:template match="foo">
  <bar>
    <xsl:apply-templates/>
  </bar>
</xsl:template>

并且您想使用某种模式,那么您必须同时更改 thexsl:templatexsl:apply-templateseg

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

尽管使用单个模式值没有区别。

于 2012-08-05T11:36:27.410 回答