Class HTMLSerializer

  • All Implemented Interfaces:
    DOMSerializer, Serializer, org.xml.sax.ContentHandler, org.xml.sax.DocumentHandler, org.xml.sax.DTDHandler, org.xml.sax.ext.DeclHandler, org.xml.sax.ext.LexicalHandler
    Direct Known Subclasses:
    XHTMLSerializer

    public class HTMLSerializer
    extends BaseMarkupSerializer
    Deprecated.
    This class was deprecated in Xerces 2.6.2. It is recommended that new applications use JAXP's Transformation API for XML (TrAX) for serializing HTML. See the Xerces documentation for more information.
    Implements an HTML/XHTML serializer supporting both DOM and SAX pretty serializing. HTML/XHTML mode is determined in the constructor. For usage instructions see Serializer.

    If an output stream is used, the encoding is taken from the output format (defaults to UTF-8). If a writer is used, make sure the writer uses the same encoding (if applies) as specified in the output format.

    The serializer supports both DOM and SAX. DOM serializing is done by calling BaseMarkupSerializer.serialize(org.w3c.dom.Element) and SAX serializing is done by firing SAX events and using the serializer as a document handler.

    If an I/O exception occurs while serializing, the serializer will not throw an exception directly, but only throw it at the end of serializing (either DOM or SAX's DocumentHandler.endDocument().

    For elements that are not specified as whitespace preserving, the serializer will potentially break long text lines at space boundaries, indent lines, and serialize elements on separate lines. Line terminators will be regarded as spaces, and spaces at beginning of line will be stripped.

    XHTML is slightly different than HTML:

    • Element/attribute names are lower case and case matters
    • Attributes must specify value, even if empty string
    • Empty elements must have '/' in empty tag
    • Contents of SCRIPT and STYLE elements serialized as CDATA
    Version:
    $Revision: 704573 $ $Date: 2008-10-14 21:41:22 +0530 (Tue, 14 Oct 2008) $
    Author:
    Assaf Arkin
    See Also:
    Serializer
    • Field Detail

      • XHTMLNamespace

        public static final java.lang.String XHTMLNamespace
        Deprecated.
        See Also:
        Constant Field Values
    • Method Detail

      • setOutputFormat

        public void setOutputFormat​(OutputFormat format)
        Deprecated.
        Description copied from interface: Serializer
        Specifies an output format for this serializer. It the serializer has already been associated with an output format, it will switch to the new format. This method should not be called while the serializer is in the process of serializing a document.
        Specified by:
        setOutputFormat in interface Serializer
        Overrides:
        setOutputFormat in class BaseMarkupSerializer
        Parameters:
        format - The output format to use
      • setXHTMLNamespace

        public void setXHTMLNamespace​(java.lang.String newNamespace)
        Deprecated.
      • startElement

        public void startElement​(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String rawName,
                                 org.xml.sax.Attributes attrs)
                          throws org.xml.sax.SAXException
        Deprecated.
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String namespaceURI,
                               java.lang.String localName,
                               java.lang.String rawName)
                        throws org.xml.sax.SAXException
        Deprecated.
        Throws:
        org.xml.sax.SAXException
      • endElementIO

        public void endElementIO​(java.lang.String namespaceURI,
                                 java.lang.String localName,
                                 java.lang.String rawName)
                          throws java.io.IOException
        Deprecated.
        Throws:
        java.io.IOException
      • characters

        public void characters​(char[] chars,
                               int start,
                               int length)
                        throws org.xml.sax.SAXException
        Deprecated.
        Specified by:
        characters in interface org.xml.sax.ContentHandler
        Specified by:
        characters in interface org.xml.sax.DocumentHandler
        Overrides:
        characters in class BaseMarkupSerializer
        Throws:
        org.xml.sax.SAXException
      • startElement

        public void startElement​(java.lang.String tagName,
                                 org.xml.sax.AttributeList attrs)
                          throws org.xml.sax.SAXException
        Deprecated.
        Throws:
        org.xml.sax.SAXException
      • endElement

        public void endElement​(java.lang.String tagName)
                        throws org.xml.sax.SAXException
        Deprecated.
        Throws:
        org.xml.sax.SAXException
      • startDocument

        protected void startDocument​(java.lang.String rootTagName)
                              throws java.io.IOException
        Deprecated.
        Called to serialize the document's DOCTYPE by the root element. The document type declaration must name the root element, but the root element is only known when that element is serialized, and not at the start of the document.

        This method will check if it has not been called before (BaseMarkupSerializer._started), will serialize the document type declaration, and will serialize all pre-root comments and PIs that were accumulated in the document (see BaseMarkupSerializer.serializePreRoot()). Pre-root will be serialized even if this is not the first root element of the document.

        Throws:
        java.io.IOException
      • characters

        protected void characters​(java.lang.String text)
                           throws java.io.IOException
        Deprecated.
        Description copied from class: BaseMarkupSerializer
        Called to print the text contents in the prevailing element format. Since this method is capable of printing text as CDATA, it is used for that purpose as well. White space handling is determined by the current element state. In addition, the output format can dictate whether the text is printed as CDATA or unescaped.
        Overrides:
        characters in class BaseMarkupSerializer
        Parameters:
        text - The text to print
        Throws:
        java.io.IOException - An I/O exception occured while serializing
      • getEntityRef

        protected java.lang.String getEntityRef​(int ch)
        Deprecated.
        Description copied from class: BaseMarkupSerializer
        Returns the suitable entity reference for this character value, or null if no such entity exists. Calling this method with '&' will return "&".
        Specified by:
        getEntityRef in class BaseMarkupSerializer
        Parameters:
        ch - Character value
        Returns:
        Character entity name, or null
      • escapeURI

        protected java.lang.String escapeURI​(java.lang.String uri)
        Deprecated.