Package com.saxonica.serialize

## Class SerializerFactoryPE

- java.lang.Object
- - net.sf.saxon.lib.SerializerFactory
  - - com.saxonica.serialize.SerializerFactoryPE

-     public class SerializerFactoryPE
      extends SerializerFactory

  Saxon-PE extensions to the serializer factory

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `SerializerFactoryPE​(ProfessionalConfiguration config)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `Receiver` | `addTextOutputFilter​(Receiver next, java.util.Properties properties)` | Add a filter to the text output method pipeline.
    `protected void` | `checkExtensions​(java.lang.String key)` |
    `java.lang.String` | `checkOutputProperty​(java.lang.String key, java.lang.String value)` | Check that a supplied output property is valid, and normalize the value (specifically in the case of boolean values where yes|true|1 are normalized to "yes", and no|false|0 are normalized to "no").
    `protected SequenceReceiver` | `createSaxonSerializationMethod​(java.lang.String method, SerializationProperties serProps, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer, javax.xml.transform.stream.StreamResult result)` |
    `protected java.util.Comparator<AtomicValue>` | `getPropertySorter​(java.lang.String propertyOrder)` | Get a Comparator that sorts key values in a map into the order implied by the serialization property saxon:property-order
    `protected ProxyReceiver` | `newAttributeSorter​(Receiver next, java.util.Properties outputProperties)` | Create a new AttributeSorter, responsible for sorting of attributes into a specified order.
    `protected Emitter` | `newHTMLEmitter​(java.util.Properties properties)` | Create a new HTML Emitter.
    `protected ProxyReceiver` | `newHTMLIndenter​(Receiver next, java.util.Properties outputProperties)` | Create a new HTML Indenter.
    `protected Receiver` | `newNamespaceSorter​(Receiver next, java.util.Properties outputProperties)` | Create a new NamespaceSorter, responsible for sorting of namespaces into a specified order.
    `protected Emitter` | `newXHTMLEmitter​(java.util.Properties properties)` | Create a new XHTML Emitter.
    `protected ProxyReceiver` | `newXHTMLIndenter​(Receiver next, java.util.Properties outputProperties)` | Create a new XHTML Indenter.
    `protected Emitter` | `newXMLEmitter​(java.util.Properties properties)` | Create a new XML Emitter.
    `protected ProxyReceiver` | `newXMLIndenter​(XMLEmitter next, java.util.Properties outputProperties)` | Create a new XML Indenter.
    `SequenceReceiver` | `prepareNextStylesheet​(PipelineConfiguration pipe, java.lang.String href, java.lang.String baseURI, javax.xml.transform.Result result)` | Prepare another stylesheet to handle the output of this one.

    - ### Methods inherited from class net.sf.saxon.lib.SerializerFactory

      `addHtml5Component, checkListOfEQNames, checkListOfEQNamesAllowingStar, checkNonNegativeInteger, checkYesOrNo, createHTMLSerializer, createTextSerializer, createUserDefinedOutputMethod, createXHTMLSerializer, createXMLSerializer, customizeAdaptiveSerializer, customizeJSONSerializer, getConfiguration, getReceiver, getReceiver, getReceiver, getReceiver, getXMLStreamWriter, injectCharacterMapExpander, injectUnicodeNormalizer, makeSequenceNormalizer, newCDATAFilter, newCharacterMapExpander, newContentHandlerProxy, newHTMLMetaTagAdjuster, newHTMLURIEscaper, newSequenceWrapper, newTEXTEmitter, newUncommittedSerializer, newUnicodeNormalizer, newXHTMLMetaTagAdjuster, newXHTMLURIEscaper, newXML10ContentChecker, parseListOfNodeNames`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### SerializerFactoryPE

          public SerializerFactoryPE​(ProfessionalConfiguration config)

  - ### Method Detail

    - #### createSaxonSerializationMethod

          protected SequenceReceiver createSaxonSerializationMethod​(java.lang.String method,
                                                                    SerializationProperties serProps,
                                                                    PipelineConfiguration pipe,
                                                                    CharacterMapExpander characterMapExpander,
                                                                    ProxyReceiver normalizer,
                                                                    javax.xml.transform.stream.StreamResult result)
                                                             throws XPathException

      Overrides:
        `createSaxonSerializationMethod` in class `SerializerFactory`
      Throws:
        `XPathException`

    - #### newHTMLIndenter

          protected ProxyReceiver newHTMLIndenter​(Receiver next,
                                                  java.util.Properties outputProperties)

      Description copied from class: `SerializerFactory`
      Create a new HTML Indenter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newHTMLIndenter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver in the pipeline
        `outputProperties` - the serialization parameters
      Returns:
        the newly created HTML indenter.

    - #### newXHTMLIndenter

          protected ProxyReceiver newXHTMLIndenter​(Receiver next,
                                                   java.util.Properties outputProperties)

      Description copied from class: `SerializerFactory`
      Create a new XHTML Indenter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newXHTMLIndenter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver in the pipeline
        `outputProperties` - the serialization parameters
      Returns:
        the newly created XHTML indenter.

    - #### newXMLIndenter

          protected ProxyReceiver newXMLIndenter​(XMLEmitter next,
                                                 java.util.Properties outputProperties)

      Description copied from class: `SerializerFactory`
      Create a new XML Indenter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newXMLIndenter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver in the pipeline
        `outputProperties` - the serialization parameters
      Returns:
        the newly created XML indenter.

    - #### newXMLEmitter

          protected Emitter newXMLEmitter​(java.util.Properties properties)

      Description copied from class: `SerializerFactory`
      Create a new XML Emitter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newXMLEmitter` in class `SerializerFactory`
      Parameters:
        `properties` - the output properties
      Returns:
        the newly created XML emitter.

    - #### newHTMLEmitter

          protected Emitter newHTMLEmitter​(java.util.Properties properties)

      Description copied from class: `SerializerFactory`
      Create a new HTML Emitter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newHTMLEmitter` in class `SerializerFactory`
      Parameters:
        `properties` - the output properties
      Returns:
        the newly created HTML emitter.

    - #### newAttributeSorter

          protected ProxyReceiver newAttributeSorter​(Receiver next,
                                                     java.util.Properties outputProperties)

      Create a new AttributeSorter, responsible for sorting of attributes into a specified order. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newAttributeSorter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver in the pipeline
        `outputProperties` - the serialization parameters
      Returns:
        the newly created attribute sorter.

    - #### newNamespaceSorter

          protected Receiver newNamespaceSorter​(Receiver next,
                                                java.util.Properties outputProperties)

      Create a new NamespaceSorter, responsible for sorting of namespaces into a specified order.
      Overrides:
        `newNamespaceSorter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver in the pipeline
        `outputProperties` - the serialization parameters
      Returns:
        the newly created filter.

    - #### newXHTMLEmitter

          protected Emitter newXHTMLEmitter​(java.util.Properties properties)

      Create a new XHTML Emitter. This method exists so that it can be overridden in a subclass.
      Overrides:
        `newXHTMLEmitter` in class `SerializerFactory`
      Parameters:
        `properties` - the output properties
      Returns:
        the newly created XHTML emitter.

    - #### addTextOutputFilter

          public Receiver addTextOutputFilter​(Receiver next,
                                              java.util.Properties properties)
                                       throws XPathException

      Add a filter to the text output method pipeline. This does nothing unless overridden in a superclass
      Overrides:
        `addTextOutputFilter` in class `SerializerFactory`
      Parameters:
        `next` - the next receiver (typically the TextEmitter)
        `properties` - the output properties
      Returns:
        the receiver to be used in place of the "next" receiver
      Throws:
        `XPathException` - if the operation fails

    - #### prepareNextStylesheet

          public SequenceReceiver prepareNextStylesheet​(PipelineConfiguration pipe,
                                                        java.lang.String href,
                                                        java.lang.String baseURI,
                                                        javax.xml.transform.Result result)
                                                 throws XPathException

      Prepare another stylesheet to handle the output of this one.

      This method is intended for internal use, to support the `saxon:next-in-chain` extension.

      Overrides:
        `prepareNextStylesheet` in class `SerializerFactory`
      Parameters:
        `pipe` - the pipeline for the current transformation
        `href` - URI of the next stylesheet to be applied
        `baseURI` - base URI for resolving href if it's a relative URI
        `result` - the output destination of the current stylesheet
      Returns:
        a replacement destination for the current stylesheet
      Throws:
        `XPathException` - if any dynamic error occurs

    - #### checkOutputProperty

          public java.lang.String checkOutputProperty​(java.lang.String key,
                                                      java.lang.String value)
                                               throws XPathException

      Check that a supplied output property is valid, and normalize the value (specifically in the case of boolean values where yes|true|1 are normalized to "yes", and no|false|0 are normalized to "no").
      Overrides:
        `checkOutputProperty` in class `SerializerFactory`
      Parameters:
        `key` - the name of the property, in Clark format
        `value` - the value of the property. This may be set to null, in which case no validation takes place. The value must be in JAXP format, that is, with lexical QNames expanded to Clark names
      Returns:
        normalized value of the property, or null if the supplied value is null
      Throws:
        `XPathException` - if the property name or value is invalid

    - #### checkExtensions

          protected void checkExtensions​(java.lang.String key)

      Overrides:
        `checkExtensions` in class `SerializerFactory`

    - #### getPropertySorter

          protected java.util.Comparator<AtomicValue> getPropertySorter​(java.lang.String propertyOrder)

      Get a Comparator that sorts key values in a map into the order implied by the serialization property saxon:property-order
      Overrides:
        `getPropertySorter` in class `SerializerFactory`
      Parameters:
        `propertyOrder` - the value of the saxon:property-order serialization property
      Returns:
        a Comparator that implements the requested property order