Xpath区分两个同名属性
Xpath differentiate two attributes with the same name
select="$BCRs/BCR[count(. | $BCRs/BCR[@bss = @bss][1]) = 1]"
我需要两个 @bss
来引用每个 $BCRs/BCR
。
我正在使用 Muenchian 技术获取具有每个属性值的第一个元素。但是,我不能使用键,所以我必须以这种方式检查属性。如何让 @bss
引用不同的节点?[=14=]
我不确定我是否理解您为什么不能使用键,但我认为您无法在 XSLT 1.0 中使用单个表达式解决该问题,而是可以使用类似
的方法
<xsl:for-each select="$BCRs/BCR">
<xsl:variable name="group" select="$BCRs/BCR[@bbs = current()/@bbs]"/>
... select="$group[1]" ...
select="$BCRs/BCR[count(. | $BCRs/BCR[@bss = @bss][1]) = 1]"
我需要两个 @bss
来引用每个 $BCRs/BCR
。
我正在使用 Muenchian 技术获取具有每个属性值的第一个元素。但是,我不能使用键,所以我必须以这种方式检查属性。如何让 @bss
引用不同的节点?[=14=]
我不确定我是否理解您为什么不能使用键,但我认为您无法在 XSLT 1.0 中使用单个表达式解决该问题,而是可以使用类似
的方法<xsl:for-each select="$BCRs/BCR">
<xsl:variable name="group" select="$BCRs/BCR[@bbs = current()/@bbs]"/>
... select="$group[1]" ...