public class IndentingXMLEventWriter extends EventWriterDelegate implements Indentation
XMLEventWriter, which you pass to the constructor.
Then call methods of the filter instead of the contained stream. For example:
XMLEventWriterstream = ... stream = newIndentingXMLEventWriter(stream); stream.add(...);
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 |
|---|
IndentingXMLEventWriter(javax.xml.stream.XMLEventWriter out) |
| Modifier and Type | Method and Description |
|---|---|
void |
add(javax.xml.stream.events.XMLEvent event) |
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.
|
add, close, flush, getNamespaceContext, getPrefix, setDefaultNamespace, setNamespaceContext, setPrefixpublic IndentingXMLEventWriter(javax.xml.stream.XMLEventWriter out)
public void setIndent(java.lang.String indent)
IndentationIndentation.DEFAULT_INDENT. "\t" is a popular alternative.setIndent in interface Indentationpublic void setNewLine(java.lang.String newLine)
IndentationIndentation.NORMAL_END_OF_LINE.
IndentingXMLStreamWriter.getLineSeparator()() is a popular
alternative.setNewLine in interface Indentationpublic java.lang.String getIndent()
IndentationgetIndent in interface Indentationpublic java.lang.String getNewLine()
IndentationgetNewLine in interface Indentationpublic static java.lang.String getLineSeparator()
Indentation.NORMAL_END_OF_LINE if that fails.public void add(javax.xml.stream.events.XMLEvent event)
throws javax.xml.stream.XMLStreamException
add in interface javax.xml.stream.util.XMLEventConsumeradd in interface javax.xml.stream.XMLEventWriteradd in class EventWriterDelegatejavax.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()