abdera-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Ugo Cei <...@apache.org>
Subject AXIOM and namespaces
Date Fri, 07 Dec 2007 14:25:26 GMT
While browsing the Abdera parser code I was wondering why FOMBuilder  
overrides StAXOMBuilder#createOMElement, so I went looking for the  
source of the method in the parent class and saw the following:

     protected OMNode createOMElement() throws OMException {
         OMElement node;
         String elementName = parser.getLocalName();
         if (lastNode == null) {
             node = omfactory.createOMElement(elementName, null,  
document, this);
         } else if (lastNode.isComplete()) {
             node = omfactory.createOMElement(elementName, null,
             ((OMNodeEx) lastNode).setNextOMSibling(node);
             ((OMNodeEx) node).setPreviousOMSibling(lastNode);
         } else {
             OMContainerEx e = (OMContainerEx) lastNode;
             node = omfactory.createOMElement(elementName, null,
                                              (OMElement) lastNode,  
         return node;

Look at those omfactory.createOMElement calls: the second argument is  
supposed to be a namespace and is always null! Does this mean that  
AXIOM blithely ignores the namespace of the element the parser has  
just encountered? I can't believe this is the case.

Is this the reason why we need to override this method, in order to  
pass the correct namespace?



View raw message