XMLStreamWriter (Java SE 15 & JDK 15) (original) (raw)


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:

Since:

1.6

See Also:

XMLOutputFactory, XMLStreamReader

Modifier and Type Method Description
void close() Close this writer and free any resources associated with the writer.
void flush() Write any cached data to the underlying output mechanism.
NamespaceContext getNamespaceContext() Returns the current namespace context.
String getPrefix​(String uri) Gets the prefix the uri is bound to
Object getProperty​(String name) Get the value of a feature/property from the underlying implementation
void setDefaultNamespace​(String uri) Binds a URI to the default namespace This URI is bound in the scope of the current START_ELEMENT / END_ELEMENT pair.
void setNamespaceContext​(NamespaceContext context) Sets the current namespace context for prefix and uri bindings.
void setPrefix​(String prefix,String uri) Sets the prefix the uri is bound to.
void writeAttribute​(String localName,String value) Writes an attribute to the output stream without a prefix.
void writeAttribute​(String namespaceURI,String localName,String value) Writes an attribute to the output stream
void writeAttribute​(String prefix,String namespaceURI,String localName,String value) Writes an attribute to the output stream
void writeCData​(String data) Writes a CData section
void writeCharacters​(char[] text, int start, int len) Write text to the output
void writeCharacters​(String text) Write text to the output
void writeComment​(String data) Writes an xml comment with the data enclosed
void writeDefaultNamespace​(String namespaceURI) Writes the default namespace to the stream
void writeDTD​(String dtd) Write a DTD section.
void writeEmptyElement​(String localName) Writes an empty element tag to the output
void writeEmptyElement​(String namespaceURI,String localName) Writes an empty element tag to the output
void writeEmptyElement​(String prefix,String localName,String namespaceURI) Writes an empty element tag to the output
void writeEndDocument() Closes any start tags and writes corresponding end tags.
void writeEndElement() Writes an end tag to the output relying on the internal state of the writer to determine the prefix and local name of the event.
void writeEntityRef​(String name) Writes an entity reference
void writeNamespace​(String prefix,String namespaceURI) Writes a namespace to the output stream If the prefix argument to this method is the empty string, "xmlns", or null this method will delegate to writeDefaultNamespace
void writeProcessingInstruction​(String target) Writes a processing instruction
void writeProcessingInstruction​(String target,String data) Writes a processing instruction
void writeStartDocument() Write the XML Declaration.
void writeStartDocument​(String version) Write the XML Declaration.
void writeStartDocument​(String encoding,String version) Write the XML Declaration.
void writeStartElement​(String localName) Writes a start tag to the output.
void writeStartElement​(String namespaceURI,String localName) Writes a start tag to the output
void writeStartElement​(String prefix,String localName,String namespaceURI) Writes a start tag to the output