Package net.sf.saxon.event
Class SerializerFactory
- java.lang.Object
-
- net.sf.saxon.event.SerializerFactory
-
- All Implemented Interfaces:
java.io.Serializable
public class SerializerFactory extends java.lang.Object implements java.io.Serializable
Helper class to construct a serialization pipeline for a given result destination and a given set of output properties. The pipeline is represented by a Receiver object to which result tree events are sent. Since Saxon 8.8 is is possible to write a subclass of SerializerFactory and register it with the Configuration, allowing customisation of the Serializer pipeline. The class includes methods for instantiating each of the components used on the Serialization pipeline. This allows a customized SerializerFactory to replace any or all of these components by subclasses that refine the behaviour.- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description SerializerFactory()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Receiver
createHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer)
protected Receiver
createTextSerializer(Emitter emitter, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer)
protected Receiver
createXHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander)
protected Receiver
createXMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander)
Receiver
getReceiver(javax.xml.transform.Result result, PipelineConfiguration pipe, java.util.Properties props)
Get a Receiver that wraps a given Result object.protected ProxyReceiver
newCDATAFilter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new CDATA Filter, responsible for insertion of CDATA sections where requiredCharacterMapExpander
newCharacterMapExpander()
Create a new CharacterMapExpanderprotected ContentHandlerProxy
newContentHandlerProxy()
Create a ContentHandlerProxyprotected Emitter
newHTMLEmitter()
Create a new HTML Emitterprotected ProxyReceiver
newHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new HTML Indenterprotected MetaTagAdjuster
newHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elementsprotected ProxyReceiver
newHTMLURIEscaper(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new HTML URI Escaper, responsible for percent-encoding of URIs in HTML output documentsprotected Emitter
newTEXTEmitter()
Create a new Text Emitterprotected UncommittedSerializer
newUncommittedSerializer(javax.xml.transform.Result result, java.util.Properties properties)
Create an UncommittedSerializerprotected ProxyReceiver
newUnicodeNormalizer(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a Unicode Normalizerprotected Emitter
newXHTMLEmitter()
Create a new XHTML Emitterprotected ProxyReceiver
newXHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML Indenterprotected MetaTagAdjuster
newXHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elementsprotected ProxyReceiver
newXML10ContentChecker(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XML 1.0 content checker, responsible for checking that the output conforms to XML 1.0 rules (this is used only if the Configuration supports XML 1.1 but the specific output file requires XML 1.0)protected Emitter
newXMLEmitter()
Create a new XML Emitterprotected ProxyReceiver
newXMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XML Indenter
-
-
-
Method Detail
-
getReceiver
public Receiver getReceiver(javax.xml.transform.Result result, PipelineConfiguration pipe, java.util.Properties props) throws XPathException
Get a Receiver that wraps a given Result object. Saxon calls this method to construct a serialization pipeline. The method can be overridden in a subclass; alternatively, the subclass can override the various methods used to instantiate components of the serialization pipeline.- Parameters:
result
- The final destination of the serialized output. Usually a StreamResult, but other kinds of Result are possible.pipe
- The PipelineConfiguration.props
- The serialization properties- Throws:
XPathException
-
createHTMLSerializer
protected Receiver createHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer) throws XPathException
- Throws:
XPathException
-
createTextSerializer
protected Receiver createTextSerializer(Emitter emitter, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer)
-
createXHTMLSerializer
protected Receiver createXHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander) throws XPathException
- Throws:
XPathException
-
createXMLSerializer
protected Receiver createXMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander) throws XPathException
- Throws:
XPathException
-
newContentHandlerProxy
protected ContentHandlerProxy newContentHandlerProxy()
Create a ContentHandlerProxy
-
newUncommittedSerializer
protected UncommittedSerializer newUncommittedSerializer(javax.xml.transform.Result result, java.util.Properties properties)
Create an UncommittedSerializer
-
newXMLEmitter
protected Emitter newXMLEmitter()
Create a new XML Emitter
-
newHTMLEmitter
protected Emitter newHTMLEmitter()
Create a new HTML Emitter
-
newXHTMLEmitter
protected Emitter newXHTMLEmitter()
Create a new XHTML Emitter
-
newTEXTEmitter
protected Emitter newTEXTEmitter()
Create a new Text Emitter
-
newXMLIndenter
protected ProxyReceiver newXMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XML Indenter
-
newHTMLIndenter
protected ProxyReceiver newHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new HTML Indenter
-
newXHTMLIndenter
protected ProxyReceiver newXHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML Indenter
-
newXHTMLMetaTagAdjuster
protected MetaTagAdjuster newXHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elements
-
newHTMLMetaTagAdjuster
protected MetaTagAdjuster newHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elements
-
newHTMLURIEscaper
protected ProxyReceiver newHTMLURIEscaper(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new HTML URI Escaper, responsible for percent-encoding of URIs in HTML output documents
-
newCDATAFilter
protected ProxyReceiver newCDATAFilter(PipelineConfiguration pipe, java.util.Properties outputProperties) throws XPathException
Create a new CDATA Filter, responsible for insertion of CDATA sections where required- Throws:
XPathException
-
newXML10ContentChecker
protected ProxyReceiver newXML10ContentChecker(PipelineConfiguration pipe, java.util.Properties outputProperties)
Create a new XML 1.0 content checker, responsible for checking that the output conforms to XML 1.0 rules (this is used only if the Configuration supports XML 1.1 but the specific output file requires XML 1.0)
-
newUnicodeNormalizer
protected ProxyReceiver newUnicodeNormalizer(PipelineConfiguration pipe, java.util.Properties outputProperties) throws XPathException
Create a Unicode Normalizer- Throws:
XPathException
-
newCharacterMapExpander
public CharacterMapExpander newCharacterMapExpander()
Create a new CharacterMapExpander
-
-