[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
On 24/05/2012 18:02, Imsieke, Gerrit, le-tex wrote:
//*[. << current()]
versus
ancestor::* | preceding::*
Both are rather heavily exposed to testing the relative order of two nodes in document order, which in some tree implementations (e.g. DOM) can be very inefficient.
If you don't care about document order, however, (ancestor::*, preceding::*) should be fastest.
There's also (ancestor::*/(. | (preceding-sibling::*/descendant::*))) if anyone wants to try it out.
I do wish we had an "until" operator, so we could do //* until (. is current()). You can do that of course with a recursive function.
Re: [xsl] Diagram of XPath axes
Subject: Re: [xsl] Diagram of XPath axes From: Michael Kay <mike@xxxxxxxxxxxx> Date: Fri, 25 May 2012 00:04:01 +0100 |
On 24/05/2012 18:02, Imsieke, Gerrit, le-tex wrote:
Just a side note: If you want to select the preceding elements *including the ancestors*, use the XPath 2 << operator [1], which selects the nodes that precede the current in document order [2].It would be interesting to see a performance comparison of
In XSLT: select="*[. << current()]"
//*[. << current()]
versus
ancestor::* | preceding::*
Both are rather heavily exposed to testing the relative order of two nodes in document order, which in some tree implementations (e.g. DOM) can be very inefficient.
If you don't care about document order, however, (ancestor::*, preceding::*) should be fastest.
There's also (ancestor::*/(. | (preceding-sibling::*/descendant::*))) if anyone wants to try it out.
I do wish we had an "until" operator, so we could do //* until (. is current()). You can do that of course with a recursive function.
Michael Kay Saxonica
Michael Kay Saxonica
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Diagram of XPath axes, Imsieke, Gerrit, le- | Thread | Re: [xsl] Diagram of XPath axes, Wendell Piez |
Re: [xsl] Diagram of XPath axes, Imsieke, Gerrit, le- | Date | [xsl] How to create predicate dynam, Jesper Tverskov |
Month |
Keywords