Subject: RE: [xsl] Axis order and variables From: David Neary <David@xxxxxxxxx> Date: Fri, 23 May 2003 16:24:36 +0200 |
De : David Carlisle [mailto:davidc@xxxxxxxxx] > > <xsl:variable name="x" select="ancestor::x"/> > > <xsl:value-of select="$x[1]/@n"/> > > What is the expected result? Is it "1" or "2"? > > I think this is pretty clear. The ancestor:: axis is a reverse > axis (the first ancestor of a node is its parent), therefore > the expected answer is 2. > > Then the node set is sorted into document order and the 1st node is > taken. If you expect 2 then the expected answer is 2, but nevertheless > you'll get 1. Ah. Colour me surprised. So if I understand correctly, ancestor::x[1] is the same as .., but if I first get the nodeset ancestor::x, and on the nodeset object request element [1], I get the fors ancestor::x in document order? I don't get it. I understood that a nodeset had an inherent ordering which was established at the time we do the select on the nodeset... Ah. penny drops. If we then select nodes from within that nodeset using another axis, we go back to the document ordering associated with that axis. Thanks for the clarification (hope I understand correctly now though). Cheers, Dave. XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Axis order and variables, gutman | Thread | RE: [xsl] Axis order and variables, G. Ken Holman |
RE: [xsl] Dynamic XPath, Martinez, Brian | Date | RE: [xsl] Dynamic XPath, Philip Fitzsimons |
Month |