|
[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Quick question regarding XPath
# # is it possible to say in XPath # # a//@b # # is the above equivalent to: # # (a/@b | a//*/@b) # Yes. I think the easiest proof of this (using constructs that are allowed in XPath 2.0 along the way) is a//@b means a/descentant-or-self::node()/@b which means a/(descendant::node | self::node())/@b which means a/descendant::node()/@b | a/self::node()/@b which means a/child::node()/descendant-or-self::node()/@b | a/@b which means a/descendant-or-self::node()/child::node()/@b | a/@b which means (given that nodes other than elements have no attributes) a//*/@b | a/@b Of course this assumes some equivalences which I haven't tried to prove formally, for example that "|" distributes over "/". Michael Kay
|
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








