|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Understanding axis
Hi Adam,
At 11:32 AM 10/29/2002, you wrote: I've been learning the use of axis in transformations and I stumbled on something that didn't seem to make sense... Yes. XPath */* and */child::* are both short for XPath child::*/child::* I would have thought... Nope, they're not. Writing 'child::' does not add a step to the XPath; it merely makes explicit the child axis, which the processor assumes by default if no other axis is named. Could somebody help me reason out why it is this way? The XPath spec is clear on how all the abbreviations work, though they can be a bit tricky to learn since they don't all work the same way (some abbreviate an entire step, others only the axis specifier part of a step; or in the case of '//', more than a step is abbreviated). This seems to complicate scenarios where I would only want certain nodes based upon their children without changing context. For instance, something like: If you want grandchildren elements only that have a child named $v, that's */*[*[local-name()=$v]] If you want child elements only that have a child named $v, that's *[*[local-name()=$v]] The latter can be expanded as child::*[child::*[local-name()=$v]]. I'll let you expand the first one. I hope that helps, Wendell
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








