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.SerializableHelper 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 ReceivercreateHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer)protected ReceivercreateTextSerializer(Emitter emitter, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer)protected ReceivercreateXHTMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander)protected ReceivercreateXMLSerializer(Emitter emitter, java.util.Properties props, PipelineConfiguration pipe, ProxyReceiver normalizer, CharacterMapExpander characterMapExpander)ReceivergetReceiver(javax.xml.transform.Result result, PipelineConfiguration pipe, java.util.Properties props)Get a Receiver that wraps a given Result object.protected ProxyReceivernewCDATAFilter(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new CDATA Filter, responsible for insertion of CDATA sections where requiredCharacterMapExpandernewCharacterMapExpander()Create a new CharacterMapExpanderprotected ContentHandlerProxynewContentHandlerProxy()Create a ContentHandlerProxyprotected EmitternewHTMLEmitter()Create a new HTML Emitterprotected ProxyReceivernewHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new HTML Indenterprotected MetaTagAdjusternewHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elementsprotected ProxyReceivernewHTMLURIEscaper(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new HTML URI Escaper, responsible for percent-encoding of URIs in HTML output documentsprotected EmitternewTEXTEmitter()Create a new Text Emitterprotected UncommittedSerializernewUncommittedSerializer(javax.xml.transform.Result result, java.util.Properties properties)Create an UncommittedSerializerprotected ProxyReceivernewUnicodeNormalizer(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a Unicode Normalizerprotected EmitternewXHTMLEmitter()Create a new XHTML Emitterprotected ProxyReceivernewXHTMLIndenter(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new XHTML Indenterprotected MetaTagAdjusternewXHTMLMetaTagAdjuster(PipelineConfiguration pipe, java.util.Properties outputProperties)Create a new XHTML MetaTagAdjuster, responsible for insertion, removal, or replacement of meta elementsprotected ProxyReceivernewXML10ContentChecker(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 EmitternewXMLEmitter()Create a new XML Emitterprotected ProxyReceivernewXMLIndenter(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
-
-