A XMLStreamBuffer is an abstract class. It is immutable with respect to the methods on the class, which are non-modifying in terms of state.
A XMLStreamBuffer can be processed using specific SAX and StAX-based processors. Utility methods on XMLStreamBuffer are provided for such functionality that utilize SAX and StAX-based processors. The same instance of a XMLStreamBuffer may be processed multiple times and concurrently by more than one processor.
There are two concrete implementations of XMLStreamBuffer. The first, {@link MutableXMLStreamBuffer}, can be instantiated for the creation of a buffer using SAX and StAX-based creators, and from which may be processed as an XMLStreamBuffer. The second, {@link XMLStreamBufferMark}, can be instantiated to mark into an existing buffer that is being created or processed. This allows a subtree of {@link XMLStreamBuffer} to be treated as its own {@link XMLStreamBuffer}.
A XMLStreamBuffer can represent a complete XML infoset or a subtree of an XML infoset. It is also capable of representing a "forest", where the buffer represents multiple adjacent XML elements, although in this mode there are restrictions about how you can consume such forest, because not all XML APIs handle forests very well.
|
|
|
|