public abstract class AbstractStAXStreamProcessor extends AbstractOutputProcessor implements StAXStreamProcessor
StAXStreamProcessor
for supporting the StAXStreamOutputter.
process*(...) methods are public because they match the
StAXStreamProcessor interface but the remaining methods are all protected.
People who want to create a custom StAXStreamProcessor for StAXStreamOutputter are
able to extend this class and modify any functionality they want. Before
sub-classing this you should first check to see if the Format class
can get you the results you want.
Subclasses of this should have reentrant methods. This is
easiest to accomplish simply by not allowing any instance fields. If your
sub-class has an instance field/variable, then it's probably broken.
NamespaceStack and FormatStack that are
managed in the
printElement(XMLStreamWriter, FormatStack, NamespaceStack, Element) method.
The stacks are pushed and popped in that method only. They significantly
improve the performance and readability of the code.
The NamespaceStack is only sent through to the
printElement(XMLStreamWriter, FormatStack, NamespaceStack, Element) and
printContent(XMLStreamWriter, FormatStack, NamespaceStack, Walker) methods, but
the FormatStack is pushed through to all print* Methods.
An interesting read for people using this class:
Apache Axiom notes on setPrefix().StAXStreamOutputter,
StAXStreamProcessor| 构造器和说明 |
|---|
AbstractStAXStreamProcessor() |
| 限定符和类型 | 方法和说明 |
|---|---|
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
CDATA cdata)
Print out a
node. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
Comment comment)
Print out a
. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
DocType doctype)
Print out the
. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
Document doc)
This will print the
to the given XMLStreamWriter. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
Element element)
|
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
EntityRef entity)
Print out a
. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
java.util.List<? extends Content> list)
This will handle printing out a list of nodes.
|
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
ProcessingInstruction pi)
Print out a
. |
void |
process(javax.xml.stream.XMLStreamWriter out,
Format format,
Text text)
Print out a
node. |
public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
Document doc)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorDocument to the given XMLStreamWriter.
Warning: using your own XMLStreamWriter may cause the outputter's preferred character encoding to be ignored. If you use encodings other than UTF-8, we recommend using the method that takes an OutputStream instead.
process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output styledoc - Document to format.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
DocType doctype)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorDocType.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output styledoctype - DocType to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
Element element)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorprocess 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output styleelement - Element to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
java.util.List<? extends Content> list)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorprocess 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output stylelist - List of nodes.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
CDATA cdata)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorCDATA node.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output stylecdata - CDATA to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
Text text)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorText node. Perfoms the necessary entity
escaping and whitespace stripping.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output styletext - Text to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
Comment comment)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorComment.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output stylecomment - Comment to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
ProcessingInstruction pi)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorProcessingInstruction.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output stylepi - ProcessingInstruction to output.javax.xml.stream.XMLStreamException - if there's any problem writing.public void process(javax.xml.stream.XMLStreamWriter out,
Format format,
EntityRef entity)
throws javax.xml.stream.XMLStreamException
StAXStreamProcessorEntityRef.process 在接口中 StAXStreamProcessorout - XMLStreamWriter to use.format - Format instance specifying output styleentity - EntityRef to output.javax.xml.stream.XMLStreamException - if there's any problem writing.