1

我有一个 xsl:variable 这样的,

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

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

4

1 回答 1

2

使用

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

如果您需要消除or操作员,请执行以下操作:

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

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

/*/@attr = (1, 2)
于 2012-10-11T13:24:37.350 回答