An xsl:stylesheet or xsl:transform element in the stylesheet.
Note this element represents a stylesheet module, not necessarily
the whole stylesheet. However, much of the functionality (and the fields)
are relevant only to the top-level module.
addImportedSchema
protected void addImportedSchema(String targetNamespace)
allocateGlobalSlot
public int allocateGlobalSlot(StructuredQName qName)
Allocate a slot number for a global variable or parameter
qName
- the name of the variable or parameter
- int the allocated slot number
allocatePatternSlots
public void allocatePatternSlots(int n)
Ensure there is enough space for local variables or parameters when evaluating the match pattern of
template rules
n
- the number of slots to be allocated
allocateUniqueParameterNumber
public int allocateUniqueParameterNumber(StructuredQName qName)
Allocate a unique number to a local parameter name. This should only be called on the principal
stylesheet module.
qName
- the local parameter name
- an integer that uniquely identifies this parameter name within the stylesheet
allowsAllBuiltInTypes
public boolean allowsAllBuiltInTypes()
Determine whether the use of non-primitive built-in types has been enabled for this stylesheet
(This is relevant only for Saxon-B: such types are always permitted in Saxon-SA)
- true if all built-in types can be used
compileStylesheet
public Executable compileStylesheet()
throws XPathException
Compile the stylesheet to create an executable.
- the Executable representing the compiled stylesheet
declareJavaClass
protected void declareJavaClass(String uri,
Class theClass)
Declare a URI that maps to a Java class containing extension functions
uri
- the namespace uri used in the function namestheClass
- the Java class containing methods accessible using this URI
declareXQueryFunction
protected void declareXQueryFunction(XQueryFunction function)
throws XPathException
Declare an imported XQuery function
function
- the imported function
findCollation
protected StringCollator findCollation(String name)
Find a named collation. Note this method should only be used at compile-time, before declarations
have been pre-processed. After that time, use getCollation().
name
- identifies the name of the collation required; null indicates that the default
collation is required
- null if the collation is not found
gatherOutputProperties
public Properties gatherOutputProperties(StructuredQName formatQName)
throws XPathException
Create an output properties object representing the xsl:output elements in the stylesheet.
formatQName
- The name of the output format required. If set to null, gathers
information for the unnamed output format
- the Properties object containing the details of the specified output format
XPathException
- if a named output format does not exist in
the stylesheet
getCharacterMap
public XSLCharacterMap getCharacterMap(StructuredQName name)
Get a character map, identified by the fingerprint of its name.
Search backwards through the stylesheet.
name
- The character map name being sought
- the identified character map, or null if not found
getCollationMap
public CollationMap getCollationMap()
Get the collation map
getDecimalFormatManager
public DecimalFormatManager getDecimalFormatManager()
Get the DecimalFormatManager which handles decimal-format definitions
- the DecimalFormatManager for this stylesheet
getDefaultValidation
public int getDefaultValidation()
Get the value of the default validation attribute
- the value of the default-validation attribute, as a constant such
as
Validation.STRIP
getFunctionLibrary
public FunctionLibrary getFunctionLibrary()
Get the function library. Available only on the principal stylesheet module
getGlobalVariable
public XSLVariableDeclaration getGlobalVariable(StructuredQName qName)
Get the global variable or parameter with a given name (taking
precedence rules into account)
qName
- name of the global variable or parameter
getImportedSchemaTable
protected HashSet getImportedSchemaTable()
getImporter
public XSLStylesheet getImporter()
Get the StyleSheet that included or imported this one.
- null if this is the principal stylesheet
getInputTypeAnnotations
public int getInputTypeAnnotations()
Get the value of the input-type-annotations attribute, for this module combined with that
of all included/imported modules. The value is an or-ed combination of the two bits
ANNOTATION_STRIP
and
ANNOTATION_PRESERVE
- the value of the input-type-annotations attribute, for this module combined with that
of all included/imported modules
getInputTypeAnnotationsAttribute
public int getInputTypeAnnotationsAttribute()
throws XPathException
- the value if the input-type-annotations attribute in this stylesheet module
getKeyManager
public KeyManager getKeyManager()
Get the KeyManager which handles key definitions
getLocationMap
public LocationMap getLocationMap()
Get the locationMap object
getMinImportPrecedence
public int getMinImportPrecedence()
Get the minimum import precedence of this stylesheet, that is, the lowest precedence
of any stylesheet imported by this one
- the minimum precedence of imported stylesheet modules
getNamespaceAlias
protected int 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.
uriCode
- The code of the uri used in the stylesheet.
- The namespace code to be used (prefix in top half, uri in bottom half): return -1
if no alias is defined
getRuleManager
public RuleManager getRuleManager()
Get the RuleManager which handles template rules
- the template rule manager
getStripperRules
protected Mode getStripperRules()
Get the rules determining which nodes are to be stripped from the tree
- the Mode object holding the whitespace stripping rules. The stripping
rules defined in xsl:strip-space are managed in the same way as template rules,
hence the use of a special Mode object
getTopLevel
public List getTopLevel()
Get the top level elements in this stylesheet, after applying include/import
- a list of top-level elements in this stylesheet module or in those
modules that it includes or imports
hasNamespaceAliases
protected boolean hasNamespaceAliases()
isAliasResultNamespace
protected boolean isAliasResultNamespace(short uriCode)
Determine if a namespace is included in the result-prefix of a namespace-alias
uriCode
- the namepool code of the URI
- true if an xsl:namespace-alias has been defined for this namespace URI
isImportedSchema
protected boolean isImportedSchema(String targetNamespace)
Get an imported schema with a given namespace
targetNamespace
- The target namespace of the required schema.
Supply an empty string for the default namespace
- the required Schema, or null if no such schema has been imported
preprocess
public void preprocess()
throws XPathException
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. The method is called only on the XSLStylesheet element representing the
principal stylesheet module
setCollation
public void setCollation(String name,
StringCollator collation)
Register a named collation (actually a StringCollator)
name
- the name of the collationcollation
- the StringCollator that implements this collation
setImporter
public void setImporter(XSLStylesheet importer)
Set the StyleSheet that included or imported this one.
importer
- the stylesheet module that included or imported this module
setInputTypeAnnotations
public void setInputTypeAnnotations(int annotations)
throws XPathException
Set the value of the input-type-annotations attribute, for this module combined with that
of all included/imported modules. The value is an or-ed combination of the two bits
ANNOTATION_STRIP
and
ANNOTATION_PRESERVE
annotations
- the value of the input-type-annotations attribute, for this module combined with that
of all included/imported modules.
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
precedence
- the precedence of the first stylesheet module that this one imports
setNeedsDynamicOutputProperties
public void setNeedsDynamicOutputProperties(boolean b)
Set that this stylesheet needs dynamic output properties
b
- true if this stylesheet needs dynamic output properties
setPrecedence
public void setPrecedence(int prec)
Set the import precedence of this stylesheet
prec
- the import precedence. Higher numbers indicate higher precedence, but the actual
number has no significance
setPreparedStylesheet
public void setPreparedStylesheet(PreparedStylesheet sheet)
Create link to the owning PreparedStylesheet object
sheet
- the PreparedStylesheet
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()
throws XPathException
Process xsl:include and xsl:import elements.
stripsWhitespace
public boolean stripsWhitespace()
Determine whether this stylesheet does any whitespace stripping
- true if this stylesheet strips whitespace from source documents