Class NonNsStreamWriter
java.lang.Object
org.codehaus.stax2.ri.Stax2WriterImpl
com.ctc.wstx.sw.BaseStreamWriter
com.ctc.wstx.sw.TypedStreamWriter
com.ctc.wstx.sw.NonNsStreamWriter
- All Implemented Interfaces:
OutputConfigFlags, XMLStreamConstants, XMLStreamWriter, org.codehaus.stax2.typed.TypedXMLStreamWriter, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.validation.ValidationContext, org.codehaus.stax2.XMLStreamWriter2
Implementation of
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.-
Field Summary
FieldsModifier and TypeFieldDescriptionContainer for attribute names for current element; used only if uniqueness of attribute names is to be enforced.(package private) final StringVectorStack of currently open start elements; only local names are included.Fields inherited from class TypedStreamWriter
mValueEncoderFactoryFields inherited from class BaseStreamWriter
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_TREEFields inherited from interface OutputConfigFlags
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_STRUCTUREFields inherited from interface XMLStreamConstants
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcloseStartElement(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.voidcopyStartElement(InputElementStack elemStack, AttributeCollector attrCollector) Element copier method implementation suitable to be used with non-namespace-aware writers.private voiddoWriteEndTag(String expName, boolean allowEmpty) Note: Caller has to do actual removal of the element from element stack, before calling this method.private voiddoWriteStartElement(String localName) getNamespaceURI(String prefix) protected StringMethod needed for error message generationvoidvoidsetNamespaceContext(NamespaceContext context) voidvalidateQNamePrefix(QName name) Method called before writing a QName via Typed Access API.voidwriteAttribute(String localName, String value) voidwriteAttribute(String nsURI, String localName, String value) voidwriteAttribute(String prefix, String nsURI, String localName, String value) voidwriteDefaultNamespace(String nsURI) voidwriteEmptyElement(String localName) voidwriteEmptyElement(String nsURI, String localName) voidwriteEmptyElement(String prefix, String localName, String nsURI) voidvoidwriteEndElement(QName name) Method called byXMLEventWriterimplementation (instead of the version that takes no argument), so that we can verify it does match the start element, if necessaryvoidSimilar towriteEndElement(), but never allows implicit creation of empty elements.voidwriteNamespace(String prefix, String nsURI) voidwriteStartElement(String localName) voidwriteStartElement(String nsURI, String localName) voidwriteStartElement(String prefix, String localName, String nsURI) voidConvenience method needed byXMLEventWriterimplementation, to use when writing a start element, and possibly its attributes and namespace declarations.protected voidwriteTypedAttribute(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.Methods inherited from class TypedStreamWriter
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, writeTypedElementMethods inherited from class BaseStreamWriter
addDefaultAttribute, 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, writeStartDocumentMethods inherited from class org.codehaus.stax2.ri.Stax2WriterImpl
copyStartElement
-
Field Details
-
mElements
Stack of currently open start elements; only local names are included. -
mAttrNames
Container for attribute names for current element; used only if uniqueness of attribute names is to be enforced.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.
-
-
Constructor Details
-
NonNsStreamWriter
-
-
Method Details
-
getNamespaceContext
- Specified by:
getNamespaceContextin interfaceXMLStreamWriter- Specified by:
getNamespaceContextin classBaseStreamWriter
-
getPrefix
- Specified by:
getPrefixin interfaceXMLStreamWriter- Specified by:
getPrefixin classBaseStreamWriter
-
setDefaultNamespace
- Specified by:
setDefaultNamespacein interfaceXMLStreamWriter- Specified by:
setDefaultNamespacein classBaseStreamWriter- Throws:
XMLStreamException
-
setNamespaceContext
- Specified by:
setNamespaceContextin interfaceXMLStreamWriter- Specified by:
setNamespaceContextin classBaseStreamWriter
-
setPrefix
- Specified by:
setPrefixin interfaceXMLStreamWriter- Specified by:
setPrefixin classBaseStreamWriter- Throws:
XMLStreamException
-
writeAttribute
- Specified by:
writeAttributein interfaceXMLStreamWriter- Specified by:
writeAttributein classBaseStreamWriter- Throws:
XMLStreamException
-
writeAttribute
- Specified by:
writeAttributein interfaceXMLStreamWriter- Specified by:
writeAttributein classBaseStreamWriter- Throws:
XMLStreamException
-
writeAttribute
public void writeAttribute(String prefix, String nsURI, String localName, String value) throws XMLStreamException - Specified by:
writeAttributein interfaceXMLStreamWriter- Specified by:
writeAttributein classBaseStreamWriter- Throws:
XMLStreamException
-
writeDefaultNamespace
- Specified by:
writeDefaultNamespacein interfaceXMLStreamWriter- Specified by:
writeDefaultNamespacein classBaseStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
- Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Specified by:
writeEmptyElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
- Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Specified by:
writeEmptyElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeEmptyElement
public void writeEmptyElement(String prefix, String localName, String nsURI) throws XMLStreamException - Specified by:
writeEmptyElementin interfaceXMLStreamWriter- Specified by:
writeEmptyElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeEndElement
- Specified by:
writeEndElementin interfaceXMLStreamWriter- Specified by:
writeEndElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeNamespace
- Specified by:
writeNamespacein interfaceXMLStreamWriter- Specified by:
writeNamespacein classBaseStreamWriter- Throws:
XMLStreamException
-
writeStartElement
- Specified by:
writeStartElementin interfaceXMLStreamWriter- Specified by:
writeStartElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeStartElement
- Specified by:
writeStartElementin interfaceXMLStreamWriter- Specified by:
writeStartElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeStartElement
public void writeStartElement(String prefix, String localName, String nsURI) throws XMLStreamException - Specified by:
writeStartElementin interfaceXMLStreamWriter- Specified by:
writeStartElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeFullEndElement
Similar towriteEndElement(), but never allows implicit creation of empty elements.- Specified by:
writeFullEndElementin interfaceorg.codehaus.stax2.XMLStreamWriter2- Specified by:
writeFullEndElementin classBaseStreamWriter- Throws:
XMLStreamException
-
getCurrentElementName
- Specified by:
getCurrentElementNamein interfaceorg.codehaus.stax2.validation.ValidationContext- Specified by:
getCurrentElementNamein classBaseStreamWriter
-
getNamespaceURI
- Specified by:
getNamespaceURIin interfaceorg.codehaus.stax2.validation.ValidationContext- Specified by:
getNamespaceURIin classBaseStreamWriter
-
writeStartElement
Description copied from class:BaseStreamWriterConvenience method needed byXMLEventWriterimplementation, to use when writing a start element, and possibly its attributes and namespace declarations.- Specified by:
writeStartElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeEndElement
Method called byXMLEventWriterimplementation (instead of the version that takes no argument), so that we can verify it does match the start element, if necessary- Specified by:
writeEndElementin classBaseStreamWriter- Throws:
XMLStreamException
-
writeTypedAttribute
protected void writeTypedAttribute(String prefix, String nsURI, String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws XMLStreamException Description copied from class:TypedStreamWriterMethod that will write attribute with value that is known not to require additional escaping.- Specified by:
writeTypedAttributein classTypedStreamWriter- Throws:
XMLStreamException
-
closeStartElement
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.- Specified by:
closeStartElementin classBaseStreamWriter- Throws:
XMLStreamException
-
copyStartElement
public void copyStartElement(InputElementStack elemStack, AttributeCollector attrCollector) throws IOException, XMLStreamException Element copier method implementation suitable to be used with non-namespace-aware writers. The only special thing here is that the copier can convert namespace declarations to equivalent attribute writes.- Specified by:
copyStartElementin classBaseStreamWriter- Throws:
IOExceptionXMLStreamException
-
getTopElementDesc
Description copied from class:BaseStreamWriterMethod needed for error message generation- Specified by:
getTopElementDescin classBaseStreamWriter
-
validateQNamePrefix
Description copied from class:BaseStreamWriterMethod called before writing a QName via Typed Access API. In namespace-repairing mode it should take appropriate actions to ensure that the given namespace URI is bound to a namespace and return whatever it maps to. In non-repairing work no additional work is to be done and methods- Specified by:
validateQNamePrefixin classBaseStreamWriter- Returns:
- Prefix to use when writing out given QName as an element or attribute value
-
doWriteStartElement
- Throws:
XMLStreamException
-
doWriteEndTag
Note: Caller has to do actual removal of the element from element stack, before calling this method.
- Parameters:
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 what- Throws:
XMLStreamException
-