public class IndentingXMLStreamWriter extends StreamWriterDelegate implements Indentation
XMLStreamWriter, which you pass to the constructor.
Then call methods of the filter instead of the contained stream. For example:
XMLStreamWriterstream = ... stream = newIndentingXMLStreamWriter(stream); stream.writeStartDocument(); ...
The filter inserts characters to format the document as an outline, with nested elements indented. Basically, it inserts a line break and whitespace before:
Indentation can be adjusted by setting the newLine and indent properties. But set them to whitespace only, for best results. Non-whitespace is apt to cause problems, for example when this class attempts to insert newLine before the root element.
outDEFAULT_INDENT, NORMAL_END_OF_LINE| Constructor and Description |
|---|
IndentingXMLStreamWriter(javax.xml.stream.XMLStreamWriter out) |
| Modifier and Type | Method and Description |
|---|---|
protected void |
afterData()
Note that data were written.
|
protected void |
afterEndDocument()
Note that a document was ended.
|
protected void |
afterEndElement()
Note that an element was ended.
|
protected void |
afterMarkup()
Note that markup or indentation was written.
|
protected void |
afterStartElement()
Note that an element was started.
|
protected void |
beforeEndElement()
Prepare to end an element, by writing a new line and indentation.
|
protected void |
beforeMarkup()
Prepare to write markup, by writing a new line and indentation.
|
protected void |
beforeStartElement()
Prepare to start an element, by allocating stack space.
|
java.lang.String |
getIndent()
The characters used for one level of indentation.
|
static java.lang.String |
getLineSeparator() |
java.lang.String |
getNewLine()
The characters that introduce a new line.
|
void |
setIndent(java.lang.String indent)
Set the characters used for one level of indentation.
|
void |
setNewLine(java.lang.String newLine)
Set the characters that introduce a new line.
|
void |
writeCData(java.lang.String data) |
void |
writeCharacters(char[] text,
int start,
int len) |
void |
writeCharacters(java.lang.String text) |
void |
writeComment(java.lang.String data) |
void |
writeDTD(java.lang.String dtd) |
void |
writeEmptyElement(java.lang.String localName) |
void |
writeEmptyElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
void |
writeEndDocument() |
void |
writeEndElement() |
void |
writeEntityRef(java.lang.String name) |
protected void |
writeNewLine(int indentation)
Write a line separator followed by indentation.
|
void |
writeProcessingInstruction(java.lang.String target) |
void |
writeProcessingInstruction(java.lang.String target,
java.lang.String data) |
void |
writeStartDocument() |
void |
writeStartDocument(java.lang.String version) |
void |
writeStartDocument(java.lang.String encoding,
java.lang.String version) |
void |
writeStartElement(java.lang.String localName) |
void |
writeStartElement(java.lang.String namespaceURI,
java.lang.String localName) |
void |
writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI) |
close, flush, getNamespaceContext, getPrefix, getProperty, setDefaultNamespace, setNamespaceContext, setPrefix, writeAttribute, writeAttribute, writeAttribute, writeDefaultNamespace, writeNamespacepublic IndentingXMLStreamWriter(javax.xml.stream.XMLStreamWriter out)
public void setIndent(java.lang.String indent)
IndentationIndentation.DEFAULT_INDENT. "\t" is a popular alternative.setIndent in interface Indentationpublic java.lang.String getIndent()
IndentationgetIndent in interface Indentationpublic void setNewLine(java.lang.String newLine)
IndentationIndentation.NORMAL_END_OF_LINE.
getLineSeparator()() is a popular
alternative.setNewLine in interface Indentationpublic static java.lang.String getLineSeparator()
Indentation.NORMAL_END_OF_LINE if that fails.public java.lang.String getNewLine()
IndentationgetNewLine in interface Indentationpublic void writeStartDocument()
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterwriteStartDocument in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeStartDocument(java.lang.String version)
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterwriteStartDocument in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeStartDocument(java.lang.String encoding,
java.lang.String version)
throws javax.xml.stream.XMLStreamException
writeStartDocument in interface javax.xml.stream.XMLStreamWriterwriteStartDocument in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeDTD(java.lang.String dtd)
throws javax.xml.stream.XMLStreamException
writeDTD in interface javax.xml.stream.XMLStreamWriterwriteDTD in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeProcessingInstruction(java.lang.String target)
throws javax.xml.stream.XMLStreamException
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriterwriteProcessingInstruction in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeProcessingInstruction(java.lang.String target,
java.lang.String data)
throws javax.xml.stream.XMLStreamException
writeProcessingInstruction in interface javax.xml.stream.XMLStreamWriterwriteProcessingInstruction in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeComment(java.lang.String data)
throws javax.xml.stream.XMLStreamException
writeComment in interface javax.xml.stream.XMLStreamWriterwriteComment in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEmptyElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEmptyElement(java.lang.String namespaceURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEmptyElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI)
throws javax.xml.stream.XMLStreamException
writeEmptyElement in interface javax.xml.stream.XMLStreamWriterwriteEmptyElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String namespaceURI,
java.lang.String localName)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeStartElement(java.lang.String prefix,
java.lang.String localName,
java.lang.String namespaceURI)
throws javax.xml.stream.XMLStreamException
writeStartElement in interface javax.xml.stream.XMLStreamWriterwriteStartElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeCharacters(java.lang.String text)
throws javax.xml.stream.XMLStreamException
writeCharacters in interface javax.xml.stream.XMLStreamWriterwriteCharacters in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeCharacters(char[] text,
int start,
int len)
throws javax.xml.stream.XMLStreamException
writeCharacters in interface javax.xml.stream.XMLStreamWriterwriteCharacters in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeCData(java.lang.String data)
throws javax.xml.stream.XMLStreamException
writeCData in interface javax.xml.stream.XMLStreamWriterwriteCData in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEntityRef(java.lang.String name)
throws javax.xml.stream.XMLStreamException
writeEntityRef in interface javax.xml.stream.XMLStreamWriterwriteEntityRef in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEndElement()
throws javax.xml.stream.XMLStreamException
writeEndElement in interface javax.xml.stream.XMLStreamWriterwriteEndElement in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionpublic void writeEndDocument()
throws javax.xml.stream.XMLStreamException
writeEndDocument in interface javax.xml.stream.XMLStreamWriterwriteEndDocument in class StreamWriterDelegatejavax.xml.stream.XMLStreamExceptionprotected void beforeMarkup()
protected void afterMarkup()
protected void afterData()
protected void beforeStartElement()
protected void afterStartElement()
protected void beforeEndElement()
protected void afterEndElement()
protected void afterEndDocument()
protected void writeNewLine(int indentation)
throws javax.xml.stream.XMLStreamException
javax.xml.stream.XMLStreamException