Package net.sf.saxon
Class TransformerHandlerImpl
- java.lang.Object
-
- net.sf.saxon.event.ReceivingContentHandler
-
- net.sf.saxon.TransformerHandlerImpl
-
- All Implemented Interfaces:
javax.xml.transform.sax.TransformerHandler
,org.xml.sax.ContentHandler
,org.xml.sax.DTDHandler
,org.xml.sax.ext.LexicalHandler
public class TransformerHandlerImpl extends ReceivingContentHandler implements javax.xml.transform.sax.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
-
-
Field Summary
Fields Modifier and Type Field Description (package private) Builder
builder
(package private) Controller
controller
(package private) Receiver
receiver
(package private) javax.xml.transform.Result
result
(package private) boolean
started
(package private) java.lang.String
systemId
-
Constructor Summary
Constructors Modifier Constructor Description protected
TransformerHandlerImpl(Controller controller)
Create a TransformerHandlerImpl and initialise variables.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
endDocument()
Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed documentjavax.xml.transform.Result
getResult()
Get the output destination of the transformationjava.lang.String
getSystemId()
Get the systemId of the document.javax.xml.transform.Transformer
getTransformer()
Get the Transformer used for this transformationvoid
setResult(javax.xml.transform.Result result)
Set the output destination of the transformationvoid
setSystemId(java.lang.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
-
-
-
-
Field Detail
-
controller
Controller controller
-
builder
Builder builder
-
receiver
Receiver receiver
-
result
javax.xml.transform.Result result
-
systemId
java.lang.String systemId
-
started
boolean started
-
-
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 org.xml.sax.SAXException
Start of a new document. The TransformerHandler is not serially reusable, so this method must only be called once.- Specified by:
startDocument
in interfaceorg.xml.sax.ContentHandler
- Overrides:
startDocument
in classReceivingContentHandler
- Throws:
org.xml.sax.SAXException
- only if an overriding subclass throws this exceptionjava.lang.UnsupportedOperationException
- if an attempt is made to reuse the TransformerHandler by calling startDocument() more than once.
-
getTransformer
public javax.xml.transform.Transformer getTransformer()
Get the Transformer used for this transformation- Specified by:
getTransformer
in interfacejavax.xml.transform.sax.TransformerHandler
-
setSystemId
public void setSystemId(java.lang.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 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 interfacejavax.xml.transform.sax.TransformerHandler
- Parameters:
url
- the systemId of the source document
-
getSystemId
public java.lang.String 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 interfacejavax.xml.transform.sax.TransformerHandler
-
setResult
public void setResult(javax.xml.transform.Result result)
Set the output destination of the transformation- Specified by:
setResult
in interfacejavax.xml.transform.sax.TransformerHandler
-
getResult
public javax.xml.transform.Result getResult()
Get the output destination of the transformation- Returns:
- the output destination
-
endDocument
public void endDocument() throws org.xml.sax.SAXException
Override the behaviour of endDocument() in ReceivingContentHandler, so that it fires off the transformation of the constructed document- Specified by:
endDocument
in interfaceorg.xml.sax.ContentHandler
- Overrides:
endDocument
in classReceivingContentHandler
- Throws:
org.xml.sax.SAXException
-
-