public abstract class XmlWriter
extends java.lang.Object
Note that implementations can have different operating modes: specifically, when dealing with illegal content (such as "--" in a comment, "?>" in processing instruction, or "]]>" within CDATA section), implementations can do one of 3 things:
Modifier and Type | Field and Description |
---|---|
protected static char |
DEFAULT_QUOTE_CHAR |
protected java.io.Writer |
mAttrValueWriter
Optional escaping writer used for escaping characters like '"'
'&' and '<' in attribute values.
|
protected boolean |
mAutoCloseOutput
Flag that defines whether close() on this writer should call
close on the underlying output object (stream, writer)
|
protected boolean |
mCheckContent |
protected boolean |
mCheckNames |
protected boolean |
mCheckStructure |
protected WriterConfig |
mConfig |
protected java.lang.String |
mEncoding |
protected boolean |
mFixContent |
protected int |
mLocPastChars
Number of characters output prior to currently buffered output
|
protected int |
mLocRowNr |
protected int |
mLocRowStartOffset
Offset of the first character on this line.
|
protected boolean |
mNsAware |
protected XmlWriterWrapper |
mRawWrapper
Lazy-constructed wrapper object, which will route all calls to
Writer API, to matching
writeRaw methods of this
XmlWriter instance. |
protected XmlWriterWrapper |
mTextWrapper
Lazy-constructed wrapper object, which will route all calls to
Writer API, to matching
writeCharacters methods of this
XmlWriter instance. |
protected java.io.Writer |
mTextWriter
Optional escaping writer used for escaping characters like '<'
'&' and '>' in textual content.
|
protected boolean |
mXml11
Indicates whether output is to be compliant; if false, is to be
xml 1.0 compliant, if true, xml 1.1 compliant.
|
protected static int |
SURR1_FIRST |
protected static int |
SURR1_LAST |
protected static int |
SURR2_FIRST |
protected static int |
SURR2_LAST |
Modifier | Constructor and Description |
---|---|
protected |
XmlWriter(WriterConfig cfg,
java.lang.String encoding,
boolean autoclose) |
Modifier and Type | Method and Description |
---|---|
abstract void |
close()
Method called to flush the buffer(s), and close the output
sink (stream or writer).
|
void |
enableXml11() |
abstract void |
flush() |
int |
getAbsOffset() |
int |
getColumn() |
protected abstract int |
getOutputPtr() |
protected abstract java.io.OutputStream |
getOutputStream() |
int |
getRow() |
protected abstract java.io.Writer |
getWriter() |
protected void |
reportNwfContent(java.lang.String msg) |
protected void |
reportNwfName(java.lang.String msg)
This is the method called when an output method call violates
name well-formedness checks
and
WstxOutputProperties.P_OUTPUT_VALIDATE_NAMES is
is enabled. |
protected void |
reportNwfName(java.lang.String msg,
java.lang.Object arg) |
protected void |
throwInvalidChar(int c) |
protected void |
throwOutputError(java.lang.String msg) |
protected void |
throwOutputError(java.lang.String format,
java.lang.Object arg) |
void |
verifyNameValidity(java.lang.String name,
boolean checkNs)
Method called to verify that the name is a legal XML name.
|
java.io.Writer |
wrapAsRawWriter()
Method that can be called to get a wrapper instance that
can be used to essentially call the
writeRaw
method. |
java.io.Writer |
wrapAsTextWriter() |
abstract void |
writeAttribute(java.lang.String localName,
char[] value,
int offset,
int len) |
abstract void |
writeAttribute(java.lang.String localName,
java.lang.String value)
Note: can throw XMLStreamException, if name checking is enabled,
and name is invalid (name check has to be in this writer, not
caller, since it depends not only on xml limitations, but also
on encoding limitations)
|
abstract void |
writeAttribute(java.lang.String prefix,
java.lang.String localName,
char[] value,
int offset,
int len) |
abstract void |
writeAttribute(java.lang.String prefix,
java.lang.String localName,
java.lang.String value)
Note: can throw XMLStreamException, if name checking is enabled,
and name is invalid (name check has to be in this writer, not
caller, since it depends not only on xml limitations, but also
on encoding limitations)
|
abstract int |
writeCData(char[] cbuf,
int offset,
int len) |
abstract int |
writeCData(java.lang.String data) |
abstract void |
writeCDataEnd() |
abstract void |
writeCDataStart() |
abstract void |
writeCharacters(char[] cbuf,
int offset,
int len) |
abstract void |
writeCharacters(java.lang.String data) |
abstract int |
writeComment(java.lang.String data)
Method that will try to output the content as specified.
|
abstract void |
writeCommentEnd() |
abstract void |
writeCommentStart() |
abstract void |
writeDTD(java.lang.String data)
Older "legacy" output method for outputting DOCTYPE declaration.
|
abstract void |
writeDTD(java.lang.String rootName,
java.lang.String systemId,
java.lang.String publicId,
java.lang.String internalSubset) |
abstract void |
writeEndTag(java.lang.String localName) |
abstract void |
writeEndTag(java.lang.String prefix,
java.lang.String localName) |
abstract void |
writeEntityReference(java.lang.String name) |
abstract int |
writePI(java.lang.String target,
java.lang.String data) |
abstract void |
writePIEnd() |
abstract void |
writePIStart(java.lang.String target,
boolean addSpace) |
abstract void |
writeRaw(char[] cbuf,
int offset,
int len) |
void |
writeRaw(java.lang.String str) |
abstract void |
writeRaw(java.lang.String str,
int offset,
int len) |
abstract void |
writeStartTagEmptyEnd() |
abstract void |
writeStartTagEnd() |
abstract void |
writeStartTagStart(java.lang.String localName)
Note: can throw XMLStreamException, if name checking is enabled,
and name is invalid (name check has to be in this writer, not
caller, since it depends not only on xml limitations, but also
on encoding limitations)
|
abstract void |
writeStartTagStart(java.lang.String prefix,
java.lang.String localName)
Note: can throw XMLStreamException, if name checking is enabled,
and name is invalid (name check has to be in this writer, not
caller, since it depends not only on xml limitations, but also
on encoding limitations)
|
abstract void |
writeXmlDeclaration(java.lang.String version,
java.lang.String enc,
java.lang.String standalone) |
protected static final int SURR1_FIRST
protected static final int SURR1_LAST
protected static final int SURR2_FIRST
protected static final int SURR2_LAST
protected static final char DEFAULT_QUOTE_CHAR
protected final WriterConfig mConfig
protected final java.lang.String mEncoding
protected final boolean mNsAware
protected final boolean mCheckStructure
protected final boolean mCheckContent
protected final boolean mCheckNames
protected final boolean mFixContent
protected final boolean mAutoCloseOutput
protected java.io.Writer mTextWriter
protected java.io.Writer mAttrValueWriter
protected boolean mXml11
protected XmlWriterWrapper mRawWrapper
writeRaw
methods of this
XmlWriter instance.protected XmlWriterWrapper mTextWrapper
writeCharacters
methods of this
XmlWriter instance.protected int mLocPastChars
protected int mLocRowNr
protected int mLocRowStartOffset
protected XmlWriter(WriterConfig cfg, java.lang.String encoding, boolean autoclose) throws java.io.IOException
java.io.IOException
public void enableXml11()
protected abstract java.io.OutputStream getOutputStream()
protected abstract java.io.Writer getWriter()
public abstract void close() throws java.io.IOException
java.io.IOException
public abstract void flush() throws java.io.IOException
java.io.IOException
public abstract void writeRaw(java.lang.String str, int offset, int len) throws java.io.IOException
java.io.IOException
public void writeRaw(java.lang.String str) throws java.io.IOException
java.io.IOException
public abstract void writeRaw(char[] cbuf, int offset, int len) throws java.io.IOException
java.io.IOException
public abstract void writeCDataStart() throws java.io.IOException
java.io.IOException
public abstract void writeCDataEnd() throws java.io.IOException
java.io.IOException
public abstract void writeCommentStart() throws java.io.IOException
java.io.IOException
public abstract void writeCommentEnd() throws java.io.IOException
java.io.IOException
public abstract void writePIStart(java.lang.String target, boolean addSpace) throws java.io.IOException
java.io.IOException
public abstract void writePIEnd() throws java.io.IOException
java.io.IOException
public abstract int writeCData(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
data
- Contents of the CDATA section to write outjava.io.IOException
javax.xml.stream.XMLStreamException
public abstract int writeCData(char[] cbuf, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeCharacters(java.lang.String data) throws java.io.IOException
java.io.IOException
public abstract void writeCharacters(char[] cbuf, int offset, int len) throws java.io.IOException
java.io.IOException
public abstract int writeComment(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeDTD(java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeDTD(java.lang.String rootName, java.lang.String systemId, java.lang.String publicId, java.lang.String internalSubset) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeEntityReference(java.lang.String name) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract int writePI(java.lang.String target, java.lang.String data) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeXmlDeclaration(java.lang.String version, java.lang.String enc, java.lang.String standalone) throws java.io.IOException
java.io.IOException
public abstract void writeStartTagStart(java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeStartTagStart(java.lang.String prefix, java.lang.String localName) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeStartTagEnd() throws java.io.IOException
java.io.IOException
public abstract void writeStartTagEmptyEnd() throws java.io.IOException
java.io.IOException
public abstract void writeEndTag(java.lang.String localName) throws java.io.IOException
java.io.IOException
public abstract void writeEndTag(java.lang.String prefix, java.lang.String localName) throws java.io.IOException
java.io.IOException
public abstract void writeAttribute(java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String prefix, java.lang.String localName, java.lang.String value) throws java.io.IOException, javax.xml.stream.XMLStreamException
Note: can throw XMLStreamException, if name checking is enabled, and name is invalid (name check has to be in this writer, not caller, since it depends not only on xml limitations, but also on encoding limitations)
java.io.IOException
javax.xml.stream.XMLStreamException
public abstract void writeAttribute(java.lang.String prefix, java.lang.String localName, char[] value, int offset, int len) throws java.io.IOException, javax.xml.stream.XMLStreamException
java.io.IOException
javax.xml.stream.XMLStreamException
protected abstract int getOutputPtr()
public int getRow()
public int getColumn()
public int getAbsOffset()
public final java.io.Writer wrapAsRawWriter()
writeRaw
method.public final java.io.Writer wrapAsTextWriter()
public final void verifyNameValidity(java.lang.String name, boolean checkNs) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void reportNwfName(java.lang.String msg) throws javax.xml.stream.XMLStreamException
WstxOutputProperties.P_OUTPUT_VALIDATE_NAMES
is
is enabled.javax.xml.stream.XMLStreamException
protected void reportNwfName(java.lang.String msg, java.lang.Object arg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void reportNwfContent(java.lang.String msg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwOutputError(java.lang.String msg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwOutputError(java.lang.String format, java.lang.Object arg) throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException
protected void throwInvalidChar(int c) throws java.io.IOException
java.io.IOException