xsl-list
[Top] [All Lists]

RE: [xpath] all following sibling nodes upto first occurace of specific text value

2005-08-11 15:59:32
In general in XPath if you want to find all nodes on an axis up to the first
one that satisfies condition X, the approach is:

following-sibling::node() except
following-sibling::node()[X][1]/following-sibling::node()

The except operator is in XPath 2.0 but not in XPath 1.0. In XPath 1.0, to
write "A except B", you code it as

A[count(.|B)!=count(B)]

You can expect the performance of the resulting expression to be fairly
awful; a recursive solution at the XSLT level that steps along the axis
until it finds a node satisfying X is likely to be much more efficient.

Michael Kay
http://www.saxonica.com/

-----Original Message-----
From: geoff hopkins [mailto:geoffhopkins123(_at_)yahoo(_dot_)com] 
Sent: 11 August 2005 13:34
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] [xpath] all following sibling nodes upto first 
occurace of specific text value

 I understand this is a xslt forum but there does not
 seem to be any decent xpath places...
 
 I need a xpath expression to be used with a for-each
 loop... context node is X.Parent select the next
 items
 until it finds the next occurance of X.Parent or
 END-OF-DATA as the text value of the node
 
 e.g. the following xml is a typical xml file
 
 <?xml version="1.0" encoding="utf-8"?>
 <root>
      <node>X.Parent</node>
      <node>Y.Child</node>
      <node>Y.Child</node>
      <node>X.Parent</node>
      <node>Y.Child</node>
      <node>END-OF-DATA</node>
 </root>
 
 Thanks...
 
 Geoff

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--



<Prev in Thread] Current Thread [Next in Thread>