This is the mail archive of the
xsl-list@mulberrytech.com
mailing list .
Re: Seeking XPATH
- To: xsl-list at lists dot mulberrytech dot com
- Subject: Re: [xsl] Seeking XPATH
- From: David Carlisle <davidc at nag dot co dot uk>
- Date: Tue, 6 Mar 2001 18:37:44 GMT
- References: <008001c0a669$fa18cc80$89ef3ec6@entilzah>
- Reply-To: xsl-list at lists dot mulberrytech dot com
Hi All,
Thanks Derek, Mike, and Jeri for the replies.
So....given the aforementioned xml dom ( see below ) and assuming ROOT is
the current context node, then
A[B[@NM = "case1"]/text() = A[B[@NM = "case3"]/text()]]
^^^^^^^^^^^^^^^^^^^^^^^^^ ^^^^^^^^^^^^^^^^^^^^^^^^^^^
should find the A nodes with IDs 'match1' and 'match2' ? (the IDs are just
for conversational clarity).
If so, please be so kind as to clarify, because I cannot get this to work.
The Xpath expression you show doesn't find any nodes, it is a boolean
expression, it just returns true or false.
A[B[@NM = "case1"]/text()
returns a node set of all the text nodes of the selected A node.
there are three nodes in that set with values
{ " " , " " , " --- " }
The right hand side similarly is a node set of three nodes (which
have the same values, as far as I can see)
= applied to node sets is true if there exists a node in each set with
equal values. This is true in this case.
<ROOT>
<A ID="match1">
<B NM="case1">abc</B>
<B NM="case2">xyz</B>
---
</A>
<A ID="match2">
<B NM="case3">abc</B>
<B NM="case4">def</B>
----
</A>
<A>
<B NM="case5">lmn</B>
<B NM="case6">qrs</B>
----
</A>
</ROOT>
_____________________________________________________________________
This message has been checked for all known viruses by Star Internet delivered
through the MessageLabs Virus Control Centre. For further information visit
http://www.star.net.uk/stats.asp
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list