## net.sf.saxon.event
Class XMLIndenter

    java.lang.Object
      |
      +--net.sf.saxon.event.ProxyReceiver
            |
            +--net.sf.saxon.event.XMLIndenter

All Implemented Interfaces:
  Receiver, javax.xml.transform.Result

public final class XMLIndenter
extends ProxyReceiver

XMLIndenter: This ProxyEmitter indents elements, by adding character data where appropriate. The character data is always added as "ignorable white space", that is, it is never added adjacent to existing character data.

Field Summary

Fields inherited from class net.sf.saxon.event.ProxyReceiver
`baseReceiver, config, locationProvider, systemId`

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

Constructor Summary
`XMLIndenter()`

Method Summary
`void` `attribute(int nameCode, int typeCode, java.lang.CharSequence value, int locationId, int properties)` Output an attribute
`void` `characters(java.lang.CharSequence chars, int locationId, int properties)` Output character data
`void` `comment(java.lang.CharSequence chars, int locationId, int properties)` Output a comment
`void` `endElement()` Output element end tag
`void` `open()` Start of document
`void` `processingInstruction(java.lang.String target, java.lang.CharSequence data, int locationId, int properties)` Output a processing instruction
`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
`close, endDocument, getConfiguration, getDocumentLocator, getNamePool, getSystemId, getUnderlyingReceiver, namespace, setConfiguration, setDocumentLocator, setSystemId, setUnderlyingReceiver, setUnparsedEntity, startContent, startDocument`

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

Constructor Detail

### XMLIndenter

    public XMLIndenter()

Method Detail

### setOutputProperties

    public void setOutputProperties(java.util.Properties props)

  Set the properties for this indenter

### open

    public void open()
              throws XPathException

  Start of document

  Specified by:
    `open` in interface `Receiver`
  Overrides:
    `open` in class `ProxyReceiver`
    `XPathException`

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

### attribute

    public void attribute(int nameCode,
                          int typeCode,
                          java.lang.CharSequence value,
                          int locationId,
                          int properties)
                   throws XPathException

  Output an attribute

  Specified by:
    `attribute` in interface `Receiver`
  Overrides:
    `attribute` in class `ProxyReceiver`
  Parameters:
    `nameCode` - The name of the attribute, as held in the name pool
    `typeCode` - The type of the attribute, as held in the name pool
    `properties` - Bit significant value. The following bits are defined:
    DISABLE_ESCAPING
  Disable escaping for this attribute
    NO_SPECIAL_CHARACTERS
  Attribute value contains no special characters
    `XPathException`

### endElement

    public void endElement()
                    throws XPathException

  Output element end tag

  Specified by:
    `endElement` in interface `Receiver`
  Overrides:
    `endElement` in class `ProxyReceiver`
    `XPathException`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.CharSequence data,
                                      int locationId,
                                      int properties)
                               throws XPathException

  Output a processing instruction

  Specified by:
    `processingInstruction` in interface `Receiver`
  Overrides:
    `processingInstruction` in class `ProxyReceiver`
  Parameters:
    `target` - The PI name. This must be a legal name (it will not be checked).
    `data` - The data portion of the processing instruction
    `locationId` - an integer which can be interpreted using a LocationMap 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 PI. The following bits are defined:
  CHECKED
    Data is known to be legal (e.g. doesn't contain "?>")
    `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 LocationMap 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
  NO_SPECIAL_CHARACTERS
    Value contains no special characters
  WHITESPACE
    Text is all whitespace
    `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 LocationMap 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 "--")
    `XPathException`