Saxon.Api

Class DocumentBuilder

Class DomDestination

Class DynamicContext

Class DynamicError

Class EmptyEnumerator

Class ExtensionFunctionCall

Class ExtensionFunctionDefinition

Class InvalidityHandlerWrapper

Class NamespaceConstant

Class NullDestination

Class Processor

Class QName

Class SchemaManager

Class SchemaValidator

Class Serializer

Class StandardLogger

Class StaticContext

Class StaticError

Class TextWriterDestination

Class WhitespacePolicy

Class XPathCompiler

Class XPathExecutable

Class XPathSelector

Class XQueryCompiler

Class XQueryEvaluator

Class XQueryExecutable

Class XdmAnyFunctionType

Class XdmAnyItemType

Class XdmAnyNodeType

Class XdmAtomicType

Class XdmAtomicValue

Class XdmDestination

  - Class TreeProtector

Class XdmEmptySequence

Class XdmFunctionItem

Class XdmItem

Class XdmItemType

Class XdmNode

Class XdmNodeKind

Class XdmSequenceType

Class XdmValue

Class XmlDestination

Class Xslt30Transformer

Class XsltCompiler

Class XsltExecutable

  - Class ParameterDetails

Class XsltPackage

Class XsltTransformer

Enum RecoveryPolicy

Enum SchemaValidationMode

Enum TreeModel

Enum XdmAxis

Interface IInvalidityHandler

Interface IMessageListener

Interface IQueryResolver

Interface IResultDocumentHandler

Interface IXdmEnumerator

Interface IXmlLocation

Interface SchemaResolver

 

Saxon.Api
Class XsltExecutable


public class XsltExecutable
implements object

An XsltExecutable represents the compiled form of a stylesheet. To execute the stylesheet, it must first be loaded to form an XsltTransformer.

An XsltExecutable is immutable, and therefore thread-safe. It is simplest to load a new XsltEvaluator each time the stylesheet is to be run. However, the XsltEvaluator is serially reusable within a single thread.

An XsltExecutable is created by using one of the Compile methods on the XsltCompiler class.


Nested Classes
class XsltExecutable.ParameterDetails

Inner class containing information about a global parameter to a compiled stylesheet.

 
Property Summary
 net.sf.saxon.PreparedStylesheet Implementation

Escape hatch to the underlying Java implementation object

 
Method Summary
 XsltTransformer Load()

Load the stylesheet to prepare it for execution.

 Xslt30Transformer Load30()

Load the stylesheet to prepare it for execution. This version of the load() method creates an Xslt30Transformer which offers interfaces for stylesheet invocation corresponding to those described in the XSLT 3.0 specification. It can be used with XSLT 2.0 or XSLT 3.0 stylesheets, and in both cases it offers new XSLT 3.0 functionality such as the ability to supply parameters to the initial template, or the ability to invoke stylesheet-defined functions, or the ability to return an arbitrary sequence as a result without wrapping it in a document node.

 void Explain(XmlDestination destination)

Output an XML representation of the compiled code of the stylesheet, for purposes of diagnostics and instrumentation

 WhitespacePolicy getWhitespaceStrippingPolicy()

Get the whitespace stripping policy defined by this stylesheet, that is, the policy defined by the xsl:strip-space and xsl:preserve-space elements in the stylesheet

 Dictionary<QName, ParameterDetails> GetGlobalParameters()

Get the names of the xsl:param elements defined in this stylesheet, with details of each parameter including its required type, and whether it is required or optional

 
Property Detail

Implementation

public net.sf.saxon.PreparedStylesheet Implementation {get; }

Escape hatch to the underlying Java implementation object


Method Detail

Load

public XsltTransformer Load()

Load the stylesheet to prepare it for execution.

Returns:
An XsltTransformer. The returned XsltTransformer can be used to set up the dynamic context for stylesheet evaluation, and to run the stylesheet.

Load30

public Xslt30Transformer Load30()

Load the stylesheet to prepare it for execution. This version of the load() method creates an Xslt30Transformer which offers interfaces for stylesheet invocation corresponding to those described in the XSLT 3.0 specification. It can be used with XSLT 2.0 or XSLT 3.0 stylesheets, and in both cases it offers new XSLT 3.0 functionality such as the ability to supply parameters to the initial template, or the ability to invoke stylesheet-defined functions, or the ability to return an arbitrary sequence as a result without wrapping it in a document node.

Returns:
An Xslt30Transformer. The returned Xslt30Transformer can be used to set up the dynamic context for stylesheet evaluation, and to run the stylesheet.

Explain

public void Explain(XmlDestination destination)

Output an XML representation of the compiled code of the stylesheet, for purposes of diagnostics and instrumentation

Parameters:
destination -
The destination for the diagnostic output

getWhitespaceStrippingPolicy

public WhitespacePolicy getWhitespaceStrippingPolicy()

Get the whitespace stripping policy defined by this stylesheet, that is, the policy defined by the xsl:strip-space and xsl:preserve-space elements in the stylesheet

Returns:
a newly constructed WhitespacePolicy based on the declarations in this stylesheet. This policy can be used as input to a DocumentBuilder.

GetGlobalParameters

public Dictionary<QName, ParameterDetails> GetGlobalParameters()

Get the names of the xsl:param elements defined in this stylesheet, with details of each parameter including its required type, and whether it is required or optional

Returns:
a Dictionary whose keys are the names of global parameters in the stylesheet, and whose values are XsltExecutable.ParameterDetails objects giving information about the corresponding parameter.