## net.sf.saxon
Class PreparedStylesheet

    java.lang.Object
      net.sf.saxon.PreparedStylesheet

All Implemented Interfaces:
  Serializable, Templates

    public class PreparedStylesheet

extends Object
implements Templates, Serializable

This PreparedStylesheet class represents a Stylesheet that has been prepared for execution (or "compiled").

See Also:
  Serialized Form

Method Summary
`PreparedStylesheet` `getCachedStylesheet(String href, String baseURI)` Get a "next in chain" stylesheet
`Configuration` `getConfiguration()` Get the configuration in which this stylesheet is compiled
`int` `getErrorCount()` Get the number of errors reported so far
`ErrorListener` `getErrorListener()`
`Executable` `getExecutable()` Get the associated executable
`Properties` `getOutputProperties()` Get the properties for xsl:output.
`StyleNodeFactory` `getStyleNodeFactory()` Get the StyleNodeFactory in use.
`NamePool` `getTargetNamePool()` Get the name pool in use.
`URIResolver` `getURIResolver()`
`boolean` `isCompileWithTracing()` Determine whether trace hooks are included in the compiled code.
`static PreparedStylesheet` `loadCompiledStylesheet(Configuration config, ObjectInputStream ois)` Load a PreparedStylesheet from a compiled stylesheet stored in a file.
`static PreparedStylesheet` `loadCompiledStylesheet(Configuration config, String fileName)` Load a PreparedStylesheet from a compiled stylesheet stored in a file.
`static DocumentImpl` `loadStylesheetModule(Source styleSource, Configuration config, NamePool localNamePool, StyleNodeFactory nodeFactory)` Build the tree representation of a stylesheet module
`Transformer` `newTransformer()` Make a Transformer from this Templates object.
`void` `putCachedStylesheet(String href, String baseURI, PreparedStylesheet pss)`
`void` `reportError(TransformerException err)` Report a compile time error.
`void` `reportWarning(TransformerException err)` Report a compile time warning.
`void` `setConfiguration(Configuration config)` Set the configuration in which this stylesheet is compiled.
`void` `setTargetNamePool(NamePool pool)` Set the name pool

Methods inherited from class java.lang.Object
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Method Detail

### newTransformer

    public Transformer newTransformer()

  Make a Transformer from this Templates object.

  Specified by:
    `newTransformer` in interface `Templates`
  Returns:
    the new Transformer (always a Controller)
  See Also:
    `Controller`

### setConfiguration

    public void setConfiguration(Configuration config)

  Set the configuration in which this stylesheet is compiled. Intended for internal use.

  Parameters:
    `config` - the configuration to be used.

### getConfiguration

    public Configuration getConfiguration()

  Get the configuration in which this stylesheet is compiled

  Returns:
    the configuration in which this stylesheet is compiled

### setTargetNamePool

    public void setTargetNamePool(NamePool pool)

  Set the name pool

### getTargetNamePool

    public NamePool getTargetNamePool()

  Get the name pool in use. This is the namepool used for names that need to be accessible at runtime, notably the names used in XPath expressions in the stylesheet.

  Returns:
    the name pool in use

### getStyleNodeFactory

    public StyleNodeFactory getStyleNodeFactory()

  Get the StyleNodeFactory in use. The StyleNodeFactory determines which subclass of StyleElement to use for each element node in the stylesheet tree.

  Returns:
    the StyleNodeFactory

### loadStylesheetModule

    public static DocumentImpl loadStylesheetModule(Source styleSource,
                                                    Configuration config,
                                                    NamePool localNamePool,
                                                    StyleNodeFactory nodeFactory)
                                             throws XPathException

  Build the tree representation of a stylesheet module

  Parameters:
    `styleSource` - the source of the module
    `config` - the Configuration of the transformation factory
    `localNamePool` - the namepool used during compilation
    `nodeFactory` - the StyleNodeFactory used for creating element nodes in the tree
  Returns:
    the root Document node of the tree containing the stylesheet module
  Throws:
    `XPathException` - if XML parsing or tree construction fails

### loadCompiledStylesheet

    public static PreparedStylesheet loadCompiledStylesheet(Configuration config,
                                                            String fileName)
                                                     throws IOException,
                                                            ClassNotFoundException

  Load a PreparedStylesheet from a compiled stylesheet stored in a file.

  Parameters:
    `config` - The Configuration. This method changes the NamePool used by this configuration to be the NamePool that was stored with the compiled stylesheet. The method must therefore not be used in a multi-threaded environment where the Configuration (and NamePool) are shared between multiple concurrent transformations.
    `fileName` - The name of the file containing the compiled stylesheet (which is just the Java serialization of a PreparedStylesheet object).
  Returns:
    the PreparedStylesheet, which can be used in JAXP interfaces as the Templates object
  Throws:
    `IOException`
    `ClassNotFoundException`

### loadCompiledStylesheet

    public static PreparedStylesheet loadCompiledStylesheet(Configuration config,
                                                            ObjectInputStream ois)
                                                     throws IOException,
                                                            ClassNotFoundException

  Load a PreparedStylesheet from a compiled stylesheet stored in a file.

  Parameters:
    `config` - The Configuration. This method changes the NamePool used by this configuration to be the NamePool that was stored with the compiled stylesheet. The method must therefore not be used in a multi-threaded environment where the Configuration (and NamePool) are shared between multiple concurrent transformations.
    `ois` - The ObjectInputStream containing the compiled stylesheet (which is just the Java serialization of a PreparedStylesheet object).
  Returns:
    the PreparedStylesheet, which can be used in JAXP interfaces as the Templates object
  Throws:
    `IOException`
    `ClassNotFoundException`

### getExecutable

    public Executable getExecutable()

  Get the associated executable

  Returns:
    the Executable for this stylesheet

### isCompileWithTracing

    public boolean isCompileWithTracing()

  Determine whether trace hooks are included in the compiled code.

  Returns:
    true if trace hooks are included, false if not.
  Since:
    8.9

### getOutputProperties

    public Properties getOutputProperties()

  Get the properties for xsl:output. JAXP method. The object returned will be a clone of the internal values, and thus it can be mutated without mutating the Templates object, and then handed in to the process method.

  In Saxon, the properties object is a new, empty, Properties object that is backed by the live properties to supply default values for missing properties. This means that the property values must be read using the getProperty() method. Calling the get() method on the underlying Hashtable will return null.

  In Saxon 8.x, this method gets the output properties for the unnamed output format in the stylesheet.

  Specified by:
    `getOutputProperties` in interface `Templates`
  Returns:
    A Properties object reflecting the output properties defined for the default (unnamed) output format in the stylesheet. It may be mutated and supplied to the setOutputProperties() method of the Transformer, without affecting other transformations that use the same stylesheet.
  See Also:
    `Transformer.setOutputProperties(java.util.Properties)`

### reportError

    public void reportError(TransformerException err)
                     throws TransformerException

  Report a compile time error. This calls the errorListener to output details of the error, and increments an error count.

  Parameters:
    `err` - the exception containing details of the error
  Throws:
    `TransformerException` - if the ErrorListener decides that the error should be reported

### getErrorCount

    public int getErrorCount()

  Get the number of errors reported so far

  Returns:
    the number of errors reported

### reportWarning

    public void reportWarning(TransformerException err)

  Report a compile time warning. This calls the errorListener to output details of the warning.

  Parameters:
    `err` - an exception holding details of the warning condition to be reported

### getCachedStylesheet

    public PreparedStylesheet getCachedStylesheet(String href,
                                                  String baseURI)

  Get a "next in chain" stylesheet

### putCachedStylesheet

    public void putCachedStylesheet(String href,
                                    String baseURI,
                                    PreparedStylesheet pss)

### getURIResolver

    public URIResolver getURIResolver()

### getErrorListener

    public ErrorListener getErrorListener()

Copyright (C) Michael H. Kay. All rights reserved.