【发布时间】:2016-04-26 20:00:20
【问题描述】:
我有一个基本的 xml 文件,例如:
<base>
...
<s l="something" />
<s l="somethingelse" />
<s>
...
</base>
在我的 xslt 中,我使用每个 <s> 上的 document() 函数来拉入另一个结构如下的文件:
<otherbase>
...
<r l="something" />
<r l="somethingelse" />
<r l="evenmore" />
...
</otherbase>
在基本文件中的<s> 处,我试图选择所有<r>s,其@l 与当前<s> 的任何 preceding-sibling::*/@l 不匹配。因此对于没有属性的第三个<s>,它将匹配<r l="evenmore" />等。
类似:
<xsl:for-each select="document('mydoc.xml')//r[@l != preceding-sibling::*/@l]">
...
</xsl:for-each>
如果我在我相信的<r> 属性中匹配,我会工作,但我需要current() 的前兄弟姐妹......我无法弄清楚语法。
不幸的是,我的环境中没有 2.0 处理器,卡在 xslt 1.0 中。
【问题讨论】:
-
我更改了你的标题,因为你的问题与模式匹配无关。