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 Details

  • Method Details

    • createSaxonSerializationMethod

      protected SequenceReceiver createSaxonSerializationMethod(String method, SerializationProperties serProps, PipelineConfiguration pipe, CharacterMapExpander characterMapExpander, ProxyReceiver normalizer, ExpandedStreamResult expandedResult, Result result) throws XPathException
      Overrides:
      createSaxonSerializationMethod in class SerializerFactory
      Throws:
      XPathException
    • newHTMLIndenter

      protected ProxyReceiver newHTMLIndenter(Receiver next, 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, 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, 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(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(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, 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, 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(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, 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, String href, String baseURI, 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 String checkOutputProperty(String key, 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(String key)
      Overrides:
      checkExtensions in class SerializerFactory
    • getPropertySorter

      protected Comparator<AtomicValue> getPropertySorter(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