net.sf.saxon.s9api

## Class XsltExecutable

- java.lang.Object
- - net.sf.saxon.s9api.XsltExecutable

-     public class XsltExecutable
      extends 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 XsltTransformer each time the stylesheet is to be run. However, the XsltTransformer is serially reusable within a single thread.

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

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Class and Description
    --- | ---
    `class` | `XsltExecutable.ParameterDetails` Inner class containing information about a global parameter to a compiled stylesheet

  - ### Constructor Summary

    Constructors
    Modifier | Constructor and Description
    --- | ---
    `protected` | `XsltExecutable(Processor processor, PreparedStylesheet pss)`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `explain(Destination destination)` Produce a diagnostic representation of the compiled stylesheet, in XML form.
    `HashMap<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
    `PreparedStylesheet` | `getUnderlyingCompiledStylesheet()` Get the underlying implementation object representing the compiled stylesheet.
    `WhitespaceStrippingPolicy` | `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.

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

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

- - ### Constructor Detail

    - #### XsltExecutable

          protected XsltExecutable(Processor processor,
                        PreparedStylesheet pss)

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

    - #### explain

          public void explain(Destination destination)
                       throws SaxonApiException

      Produce a diagnostic representation of the compiled stylesheet, in XML form.

      The detailed form of this representation is not stable (or even documented).

      Parameters:
        `destination` - the destination for the XML document containing the diagnostic representation of the compiled stylesheet
      Throws:
        `SaxonApiException`
      Since:
        9.1

    - #### getWhitespaceStrippingPolicy

          public WhitespaceStrippingPolicy 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 WhitespaceStrippingPolicy based on the declarations in this stylesheet. This policy can be used as input to a `DocumentBuilder`.

    - #### getGlobalParameters

          public HashMap<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 HashMap whose keys are the names of global parameters in the stylesheet, and whose values are `XsltExecutable.ParameterDetails` objects giving information about the corresponding parameter.
      Since:
        9.3

    - #### getUnderlyingCompiledStylesheet

          public PreparedStylesheet getUnderlyingCompiledStylesheet()

      Get the underlying implementation object representing the compiled stylesheet. This provides an escape hatch into lower-level APIs. The object returned by this method may change from release to release.
      Returns:
        the underlying implementation of the compiled stylesheet

Copyright (c) 2004-2013 Saxonica Limited. All rights reserved.