Andreas Veithen created AXIOM-435:
-------------------------------------

             Summary: Consistently implement support for entity references
                 Key: AXIOM-435
                 URL: https://issues.apache.org/jira/browse/AXIOM-435
             Project: Axiom
          Issue Type: Improvement
          Components: API
    Affects Versions: 1.2.13
            Reporter: Andreas Veithen
            Assignee: Andreas Veithen
            Priority: Minor


Currently (unexpanded) entity references are represented as OMText instances 
with type=ENTITY_REFERENCE_NODE. This is a bad choice:
* An entity reference doesn't necessarily represent character data: the 
expansion can e.g. produce elements. Representing it as an OMText is therefore 
conceptually wrong.
* There is lots of code that checks for OMText and then uses OMText#getText() 
under the assumption that the return value represents character data. However, 
for an entity reference, getText() would return the entity name.

It should also be noted that the test coverage for entity references is 
currently almost nonexistent. As a result, the code that handles entity 
references is inconsistent. E.g. OMStAXWrapper/SwitchingWrapper contains the 
following code:

            if ((currentEvent == START_ELEMENT)
                    || (currentEvent == END_ELEMENT)
                    || (currentEvent == ENTITY_REFERENCE)) {
                return ((OMElement) lastNode).getLocalName();
            } else {
                throw new IllegalStateException();
            }

This is obviously incorrect.

--
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