Subject: Re: [xsl] The identity transform and attributes From: "Andrew Welch" <andrew.j.welch@xxxxxxxxx> Date: Mon, 21 Jan 2008 17:00:41 +0000 |
On 21/01/2008, Abel Braaksma <abel.online@xxxxxxxxx> wrote: > > David Carlisle wrote: > > attribute::node() and self::node() both select attribute nodes. > > node() on its own is short for child::node() which does not select > > attribute nodes because there are never any attributes in the child > > axis, it is teh child axis that does not include attributes, not the > > node() node test. > > That's a great insight. +1 to that. I guess this explains why the allowed axes in match patterns are child and attribute. So when you have: match="foo" you really have: match="child::foo" ...to distinguish between foo being an attribute or element? The same logic applies to node() in that: match="node()" is really match="child::node()" so to get attributes as well you need to explicitly say that: match="attribute::node()|child::node()" ...so the only way for match="node()" to match all node types including attributes would be if node() wasn't automatically converted to child::node(), but some other all encompassing axis. Assuming this is correct so far, the real mind bender is: apply-templates select="parent::foo" being matched by: template match="child::foo" Is that clear is anyones mind? If so, please share :) thanks -- Andrew Welch http://andrewjwelch.com Kernow: http://kernowforsaxon.sf.net/
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
[xsl] List History [was: The identi, B Tommie Usdin | Thread | Re: [xsl] The identity transform an, David Carlisle |
Re: [xsl] The identity transform an, David Carlisle | Date | [xsl] extension to insert XML into , Mario Madunic |
Month |