Class HTMLEmitter

  • All Implemented Interfaces:
    javax.xml.transform.Result

    public class HTMLEmitter
    extends XMLEmitter
    This class generates HTML output
    Author:
    Michael H. Kay
    • Field Detail

      • emptyTags

        static HashMap emptyTags
        Table of HTML tags that have no closing tag
    • Constructor Detail

      • HTMLEmitter

        public HTMLEmitter()
        Constructor
    • Method Detail

      • isEmptyTag

        protected static boolean isEmptyTag​(java.lang.String tag)
      • isUrlAttribute

        public static boolean isUrlAttribute​(java.lang.String element,
                                             java.lang.String attribute)
      • startDocument

        public void startDocument()
                           throws javax.xml.transform.TransformerException
        Output start of document
        Overrides:
        startDocument in class XMLEmitter
        Throws:
        javax.xml.transform.TransformerException
      • startElement

        public void startElement​(int nameCode,
                                 org.xml.sax.Attributes atts,
                                 int[] namespaces,
                                 int nscount)
                          throws javax.xml.transform.TransformerException
        Output element start tag
        Overrides:
        startElement in class XMLEmitter
        namespaces - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
        nscount - Number of significant entries within namespaces array
        Throws:
        javax.xml.transform.TransformerException
      • writeAttribute

        protected void writeAttribute​(int elCode,
                                      java.lang.String attname,
                                      java.lang.String type,
                                      java.lang.String value)
                               throws javax.xml.transform.TransformerException
        Write attribute name=value pair. Overrides the XML behaviour if the name and value are the same (we assume this is a boolean attribute to be minimised), or if the value is a URL.
        Overrides:
        writeAttribute in class XMLEmitter
        Throws:
        javax.xml.transform.TransformerException
      • writeEscape

        protected void writeEscape​(char[] ch,
                                   int start,
                                   int length,
                                   boolean inAttribute)
                            throws java.io.IOException
        Escape characters. Overrides the XML behaviour
        Overrides:
        writeEscape in class XMLEmitter
        Parameters:
        ch - The character array containing the string
        start - The start position of the input string within the character array
        length - The length of the input string within the character array This method converts the XML special characters (such as < and &) into their predefined entities.
        Throws:
        java.io.IOException
      • endElement

        public void endElement​(int nameCode)
                        throws javax.xml.transform.TransformerException
        Output an element end tag.
        Overrides:
        endElement in class XMLEmitter
        Parameters:
        name - The element name (tag)
        Throws:
        javax.xml.transform.TransformerException
      • characters

        public void characters​(char[] ch,
                               int start,
                               int length)
                        throws javax.xml.transform.TransformerException
        Character data.
        Overrides:
        characters in class XMLEmitter
        Throws:
        javax.xml.transform.TransformerException
      • processingInstruction

        public void processingInstruction​(java.lang.String target,
                                          java.lang.String data)
                                   throws javax.xml.transform.TransformerException
        Handle a processing instruction.
        Overrides:
        processingInstruction in class XMLEmitter
        Throws:
        javax.xml.transform.TransformerException