Class XMLOutputFactory2
- java.lang.Object
-
- javax.xml.stream.XMLOutputFactory
-
- org.codehaus.stax2.XMLOutputFactory2
-
- All Implemented Interfaces:
XMLStreamProperties
public abstract class XMLOutputFactory2 extends XMLOutputFactory implements XMLStreamProperties
Extension ofXMLInputFactory
to add missing functionality.Also contains extended standard properties that conforming stream writer factory and instance implementations should at least recognize, and preferably support.
NOTE: although actual values for the property names are visible, implementations should try to use the symbolic constants defined here instead, to avoid typos.Notes about properties that output factories should support:
XMLStreamProperties.XSP_NAMESPACE_AWARE
: Whether output classes should keep track of and output namespace information provided via write methods. When enabled (set to Boolean.TRUE), will use all namespace information provided, and does not allow colons in names (local name, prefix).
What exactly is kept track of depends on other settings, specifically whether writer is in "repairing" mode or not. When disabled, will only make use of local name part, which may contain colons, and ignore prefix and namespace URI if any are passed.
Turning this option off may improve performance if no namespace handling is needed.
Default value for implementations should be 'true'; implementations are not required to implement 'false'.XMLStreamProperties.XSP_PROBLEM_REPORTER
:
- Version:
- 3.0 01/21/2007
- Author:
- Tatu Saloranta (tatu.saloranta@iki.fi)
-
-
Field Summary
Fields Modifier and Type Field Description static String
P_ATTR_VALUE_ESCAPER
Property that can be set if a custom output escaping for attribute value content is needed.static String
P_AUTO_CLOSE_OUTPUT
Whether stream writer is to close the underlying output destination (output stream, reader) when stream writer is closed.static String
P_AUTOMATIC_EMPTY_ELEMENTS
Whether stream writers are allowed to automatically output empty elements, when a start element is immediately followed by matching end element.static String
P_AUTOMATIC_NS_PREFIX
Prefix to use for automatically created namespace prefixes, when namespace support is enabled, the writer is in "repairing" mode, and a new prefix name is needed.static String
P_TEXT_ESCAPER
Property that can be set if a custom output escaping for textual content is needed.-
Fields inherited from class javax.xml.stream.XMLOutputFactory
IS_REPAIRING_NAMESPACES
-
Fields inherited from interface org.codehaus.stax2.XMLStreamProperties
XSP_IMPLEMENTATION_NAME, XSP_IMPLEMENTATION_VERSION, XSP_NAMESPACE_AWARE, XSP_PROBLEM_REPORTER, XSP_SUPPORT_XMLID, XSP_SUPPORTS_XML11, XSP_V_XMLID_FULL, XSP_V_XMLID_NONE, XSP_V_XMLID_TYPING
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
XMLOutputFactory2()
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description abstract void
configureForRobustness()
Method call to make writer be as robust as possible, that is, to make it both check AND fix problems if it can.abstract void
configureForSpeed()
Method call to make writer optimize its operation for speed.abstract void
configureForXmlConformance()
Method call to make writer be as strict with output as possible, ie maximize validation it does to try to catch any well-formedness or validity problems.abstract XMLEventWriter
createXMLEventWriter(Writer w, String encoding)
abstract XMLEventWriter
createXMLEventWriter(XMLStreamWriter sw)
abstract XMLStreamWriter2
createXMLStreamWriter(Writer w, String encoding)
-
Methods inherited from class javax.xml.stream.XMLOutputFactory
createXMLEventWriter, createXMLEventWriter, createXMLEventWriter, createXMLEventWriter, createXMLStreamWriter, createXMLStreamWriter, createXMLStreamWriter, createXMLStreamWriter, getProperty, isPropertySupported, newInstance, newInstance, setProperty
-
-
-
-
Field Detail
-
P_AUTOMATIC_EMPTY_ELEMENTS
public static final String P_AUTOMATIC_EMPTY_ELEMENTS
Whether stream writers are allowed to automatically output empty elements, when a start element is immediately followed by matching end element. If true, will output empty elements; if false, will always create separate end element (unless a specific method that produces empty elements is called).Default value for implementations should be 'true'; both values should be recognized, and 'false' must be honored. However, 'true' value is only a suggestion, and need not be implemented (since there is the explicit 'writeEmptyElement()' method).
- See Also:
- Constant Field Values
-
P_AUTO_CLOSE_OUTPUT
public static final String P_AUTO_CLOSE_OUTPUT
Whether stream writer is to close the underlying output destination (output stream, reader) when stream writer is closed. Basic StAX2 specification mandates this feature to be set to false by default (for destinations that are passed by the application and for which it has access to).Note: if set to true, writers are also allowed (but not required) to close the underlying destination when they do not need it any more, for example when throwing an (unrecoverable) exception
- See Also:
- Constant Field Values
-
P_AUTOMATIC_NS_PREFIX
public static final String P_AUTOMATIC_NS_PREFIX
Prefix to use for automatically created namespace prefixes, when namespace support is enabled, the writer is in "repairing" mode, and a new prefix name is needed. The value is a String, and needs to be a valid namespace prefix in itself, as defined by the namespace specification. Will be prepended by a trailing part (often a sequence number), in order to make it unique to be usable as a temporary non-colliding prefix.- See Also:
- Constant Field Values
-
P_TEXT_ESCAPER
public static final String P_TEXT_ESCAPER
Property that can be set if a custom output escaping for textual content is needed. The value set needs to be of typeEscapingWriterFactory
. When set, the factory will be used to create a per-writer instance used to escape all textual content written, both via explicitXMLStreamWriter.writeCharacters(java.lang.String)
methods, and via copy methods (XMLStreamWriter2.copyEventFromReader(org.codehaus.stax2.XMLStreamReader2, boolean)
).- See Also:
- Constant Field Values
-
P_ATTR_VALUE_ESCAPER
public static final String P_ATTR_VALUE_ESCAPER
Property that can be set if a custom output escaping for attribute value content is needed. The value set needs to be of typeEscapingWriterFactory
. When set, the factory will be used to create a per-writer instance used to escape all attribute values written, both via explicitXMLStreamWriter.writeAttribute(java.lang.String, java.lang.String)
methods, and via copy methods (XMLStreamWriter2.copyEventFromReader(org.codehaus.stax2.XMLStreamReader2, boolean)
).- See Also:
- Constant Field Values
-
-
Method Detail
-
createXMLEventWriter
public abstract XMLEventWriter createXMLEventWriter(Writer w, String encoding) throws XMLStreamException
- Throws:
XMLStreamException
-
createXMLEventWriter
public abstract XMLEventWriter createXMLEventWriter(XMLStreamWriter sw) throws XMLStreamException
- Throws:
XMLStreamException
-
createXMLStreamWriter
public abstract XMLStreamWriter2 createXMLStreamWriter(Writer w, String encoding) throws XMLStreamException
- Throws:
XMLStreamException
-
configureForXmlConformance
public abstract void configureForXmlConformance()
Method call to make writer be as strict with output as possible, ie maximize validation it does to try to catch any well-formedness or validity problems.This configuration does add some overhead to output process, since it enables content checks that are overhead.
None of currently defined standard properties should be affected, but implementations are likely to enable/disable custom properties related to validation.
-
configureForRobustness
public abstract void configureForRobustness()
Method call to make writer be as robust as possible, that is, to make it both check AND fix problems if it can.Like
configureForXmlConformance()
, this configuration adds some overhead to output process.None of currently defined standard properties should be affected, but implementations are likely to enable/disable custom properties related to validation.
-
configureForSpeed
public abstract void configureForSpeed()
Method call to make writer optimize its operation for speed. This generally disably additional checks (if any) writer does, and is likely to disable many things thatconfigureForXmlConformance()
(andconfigureForRobustness()
) enables.None of currently defined standard properties should be affected.
-
-