私は、現在のコンテキストで先行する要素の数を決定するためにXSLTで先行する軸を使用することに精通しています。ただし、変数に格納したノードを指定すると、同じことを行う方法がわかりません。例えば:
<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演算子 <<
があることがわかりますが、これはXPath1.0には存在しないようです。
では、XPath 1.0でこれを行うにはどうすればよいですか?