Refactor OMOutputFormat to use StAXWriterConfiguration instead of 
XMLStreamWriterFilter
---------------------------------------------------------------------------------------

                 Key: WSCOMMONS-562
                 URL: https://issues.apache.org/jira/browse/WSCOMMONS-562
             Project: WS-Commons
          Issue Type: Improvement
          Components: AXIOM
            Reporter: Andreas Veithen
            Assignee: Andreas Veithen
             Fix For: Axiom 1.2.10


The current trunk contains a change that adds a property to OMOutputFormat that 
allows to set an XMLStreamWriterFilter in order to have more control over the 
output produced by MTOMXMLStreamWriter. Currently, only a single implementation 
of XMLStreamWriterFilter exists, namely XMLStreamWriterRemoveIllegalChars. This 
was done to solve AXIS2-4791.

This should be refactored to use the new StAXWriterConfiguration API (which is 
the companion of the StAXParserConfiguration API introduced in 1.2.9 and which 
currently only exists in trunk). Reasons:

1. As the name implies, the purpose of XMLStreamWriterRemoveIllegalChars is to 
remove illegal characters in text nodes and attributes during serialization. It 
is possible that some StAX implementations support this using vendor specific 
factory properties. The current implementation would be unable to leverage 
this. On the other hand, StAXParserConfiguration gives access to the 
XMLOutputFactory and the StAXDialect, so that vendor specific extensions could 
be used (while falling back to a simple XMLStreamWriter wrapper by default).

2. StAXWriterConfiguration will be the recommended way to configure low level 
aspects of the XML serialization process (in particular to set XMLOutputFactory 
properties). For this API to be complete, OMOutputFormat must be enhanced to 
allow setting a non default StAXWriterConfiguration (otherwise the feature 
would not be usable with the OMContainer#serialize methods). If the 
xmlStreamWriterFilter property is preserved, then there would be two redundant 
ways to do things. Therefore, xmlStreamWriterFilter should be abandoned since 
StAXWriterConfiguration is more general.

Since the XMLStreamWriterFilter feature currently only exists in trunk, the 
refactoring should be included in 1.2.10 in order to avoid incompatible changes 
in subsequent releases.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to