Class XMLWriterUtils


  • public final class XMLWriterUtils
    extends Object
    Set of utility methods useful when writing XML.
    Version:
    $Revision: 1.6 $
    Author:
    Christian Niles
    • Method Detail

      • writeQuotedValue

        public static final void writeQuotedValue​(String value,
                                                  Writer writer)
                                           throws IOException
        Writes a quoted version of the given value, automatically determining the appropriate quote character. The value will not be encoded before being written. This method is useful when writing quoted DTD values, such as system IDs.
        Parameters:
        value - The value to quote and output.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEncodedQuotedValue

        public static final void writeEncodedQuotedValue​(String value,
                                                         Writer writer)
                                                  throws IOException
        Encodes the given value and writes it to the provided stream, wrapping it in the appropriate quote character. This method is useful when writing attribute values, and entity replacement text.
        Parameters:
        value - The value to encode, quote, and output.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEncodedValue

        public static final void writeEncodedValue​(String value,
                                                   char quoteChar,
                                                   Writer writer)
                                            throws IOException
        Encodes the given value, and writes it to the stream, but does not actually wrap the value in the quote character. The provided quote character is used to determine whether a character must be encoded or not.
        Parameters:
        value - The value to encode and output.
        quoteChar - The quote character; used to determine which characters need to be encoded.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEncodedText

        public static final void writeEncodedText​(CharSequence text,
                                                  Writer writer)
                                           throws IOException
        Encodes the provided text and writes it to the provided stream. This method is useful when writing character data, such as element text or CData sections, and will not encode single or double quotes.
        Parameters:
        text - The text to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEncodedText

        public static final void writeEncodedText​(char[] text,
                                                  int start,
                                                  int len,
                                                  Writer writer)
                                           throws IOException
        Throws:
        IOException
      • writeEncodedCharacter

        public static final void writeEncodedCharacter​(char c,
                                                       Writer writer)
                                                throws IOException
        Encodes the provided character if needed, and writes it to an output stream.
        Parameters:
        c - The character to encode and output.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeQName

        public static final void writeQName​(QName name,
                                            Writer writer)
                                     throws IOException
        Writes a qualified name to the provided stream.
        Parameters:
        name - The name to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeQName

        public static final void writeQName​(String prefix,
                                            String localPart,
                                            Writer writer)
                                     throws IOException
        Writes a qualified name to the provided stream.
        Parameters:
        prefix - The prefix, or null
        localPart - The local part.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEvent

        public static final void writeEvent​(XMLEvent event,
                                            Writer writer)
                                     throws IOException,
                                            XMLStreamException
        Writes the given event to the provided Writer. This method will delegate the actual task of writing to the stream to the appropriate overloaded method.
        Parameters:
        event - The event to write.
        writer - The destination XML stream.
        Throws:
        IOException - If an error occurs writing to the stream.
        XMLStreamException - If the event is a StartElement and an error occurs writing the Namespace or Attribute events.
        IllegalArgumentException - If the event is an unknown type.
      • writeStartDocument

        public static final void writeStartDocument​(Writer writer)
                                             throws IOException
        Writes a default XML declaration to the provided stream.
        Parameters:
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeStartDocument

        public static final void writeStartDocument​(String version,
                                                    Writer writer)
                                             throws IOException
        Writes an XML declaration to the provided stream.
        Parameters:
        version - The xml version definition.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeStartDocument

        public static final void writeStartDocument​(String version,
                                                    String encoding,
                                                    Writer writer)
                                             throws IOException
        Writes an XML declaration to the provided stream.
        Parameters:
        version - The xml version definition.
        encoding - The document encoding, or null
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeStartDocument

        public static final void writeStartDocument​(String version,
                                                    String encoding,
                                                    boolean standalone,
                                                    Writer writer)
                                             throws IOException
        Writes an XML declaration to the provided stream.
        Parameters:
        version - The xml version definition.
        encoding - The document encoding, or null
        standalone - The standalone definition
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeStartDocument

        public static final void writeStartDocument​(String version,
                                                    String encoding,
                                                    String standalone,
                                                    Writer writer)
                                             throws IOException
        Writes an XML declaration to the provided stream.
        Parameters:
        version - The xml version definition.
        encoding - The document encoding, or null
        standalone - The standalone definition, or null
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEndDocument

        public static final void writeEndDocument​(EndDocument end,
                                                  Writer writer)
                                           throws IOException
        Writes an EndDocument to the provided stream.
        Parameters:
        end - The EndDocument to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEndDocument

        public static final void writeEndDocument​(Writer writer)
                                           throws IOException
        Writes an document ending to the provided stream.
        Parameters:
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeStartElement

        public static final void writeStartElement​(QName name,
                                                   Iterator attributes,
                                                   Iterator namespaces,
                                                   Writer writer)
                                            throws IOException,
                                                   XMLStreamException
        Writes a start tag and any associated namespaces and attributes to the provided stream.
        Parameters:
        name - The tag name.
        attributes - An Attribute iterator, or null.
        namespaces - A Namespace iterator, or null.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
        XMLStreamException - If an error occurs writing any namespaces or attribute events.
      • writeStartElement

        public static final void writeStartElement​(QName name,
                                                   Iterator attributes,
                                                   Iterator namespaces,
                                                   boolean empty,
                                                   Writer writer)
                                            throws IOException,
                                                   XMLStreamException
        Writes a start tag and any associated namespaces and attributes to the provided stream.
        Parameters:
        name - The tag name.
        attributes - An Attribute iterator, or null.
        namespaces - A Namespace iterator, or null.
        empty - Whether the element is empty.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
        XMLStreamException
      • writeStartElement

        public static final void writeStartElement​(QName name,
                                                   Map attributes,
                                                   Map namespaces,
                                                   boolean empty,
                                                   Writer writer)
                                            throws IOException
        Writes a start tag and any associated namespaces and attributes to the provided stream.
        Parameters:
        name - The tag name.
        attributes - A Map of attribute values, keyed by their QNames. If no attributes are present, this may be null.
        namespaces - A Map of namespace values, keyed by their prefixes. If no namespaces are present, this may be null.
        empty - Whether the element is empty.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeAttribute

        public static final void writeAttribute​(Attribute attr,
                                                Writer writer)
                                         throws IOException
        Writes an Attribute to the provided stream.
        Parameters:
        attr - The Attribute to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeAttribute

        public static final void writeAttribute​(QName name,
                                                String value,
                                                Writer writer)
                                         throws IOException
        Writes an attribute to the provided stream.
        Parameters:
        name - The attribute name.
        value - The attribute value.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeNamespace

        public static final void writeNamespace​(Namespace ns,
                                                Writer writer)
                                         throws IOException
        Writes a Namespace to the provided stream.
        Parameters:
        ns - The Namespace to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeNamespace

        public static final void writeNamespace​(String prefix,
                                                String uri,
                                                Writer writer)
                                         throws IOException
        Writes a Namespace to the provided stream.
        Parameters:
        prefix - The namespace prefix, which may be null.
        uri - The namespace uri.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEndElement

        public static final void writeEndElement​(EndElement end,
                                                 Writer writer)
                                          throws IOException
        Writes an EndElement to the provided stream.
        Parameters:
        end - The EndElement to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEndElement

        public static final void writeEndElement​(QName name,
                                                 Writer writer)
                                          throws IOException
        Writes an element end tag to the provided stream.
        Parameters:
        name - The element name.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeCharacters

        public static final void writeCharacters​(Characters chars,
                                                 Writer writer)
                                          throws IOException
        Writes a Characters to the provided stream.
        Parameters:
        chars - The Characters to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeCharacters

        public static final void writeCharacters​(CharSequence text,
                                                 Writer writer)
                                          throws IOException
        Writes a chunk of encoded text to the provided stream.
        Parameters:
        text - The text to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeCharacters

        public static final void writeCharacters​(char[] data,
                                                 int start,
                                                 int length,
                                                 Writer writer)
                                          throws IOException
        Writes a chunk of encoded text to the provided stream.
        Parameters:
        data - A character array containing the characters.
        start - The starting index into the array.
        length - The number of characters to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeCData

        public static final void writeCData​(String text,
                                            Writer writer)
                                     throws IOException
        Writes a Characters to the provided stream.
        Parameters:
        text - The CData text to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeCData

        public static final void writeCData​(char[] data,
                                            int start,
                                            int length,
                                            Writer writer)
                                     throws IOException
        Writes a Characters to the provided stream.
        Parameters:
        data - A character array containing the cdata text.
        start - The starting index into the array.
        length - The number of characters to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeComment

        public static final void writeComment​(String comment,
                                              Writer writer)
                                       throws IOException
        Writes a comment to the provided stream.
        Parameters:
        comment - The comment text.
        writer - The destination stream.
        Throws:
        XMLStreamException - If an error occurs writing to the stream.
        IOException
      • writeEntityReference

        public static final void writeEntityReference​(String entityRef,
                                                      Writer writer)
                                               throws IOException
        Writes an entity reference to the provided stream.
        Parameters:
        entityRef - The name of the entity reference.
        writer - The destination stream.
        Throws:
        XMLStreamException - If an error occurs writing to the stream.
        IOException
      • writeEntityDeclaration

        public static final void writeEntityDeclaration​(String name,
                                                        String publicId,
                                                        String systemId,
                                                        String notation,
                                                        Writer writer)
                                                 throws IOException
        Writes an external entity declaration to the stream. Either or both of the publicId and systemId parameters must be non-null.
        Parameters:
        name - The entity name.
        publicId - The entity public ID, or null.
        systemId - The entity system ID, or null.
        notation - The notation name, or null.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEntityDeclaration

        public static final void writeEntityDeclaration​(String name,
                                                        String text,
                                                        String notation,
                                                        Writer writer)
                                                 throws IOException
        Writes an internal entity declaration to the stream.
        Parameters:
        name - The entity name.
        text - The entity replacement text.
        notation - The notation name, or null.
        writer -
        Throws:
        IOException
      • writeNotationDeclaration

        public static final void writeNotationDeclaration​(String name,
                                                          String publicId,
                                                          String systemId,
                                                          Writer writer)
                                                   throws IOException
        Writes a notation declaration to the stream. Either or both of the publicId and systemId parameters must be non-null.
        Parameters:
        name - The notation name.
        publicId - The entity public ID, or null.
        systemId - The entity system ID, or null.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeProcessingInstruction

        public static final void writeProcessingInstruction​(String target,
                                                            String data,
                                                            Writer writer)
                                                     throws IOException
        Writes a ProcessingInstruction to the provided stream.
        Parameters:
        target - The instruction target.
        data - The instruction data, or null.
        writer - The destination stream.
        Throws:
        XMLStreamException - If an error occurs writing to the stream.
        IOException
      • writeDTD

        public static final void writeDTD​(DTD dtd,
                                          Writer writer)
                                   throws IOException
        Writes a DTD to the provided stream.
        Parameters:
        dtd - The DTD to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeDTD

        public static final void writeDTD​(String dtd,
                                          Writer writer)
                                   throws IOException
        Writes a dtd to the provided stream.
        Parameters:
        dtd - The dtd to write.
        writer - The destination stream.
        Throws:
        IOException - If an error occurs writing to the stream.
      • writeEvent

        public static final void writeEvent​(XMLEvent event,
                                            XMLStreamWriter writer)
                                     throws XMLStreamException
        Writes the given event to the provided XMLStreamWriter. This method will delegate the actual task of writing to the stream to the appropriate overloaded method.
        Parameters:
        event - The event to write.
        writer - The destination XML stream.
        Throws:
        XMLStreamException - If an error occurs writing the event.