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.
XML Namespaces, javax.xml.stream.isRepairingNamespaces and write method behaviour
| 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> |
Notes:
- [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:
-
XMLOutputFactory, XMLStreamReader
|
|