## net.sf.saxon
Class TransformerHandlerImpl

    java.lang.Object
      net.sf.saxon.event.ReceivingContentHandler
          net.sf.saxon.TransformerHandlerImpl

All Implemented Interfaces:
  TransformerHandler, ContentHandler, DTDHandler, LexicalHandler

    public class TransformerHandlerImpl

extends ReceivingContentHandler
implements TransformerHandler

TransformerHandlerImpl implements the javax.xml.transform.sax.TransformerHandler interface. It acts as a ContentHandler and LexicalHandler which receives a stream of SAX events representing an input document, and performs a transformation treating this SAX stream as the source document of the transformation.

Author:
  Michael H. Kay

Constructor Summary
`protected` `TransformerHandlerImpl(Controller controller)` Create a TransformerHandlerImpl and initialise variables.

Method Summary
`void` `endDocument()` Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed document
`Result` `getResult()` Get the output destination of the transformation
`String` `getSystemId()` Get the systemId of the document.
`Transformer` `getTransformer()` Get the Transformer used for this transformation
`void` `setResult(Result result)` Set the output destination of the transformation
`void` `setSystemId(String url)` Set the SystemId of the document.
`void` `startDocument()` Start of a new document.

Methods inherited from class net.sf.saxon.event.ReceivingContentHandler

`characters, comment, endCDATA, endDTD, endElement, endEntity, endPrefixMapping, getConfiguration, getPipelineConfiguration, getReceiver, ignorableWhitespace, isIgnoringIgnorableWhitespace, notationDecl, processingInstruction, reset, setDocumentLocator, setIgnoreIgnorableWhitespace, setPipelineConfiguration, setReceiver, skippedEntity, startCDATA, startDTD, startElement, startEntity, startPrefixMapping, unparsedEntityDecl`

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

Methods inherited from interface org.xml.sax.ContentHandler
`characters, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startElement, startPrefixMapping`

Methods inherited from interface org.xml.sax.ext.LexicalHandler
`comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity`

Methods inherited from interface org.xml.sax.DTDHandler
`notationDecl, unparsedEntityDecl`

Constructor Detail

### TransformerHandlerImpl

    protected TransformerHandlerImpl(Controller controller)

  Create a TransformerHandlerImpl and initialise variables. The constructor is protected, because the Filter should be created using newTransformerHandler() in the SAXTransformerFactory class

  Parameters:
    `controller` - the Controller to be used

Method Detail

### startDocument

    public void startDocument()
                       throws SAXException

  Start of a new document. The TransformerHandler is not serially reusable, so this method must only be called once.

  Specified by:
    `startDocument` in interface `ContentHandler`
  Overrides:
    `startDocument` in class `ReceivingContentHandler`
  Throws:
    `SAXException` - only if an overriding subclass throws this exception
    `UnsupportedOperationException` - if an attempt is made to reuse the TransformerHandler by calling startDocument() more than once.

### getTransformer

    public Transformer getTransformer()

  Get the Transformer used for this transformation

  Specified by:
    `getTransformer` in interface `TransformerHandler`

### setSystemId

    public void setSystemId(String url)

  Set the SystemId of the document. Note that in reporting location information, Saxon gives priority to the system Id reported by the SAX Parser in the Locator passed to the `ReceivingContentHandler.setDocumentLocator(org.xml.sax.Locator)` method. The SystemId passed to this method is used as the base URI for resolving relative references.

  Specified by:
    `setSystemId` in interface `TransformerHandler`
  Parameters:
    `url` - the systemId of the source document

### getSystemId

    public String getSystemId()

  Get the systemId of the document. This will be the systemId obtained from the Locator passed to the `ReceivingContentHandler.setDocumentLocator(org.xml.sax.Locator)` method if available, otherwise the SystemId passed to the `setSystemId(String)` method.

  Specified by:
    `getSystemId` in interface `TransformerHandler`

### setResult

    public void setResult(Result result)

  Set the output destination of the transformation

  Specified by:
    `setResult` in interface `TransformerHandler`

### getResult

    public Result getResult()

  Get the output destination of the transformation

  Returns:
    the output destination

### endDocument

    public void endDocument()
                     throws SAXException

  Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed document

  Specified by:
    `endDocument` in interface `ContentHandler`
  Overrides:
    `endDocument` in class `ReceivingContentHandler`
  Throws:
    `SAXException`

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.