## net.sf.saxon.event
Class HTMLIndenter

    java.lang.Object
      net.sf.saxon.event.SequenceReceiver
          net.sf.saxon.event.ProxyReceiver
              net.sf.saxon.event.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 Summary
`protected static java.lang.String[]` `formattedTags`
`protected static java.lang.String[]` `inlineTags`
`protected static int` `IS_FORMATTED`
`protected static int` `IS_INLINE`

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`nextReceiver`

Fields inherited from class net.sf.saxon.event.SequenceReceiver
`pipelineConfiguration, previousAtomic, systemId`

Fields inherited from interface javax.xml.transform.Result
`PI_DISABLE_OUTPUT_ESCAPING, PI_ENABLE_OUTPUT_ESCAPING`

Constructor Summary
`HTMLIndenter()`

Method Summary
`void` `characters(java.lang.CharSequence chars, int locationId, int properties)` Output character data
`protected int` `classifyTag(int nameCode)` Classify an element name as inline, formatted, or both or neither.
`void` `comment(java.lang.CharSequence chars, int locationId, int properties)` Output a comment
`void` `endElement()` Output element end tag
`void` `setOutputProperties(java.util.Properties props)` Set the properties for this indenter
`void` `startElement(int nameCode, int typeCode, int locationId, int properties)` Output element start tag

Methods inherited from class net.sf.saxon.event.ProxyReceiver
`append, attribute, close, endDocument, getConfiguration, getDocumentLocator, getNamePool, getUnderlyingReceiver, namespace, open, processingInstruction, setPipelineConfiguration, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

Methods inherited from class net.sf.saxon.event.SequenceReceiver
`getPipelineConfiguration, getSystemId`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### inlineTags

    protected static java.lang.String[] inlineTags

### IS_INLINE

    protected static final int IS_INLINE

See Also:
  Constant Field Values

### IS_FORMATTED

    protected static final int IS_FORMATTED

See Also:
  Constant Field Values

### 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`

### endElement

    public void endElement()
                    throws XPathException

  Output element end tag

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `ProxyReceiver`
  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`

Copyright (c) Saxonica Limited. All rights reserved.