Hi,
Does anyone know how to use ApplyXPath.java example program (version 2.2 D14) to select a nodeIternator when namespace is used?
For example, given an XML named test.xml:
<?xml version="1.0" encoding="UTF-8"?>
<root>
...
</root>
This test.xml works fine with the ApplyXPath.java sample program. We could run it with the command:
java ApplyXPath test.xml /root
and will get everything as <output><root> ... </root></output>
However, if the namespace is used and declared as:
<?xml version="1.0" encoding="UTF-8"?>
<root xmlns="http://www.xxx.com/ns"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.xxx.com/ns test.xsd">
...
</root>
The test.xml will not be able to extract the root nodeIternator and return null. The output of the ApplyXPath will then be
<output></output>
I understand that if I modify the program and set the NamespaceAware to false, then the XPathApi.selectNodeIternator(doc, xpath) will return a correct answer.
What should we do if we do need the DocumentBuilderFactory.setNamespaceAware(true)?
Thanks
Philip
