XSL属性匹配案例

时间:2009-06-23 18:58:33

标签: xslt

我正在调试其他人的xsl样式表,我注意到很多模板匹配旨在隐藏某些内容。

Ex: <tag hide="X">

所以他们的规则是这样的。

<xsl:template match="tag1[@hide='x']" />
<xsl:template match="tag2[@hide='x']" />
<xsl:template match="tag3[@hide='x']" />

每个可能出现在文档中的标记似乎都匹配,大约是30左右。所以我的问题是,在xsl中有更好的方法来实现相同属性匹配的模板匹配列表吗?

2 个答案:

答案 0 :(得分:6)

试试这个:

<xsl:template match="*[@hide='x']" />

答案 1 :(得分:2)

如果您想更具体地说明模板匹配的内容,您可以执行以下操作:

<xsl:template match="*[
  contains('|tag1|tag2|tag3|' , concat('|', name(), '|')) 
  and 
  @hide='x'
]" />