net.sf.saxon

Class PreparedStylesheet

public class PreparedStylesheet extends Object implements Templates, Serializable

This PreparedStylesheet class represents a Stylesheet that has been prepared for execution (or "compiled").
Constructor Summary
protected PreparedStylesheet(Configuration config, CompilerInfo info)
Constructor: deliberately protected
Method Summary
PreparedStylesheetgetCachedStylesheet(String href, String baseURI)
Get a "next in chain" stylesheet
ConfigurationgetConfiguration()
intgetErrorCount()
Get the number of errors reported so far
ErrorListenergetErrorListener()
ExecutablegetExecutable()
Get the associated executable
PropertiesgetOutputProperties()
Get the properties for xsl:output.
StyleNodeFactorygetStyleNodeFactory()
Get the StyleNodeFactory in use.
NamePoolgetTargetNamePool()
Get the name pool in use.
URIResolvergetURIResolver()
static PreparedStylesheetloadCompiledStylesheet(Configuration config, String fileName)
Load a PreparedStylesheet from a compiled stylesheet stored in a file.
static PreparedStylesheetloadCompiledStylesheet(Configuration config, ObjectInputStream ois)
Load a PreparedStylesheet from a compiled stylesheet stored in a file.
static DocumentImplloadStylesheetModule(Source styleSource, Configuration config, NamePool localNamePool, StyleNodeFactory nodeFactory)
Build the tree representation of a stylesheet module
TransformernewTransformer()
Make a Transformer from this Templates object.
protected voidprepare(Source styleSource)
Prepare a stylesheet from a Source document
voidputCachedStylesheet(String href, String baseURI, PreparedStylesheet pss)
voidreportError(TransformerException err)
Report a compile time error.
voidreportWarning(TransformerException err)
Report a compile time warning.
voidsetConfiguration(Configuration config)
protected voidsetStylesheetDocument(DocumentImpl doc, StyleNodeFactory snFactory)
Create a PreparedStylesheet from a supplied DocumentInfo Note: the document must have been built using the StyleNodeFactory
voidsetTargetNamePool(NamePool pool)
Set the name pool

Constructor Detail

PreparedStylesheet

protected PreparedStylesheet(Configuration config, CompilerInfo info)
Constructor: deliberately protected

Parameters: config The Configuration set up by the TransformerFactory

Method Detail

getCachedStylesheet

public PreparedStylesheet getCachedStylesheet(String href, String baseURI)
Get a "next in chain" stylesheet

getConfiguration

public Configuration getConfiguration()

getErrorCount

public int getErrorCount()
Get the number of errors reported so far

Returns: the number of errors reported

getErrorListener

public ErrorListener getErrorListener()

getExecutable

public Executable getExecutable()
Get the associated executable

Returns: the Executable for this stylesheet

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.

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: javax.xml.transform.Transformer#setOutputProperties

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

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

getURIResolver

public URIResolver getURIResolver()

loadCompiledStylesheet

public static PreparedStylesheet loadCompiledStylesheet(Configuration config, String fileName)
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

loadCompiledStylesheet

public static PreparedStylesheet loadCompiledStylesheet(Configuration config, ObjectInputStream ois)
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

loadStylesheetModule

public static DocumentImpl loadStylesheetModule(Source styleSource, Configuration config, NamePool localNamePool, StyleNodeFactory nodeFactory)
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

newTransformer

public Transformer newTransformer()
Make a Transformer from this Templates object.

Returns: the new Transformer (always a Controller)

See Also: Controller

prepare

protected void prepare(Source styleSource)
Prepare a stylesheet from a Source document

Parameters: styleSource the source document containing the stylesheet

Throws: TransformerConfigurationException if compilation of the stylesheet fails for any reason

putCachedStylesheet

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

reportError

public void reportError(TransformerException err)
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

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

setConfiguration

public void setConfiguration(Configuration config)

setStylesheetDocument

protected void setStylesheetDocument(DocumentImpl doc, StyleNodeFactory snFactory)
Create a PreparedStylesheet from a supplied DocumentInfo Note: the document must have been built using the StyleNodeFactory

Parameters: doc the document containing the stylesheet module snFactory the StyleNodeFactory used to build the tree

Throws: XPathException if the document supplied is not a stylesheet

setTargetNamePool

public void setTargetNamePool(NamePool pool)
Set the name pool