Subject: Re: [xsl] returning nodes which have a specific child From: Mukul Gandhi <gandhi.mukul@xxxxxxxxx> Date: Fri, 3 Jul 2009 21:12:38 +0530 |
Thanks, David for the clarification. I always learn from your answers :) On Fri, Jul 3, 2009 at 7:44 PM, David Carlisle<davidc@xxxxxxxxx> wrote: > > >> B But I still have to say it seems strange that "@*" (apparently) can >> match attributes on the child axis and node() can't ... > > There are never any attributes on the child axis. > > It's simpler to see the distinction if you first expand the abbreviated > syntax. > > node() > > doesn't have an explict axis specifier so it is an abbreviation for > > child::node() > > so the reason it doesn't match attributes is nothing to do with the > node test "node()" it is simply that the test is applied to the child > axis, and there are no attributes on the child axis. The same is true of > namespace nodes, incidentally. > > > > @* is an abbrevation for > > attribute::* > > > > You can see that the node test node() is true for B attribute nodes if you apply > it to an axis that has such nodes, as in: > > attribute:node() > > node() matches attributes in other contexts too, such as the xpath2 > expression > > @foo instance of node() > > which is true if there is a foo attribute. > > David -- Regards, Mukul Gandhi
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
RE: [xsl] returning nodes which hav, Michael Sokolov | Thread | Re: [xsl] returning nodes which hav, Michael Ludwig |
Re: [xsl] Merge Two Files, David Carlisle | Date | [xsl] Is it possible to rewrite par, Jonas Voss |
Month |