com.icl.saxon.style

Class XSLStyleSheet

public class XSLStyleSheet extends StyleElement

An xsl:stylesheet or xsl:transform element in the stylesheet.
Note this element represents a stylesheet module, not necessarily the whole stylesheet.
Method Summary
voidallocateLocalSlots(int n)
Ensure there is enuogh space for local variables or parameters in any template
intallocateSlotNumber()
Allocate a slot number for a global variable or parameter
voidgatherOutputProperties(Properties details)
Update an output properties object using the xsl:output elements in the stylesheet.
DecimalFormatManagergetDecimalFormatManager()
Get the DecimalFormatManager which handles decimal-format definitions
ClassgetExternalJavaClass(String uri)
Get a Java class for a given namespace URI, if possible. return null if none is found.
XSLStyleSheetgetImporter()
Get the StyleSheet that included or imported this one.
KeyManagergetKeyManager()
Get the KeyManager which handles key definitions
intgetMinImportPrecedence()
Get the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one
protected shortgetNamespaceAlias(short uriCode)
Get the declared namespace alias for a given namespace URI code if there is one.
intgetPrecedence()
Get the import precedence of this stylesheet
PreparedStyleSheetgetPreparedStyleSheet()
Get the owning PreparedStyleSheet object
PreviewManagergetPreviewManager()
Get the PreviewManager which handles saxon:preview element definitions
RuleManagergetRuleManager()
Get the RuleManager which handles template rules
protected ModegetStripperRules()
Get the rules determining which nodes are to be stripped from the tree
VectorgetTopLevel()
Get the top level elements in this stylesheet, after applying include/import
protected booleanhasNamespaceAliases()
voidinitialiseBindery(Bindery bindery)
Allocate space in bindery for all the variables needed This has to be done early to accommodate preview mode
StrippernewStripper()
Create a Stripper which handles whitespace stripping definitions
voidprepareAttributes()
Prepare the attributes on the stylesheet element
voidpreprocess()
Preprocess does all the processing possible before the source document is available.
voidprocess(Context context)
Process() is called once the source document is available.
voidprocessAllAttributes()
Process the attributes of every node in the stylesheet
protected voidprocessVersionAttribute(int nc)
Process the version attribute - mandatory on this element (but checked elsewhere)
voidsetImporter(XSLStyleSheet importer)
Set the StyleSheet that included or imported this one.
voidsetMinImportPrecedence(int precedence)
Set the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one
voidsetPrecedence(int prec)
Set the import precedence of this stylesheet
voidsetPreparedStyleSheet(PreparedStyleSheet sheet)
Create link to the owning PreparedStyleSheet object
voidsetPreviewManager(PreviewManager pm)
Set the preview manager
voidsetWasIncluded()
Indicate that this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import
voidspliceIncludes()
Process xsl:include and xsl:import elements.
booleanstripsWhitespace()
Determine whether this stylesheet does any whitespace stripping
voidupdateOutputProperties(Properties details, Context context)
Update an output properties object using the xsl:output elements in the stylesheet.
voidvalidate()
Validate this element
booleanwasIncluded()
Determine whether this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import.

Method Detail

allocateLocalSlots

public void allocateLocalSlots(int n)
Ensure there is enuogh space for local variables or parameters in any template

allocateSlotNumber

public int allocateSlotNumber()
Allocate a slot number for a global variable or parameter

gatherOutputProperties

public void gatherOutputProperties(Properties details)
Update an output properties object using the xsl:output elements in the stylesheet. This method can be called before the source document is available; all properties will be returned as written, with attribute value templates and namespace prefixes unexpanded, and no validation performed.

getDecimalFormatManager

public DecimalFormatManager getDecimalFormatManager()
Get the DecimalFormatManager which handles decimal-format definitions

getExternalJavaClass

public Class getExternalJavaClass(String uri)
Get a Java class for a given namespace URI, if possible. return null if none is found.

Throws: TransformerException if a class is found but cannot be loaded

getImporter

public XSLStyleSheet getImporter()
Get the StyleSheet that included or imported this one.

Returns: null if this is the principal stylesheet

getKeyManager

public KeyManager getKeyManager()
Get the KeyManager which handles key definitions

getMinImportPrecedence

public int getMinImportPrecedence()
Get the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one

getNamespaceAlias

protected short getNamespaceAlias(short uriCode)
Get the declared namespace alias for a given namespace URI code if there is one. If there is more than one, we get the last.

Parameters: uriCode The code of the uri used in the stylesheet.

Returns: The code of the result uri to be used: return the stylesheet uri unchanged if no alias is defined

getPrecedence

public int getPrecedence()
Get the import precedence of this stylesheet

getPreparedStyleSheet

public PreparedStyleSheet getPreparedStyleSheet()
Get the owning PreparedStyleSheet object

getPreviewManager

public PreviewManager getPreviewManager()
Get the PreviewManager which handles saxon:preview element definitions

Returns: null if there are no saxon:preview elements

getRuleManager

public RuleManager getRuleManager()
Get the RuleManager which handles template rules

getStripperRules

protected Mode getStripperRules()
Get the rules determining which nodes are to be stripped from the tree

getTopLevel

public Vector getTopLevel()
Get the top level elements in this stylesheet, after applying include/import

hasNamespaceAliases

protected boolean hasNamespaceAliases()

initialiseBindery

public void initialiseBindery(Bindery bindery)
Allocate space in bindery for all the variables needed This has to be done early to accommodate preview mode

newStripper

public Stripper newStripper()
Create a Stripper which handles whitespace stripping definitions

prepareAttributes

public void prepareAttributes()
Prepare the attributes on the stylesheet element

preprocess

public void preprocess()
Preprocess does all the processing possible before the source document is available. It is done once per stylesheet, so the stylesheet can be reused for multiple source documents.

process

public void process(Context context)
Process() is called once the source document is available. It activates those top-level stylesheet elements that were not dealt with at preprocessing stage, notably global variables and parameters, and xsl:output elements

processAllAttributes

public void processAllAttributes()
Process the attributes of every node in the stylesheet

processVersionAttribute

protected void processVersionAttribute(int nc)
Process the version attribute - mandatory on this element (but checked elsewhere)

setImporter

public void setImporter(XSLStyleSheet importer)
Set the StyleSheet that included or imported this one.

setMinImportPrecedence

public void setMinImportPrecedence(int precedence)
Set the minimum import precedence of this stylesheet, that is, the lowest precedence of any stylesheet imported by this one

setPrecedence

public void setPrecedence(int prec)
Set the import precedence of this stylesheet

setPreparedStyleSheet

public void setPreparedStyleSheet(PreparedStyleSheet sheet)
Create link to the owning PreparedStyleSheet object

setPreviewManager

public void setPreviewManager(PreviewManager pm)
Set the preview manager

setWasIncluded

public void setWasIncluded()
Indicate that this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import

spliceIncludes

public void spliceIncludes()
Process xsl:include and xsl:import elements.

stripsWhitespace

public boolean stripsWhitespace()
Determine whether this stylesheet does any whitespace stripping

updateOutputProperties

public void updateOutputProperties(Properties details, Context context)
Update an output properties object using the xsl:output elements in the stylesheet. Note, as xsl:output now allows attribute value templates, this cannot be called until the source document is available.

validate

public void validate()
Validate this element

wasIncluded

public boolean wasIncluded()
Determine whether this stylesheet was included (by its "importer") using an xsl:include statement as distinct from xsl:import.