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-orderprotected 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
-
-
-
-
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 classSerializerFactory
- 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 classSerializerFactory
- Parameters:
next
- the next receiver in the pipelineoutputProperties
- 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 classSerializerFactory
- Parameters:
next
- the next receiver in the pipelineoutputProperties
- 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 classSerializerFactory
- Parameters:
next
- the next receiver in the pipelineoutputProperties
- 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 classSerializerFactory
- 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 classSerializerFactory
- 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 classSerializerFactory
- Parameters:
next
- the next receiver in the pipelineoutputProperties
- 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 classSerializerFactory
- Parameters:
next
- the next receiver in the pipelineoutputProperties
- 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 classSerializerFactory
- 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 classSerializerFactory
- 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 classSerializerFactory
- Parameters:
pipe
- the pipeline for the current transformationhref
- URI of the next stylesheet to be appliedbaseURI
- base URI for resolving href if it's a relative URIresult
- 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 classSerializerFactory
- Parameters:
key
- the name of the property, in Clark formatvalue
- 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 classSerializerFactory
-
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 classSerializerFactory
- Parameters:
propertyOrder
- the value of the saxon:property-order serialization property- Returns:
- a Comparator that implements the requested property order
-
-