com.fasterxml.aalto.out
Class RepairingStreamWriter
java.lang.Object
org.codehaus.stax2.ri.Stax2WriterImpl
com.fasterxml.aalto.out.StreamWriterBase
com.fasterxml.aalto.out.RepairingStreamWriter
- All Implemented Interfaces:
- javax.xml.namespace.NamespaceContext, javax.xml.stream.XMLStreamConstants, javax.xml.stream.XMLStreamWriter, org.codehaus.stax2.typed.TypedXMLStreamWriter, org.codehaus.stax2.validation.Validatable, org.codehaus.stax2.validation.ValidationContext, org.codehaus.stax2.XMLStreamWriter2
public final class RepairingStreamWriter
- extends StreamWriterBase
Concrete implementation of 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.
| Fields inherited from class com.fasterxml.aalto.out.StreamWriterBase |
_cfgCDataAsText, _cfgCheckAttrs, _cfgCheckContent, _cfgCheckStructure, _config, _currElem, _dtdRootElemName, _outputElemPool, _poolSize, _rootNsContext, _state, _stateAnyOutput, _stateEmptyElement, _stateStartElementOpen, _validator, _valueEncoderFactory, _vldContent, _vldProblemHandler, _xmlWriter |
| Fields inherited from interface javax.xml.stream.XMLStreamConstants |
ATTRIBUTE, CDATA, CHARACTERS, COMMENT, DTD, END_DOCUMENT, END_ELEMENT, ENTITY_DECLARATION, ENTITY_REFERENCE, NAMESPACE, NOTATION_DECLARATION, PROCESSING_INSTRUCTION, SPACE, START_DOCUMENT, START_ELEMENT |
|
Method Summary |
protected WName |
_generateAttrName(java.lang.String suggPrefix,
java.lang.String localName,
java.lang.String uri)
|
protected java.lang.String |
_generateElemPrefix(java.lang.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 java.lang.String |
_serializeQName(javax.xml.namespace.QName name)
|
void |
_setPrefix(java.lang.String prefix,
java.lang.String uri)
|
void |
_writeStartOrEmpty(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI,
boolean isEmpty)
|
void |
setDefaultNamespace(java.lang.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(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 nsURI,
java.lang.String localName)
|
void |
writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
|
void |
writeNamespace(java.lang.String prefix,
java.lang.String nsURI)
|
void |
writeStartElement(java.lang.String nsURI,
java.lang.String localName)
|
void |
writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
|
void |
writeTypedAttribute(java.lang.String prefix,
java.lang.String nsURI,
java.lang.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. |
| Methods inherited from class com.fasterxml.aalto.out.StreamWriterBase |
_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 |
| Methods inherited from class org.codehaus.stax2.ri.Stax2WriterImpl |
copyEventFromReader, copyStartElement |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
RepairingStreamWriter
public RepairingStreamWriter(WriterConfig cfg,
XmlWriter writer,
WNameTable symbols)
setDefaultNamespace
public void setDefaultNamespace(java.lang.String uri)
throws javax.xml.stream.XMLStreamException
- With repairing writer, this is only taken as a suggestion as to how
the caller would prefer prefixes to be mapped.
- Specified by:
setDefaultNamespace in interface javax.xml.stream.XMLStreamWriter- Specified by:
setDefaultNamespace in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
_setPrefix
public void _setPrefix(java.lang.String prefix,
java.lang.String uri)
- Specified by:
_setPrefix in class StreamWriterBase
writeAttribute
public void writeAttribute(java.lang.String nsURI,
java.lang.String localName,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeAttribute in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeAttribute
public void writeAttribute(java.lang.String prefix,
java.lang.String nsURI,
java.lang.String localName,
java.lang.String value)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeAttribute in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeAttribute in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeDefaultNamespace
public void writeDefaultNamespace(java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeDefaultNamespace in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeDefaultNamespace in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeEmptyElement
public void writeEmptyElement(java.lang.String nsURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeEmptyElement in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeEmptyElement
public void writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeEmptyElement in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeEmptyElement in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeNamespace
public void writeNamespace(java.lang.String prefix,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeNamespace in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeNamespace in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeStartElement
public void writeStartElement(java.lang.String nsURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeStartElement in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeStartElement
public void writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI)
throws javax.xml.stream.XMLStreamException
- Specified by:
writeStartElement in interface javax.xml.stream.XMLStreamWriter- Specified by:
writeStartElement in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
writeTypedAttribute
public 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
- Description copied from class:
StreamWriterBase
- Need to leave implementation of this method abstract, because
repairing and non-repairing modes differ in how names are
handled.
- Specified by:
writeTypedAttribute in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
_serializeQName
protected java.lang.String _serializeQName(javax.xml.namespace.QName name)
throws javax.xml.stream.XMLStreamException
- Specified by:
_serializeQName in class StreamWriterBase
- Throws:
javax.xml.stream.XMLStreamException
_generateAttrName
protected WName _generateAttrName(java.lang.String suggPrefix,
java.lang.String localName,
java.lang.String uri)
throws javax.xml.stream.XMLStreamException
- Parameters:
uri - Non-empty namespace URI that will be used for the
attribute
- Throws:
javax.xml.stream.XMLStreamException
_writeStartOrEmpty
public void _writeStartOrEmpty(java.lang.String prefix,
java.lang.String localName,
java.lang.String nsURI,
boolean isEmpty)
throws javax.xml.stream.XMLStreamException
- Throws:
javax.xml.stream.XMLStreamException
_generateElemPrefix
protected final java.lang.String _generateElemPrefix(java.lang.String uri)
throws javax.xml.stream.XMLStreamException
- Method called if given URI is not yet bound, and no suggested prefix
is given (or one given can't be used). If so, methods is
to create a not-yet-bound-prefix for the namespace.
- Throws:
javax.xml.stream.XMLStreamException