xsl-list
[Top] [All Lists]

RE: [xsl] returning nodes which have a specific child

2009-07-03 10:34:17
Thanks - feeling mildly illiterate now.  I've been using xpath happily for
years: not sure why I felt the need to complain today :)

-Mike

-----Original Message-----
From: David Carlisle [mailto:davidc(_at_)nag(_dot_)co(_dot_)uk] 
Sent: Friday, July 03, 2009 10:14 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: Re: [xsl] returning nodes which have a specific child



 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  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



______________________________________________________________
__________
The Numerical Algorithms Group Ltd is a company registered in 
England and Wales with company number 1249803. The registered 
office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The 
service is powered by MessageLabs. 
______________________________________________________________
__________

--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--