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
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbindVariable
(int fingerprint) 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.short
Get the default XPath namespace, as a namespace code that can be looked up in the NamePoolGet the default function namespaceint
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 Namespace ContextGet 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
-
-
Method Details
-
getConfiguration
Get the system configuration- Specified by:
getConfiguration
in interfaceStaticContext
-
makeEarlyEvaluationContext
Construct a dynamic context for early evaluation of constant subexpressions- Specified by:
makeEarlyEvaluationContext
in interfaceStaticContext
-
getLocationMap
Get the location map- Specified by:
getLocationMap
in interfaceStaticContext
-
issueWarning
Issue a compile-time warning- Specified by:
issueWarning
in interfaceStaticContext
-
getNamePool
Get the NamePool used for compiling expressions- Specified by:
getNamePool
in interfaceStaticContext
-
getSystemId
Get the System ID of the entity containing the expression (used for diagnostics)- Specified by:
getSystemId
in interfaceStaticContext
-
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
-
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
-
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- Throws:
XPathException
- if the prefix is not declared
-
getNamespaceResolver
Get a copy of the Namespace Context- Specified by:
getNamespaceResolver
in interfaceStaticContext
- Returns:
- a namespace resolver.
-
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
-
bindVariable
Bind a variable to an object that can be used to refer to it- Specified by:
bindVariable
in interfaceStaticContext
- Parameters:
fingerprint
- The fingerprint of the variable name- Returns:
- a VariableDeclaration object that can be used to identify it in the Bindery
- Throws:
StaticError
- 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
-
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
public short getDefaultElementNamespace()Get the default XPath namespace, as a namespace code that can be looked up in the NamePool- Specified by:
getDefaultElementNamespace
in interfaceStaticContext
-
getDefaultFunctionNamespace
Get the default function namespace- Specified by:
getDefaultFunctionNamespace
in interfaceStaticContext
-
isInBackwardsCompatibleMode
public boolean isInBackwardsCompatibleMode()Determine whether Backwards Compatible Mode is used- Specified by:
isInBackwardsCompatibleMode
in interfaceStaticContext
-
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 -
getStyleElement
Get the stylesheet element containing this XPath expression- Returns:
- the element in the tree representation of the source stylesheet
-