Package net.sf.saxon
Class TransformerHandlerImpl
java.lang.Object
net.sf.saxon.event.ReceivingContentHandler
net.sf.saxon.TransformerHandlerImpl
- All Implemented Interfaces:
TransformerHandler
,ContentHandler
,DTDHandler
,LexicalHandler
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
-
Field Summary
Fields -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
TransformerHandlerImpl
(Controller controller) Create a TransformerHandlerImpl and initialise variables. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed documentGet the output destination of the transformationGet the systemId of the document.Get the Transformer used for this transformationvoid
Set the output destination of the transformationvoid
setSystemId
(String url) Set the SystemId of the document.void
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, declaration, endElement, endPrefixMapping, ignorableWhitespace, processingInstruction, setDocumentLocator, skippedEntity, startElement, startPrefixMapping
Methods inherited from interface org.xml.sax.DTDHandler
notationDecl, unparsedEntityDecl
Methods inherited from interface org.xml.sax.ext.LexicalHandler
comment, endCDATA, endDTD, endEntity, startCDATA, startDTD, startEntity
-
Field Details
-
controller
Controller controller -
builder
Builder builder -
receiver
Receiver receiver -
result
Result result -
systemId
String systemId -
started
boolean started
-
-
Constructor Details
-
TransformerHandlerImpl
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 Details
-
startDocument
Start of a new document. The TransformerHandler is not serially reusable, so this method must only be called once.- Specified by:
startDocument
in interfaceContentHandler
- Overrides:
startDocument
in classReceivingContentHandler
- Throws:
SAXException
- only if an overriding subclass throws this exceptionUnsupportedOperationException
- if an attempt is made to reuse the TransformerHandler by calling startDocument() more than once.
-
getTransformer
Get the Transformer used for this transformation- Specified by:
getTransformer
in interfaceTransformerHandler
-
setSystemId
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 theReceivingContentHandler.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 interfaceTransformerHandler
- Parameters:
url
- the systemId of the source document
-
getSystemId
Get the systemId of the document. This will be the systemId obtained from the Locator passed to theReceivingContentHandler.setDocumentLocator(org.xml.sax.Locator)
method if available, otherwise the SystemId passed to thesetSystemId(String)
method.- Specified by:
getSystemId
in interfaceTransformerHandler
-
setResult
Set the output destination of the transformation- Specified by:
setResult
in interfaceTransformerHandler
-
getResult
Get the output destination of the transformation- Returns:
- the output destination
-
endDocument
Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed document- Specified by:
endDocument
in interfaceContentHandler
- Overrides:
endDocument
in classReceivingContentHandler
- Throws:
SAXException
-