读取属性值而不在xsl中指定节点名称

时间:2012-10-11 13:17:24

标签: xslt xpath

我有一个像这样的xsl:变量,

<xsl:variable name="flag" 
       select="(/node1/@attr = 1) or (/node2/@attr = 1)"/>

是否可以在不指定节点名称的情况下读取属性值?所以我可以消除or条件。基本上我将两种类型的xml提供给xslt,node1node2是根节点名称。

1 个答案:

答案 0 :(得分:2)

使用

/*/@attr = 1 or /*/@attr = 2

如果您需要删除or opertor,请执行

contains(' 1 2 ', concat(' ', /*/@attr, ' '))

在XPath 2.0(XSLT 2.0)中,这可以进一步缩写为

/*/@attr = (1, 2)