Class ToXmlContentHandler

  • All Implemented Interfaces:
    org.xml.sax.ContentHandler, org.xml.sax.DTDHandler, org.xml.sax.EntityResolver, org.xml.sax.ErrorHandler

    public class ToXmlContentHandler
    extends org.xml.sax.helpers.DefaultHandler
    Simple XML serializer. This content handler serializes the received SAX events as XML to a given Writer or OutputStream. The serialization assumes that the incoming SAX events are well-formed, i.e. that all elements are properly nested, that element and attribute names are valid and that no invalid XML characters are included. Assuming these preconditions are met, the result will be a well-formed XML stream.

    This serializer does not have any special support for namespaces. For example, namespace prefixes are declared in the resulting XML stream if and only if the corresponding "xmlns" attributes are explicitly included in the Attributes instances passed in startElement(String, String, String, Attributes) calls.

    As a convenience this class inherits the DefaultHandler class instead of just the ContentHandler interface. This makes it easier to pass instances of this class to methods like SAXParser.parse(String, DefaultHandler) that expect a DefaultHandler instance instead of a ContentHandler.

    • Constructor Summary

      Constructors 
      Constructor Description
      ToXmlContentHandler()
      Creates an XML serializer that writes the serialized XML stream to an internal buffer.
      ToXmlContentHandler​(java.io.OutputStream stream)
      Creates an XML serializer that writes the serialized XML stream to the given output stream using the UTF-8 character encoding.
      ToXmlContentHandler​(java.io.OutputStream stream, java.lang.String encoding)
      Creates an XML serializer that writes the serialized XML stream to the given output stream using the given character encoding.
      ToXmlContentHandler​(java.io.Writer writer)
      Creates an XML serializer that writes the serialized XML stream to the given writer.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void characters​(char[] ch, int start, int length)
      Escapes and outputs the given characters.
      void endDocument()
      Ends the XML serialization by flushing the output stream.
      void endElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName)
      Outputs the specified end tag.
      void ignorableWhitespace​(char[] ch, int start, int length)
      Escapes and outputs the given characters.
      void processingInstruction​(java.lang.String target, java.lang.String data)
      Serializes a processing instruction.
      void startDocument()
      Starts the XML serialization by outputting the <?xml?> header.
      void startElement​(java.lang.String namespaceURI, java.lang.String localName, java.lang.String qName, org.xml.sax.Attributes atts)
      Outputs the specified start tag with the given attributes.
      java.lang.String toString()
      Returns the serialized XML document (assuming the default no-argument constructor was used).
      • Methods inherited from class org.xml.sax.helpers.DefaultHandler

        endPrefixMapping, error, fatalError, notationDecl, resolveEntity, setDocumentLocator, skippedEntity, startPrefixMapping, unparsedEntityDecl, warning
      • Methods inherited from class java.lang.Object

        equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ToXmlContentHandler

        public ToXmlContentHandler​(java.io.OutputStream stream,
                                   java.lang.String encoding)
                            throws java.io.UnsupportedEncodingException
        Creates an XML serializer that writes the serialized XML stream to the given output stream using the given character encoding.
        Parameters:
        stream - XML output stream
        encoding - character encoding
        Throws:
        java.io.UnsupportedEncodingException - if the encoding is not supported
      • ToXmlContentHandler

        public ToXmlContentHandler​(java.io.OutputStream stream)
        Creates an XML serializer that writes the serialized XML stream to the given output stream using the UTF-8 character encoding.
        Parameters:
        stream - XML output stream
      • ToXmlContentHandler

        public ToXmlContentHandler​(java.io.Writer writer)
        Creates an XML serializer that writes the serialized XML stream to the given writer.
        Parameters:
        writer - XML output stream
      • ToXmlContentHandler

        public ToXmlContentHandler()
        Creates an XML serializer that writes the serialized XML stream to an internal buffer. Use the toString() method to access the serialized XML document.
    • Method Detail

      • startDocument

        public void startDocument()
                           throws org.xml.sax.SAXException
        Starts the XML serialization by outputting the <?xml?> header.
        Specified by:
        startDocument in interface org.xml.sax.ContentHandler
        Overrides:
        startDocument in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endDocument

        public void endDocument()
                         throws org.xml.sax.SAXException
        Ends the XML serialization by flushing the output stream.
        Specified by:
        endDocument in interface org.xml.sax.ContentHandler
        Overrides:
        endDocument in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws org.xml.sax.SAXException
        Serializes a processing instruction.
        Specified by:
        processingInstruction in interface org.xml.sax.ContentHandler
        Overrides:
        processingInstruction in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String qName,
                                 org.xml.sax.Attributes atts)
                          throws org.xml.sax.SAXException
        Outputs the specified start tag with the given attributes.
        Specified by:
        startElement in interface org.xml.sax.ContentHandler
        Overrides:
        startElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Escapes and outputs the given characters.
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Overrides:
        characters in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • ignorableWhitespace

        public void ignorableWhitespace​(char[] ch,
                                        int start,
                                        int length)
                                 throws org.xml.sax.SAXException
        Escapes and outputs the given characters.
        Specified by:
        ignorableWhitespace in interface org.xml.sax.ContentHandler
        Overrides:
        ignorableWhitespace in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String namespaceURI,
                               java.lang.String localName,
                               java.lang.String qName)
                        throws org.xml.sax.SAXException
        Outputs the specified end tag.
        Specified by:
        endElement in interface org.xml.sax.ContentHandler
        Overrides:
        endElement in class org.xml.sax.helpers.DefaultHandler
        Throws:
        org.xml.sax.SAXException
      • toString

        public java.lang.String toString()
        Returns the serialized XML document (assuming the default no-argument constructor was used).
        Overrides:
        toString in class java.lang.Object
        Returns:
        serialized XML document