Andreas Veithen created XERCESJ-1582:
----------------------------------------

             Summary: Node#lookupNamespaceURI throws NullPointerException on 
document without document element
                 Key: XERCESJ-1582
                 URL: https://issues.apache.org/jira/browse/XERCESJ-1582
             Project: Xerces2-J
          Issue Type: Bug
          Components: DOM (Level 3 Core)
    Affects Versions: 2.9.1
            Reporter: Andreas Veithen
            Priority: Minor


According to appendix B.4 of the DOM Level 3 Core specification, calling 
Node#lookupNamespaceURI on a Document node actually performs the lookup on the 
document element. This is implemented by Xerces, but the code doesn't take into 
account that the Document may be empty (or not have a document element). On 
such Document instances, the lookupNamespaceURI throws a NullPointerException.

The issue can be demonstrated using the following code:

        Document document = 
DocumentBuilderFactory.newInstance().newDocumentBuilder().newDocument();
        System.out.println(document.lookupNamespaceURI("p"));

It is caused by the following piece of code in NodeImpl:

        case Node.DOCUMENT_NODE : {   
                
return((NodeImpl)((Document)this).getDocumentElement()).lookupNamespaceURI(specifiedPrefix);
            }

The issue has been observed with Xerces 2.9.1, but the code in the trunk is 
unchanged.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators
For more information on JIRA, see: http://www.atlassian.com/software/jira

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to