net.sf.saxon
Class TransformerHandlerImpl

java.lang.Object
  extended by net.sf.saxon.event.ReceivingContentHandler
      extended by 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-2011 Saxonica Limited. All rights reserved.