Xslt 在xsl中读取属性值而不指定节点名称
我有一个xsl:variable,如下所示Xslt 在xsl中读取属性值而不指定节点名称,xslt,xpath,Xslt,Xpath,我有一个xsl:variable,如下所示 <xsl:variable name="flag" select="(/node1/@attr = 1) or (/node2/@attr = 1)"/> 是否可以在不指定节点名称的情况下读取属性值?因此,我可以删除或条件。基本上,我向xslt提供了两种类型的xml,node1和node2是根节点名。使用: /*/@attr = 1 or /*/@attr = 2 contains(' 1 2 ', concat('
<xsl:variable name="flag"
select="(/node1/@attr = 1) or (/node2/@attr = 1)"/>
是否可以在不指定节点名称的情况下读取属性值?因此,我可以删除或条件。基本上,我向xslt提供了两种类型的xml,node1
和node2
是根节点名。使用:
/*/@attr = 1 or /*/@attr = 2
contains(' 1 2 ', concat(' ', /*/@attr, ' '))
/*/@attr = (1, 2)
如果需要消除或操作符,请执行以下操作:
/*/@attr = 1 or /*/@attr = 2
contains(' 1 2 ', concat(' ', /*/@attr, ' '))
/*/@attr = (1, 2)
在XPath 2.0(XSLT 2.0)中,这可以进一步缩写为:
/*/@attr = 1 or /*/@attr = 2
contains(' 1 2 ', concat(' ', /*/@attr, ' '))
/*/@attr = (1, 2)
我有一个问题。这个/*/@attr会同时检查所有子节点的该属性,还是只检查根节点?@Mark,只检查顶部元素——这是问题中所要求的。