### Saxon.Api

- BinaryResource
- CatalogCollection
- DirectoryCollection
- DocumentBuilder
- DomDestination
- DynamicContext
- DynamicError
- EmptyEnumerator<T>
- ErrorReporter
- ErrorReporterToStaticError
- ErrorReporterWrapper
- ExtensionFunction
- ExtensionFunctionCall
- ExtensionFunctionDefinition
- Feature<T>
- FeatureKeys
- HostLanguage
- ICollectionFinder
- IErrorReporter
- IInvalidityHandler
- IMessageListener
- IMessageListener2
- InvalidityHandlerWrapper
- IPredicate<in XdmItem>
- IQueryResolver
- IResource
- IResourceCollection
- IResourceFactory
- IResultDocumentHandler
- IXmlLocation
- JarCollection
- NamespaceConstant
- NullDestination
- Predicate<T>
- Predicates
- Processor
- QName
- RawDestination
- RecoveryPolicy
- Resource
- ResourceCollection
- SchemaManager
- SchemaResolver
- SchemaValidationMode
- SchemaValidator
- Serializer
- StandardCollectionFinder
- StandardLogger
- StaticContext
- StaticError
- Step<TInput, TResult>
- Steps
- TextWriterDestination
- TreeModel
- URIQueryParameters
- ValidationFailure
- WhitespacePolicy
- XdmAnyArrayType
- XdmAnyFunctionType
- XdmAnyItemType
- XdmAnyMapType
- XdmAnyNodeType
- XdmArray
- XdmAtomicType
- XdmAtomicValue
- XdmAxis
- XdmDestination
  - - TreeProtector
- XdmEmptySequence
- XdmExternalObjectValue
- XdmFunctionItem
- XdmItem
- XdmItemType
- XdmMap
- XdmNode
- XdmNodeKind
- XdmSequenceType
- XdmValue
- XmlDestination
- XmlProcessingError
- XmlResource
- XPathCompiler
- XPathExecutable
- XPathSelector
- XQueryCompiler
- XQueryEvaluator
- XQueryExecutable
- Xslt30Transformer
- XsltCompiler
- XsltExecutable
  - - ParameterDetails
- XsltPackage
- XsltTransformer

### Saxon.Api

# Class XsltExecutable

public class XsltExecutable

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

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 Information about a global parameter to a stylesheet.

### Property Summary
net.sf.saxon.s9api.XsltExecutable | Implementation Escape hatch to the underlying Java implementation object.
Processor | Processor Get the Processor that was used to create this XsltExecutable

### Method Summary
void | Explain(XmlDestination destination) Output an XML representation of the compiled code of the stylesheet, for purposes of diagnostics and instrumentation.
Dictionary<QName, XsltExecutable.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.
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.
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.

## Property Detail

### Implementation

public net.sf.saxon.s9api.XsltExecutable Implementation {get; }

Escape hatch to the underlying Java implementation object.

### Processor

public Processor Processor {get; }

Get the Processor that was used to create this XsltExecutable

## Method Detail

### 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

### GetGlobalParameters

public Dictionary<QName, XsltExecutable.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.

### 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.

### 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.