我熟悉在XSLT中使用preceding axes來確定給定當前上下文的前面元素的數量。然而,我沒有看到一種方法來做同樣的節點,我已經存儲在一個變量中。例如:XPath 1.0:查找指定節點之前的節點數
<xsl:variable name="matchedBook" select="book[text()='The Hobbit']"/>
<xsl:variable name="precedingBookCount" select="count(???)"/>
給出下面的XML,precedingBookCount
應該等於3
<available>
<book>Lord of the Rings</book>
<book>The Hunger Games</book>
</available>
<purchased>
<book>Ready Player One</book>
<book>The Hobbit</book>
<book>Lord of the Flies</book>
</purchased>
我XPath 2.0中看到,有一個NodeComp operator<<
,我可以用,但是這似乎並沒有被存在於XPath 1.0中。
那麼我該如何去做XPath 1.0呢?
MattHuggins:如果某些「之前」元素可以是當前元素的祖先,那麼您需要一個不同的解決方案。我知道這可能不是您的具體情況,但如果您有興趣知道如何做到這一點,請提出問題。 –
@DimitreNovatchev - 幸運的是,我的具體問題並非如此。感謝您伸出援手! –