public class WstxDOMWrappingWriter
extends org.codehaus.stax2.ri.dom.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 |
(package private) java.util.HashMap<java.lang.String,java.lang.String> |
mSuggestedPrefixes
Map that contains URI-to-prefix entries that point out suggested
prefixes for URIs.
|
| Modifier | Constructor and Description |
|---|---|
private |
WstxDOMWrappingWriter(WriterConfig cfg,
org.w3c.dom.Node treeRoot) |
| 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) |
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) |
private java.lang.String |
validateElemPrefix(java.lang.String prefix,
java.lang.String nsURI,
DOMOutputElement elem) |
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, writeStartDocumentprotected 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
java.util.HashMap<java.lang.String,java.lang.String> mSuggestedPrefixes
setPrefix(java.lang.String, java.lang.String), and they are only used as hints for binding;
if there are conflicts, repairing writer can just use some other
prefix.private WstxDOMWrappingWriter(WriterConfig cfg, org.w3c.dom.Node treeRoot) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic static WstxDOMWrappingWriter createFrom(WriterConfig cfg, javax.xml.transform.dom.DOMResult dst) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext in interface javax.xml.stream.XMLStreamWritergetNamespaceContext in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic java.lang.String getPrefix(java.lang.String uri)
getPrefix in interface javax.xml.stream.XMLStreamWritergetPrefix in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic java.lang.Object getProperty(java.lang.String name)
getProperty in interface javax.xml.stream.XMLStreamWritergetProperty in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic void setDefaultNamespace(java.lang.String uri)
setDefaultNamespace in interface javax.xml.stream.XMLStreamWritersetDefaultNamespace in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic void setPrefix(java.lang.String prefix,
java.lang.String uri)
throws javax.xml.stream.XMLStreamException
setPrefix in interface javax.xml.stream.XMLStreamWritersetPrefix in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic void writeAttribute(java.lang.String localName,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
writeAttribute in interface javax.xml.stream.XMLStreamWriterwriteAttribute in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic 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.XMLStreamWriterwriteAttribute in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic 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.XMLStreamWriterwriteAttribute in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic void writeDefaultNamespace(java.lang.String nsURI)
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriterwriteDefaultNamespace in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic void writeEmptyElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic void writeEmptyElement(java.lang.String nsURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic 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.XMLStreamWriterwriteEmptyElement in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionpublic void writeEndDocument()
writeEndDocument in interface javax.xml.stream.XMLStreamWriterwriteEndDocument in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic void writeEndElement()
public void writeNamespace(java.lang.String prefix,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String nsURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionpublic boolean isPropertySupported(java.lang.String name)
isPropertySupported in interface org.codehaus.stax2.XMLStreamWriter2isPropertySupported in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic boolean setProperty(java.lang.String name,
java.lang.Object value)
setProperty in interface org.codehaus.stax2.XMLStreamWriter2setProperty in class org.codehaus.stax2.ri.dom.DOMWrappingWriterpublic 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 org.codehaus.stax2.XMLStreamWriter2writeDTD in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjavax.xml.stream.XMLStreamExceptionprotected void appendLeaf(org.w3c.dom.Node n)
throws java.lang.IllegalStateException
appendLeaf in class org.codehaus.stax2.ri.dom.DOMWrappingWriterjava.lang.IllegalStateExceptionprotected 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.XMLStreamExceptionprotected 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.XMLStreamExceptionprivate final java.lang.String validateElemPrefix(java.lang.String prefix,
java.lang.String nsURI,
DOMOutputElement elem)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprotected 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.XMLStreamExceptionprotected 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.XMLStreamExceptionprotected 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