Issue within BXMLSerializer preventing compatibility with other StAX 
implementation, particularly woodstox
----------------------------------------------------------------------------------------------------------

                 Key: PIVOT-717
                 URL: https://issues.apache.org/jira/browse/PIVOT-717
             Project: Pivot
          Issue Type: Bug
          Components: core-beans
    Affects Versions: 2.0
         Environment: Woodstox 4.1.1 used as the StAX parser
            Reporter: Lawrence Barry
            Priority: Minor


The behavior of the stream readers getNamespaceURI function for passing nulls 
appears to vary. The existing implementation breaks Woodstox when there is no 
attribute namespace. To fix, the following code from processAttributes in 
BXMLSerializer :

String namespaceURI = xmlStreamReader.getAttributeNamespace(i);
if (namespaceURI == null) {
    namespaceURI = xmlStreamReader.getNamespaceURI("");
}

was replaced with:

String namespaceURI = xmlStreamReader.getAttributeNamespace(i);
if (namespaceURI.isEmpty()) {
     namespaceURI = xmlStreamReader.getNamespaceURI();
}

The == null was replace with an isEmpty call (as this didn't function correctly 
with Woodstox) and the passing of "" was removed from the getNamespaceURI call.

BXMLSerializer with these changes now functions with Woodstox and also 
functions as expected with the default parser.

--
This message is automatically generated by JIRA.
For more information on JIRA, see: http://www.atlassian.com/software/jira

Reply via email to