Class 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 Detail

      • SerializerFactory

        public SerializerFactory()
    • 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
      • 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
      • 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
      • 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)
      • newCharacterMapExpander

        public CharacterMapExpander newCharacterMapExpander()
        Create a new CharacterMapExpander