com.ctc.wstx.dom
public class WstxDOMWrappingWriter extends DOMWrappingWriter
XMLStreamWriter
interface.
Note that the implementation is only to be used for use with
javax.xml.transform.dom.DOMResult
.
Some notes regarding missing/incomplete functionality:
Modifier and Type | Field and Description |
---|---|
protected static java.lang.String |
ERR_NSDECL_WRONG_STATE |
protected java.lang.String |
mAutomaticNsPrefix |
protected int[] |
mAutoNsSeq
for NsRepairing mode
|
protected WriterConfig |
mConfig |
protected DOMOutputElement |
mCurrElem
This element is the current context element, under which
all other nodes are added, until matching end element
is output.
|
protected DOMOutputElement |
mOpenElement
This element is non-null right after a call to
either
writeStartElement and
writeEmptyElement , and can be used to
add attributes and namespace declarations. |
protected java.lang.String |
mSuggestedDefNs |
mDocument, mEncoding, mNsAware, mNsContext, mNsRepairing, mValueEncoder
Modifier and Type | Method and Description |
---|---|
protected void |
appendLeaf(org.w3c.dom.Node n) |
static WstxDOMWrappingWriter |
createFrom(WriterConfig cfg,
javax.xml.transform.dom.DOMResult dst) |
protected void |
createStartElem(java.lang.String nsURI,
java.lang.String prefix,
java.lang.String localName,
boolean isEmpty)
Method called by all start element write methods.
|
protected java.lang.String |
findElemPrefix(java.lang.String nsURI,
DOMOutputElement elem)
Method called to find an existing prefix for the given namespace,
if any exists in the scope.
|
protected java.lang.String |
findOrCreateAttrPrefix(java.lang.String suggPrefix,
java.lang.String nsURI,
DOMOutputElement elem)
Method called to somehow find a prefix for given namespace, to be
used for a new start element; either use an existing one, or
generate a new one.
|
protected java.lang.String |
generateElemPrefix(java.lang.String suggPrefix,
java.lang.String nsURI,
DOMOutputElement elem)
Method called after
findElemPrefix(java.lang.String, com.ctc.wstx.dom.DOMOutputElement) has returned null,
to create and bind a namespace mapping for specified namespace. |
javax.xml.namespace.NamespaceContext |
getNamespaceContext() |
java.lang.String |
getPrefix(java.lang.String uri) |
java.lang.Object |
getProperty(java.lang.String name) |
boolean |
isPropertySupported(java.lang.String name)
Method similar to
XMLOutputFactory.isPropertySupported(java.lang.String) , used
to determine whether a property is supported by the Writer
instance. |
protected void |
outputAttribute(java.lang.String nsURI,
java.lang.String prefix,
java.lang.String localName,
java.lang.String value) |
void |
setDefaultNamespace(java.lang.String uri) |
void |
setPrefix(java.lang.String prefix,
java.lang.String uri) |
boolean |
setProperty(java.lang.String name,
java.lang.Object value)
Method that can be used to set per-writer properties; a subset of
properties one can set via matching
XMLOutputFactory2
instance. |
void |
writeAttribute(java.lang.String localName,
java.lang.String value) |
void |
writeAttribute(java.lang.String nsURI,
java.lang.String localName,
java.lang.String value) |
void |
writeAttribute(java.lang.String prefix,
java.lang.String nsURI,
java.lang.String localName,
java.lang.String value) |
void |
writeDefaultNamespace(java.lang.String nsURI) |
void |
writeDTD(java.lang.String rootName,
java.lang.String systemId,
java.lang.String publicId,
java.lang.String internalSubset) |
void |
writeEmptyElement(java.lang.String localName) |
void |
writeEmptyElement(java.lang.String nsURI,
java.lang.String localName) |
void |
writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI) |
void |
writeEndDocument() |
void |
writeEndElement() |
void |
writeNamespace(java.lang.String prefix,
java.lang.String nsURI) |
void |
writeStartElement(java.lang.String localName) |
void |
writeStartElement(java.lang.String nsURI,
java.lang.String localName) |
void |
writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI) |
close, closeCompletely, copyEventFromReader, flush, getEncoding, getLocation, getValueEncoder, reportUnsupported, serializeQNameValue, setNamespaceContext, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, throwOutputError, throwOutputError, validateAgainst, writeBinary, writeBinary, writeBinaryAttribute, writeBinaryAttribute, writeBoolean, writeBooleanAttribute, writeCData, writeCData, writeCharacters, writeCharacters, writeComment, writeDecimal, writeDecimalAttribute, writeDouble, writeDoubleArray, writeDoubleArrayAttribute, writeDoubleAttribute, writeDTD, writeEntityRef, writeFloat, writeFloatArray, writeFloatArrayAttribute, writeFloatAttribute, writeFullEndElement, writeInt, writeIntArray, writeIntArrayAttribute, writeIntAttribute, writeInteger, writeIntegerAttribute, writeLong, writeLongArray, writeLongArrayAttribute, writeLongAttribute, writeProcessingInstruction, writeProcessingInstruction, writeQName, writeQNameAttribute, writeRaw, writeRaw, writeRaw, writeSpace, writeSpace, writeStartDocument, writeStartDocument, writeStartDocument, writeStartDocument
protected static final java.lang.String ERR_NSDECL_WRONG_STATE
protected final WriterConfig mConfig
protected DOMOutputElement mCurrElem
Note: explicit empty element (written using
writeEmptyElement
) will never become
current element.
protected DOMOutputElement mOpenElement
writeStartElement
and
writeEmptyElement
, and can be used to
add attributes and namespace declarations.
Note: while this is often the same as mCurrElem
,
it's not always. Specifically, an empty element (written
explicitly using writeEmptyElement
) will
become open element but NOT current element. Conversely,
regular elements will remain current element when
non elements are written (text, comments, PI), but
not the open element.
protected int[] mAutoNsSeq
protected java.lang.String mSuggestedDefNs
protected java.lang.String mAutomaticNsPrefix
public static WstxDOMWrappingWriter createFrom(WriterConfig cfg, javax.xml.transform.dom.DOMResult dst) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext
in interface javax.xml.stream.XMLStreamWriter
getNamespaceContext
in class DOMWrappingWriter
public java.lang.String getPrefix(java.lang.String uri)
getPrefix
in interface javax.xml.stream.XMLStreamWriter
getPrefix
in class DOMWrappingWriter
public java.lang.Object getProperty(java.lang.String name)
getProperty
in interface javax.xml.stream.XMLStreamWriter
getProperty
in class DOMWrappingWriter
public void setDefaultNamespace(java.lang.String uri)
setDefaultNamespace
in interface javax.xml.stream.XMLStreamWriter
setDefaultNamespace
in class DOMWrappingWriter
public void setPrefix(java.lang.String prefix, java.lang.String uri) throws javax.xml.stream.XMLStreamException
setPrefix
in interface javax.xml.stream.XMLStreamWriter
setPrefix
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
writeAttribute
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String nsURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
writeAttribute
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeAttribute(java.lang.String prefix, java.lang.String nsURI, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
writeAttribute
in interface javax.xml.stream.XMLStreamWriter
writeAttribute
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeDefaultNamespace(java.lang.String nsURI)
writeDefaultNamespace
in interface javax.xml.stream.XMLStreamWriter
writeDefaultNamespace
in class DOMWrappingWriter
public void writeEmptyElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
writeEmptyElement
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String nsURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
writeEmptyElement
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeEmptyElement(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI) throws javax.xml.stream.XMLStreamException
writeEmptyElement
in interface javax.xml.stream.XMLStreamWriter
writeEmptyElement
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
public void writeEndDocument()
writeEndDocument
in interface javax.xml.stream.XMLStreamWriter
writeEndDocument
in class DOMWrappingWriter
public void writeEndElement()
public void writeNamespace(java.lang.String prefix, java.lang.String nsURI) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String localName) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String nsURI, java.lang.String localName) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public void writeStartElement(java.lang.String prefix, java.lang.String localName, java.lang.String nsURI) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
public boolean isPropertySupported(java.lang.String name)
XMLStreamWriter2
XMLOutputFactory.isPropertySupported(java.lang.String)
, used
to determine whether a property is supported by the Writer
instance. This means that this method may return false
for some properties that the output factory does support: specifically,
it should only return true if the value is mutable on per-instance
basis. False means that either the property is not recognized, or
is not mutable via writer instance.isPropertySupported
in interface XMLStreamWriter2
isPropertySupported
in class DOMWrappingWriter
public boolean setProperty(java.lang.String name, java.lang.Object value)
XMLStreamWriter2
XMLOutputFactory2
instance. Exactly which methods are mutable is implementation
specific.setProperty
in interface XMLStreamWriter2
setProperty
in class DOMWrappingWriter
name
- Name of the property to setvalue
- Value to set property to.public void writeDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset) throws javax.xml.stream.XMLStreamException
writeDTD
in interface XMLStreamWriter2
writeDTD
in class DOMWrappingWriter
javax.xml.stream.XMLStreamException
protected void appendLeaf(org.w3c.dom.Node n) throws java.lang.IllegalStateException
appendLeaf
in class DOMWrappingWriter
java.lang.IllegalStateException
protected void createStartElem(java.lang.String nsURI, java.lang.String prefix, java.lang.String localName, boolean isEmpty) throws javax.xml.stream.XMLStreamException
nsURI
- Namespace URI to use: null and empty String denote 'no namespace'javax.xml.stream.XMLStreamException
protected void outputAttribute(java.lang.String nsURI, java.lang.String prefix, java.lang.String localName, java.lang.String value) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected final java.lang.String findElemPrefix(java.lang.String nsURI, DOMOutputElement elem) throws javax.xml.stream.XMLStreamException
nsURI
- URI of namespace for which we need a prefixjavax.xml.stream.XMLStreamException
protected final java.lang.String generateElemPrefix(java.lang.String suggPrefix, java.lang.String nsURI, DOMOutputElement elem) throws javax.xml.stream.XMLStreamException
findElemPrefix(java.lang.String, com.ctc.wstx.dom.DOMOutputElement)
has returned null,
to create and bind a namespace mapping for specified namespace.javax.xml.stream.XMLStreamException
protected final java.lang.String findOrCreateAttrPrefix(java.lang.String suggPrefix, java.lang.String nsURI, DOMOutputElement elem) throws javax.xml.stream.XMLStreamException
suggPrefix
- Suggested prefix to bind, if any; may be null
to indicate "no preference"nsURI
- URI of namespace for which we need a prefixelem
- Currently open start element, on which the attribute
will be added.javax.xml.stream.XMLStreamException