public abstract class BaseNsStreamWriter extends TypedStreamWriter
Modifier and Type | Field and Description |
---|---|
protected static String |
ERR_NSDECL_WRONG_STATE |
protected boolean |
mAutomaticNS
True, if writer needs to automatically output namespace declarations
(we are in repairing mode)
|
protected SimpleOutputElement |
mCurrElem |
protected EmptyElementHandler |
mEmptyElementHandler |
protected SimpleOutputElement |
mOutputElemPool |
protected int |
mPoolSize |
protected NamespaceContext |
mRootNsContext
Optional "root" namespace context that application can set.
|
protected static String |
sPrefixXml |
protected static String |
sPrefixXmlns |
mValueEncoderFactory
ATTR_MIN_ARRAYCOPY, CHAR_SPACE, DEFAULT_COPYBUFFER_LEN, mAnyOutput, mCfgAutomaticEmptyElems, mCfgCDataAsText, mCfgCopyDefaultAttrs, mCheckAttrs, mCheckStructure, mConfig, mCopyBuffer, mDtdRootElem, mEmptyElement, mEncoding, MIN_ARRAYCOPY, mReturnNullForDefaultNamespace, mStartElementOpen, mState, mValidator, mVldContent, mVldProbHandler, mWriter, mXml11, STATE_EPILOG, STATE_PROLOG, STATE_TREE
CFG_ADD_SPACE_AFTER_EMPTY_ELEM, CFG_AUTO_CLOSE_OUTPUT, CFG_AUTOMATIC_EMPTY_ELEMENTS, CFG_AUTOMATIC_END_ELEMENTS, CFG_AUTOMATIC_NS, CFG_COPY_DEFAULT_ATTRS, CFG_ENABLE_NS, CFG_ESCAPE_CR, CFG_FIX_CONTENT, CFG_OUTPUT_CDATA_AS_TEXT, CFG_USE_DOUBLE_QUOTES_IN_XML_DECL, CFG_VALIDATE_ATTR, CFG_VALIDATE_CONTENT, CFG_VALIDATE_NAMES, CFG_VALIDATE_STRUCTURE
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT
Constructor and Description |
---|
BaseNsStreamWriter(XmlWriter xw,
String enc,
WriterConfig cfg,
boolean repairing) |
Modifier and Type | Method and Description |
---|---|
protected void |
checkStartElement(String localName,
String prefix)
Method that is called to ensure that we can start writing an
element, both from structural point of view, and from syntactic
(close previously open start element, if any).
|
protected void |
closeStartElement(boolean emptyElem)
Method called to close an open start element, when another
main-level element (not namespace declaration or attribute)
is being output; except for end element which is handled differently.
|
abstract void |
doSetPrefix(String prefix,
String uri) |
protected void |
doWriteAttr(String localName,
String nsURI,
String prefix,
char[] buf,
int start,
int len) |
protected void |
doWriteAttr(String localName,
String nsURI,
String prefix,
String value) |
protected void |
doWriteDefaultNs(String nsURI) |
protected void |
doWriteEndTag(QName expName,
boolean allowEmpty) |
protected void |
doWriteNamespace(String prefix,
String nsURI) |
protected void |
doWriteStartTag(String localName) |
protected void |
doWriteStartTag(String prefix,
String localName) |
QName |
getCurrentElementName() |
NamespaceContext |
getNamespaceContext() |
String |
getNamespaceURI(String prefix) |
String |
getPrefix(String uri) |
protected String |
getTopElementDesc()
Method needed for error message generation
|
abstract void |
setDefaultNamespace(String uri) |
void |
setNamespaceContext(NamespaceContext ctxt)
Note: Root namespace context works best if automatic prefix
creation ("namespace/prefix repairing" in StAX lingo) is enabled.
|
void |
setPrefix(String prefix,
String uri) |
void |
writeAttribute(String localName,
String value)
It's assumed calling this method implies caller just wants to add
an attribute that does not belong to any namespace; as such no
namespace checking or prefix generation is needed.
|
abstract void |
writeAttribute(String nsURI,
String localName,
String value) |
abstract void |
writeAttribute(String prefix,
String nsURI,
String localName,
String value) |
abstract void |
writeDefaultNamespace(String nsURI) |
void |
writeEmptyElement(String localName)
Note: It is assumed caller just wants the element to belong to whatever
is the current default namespace.
|
void |
writeEmptyElement(String nsURI,
String localName) |
void |
writeEmptyElement(String prefix,
String localName,
String nsURI) |
void |
writeEndElement() |
void |
writeEndElement(QName name)
Method called by
XMLEventWriter implementation
(instead of the version
that takes no argument), so that we can verify it does match the
start element, if necessary |
void |
writeFullEndElement()
Similar to
writeEndElement() , but never allows implicit
creation of empty elements. |
abstract void |
writeNamespace(String prefix,
String nsURI) |
abstract void |
writeStartElement(StartElement elem)
Convenience method needed by
XMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations. |
void |
writeStartElement(String localName)
This method is assumed to just use default namespace (if any),
and no further checks should be done.
|
void |
writeStartElement(String nsURI,
String localName) |
void |
writeStartElement(String prefix,
String localName,
String nsURI) |
protected abstract void |
writeStartOrEmpty(String localName,
String nsURI) |
protected abstract void |
writeStartOrEmpty(String prefix,
String localName,
String nsURI) |
protected void |
writeTypedAttribute(String prefix,
String nsURI,
String localName,
org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)
Method that will write attribute with value that is known not to
require additional escaping.
|
valueEncoderFactory, writeBinary, writeBinary, writeBinaryAttribute, writeBinaryAttribute, writeBoolean, writeBooleanAttribute, writeDecimal, writeDecimalAttribute, writeDouble, writeDoubleArray, writeDoubleArrayAttribute, writeDoubleAttribute, writeFloat, writeFloatArray, writeFloatArrayAttribute, writeFloatAttribute, writeInt, writeIntArray, writeIntArrayAttribute, writeIntAttribute, writeInteger, writeIntegerAttribute, writeLong, writeLongArray, writeLongArrayAttribute, writeLongAttribute, writeQName, writeQNameAttribute, writeTypedElement
addDefaultAttribute, close, closeCompletely, copyEventFromReader, copyStartElement, doReportProblem, doReportProblem, doWriteStartDocument, findAttributeIndex, flush, getAttributeCount, getAttributeLocalName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getBaseUri, getCopyBuffer, getCopyBuffer, getEncoding, getLocation, getProperty, getValidationLocation, getXmlVersion, inPrologOrEpilog, isNotationDeclared, isPropertySupported, isUnparsedEntityDeclared, isValidating, reportIllegalArg, reportIllegalMethod, reportInvalidContent, reportNwfAttr, reportNwfAttr, reportNwfContent, reportNwfContent, reportNwfStructure, reportNwfStructure, reportProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, reportValidationProblem, setProperty, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, throwFromIOE, throwOutputError, throwOutputError, toString, validateAgainst, validateQNamePrefix, verifyRootElement, verifyWriteCData, verifyWriteDTD, wrapAsRawWriter, wrapAsTextWriter, writeCData, writeCData, writeCharacters, writeCharacters, writeCharacters, writeComment, writeDTD, writeDTD, writeDTD, writeEndDocument, writeEntityRef, writeProcessingInstruction, writeProcessingInstruction, writeRaw, writeRaw, writeRaw, writeSpace, writeSpace, writeStartDocument, writeStartDocument, writeStartDocument, writeStartDocument
protected static final String sPrefixXml
protected static final String sPrefixXmlns
protected static final String ERR_NSDECL_WRONG_STATE
protected final boolean mAutomaticNS
protected final EmptyElementHandler mEmptyElementHandler
protected SimpleOutputElement mCurrElem
protected NamespaceContext mRootNsContext
protected SimpleOutputElement mOutputElemPool
protected int mPoolSize
public BaseNsStreamWriter(XmlWriter xw, String enc, WriterConfig cfg, boolean repairing)
public NamespaceContext getNamespaceContext()
getNamespaceContext
in interface XMLStreamWriter
getNamespaceContext
in class BaseStreamWriter
public String getPrefix(String uri)
getPrefix
in interface XMLStreamWriter
getPrefix
in class BaseStreamWriter
public abstract void setDefaultNamespace(String uri) throws XMLStreamException
setDefaultNamespace
in interface XMLStreamWriter
setDefaultNamespace
in class BaseStreamWriter
XMLStreamException
public void setNamespaceContext(NamespaceContext ctxt) throws XMLStreamException
Note: Root namespace context works best if automatic prefix creation ("namespace/prefix repairing" in StAX lingo) is enabled.
setNamespaceContext
in interface XMLStreamWriter
setNamespaceContext
in class BaseStreamWriter
XMLStreamException
public void setPrefix(String prefix, String uri) throws XMLStreamException
setPrefix
in interface XMLStreamWriter
setPrefix
in class BaseStreamWriter
XMLStreamException
public void writeAttribute(String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class BaseStreamWriter
XMLStreamException
public abstract void writeAttribute(String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class BaseStreamWriter
XMLStreamException
public abstract void writeAttribute(String prefix, String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class BaseStreamWriter
XMLStreamException
public void writeEmptyElement(String localName) throws XMLStreamException
Note: It is assumed caller just wants the element to belong to whatever is the current default namespace.
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class BaseStreamWriter
XMLStreamException
public void writeEmptyElement(String nsURI, String localName) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class BaseStreamWriter
XMLStreamException
public void writeEmptyElement(String prefix, String localName, String nsURI) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class BaseStreamWriter
XMLStreamException
public void writeEndElement() throws XMLStreamException
writeEndElement
in interface XMLStreamWriter
writeEndElement
in class BaseStreamWriter
XMLStreamException
public void writeStartElement(String localName) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class BaseStreamWriter
XMLStreamException
public void writeStartElement(String nsURI, String localName) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class BaseStreamWriter
XMLStreamException
public void writeStartElement(String prefix, String localName, String nsURI) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class BaseStreamWriter
XMLStreamException
protected void writeTypedAttribute(String prefix, String nsURI, String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws XMLStreamException
TypedStreamWriter
writeTypedAttribute
in class TypedStreamWriter
XMLStreamException
public void writeFullEndElement() throws XMLStreamException
writeEndElement()
, but never allows implicit
creation of empty elements.writeFullEndElement
in interface org.codehaus.stax2.XMLStreamWriter2
writeFullEndElement
in class BaseStreamWriter
XMLStreamException
public QName getCurrentElementName()
getCurrentElementName
in interface org.codehaus.stax2.validation.ValidationContext
getCurrentElementName
in class BaseStreamWriter
public String getNamespaceURI(String prefix)
getNamespaceURI
in interface org.codehaus.stax2.validation.ValidationContext
getNamespaceURI
in class BaseStreamWriter
public void writeEndElement(QName name) throws XMLStreamException
XMLEventWriter
implementation
(instead of the version
that takes no argument), so that we can verify it does match the
start element, if necessarywriteEndElement
in class BaseStreamWriter
XMLStreamException
protected void closeStartElement(boolean emptyElem) throws XMLStreamException
closeStartElement
in class BaseStreamWriter
emptyElem
- If true, the element being closed is an empty
element; if false, a separate stand-alone start element.XMLStreamException
protected String getTopElementDesc()
BaseStreamWriter
getTopElementDesc
in class BaseStreamWriter
protected void checkStartElement(String localName, String prefix) throws XMLStreamException
XMLStreamException
protected final void doWriteAttr(String localName, String nsURI, String prefix, String value) throws XMLStreamException
XMLStreamException
protected final void doWriteAttr(String localName, String nsURI, String prefix, char[] buf, int start, int len) throws XMLStreamException
XMLStreamException
protected void doWriteNamespace(String prefix, String nsURI) throws XMLStreamException
XMLStreamException
protected void doWriteDefaultNs(String nsURI) throws XMLStreamException
XMLStreamException
protected final void doWriteStartTag(String localName) throws XMLStreamException
XMLStreamException
protected final void doWriteStartTag(String prefix, String localName) throws XMLStreamException
XMLStreamException
protected void doWriteEndTag(QName expName, boolean allowEmpty) throws XMLStreamException
expName
- Name that the closing element should have; null
if whatever is in stack should be usedallowEmpty
- If true, is allowed to create the empty element
if the closing element was truly empty; if false, has to write
the full empty element no matter whatXMLStreamException
public abstract void doSetPrefix(String prefix, String uri) throws XMLStreamException
XMLStreamException
public abstract void writeDefaultNamespace(String nsURI) throws XMLStreamException
writeDefaultNamespace
in interface XMLStreamWriter
writeDefaultNamespace
in class BaseStreamWriter
XMLStreamException
public abstract void writeNamespace(String prefix, String nsURI) throws XMLStreamException
writeNamespace
in interface XMLStreamWriter
writeNamespace
in class BaseStreamWriter
XMLStreamException
public abstract void writeStartElement(StartElement elem) throws XMLStreamException
BaseStreamWriter
XMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations.writeStartElement
in class BaseStreamWriter
XMLStreamException
protected abstract void writeStartOrEmpty(String localName, String nsURI) throws XMLStreamException
XMLStreamException
protected abstract void writeStartOrEmpty(String prefix, String localName, String nsURI) throws XMLStreamException
XMLStreamException
Copyright © 2018 FasterXML. All rights reserved.