## com.icl.saxon.output
Class DocumentHandlerProxy

    java.lang.Object
      |
      +--com.icl.saxon.output.Emitter
            |
            +--com.icl.saxon.output.DocumentHandlerProxy

All Implemented Interfaces:
  javax.xml.transform.Result

public class DocumentHandlerProxy
extends Emitter

A DocumentHandlerProxy is an Emitter that filters data before passing it to an underlying SAX DocumentHandler. Note that in general the output passed to an Emitter corresponds to an External General Parsed Entity. A SAX DocumentHandler only expects to deal with well-formed XML documents, so we only pass it the contents of the first element encountered.

Field Summary
`protected org.xml.sax.DocumentHandler` `handler`
`protected org.xml.sax.helpers.AttributeListImpl` `outputAtts`

Fields inherited from class com.icl.saxon.output.Emitter
`locator, namePool, outputProperties, outputStream, systemId, writer`

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

Constructor Summary
`DocumentHandlerProxy()`

Method Summary
`void` `characters(char[] chars, int start, int len)` Character data
`void` `comment(char[] ch, int start, int length)` Output a comment
`void` `endDocument()` End of document
`void` `endElement(int nameCode)` End of element
`void` `processingInstruction(java.lang.String target, java.lang.String data)` Processing Instruction
`void` `setDocumentLocator(org.xml.sax.Locator locator)` Set Document Locator
`void` `setUnderlyingDocumentHandler(org.xml.sax.DocumentHandler handler)` Set the underlying document handler.
`void` `startDocument()` Start of document
`void` `startElement(int nameCode, org.xml.sax.Attributes attributes, int[] namespaces, int nscount)` Start of element

Methods inherited from class com.icl.saxon.output.Emitter
`getNamePool, getOutputProperties, getOutputStream, getSystemId, getWriter, makeEmitter, setEscaping, setNamePool, setOutputProperties, setOutputStream, setSystemId, setUnparsedEntity, setWriter, usesWriter`

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

Field Detail

### handler

    protected org.xml.sax.DocumentHandler handler

### outputAtts

    protected org.xml.sax.helpers.AttributeListImpl outputAtts

Constructor Detail

### DocumentHandlerProxy

    public DocumentHandlerProxy()

Method Detail

### setUnderlyingDocumentHandler

    public void setUnderlyingDocumentHandler(org.xml.sax.DocumentHandler handler)

  Set the underlying document handler. This call is mandatory before using the Emitter.

### setDocumentLocator

    public void setDocumentLocator(org.xml.sax.Locator locator)

  Set Document Locator
  Overrides:
    `setDocumentLocator` in class `Emitter`

### startDocument

    public void startDocument()
                       throws javax.xml.transform.TransformerException

  Start of document
  Overrides:
    `startDocument` in class `Emitter`

### endDocument

    public void endDocument()
                     throws javax.xml.transform.TransformerException

  End of document
  Overrides:
    `endDocument` in class `Emitter`

### startElement

    public void startElement(int nameCode,
                             org.xml.sax.Attributes attributes,
                             int[] namespaces,
                             int nscount)
                      throws javax.xml.transform.TransformerException

  Start of element
  Overrides:
    `startElement` in class `Emitter`
  Following copied from class: `com.icl.saxon.output.Emitter`
  Parameters:
    `namespaces` - Array of namespace codes identifying the namespace prefix/uri pairs associated with this element
    `nscount` - Number of significant entries within namespaces array

### endElement

    public void endElement(int nameCode)
                    throws javax.xml.transform.TransformerException

  End of element
  Overrides:
    `endElement` in class `Emitter`

### characters

    public void characters(char[] chars,
                           int start,
                           int len)
                    throws javax.xml.transform.TransformerException

  Character data
  Overrides:
    `characters` in class `Emitter`

### processingInstruction

    public void processingInstruction(java.lang.String target,
                                      java.lang.String data)
                               throws javax.xml.transform.TransformerException

  Processing Instruction
  Overrides:
    `processingInstruction` in class `Emitter`

### comment

    public void comment(char[] ch,
                        int start,
                        int length)

  Output a comment
  Overrides:
    `comment` in class `Emitter`