Class HTMLIndenter

  • All Implemented Interfaces:
    javax.xml.transform.Result, Receiver
    Direct Known Subclasses:
    XHTMLIndenter

    public class HTMLIndenter
    extends ProxyReceiver
    HTMLIndenter: This ProxyEmitter indents HTML elements, by adding whitespace character data where appropriate. The character data is never added when within an inline element. The string used for indentation defaults to three spaces, but may be set using the indent-chars property
    Author:
    Michael Kay
    • Field Detail

      • inlineTags

        protected static java.lang.String[] inlineTags
      • formattedTags

        protected static java.lang.String[] formattedTags
    • Constructor Detail

      • HTMLIndenter

        public HTMLIndenter()
    • Method Detail

      • classifyTag

        protected int classifyTag​(int nameCode)
        Classify an element name as inline, formatted, or both or neither. This method is overridden in the XHTML indenter
        Parameters:
        nameCode - the element name
        Returns:
        a bit-significant integer containing flags IS_INLINE and/or IS_FORMATTED
      • setOutputProperties

        public void setOutputProperties​(java.util.Properties props)
        Set the properties for this indenter
      • startElement

        public void startElement​(int nameCode,
                                 int typeCode,
                                 int locationId,
                                 int properties)
                          throws XPathException
        Output element start tag
        Specified by:
        startElement in interface Receiver
        Overrides:
        startElement in class ProxyReceiver
        Parameters:
        nameCode - integer code identifying the name of the element within the name pool.
        typeCode - integer code identifying the element's type within the name pool.
        locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        properties - properties of the element node
        Throws:
        XPathException
      • characters

        public void characters​(java.lang.CharSequence chars,
                               int locationId,
                               int properties)
                        throws XPathException
        Output character data
        Specified by:
        characters in interface Receiver
        Overrides:
        characters in class ProxyReceiver
        Parameters:
        chars - The characters
        locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        properties - Bit significant value. The following bits are defined:
        DISABLE_ESCAPING
        Disable escaping for this text node
        USE_CDATA
        Output as a CDATA section
        Throws:
        XPathException
      • comment

        public void comment​(java.lang.CharSequence chars,
                            int locationId,
                            int properties)
                     throws XPathException
        Output a comment
        Specified by:
        comment in interface Receiver
        Overrides:
        comment in class ProxyReceiver
        Parameters:
        chars - The content of the comment
        locationId - an integer which can be interpreted using a LocationProvider to return information such as line number and system ID. If no location information is available, the value zero is supplied.
        properties - Additional information about the comment. The following bits are defined:
        CHECKED
        Comment is known to be legal (e.g. doesn't contain "--")
        Throws:
        XPathException