xsl-list
[Top] [All Lists]

[xsl] relative . not working in complex xpath

2014-07-20 22:35:56
I have selected an element from an XSD file and want to find its base class
to accumulate all xs:attributes.
So I first select the node in question with
//xs:complexType[@name='SomeType']

Then I want to go on from there and collect all xs:attribute
node.selectNodesNS(".//xs:attribute |
//xs:complexType[@name=./xs:extension/@base]/@name]//xs:attribute", xsns)

Unfortunately that only gives me the attributes of the "node" I perform the
select from.
I get the correct results if I explicitly use the node in my query, instead
of the relative expression of "." in "@name=./xs:extension/@base" like this:

node.selectNodesNS(".//xs:attribute | //xs:complexType[@name =
//xs:element[@type=//xs:complexType[@name='SomeType']//xs:extension/@base]/@name]//xs:attribute",
xsns)

What is going on here?
Using XPath 1.0 with MSXML.

Thanks!
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--
<Prev in Thread] Current Thread [Next in Thread>