|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: namespace aware java-xpathapi problem
Hi Sanjay, > I have my xml doc like below > > <Root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns=" > http://www.x.com/XYZ" type="X"> > <level1> > <level2 xsi:type = 'someValue'> > <details>description</details> > </level2> > </level1> > > </Root> Note that the level2 element (which is in the http://www.x.com/XYZ namespace) has a type attribute in the http://www.w3.org/2001/XMLSchema-instance namespace. > If I try to get to the level2 node by using xpathStr as > "//xs:level2[@type = 'someValue']", I am unable to get the node. If > I remove "xsi:" from the XML, then the same XPath works fine. The path "//xs:level2[@type = 'someValue']" looks for an level2 element in the namespace denoted by the prefix 'xs' that has a type attribute *in no namespace* with the value 'someValue'. Your XML document doesn't have such a level2 element - the only level2 element that it contains has a type attribute *in the http://www.w3.org/2001/XMLSchema-instance namespace*. So you need to change the path so that it accesses the value of the xsi:type attribute instead: //xs:level2[@xsi:type = 'someValue'] and you need to make sure that your prefix resolver associates the prefix 'xsi' with the namespace 'http://www.w3.org/2001/XMLSchema-instance'. I hope that helps, Jeni --- Jeni Tennison http://www.jenitennison.com/ XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
|
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








