[ 
https://issues.apache.org/jira/browse/AXIOM-374?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Andreas Veithen updated AXIOM-374:
----------------------------------

    Fix Version/s:     (was: 1.2.13)
                   1.2.14
    
> Behavior of OMFactory#createOMElement(QName [, OMContainer]) is inconsistent 
> between LLOM and DOOM
> --------------------------------------------------------------------------------------------------
>
>                 Key: AXIOM-374
>                 URL: https://issues.apache.org/jira/browse/AXIOM-374
>             Project: Axiom
>          Issue Type: Bug
>          Components: DOOM
>    Affects Versions: 1.2.12
>            Reporter: Andreas Veithen
>            Assignee: Andreas Veithen
>             Fix For: 1.2.14
>
>
> The createOMElement(String, OMNamespace), createOMElement(String, 
> OMNamespace, OMContainer) and createOMElement(String, String, String) methods 
> support auto-generating a namespace prefix (by passing a null prefix) and 
> creating an element in the default namespace (by passing an empty string as 
> prefix). This choice doesn't exist for the createOMElement(QName) and 
> createOMElement(QName, OMContainer) methods because the prefix in a QName 
> object can never be null. There is an inconsistency in the behavior of LLOM 
> and DOOM when an empty prefix is passed in the QName object. LLOM will 
> auto-generate a prefix, while DOOM will create an element in the default 
> namespace.
> In the case of DOOM, this appears to be a bug because the corresponding 
> createOMElement method contains the following condition:
> qname.getPrefix() != null
> However, the return value of QName#getPrefix() is never null, and the code 
> that would auto-generate a prefix is unreachable.
> On the other hand, the desired behavior depends on the use case, and there 
> are situations where one would like to create an element in the default 
> namespace if the prefix in the QName is an empty string.
> Proposed solution:
> 1. Make sure that DOOM has the same behavior as LLOM, i.e. auto-generate a 
> prefix if QName#getPrefix() returns an empty string.
> 2. Add additional methods to OMFactory that create an element from a QName, 
> but that allow to specify the intended behavior.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
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