public final class RepairingStreamWriter extends StreamWriterBase
StreamWriterBase
, which
implements the "namespace repairing" mode of operation.
This means that the writer ensures correctness and validity
of namespace bindings, as based on namespace URIs caller
passes, by adding necessary namespace declarations and using
prefixes as required to obtain expected results.StreamWriterBase.State
_cfgCDataAsText, _cfgCheckAttrs, _cfgCheckContent, _cfgCheckStructure, _config, _currElem, _dtdRootElemName, _outputElemPool, _poolSize, _rootNsContext, _state, _stateAnyOutput, _stateEmptyElement, _stateStartElementOpen, _symbols, _validator, _valueEncoderFactory, _vldContent, _vldProblemHandler, _xmlWriter
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 |
---|
RepairingStreamWriter(WriterConfig cfg,
XmlWriter writer,
WNameTable symbols) |
Modifier and Type | Method and Description |
---|---|
protected WName |
_generateAttrName(String suggPrefix,
String localName,
String uri) |
protected String |
_generateElemPrefix(String uri)
Method called if given URI is not yet bound, and no suggested prefix
is given (or one given can't be used).
|
protected String |
_serializeQName(QName name) |
void |
_setPrefix(String prefix,
String uri) |
void |
_writeStartOrEmpty(String prefix,
String localName,
String nsURI,
boolean isEmpty) |
void |
setDefaultNamespace(String uri)
With repairing writer, this is only taken as a suggestion as to how
the caller would prefer prefixes to be mapped.
|
void |
writeAttribute(String nsURI,
String localName,
String value) |
void |
writeAttribute(String prefix,
String nsURI,
String localName,
String value) |
void |
writeDefaultNamespace(String nsURI) |
void |
writeEmptyElement(String nsURI,
String localName) |
void |
writeEmptyElement(String prefix,
String localName,
String nsURI) |
void |
writeNamespace(String prefix,
String nsURI) |
void |
writeStartElement(String nsURI,
String localName) |
void |
writeStartElement(String prefix,
String localName,
String nsURI) |
void |
writeTypedAttribute(String prefix,
String nsURI,
String localName,
org.codehaus.stax2.ri.typed.AsciiValueEncoder enc)
Need to leave implementation of this method abstract, because
repairing and non-repairing modes differ in how names are
handled.
|
_closeStartElement, _reportInvalidContent, _reportNwfAttr, _reportNwfAttr, _reportNwfContent, _reportNwfContent, _reportNwfName, _reportNwfStructure, _reportNwfStructure, _reportValidationProblem, _verifyRootElement, _verifyStartElement, _verifyWriteAttr, _verifyWriteCData, _verifyWriteDTD, _writeAttribute, _writeAttribute, _writeDefaultNamespace, _writeNamespace, _writeStartDocument, _writeStartTag, _writeStartTag, addDefaultAttribute, close, closeCompletely, findAttributeIndex, flush, getAttributeCount, getAttributeLocalName, getAttributeNamespace, getAttributePrefix, getAttributeType, getAttributeValue, getAttributeValue, getBaseUri, getCurrentElementName, getEncoding, getLocation, getNamespaceContext, getNamespaceURI, getPrefix, getPrefixes, getProperty, getValidationLocation, getXmlVersion, inPrologOrEpilog, isNotationDeclared, isPropertySupported, isUnparsedEntityDeclared, reportIllegalArg, reportIllegalMethod, reportProblem, setNamespaceContext, setPrefix, setProperty, setValidationProblemHandler, stopValidatingAgainst, stopValidatingAgainst, throwFromIOE, throwOutputError, throwOutputError, toString, validateAgainst, valueEncoderFactory, writeAttribute, writeBinary, writeBinary, writeBinaryAttribute, writeBinaryAttribute, writeBoolean, writeBooleanAttribute, writeCData, writeCData, writeCharacters, writeCharacters, writeComment, writeDecimal, writeDecimalAttribute, writeDouble, writeDoubleArray, writeDoubleArrayAttribute, writeDoubleAttribute, writeDTD, writeDTD, writeDTD, writeEmptyElement, writeEndDocument, writeEndElement, 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, writeStartElement
public RepairingStreamWriter(WriterConfig cfg, XmlWriter writer, WNameTable symbols)
public void setDefaultNamespace(String uri) throws XMLStreamException
setDefaultNamespace
in interface XMLStreamWriter
setDefaultNamespace
in class StreamWriterBase
XMLStreamException
public void _setPrefix(String prefix, String uri)
_setPrefix
in class StreamWriterBase
public void writeAttribute(String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class StreamWriterBase
XMLStreamException
public void writeAttribute(String prefix, String nsURI, String localName, String value) throws XMLStreamException
writeAttribute
in interface XMLStreamWriter
writeAttribute
in class StreamWriterBase
XMLStreamException
public void writeDefaultNamespace(String nsURI) throws XMLStreamException
writeDefaultNamespace
in interface XMLStreamWriter
writeDefaultNamespace
in class StreamWriterBase
XMLStreamException
public void writeEmptyElement(String nsURI, String localName) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class StreamWriterBase
XMLStreamException
public void writeEmptyElement(String prefix, String localName, String nsURI) throws XMLStreamException
writeEmptyElement
in interface XMLStreamWriter
writeEmptyElement
in class StreamWriterBase
XMLStreamException
public void writeNamespace(String prefix, String nsURI) throws XMLStreamException
writeNamespace
in interface XMLStreamWriter
writeNamespace
in class StreamWriterBase
XMLStreamException
public void writeStartElement(String nsURI, String localName) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class StreamWriterBase
XMLStreamException
public void writeStartElement(String prefix, String localName, String nsURI) throws XMLStreamException
writeStartElement
in interface XMLStreamWriter
writeStartElement
in class StreamWriterBase
XMLStreamException
public void writeTypedAttribute(String prefix, String nsURI, String localName, org.codehaus.stax2.ri.typed.AsciiValueEncoder enc) throws XMLStreamException
StreamWriterBase
writeTypedAttribute
in class StreamWriterBase
XMLStreamException
protected String _serializeQName(QName name) throws XMLStreamException
_serializeQName
in class StreamWriterBase
XMLStreamException
protected WName _generateAttrName(String suggPrefix, String localName, String uri) throws XMLStreamException
uri
- Non-empty namespace URI that will be used for the
attributeXMLStreamException
public void _writeStartOrEmpty(String prefix, String localName, String nsURI, boolean isEmpty) throws XMLStreamException
XMLStreamException
protected final String _generateElemPrefix(String uri) throws XMLStreamException
XMLStreamException
Copyright © 2018 FasterXML. All rights reserved.