这是一个很好的谜题。假设我们有这段代码:
<page n="1">
<line n="3">...</line>
</page>
使用简单的 xpath 表达式在页面元素“n=1”中定位行元素“n=3”非常容易:xpath(//page[@n='1')/line[@n='3 '])。伟大的,美丽的,优雅的。现在假设我们拥有的是这种编码(熟悉 TEI 的人会知道它来自哪里)。
<pb n="1"/>
(arbitrary amounts of stuff)
<lb n="3"/>
我们想找到 n="3" 的lb元素,它跟在 n="1" 的pb元素之后。但请注意——这个lb元素几乎可以在pb之后的任何地方:它可能不是(并且很可能不是)兄弟姐妹,但可能是 pb 的兄弟姐妹的孩子,或者pb的父母的孩子,等等等等等等
所以我的问题是:如何使用 XPath搜索这个 n="3" 的lb元素,它跟在 n="1" 的pb元素之后?
提前致谢
彼得