Package net.sf.saxon
Class PreparedStylesheet
java.lang.Object
net.sf.saxon.PreparedStylesheet
- All Implemented Interfaces:
Serializable
,Templates
This PreparedStylesheet class represents a Stylesheet that has been
prepared for execution (or "compiled").
- See Also:
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
PreparedStylesheet
(Configuration config, CompilerInfo info) Constructor: deliberately protected -
Method Summary
Modifier and TypeMethodDescriptiongetCachedStylesheet
(String href, String baseURI) Get a "next in chain" stylesheetint
Get the number of errors reported so farGet the associated executableGet the properties for xsl:output.Get the StyleNodeFactory in use.Get the name pool in use.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 moduleMake a Transformer from this Templates object.protected void
Prepare a stylesheet from a Source documentvoid
putCachedStylesheet
(String href, String baseURI, PreparedStylesheet pss) void
Report a compile time error.void
Report a compile time warning.void
setConfiguration
(Configuration config) protected void
setStylesheetDocument
(DocumentImpl doc, StyleNodeFactory snFactory) Create a PreparedStylesheet from a supplied DocumentInfo Note: the document must have been built using the StyleNodeFactoryvoid
setTargetNamePool
(NamePool pool) Set the name pool
-
Constructor Details
-
PreparedStylesheet
Constructor: deliberately protected- Parameters:
config
- The Configuration set up by the TransformerFactory
-
-
Method Details
-
newTransformer
Make a Transformer from this Templates object.- Specified by:
newTransformer
in interfaceTemplates
- Returns:
- the new Transformer (always a Controller)
- See Also:
-
setConfiguration
-
getConfiguration
-
setTargetNamePool
Set the name pool -
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
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
-
prepare
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
-
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 moduleconfig
- the Configuration of the transformation factorylocalNamePool
- the namepool used during compilationnodeFactory
- 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
-
setStylesheetDocument
protected void setStylesheetDocument(DocumentImpl doc, StyleNodeFactory snFactory) throws XPathException Create a PreparedStylesheet from a supplied DocumentInfo Note: the document must have been built using the StyleNodeFactory- Parameters:
doc
- the document containing the stylesheet modulesnFactory
- the StyleNodeFactory used to build the tree- Throws:
XPathException
- if the document supplied is not a stylesheet
-
getExecutable
Get the associated executable- Returns:
- the Executable for this stylesheet
-
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 interfaceTemplates
- 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:
-
reportError
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
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
Get a "next in chain" stylesheet -
putCachedStylesheet
-
getURIResolver
-
getErrorListener
-