Searched in the archives and didn't find what I was looking for (but not 
really sure what I'm looking for, so don't throw things at me if this 
has been asked before).

I have an XML template that I read into a DOM4J (using 1.6) document 
when I begin processing. The default namespace is set in the document 
and I set it again, just for good measure:

        SAXParser p = SAXParserFactory.newInstance().newSAXParser();

        DocumentFactory df = DocumentFactory.getInstance();
        df.setXPathNamespaceURIs( namespaces );

        SAXContentHandler ch = new SAXContentHandler();
        p.parse( ClassLoader.getSystemResourceAsStream( TEMPLATE_FILE ), ch );

        Document doc = ch.getDocument();
        doc.getRootElement().addNamespace( "", EFILE_NS );


When I process the raw data, I do XPath lookups on nodes in the template 
and set them like so:

            XPath xp = root.createXPath( xpath );
            xp.setNamespaceURIs( namespaces );
            Element e = (Element) xp.selectSingleNode( root );
            if ( e != null ) {
                e.setText( value );
                return e;
            } else {
                return root;
            }

But when the file is generated, some of the elements below the root 
element (but not all of them) have namespaces set to '' (blank). This 
causes the other party's XML processing to blow up with the error that 
the element with the blank namespace isn't in the E-file namespace, like 
it's supposed to be.

If the namespace is set in the template, then I would expect it work 
correctly when I've read that document in and set the namespaces 
accordingly. That's not happening and some elements in the DOM are being 
"taken out" of the default namespace.

Can someone shed some light on why this is happening?

-- 


Thanks!

Jon Brisbin
Portal Webmaster
NPC International, Inc.
http://www.npcinternational.com



-------------------------------------------------------------------------
This SF.net email is sponsored by: Splunk Inc.
Still grepping through log files to find problems?  Stop.
Now Search log events and configuration files using AJAX and a browser.
Download your FREE copy of Splunk now >>  http://get.splunk.com/
_______________________________________________
dom4j-user mailing list
dom4j-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dom4j-user

Reply via email to