|
Hi, All
I am user Xerces 1.4 SAX parser. In my content
handler, I need to print out the root element exactly the same as the original
XML file I am parsing. Following is the code I used:
public void startElement(....) { ... System.out.print("<"+localName); for(int i=0; i<atts.getLength(),
i++)
{ System.out.print(" " + atts.getName(i) + "=" + atts.getValue(i)); }
System.out.print(">");
.... } When the root element have no namespace informaion, the print out looks perfect: original: <root ID="5"> printout from my code: <root ID="5"> but, when I add some namespace information into the root element, the print out is not what I expected: original: <root xmlns="http://myProject.myCompany.com/order" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://myProject.myCompany.com/order order.xsd" ID="5"> now the print out is: <root xsi:schemaLocation="http://myProject.myCompany.com/order order.xsd" ID="5"> here, I missed two lines from the original xml file. I tried to debug my code, and found that the xml=... and xml:xsi=... was not listed in the atts as attribute name/value pair. What's the reason? How to fix my problem? Thanks for any comments. Linda
|
