public class NonNsStreamWriter extends TypedStreamWriter
XMLStreamWriter used when namespace support
is not enabled. This means that only local names are used for elements
and attributes; and if rudimentary namespace declarations need to be
output, they are output using attribute writing methods.| Modifier and Type | Field and Description |
|---|---|
(package private) java.util.TreeSet<java.lang.String> |
mAttrNames
Container for attribute names for current element; used only
if uniqueness of attribute names is to be enforced.
|
(package private) StringVector |
mElements
Stack of currently open start elements; only local names
are included.
|
mValueEncoderFactoryATTR_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_TREECFG_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| Constructor and Description |
|---|
NonNsStreamWriter(XmlWriter xw,
java.lang.String enc,
WriterConfig cfg) |
| Modifier and Type | Method and Description |
|---|---|
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.
|
void |
copyStartElement(InputElementStack elemStack,
AttributeCollector attrCollector)
Element copier method implementation suitable to be used with
non-namespace-aware writers.
|
private void |
doWriteEndTag(java.lang.String expName,
boolean allowEmpty)
Note: Caller has to do actual removal of the element from element
stack, before calling this method.
|
private void |
doWriteStartElement(java.lang.String localName) |
javax.xml.namespace.QName |
getCurrentElementName() |
javax.xml.namespace.NamespaceContext |
getNamespaceContext() |
java.lang.String |
getNamespaceURI(java.lang.String prefix) |
java.lang.String |
getPrefix(java.lang.String uri) |
protected java.lang.String |
getTopElementDesc()
Method needed for error message generation
|
void |
setDefaultNamespace(java.lang.String uri) |
void |
setNamespaceContext(javax.xml.namespace.NamespaceContext context) |
void |
setPrefix(java.lang.String prefix,
java.lang.String uri) |
java.lang.String |
validateQNamePrefix(javax.xml.namespace.QName name)
Method called before writing a QName via Typed Access API.
|
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 |
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 |
writeEndElement() |
void |
writeEndElement(javax.xml.namespace.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. |
void |
writeNamespace(java.lang.String prefix,
java.lang.String nsURI) |
void |
writeStartElement(javax.xml.stream.events.StartElement elem)
Convenience method needed by
XMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations. |
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) |
protected void |
writeTypedAttribute(java.lang.String prefix,
java.lang.String nsURI,
java.lang.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, writeTypedElementaddDefaultAttribute, close, closeCompletely, copyEventFromReader, 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, 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, writeStartDocumentfinal StringVector mElements
java.util.TreeSet<java.lang.String> mAttrNames
TreeSet is used mostly because clearing it up is faster than clearing up HashSet, and the only access is done by adding entries and see if an value was already set.
public NonNsStreamWriter(XmlWriter xw, java.lang.String enc, WriterConfig cfg)
public javax.xml.namespace.NamespaceContext getNamespaceContext()
getNamespaceContext in interface javax.xml.stream.XMLStreamWritergetNamespaceContext in class BaseStreamWriterpublic java.lang.String getPrefix(java.lang.String uri)
getPrefix in interface javax.xml.stream.XMLStreamWritergetPrefix in class BaseStreamWriterpublic void setDefaultNamespace(java.lang.String uri)
throws javax.xml.stream.XMLStreamException
setDefaultNamespace in interface javax.xml.stream.XMLStreamWritersetDefaultNamespace in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void setNamespaceContext(javax.xml.namespace.NamespaceContext context)
setNamespaceContext in interface javax.xml.stream.XMLStreamWritersetNamespaceContext in class BaseStreamWriterpublic void setPrefix(java.lang.String prefix,
java.lang.String uri)
throws javax.xml.stream.XMLStreamException
setPrefix in interface javax.xml.stream.XMLStreamWritersetPrefix in class BaseStreamWriterjavax.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 BaseStreamWriterjavax.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 BaseStreamWriterjavax.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 BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeDefaultNamespace(java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriterwriteDefaultNamespace in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeEmptyElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class BaseStreamWriterjavax.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 BaseStreamWriterjavax.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 BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeEndElement()
throws javax.xml.stream.XMLStreamException
writeEndElement in interface javax.xml.stream.XMLStreamWriterwriteEndElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeNamespace(java.lang.String prefix,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
writeNamespace in interface javax.xml.stream.XMLStreamWriterwriteNamespace in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String nsURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeFullEndElement()
throws javax.xml.stream.XMLStreamException
writeEndElement(), but never allows implicit
creation of empty elements.writeFullEndElement in interface org.codehaus.stax2.XMLStreamWriter2writeFullEndElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic javax.xml.namespace.QName getCurrentElementName()
getCurrentElementName in interface org.codehaus.stax2.validation.ValidationContextgetCurrentElementName in class BaseStreamWriterpublic java.lang.String getNamespaceURI(java.lang.String prefix)
getNamespaceURI in interface org.codehaus.stax2.validation.ValidationContextgetNamespaceURI in class BaseStreamWriterpublic void writeStartElement(javax.xml.stream.events.StartElement elem)
throws javax.xml.stream.XMLStreamException
BaseStreamWriterXMLEventWriter
implementation, to use when
writing a start element, and possibly its attributes and namespace
declarations.writeStartElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void writeEndElement(javax.xml.namespace.QName name)
throws javax.xml.stream.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 BaseStreamWriterjavax.xml.stream.XMLStreamExceptionprotected void writeTypedAttribute(java.lang.String prefix,
java.lang.String nsURI,
java.lang.String localName,
org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)
throws javax.xml.stream.XMLStreamException
TypedStreamWriterwriteTypedAttribute in class TypedStreamWriterjavax.xml.stream.XMLStreamExceptionprotected void closeStartElement(boolean emptyElem)
throws javax.xml.stream.XMLStreamException
closeStartElement in class BaseStreamWriterjavax.xml.stream.XMLStreamExceptionpublic void copyStartElement(InputElementStack elemStack, AttributeCollector attrCollector) throws java.io.IOException, javax.xml.stream.XMLStreamException
copyStartElement in class BaseStreamWriterjava.io.IOExceptionjavax.xml.stream.XMLStreamExceptionprotected java.lang.String getTopElementDesc()
BaseStreamWritergetTopElementDesc in class BaseStreamWriterpublic java.lang.String validateQNamePrefix(javax.xml.namespace.QName name)
BaseStreamWritervalidateQNamePrefix in class BaseStreamWriterprivate void doWriteStartElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamExceptionprivate void doWriteEndTag(java.lang.String expName,
boolean allowEmpty)
throws javax.xml.stream.XMLStreamException
Note: Caller has to do actual removal of the element from element stack, before calling this method.
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 whatjavax.xml.stream.XMLStreamException