Package net.sf.saxon.style
Class ExpressionContext
java.lang.Object
net.sf.saxon.style.ExpressionContext
- All Implemented Interfaces:
StaticContext
,XSLTStaticContext
An ExpressionContext represents the context for an XPath expression written
in the stylesheet.
-
Constructor Summary
ConstructorsConstructorDescriptionExpressionContext
(StyleElement styleElement) Create a static context for XPath expressions in an XSLT stylesheet -
Method Summary
Modifier and TypeMethodDescriptionbindVariable
(StructuredQName qName) Bind a variable to an object that can be used to refer to itGet the Base URI of the element containing the expression, for resolving any relative URI's used in the expression.getCollation
(String name) Get a named collation.Get the system configurationGet the default collation.Get the default XPath namespace for elements and types Return NamespaceConstant.NULL for the non-namespaceGet the default function namespaceGet the executableint
getFingerprint
(String qname, boolean useDefault) Get a fingerprint for a name, using this as the context for namespace resolutionGet the function library containing all the in-scope functions available in this static contextGet the set of imported schemasint
Get the line number of the expression within its containing entity Returns -1 if no line number is availableGet the location mapGet the NamePool used for compiling expressionsGet a copy of the NamespaceResolver suitable for saving in the executable codegetStructuredQName
(String qname, boolean useDefault) Get a StructuredQName for a name, using this as the context for namespace resolutionGet the stylesheet element containing this XPath expressionGet the System ID of the entity containing the expression (used for diagnostics)getURIForPrefix
(String prefix) Get the URI for a prefix, using this Element as the context for namespace resolution.Get the XSLStylesheet objectboolean
Determine whether a built-in type is available in this context.boolean
isElementAvailable
(String qname) Determine if an extension element is availableboolean
isImportedSchema
(String namespace) Test whether a schema has been imported for a given namespaceboolean
Determine whether Backwards Compatible Mode is usedvoid
issueWarning
(String s, SourceLocator locator) Issue a compile-time warningConstruct a dynamic context for early evaluation of constant subexpressions
-
Constructor Details
-
ExpressionContext
Create a static context for XPath expressions in an XSLT stylesheet- Parameters:
styleElement
- the element on which the XPath expression appears
-
-
Method Details
-
getConfiguration
Get the system configuration- Specified by:
getConfiguration
in interfaceStaticContext
- Returns:
- the Saxon configuration
-
getExecutable
Get the executable- Returns:
- the executable
-
makeEarlyEvaluationContext
Construct a dynamic context for early evaluation of constant subexpressions- Specified by:
makeEarlyEvaluationContext
in interfaceStaticContext
- Returns:
- a newly constructed dynamic context
-
getLocationMap
Get the location map- Specified by:
getLocationMap
in interfaceStaticContext
- Returns:
- the location map
-
issueWarning
Issue a compile-time warning- Specified by:
issueWarning
in interfaceStaticContext
- Parameters:
s
- The warning message. This should not contain any prefix such as "Warning".locator
- the location of the construct in question. May be null.
-
getNamePool
Get the NamePool used for compiling expressions- Specified by:
getNamePool
in interfaceStaticContext
- Returns:
- the name pool
-
getSystemId
Get the System ID of the entity containing the expression (used for diagnostics)- Specified by:
getSystemId
in interfaceStaticContext
- Returns:
- the system ID
-
getLineNumber
public int getLineNumber()Get the line number of the expression within its containing entity Returns -1 if no line number is available- Specified by:
getLineNumber
in interfaceStaticContext
- Returns:
- the line number, or -1 if not available
-
getBaseURI
Get the Base URI of the element containing the expression, for resolving any relative URI's used in the expression. Used by the document() function.- Specified by:
getBaseURI
in interfaceStaticContext
- Returns:
- the static base URI, or null if not known
-
getURIForPrefix
Get the URI for a prefix, using this Element as the context for namespace resolution. The default namespace will not be used when the prefix is empty.- Specified by:
getURIForPrefix
in interfaceStaticContext
- Parameters:
prefix
- The prefix- Returns:
- the corresponding namespace URI
- Throws:
XPathException
- if the prefix is not declared
-
getNamespaceResolver
Get a copy of the NamespaceResolver suitable for saving in the executable code- Specified by:
getNamespaceResolver
in interfaceStaticContext
- Returns:
- a NamespaceResolver
-
getFingerprint
Get a fingerprint for a name, using this as the context for namespace resolution- Parameters:
qname
- The name as written, in the form "[prefix:]localname"useDefault
- Defines the action when there is no prefix. If true, use the default namespace URI (as for element names). If false, use no namespace URI (as for attribute names).- Returns:
- -1 if the name is not already present in the name pool
- Throws:
XPathException
-
getStructuredQName
Get a StructuredQName for a name, using this as the context for namespace resolution- Parameters:
qname
- The name as written, in the form "[prefix:]localname"useDefault
- Defines the action when there is no prefix. If true, use the default namespace URI (as for element names). If false, use no namespace URI (as for attribute names).- Returns:
- -1 if the name is not already present in the name pool
- Throws:
XPathException
-
bindVariable
Bind a variable to an object that can be used to refer to it- Specified by:
bindVariable
in interfaceStaticContext
- Parameters:
qName
- the name of the variable- Returns:
- a VariableDeclaration object that can be used to identify it in the Bindery
- Throws:
XPathException
- if the variable has not been declared
-
getFunctionLibrary
Get the function library containing all the in-scope functions available in this static context- Specified by:
getFunctionLibrary
in interfaceStaticContext
- Returns:
- the function library
-
isElementAvailable
Determine if an extension element is available- Specified by:
isElementAvailable
in interfaceXSLTStaticContext
- Throws:
XPathException
- if the name is invalid or the prefix is not declared
-
getCollation
Get a named collation.- Specified by:
getCollation
in interfaceStaticContext
- Parameters:
name
- The name of the required collation. Supply null to get the default collation.- Returns:
- the collation; or null if the required collation is not found.
-
getDefaultCollationName
Get the default collation. Return null if no default collation has been defined- Specified by:
getDefaultCollationName
in interfaceStaticContext
- Returns:
- the name of the default collation; or the name of the codepoint collation if no default collation has been defined
-
getDefaultElementNamespace
Get the default XPath namespace for elements and types Return NamespaceConstant.NULL for the non-namespace- Specified by:
getDefaultElementNamespace
in interfaceStaticContext
- Returns:
- the default namespace, or NamespaceConstant.NULL for the non-namespace
-
getDefaultFunctionNamespace
Get the default function namespace- Specified by:
getDefaultFunctionNamespace
in interfaceStaticContext
- Returns:
- the default namespace for function names
-
isInBackwardsCompatibleMode
public boolean isInBackwardsCompatibleMode()Determine whether Backwards Compatible Mode is used- Specified by:
isInBackwardsCompatibleMode
in interfaceStaticContext
- Returns:
- true if running in XPath 1.0 compatibility mode
-
isImportedSchema
Test whether a schema has been imported for a given namespace- Specified by:
isImportedSchema
in interfaceStaticContext
- Parameters:
namespace
- the target namespace of the required schema- Returns:
- true if a schema for this namespace has been imported
-
getImportedSchemaNamespaces
Get the set of imported schemas- Specified by:
getImportedSchemaNamespaces
in interfaceStaticContext
- Returns:
- a Set, the set of URIs representing the names of imported schemas
-
isAllowedBuiltInType
Determine whether a built-in type is available in this context. This method caters for differences between host languages as to which set of types are built in.- Specified by:
isAllowedBuiltInType
in interfaceStaticContext
- Parameters:
type
- the supposedly built-in type. This will always be a type in the XS or XDT namespace.- Returns:
- true if this type can be used in this static context
-
getXSLStylesheet
Get the XSLStylesheet object- Returns:
- the XSLStylesheet object representing the outermost element of the stylesheet module
-
getStyleElement
Get the stylesheet element containing this XPath expression- Returns:
- the element in the tree representation of the source stylesheet
-