public interface XMLStreamWriter
The XMLStreamWriter interface specifies how to write XML. The XMLStreamWriter does
not perform well formedness checking on its input. However
the writeCharacters method is required to escape &, < and >
For attribute values the writeAttribute method will escape the
above characters plus " to ensure that all character content
and attribute values are well formed.
Each NAMESPACE
and ATTRIBUTE must be individually written.
Notes:
| Method | isRepairingNamespaces == true |
isRepairingNamespaces == false |
||
|---|---|---|---|---|
| namespaceURI bound | namespaceURI unbound | namespaceURI bound | namespaceURI unbound | |
writeAttribute(namespaceURI, localName, value) |
prefix:localName="value" [1] | xmlns:{generated}="namespaceURI" {generated}:localName="value" | prefix:localName="value" [1] |
XMLStreamException
|
writeAttribute(prefix, namespaceURI, localName, value) |
bound to same prefix: prefix:localName="value" [1] bound to different prefix: xmlns:{generated}="namespaceURI" {generated}:localName="value" |
xmlns:prefix="namespaceURI" prefix:localName="value" [3] |
bound to same prefix: prefix:localName="value" [1][2] bound to different prefix: XMLStreamException[2]
|
xmlns:prefix="namespaceURI" prefix:localName="value" [2][5] |
writeStartElement(namespaceURI, localName)writeEmptyElement(namespaceURI, localName) |
<prefix:localName> [1]
|
<{generated}:localName xmlns:{generated}="namespaceURI">
|
prefix:localName> [1]
|
XMLStreamException
|
writeStartElement(prefix, localName, namespaceURI)writeEmptyElement(prefix, localName, namespaceURI) |
bound to same prefix:<prefix:localName> [1]bound to different prefix: <{generated}:localName xmlns:{generated}="namespaceURI">
|
<prefix:localName xmlns:prefix="namespaceURI"> [4]
|
bound to same prefix:<prefix:localName> [1]bound to different prefix: XMLStreamException
|
<prefix:localName>
|
- [1] if namespaceURI == default Namespace URI, then no prefix is written
- [2] if prefix == "" || null && namespaceURI == "", then no prefix or Namespace declaration is generated or written
- [3] if prefix == "" || null, then a prefix is randomly generated
- [4] if prefix == "" || null, then it is treated as the default Namespace and no prefix is generated or written, an xmlns declaration is generated and written if the namespaceURI is unbound
- [5] if prefix == "" || null, then it is treated as an invalid attempt to define the default Namespace and an XMLStreamException is thrown
- Since:
- 1.6
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptionvoidclose()Close this writer and free any resources associated with the writer.voidflush()Write any cached data to the underlying output mechanism.Returns the current namespace context.Gets the prefix the uri is bound to.getProperty(String name) Get the value of a feature/property from the underlying implementationvoidBinds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.voidsetNamespaceContext(NamespaceContext context) Sets the current namespace context for prefix and uri bindings.voidSets the prefix the uri is bound to.voidwriteAttribute(String localName, String value) Writes an attribute to the output stream without a prefix.voidwriteAttribute(String namespaceURI, String localName, String value) Writes an attribute to the output streamvoidwriteAttribute(String prefix, String namespaceURI, String localName, String value) Writes an attribute to the output streamvoidwriteCData(String data) Writes a CData sectionvoidwriteCharacters(char[] text, int start, int len) Write text to the outputvoidwriteCharacters(String text) Write text to the outputvoid