Package net.sf.saxon.style
Class ExpressionContext
- java.lang.Object
-
- net.sf.saxon.style.ExpressionContext
-
- All Implemented Interfaces:
StaticContext,XSLTStaticContext
public class ExpressionContext extends java.lang.Object implements XSLTStaticContext
An ExpressionContext represents the context for an XPath expression written in the stylesheet.
-
-
Constructor Summary
Constructors Constructor Description ExpressionContext(StyleElement styleElement)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description VariableReferencebindVariable(int fingerprint)Bind a variable to an object that can be used to refer to itjava.lang.StringgetBaseURI()Get the Base URI of the element containing the expression, for resolving any relative URI's used in the expression.java.util.ComparatorgetCollation(java.lang.String name)Get a named collation.ConfigurationgetConfiguration()Get the system configurationjava.lang.StringgetDefaultCollationName()Get the default collation.shortgetDefaultElementNamespace()Get the default XPath namespace, as a namespace code that can be looked up in the NamePooljava.lang.StringgetDefaultFunctionNamespace()Get the default function namespaceintgetFingerprint(java.lang.String qname, boolean useDefault)Get a fingerprint for a name, using this as the context for namespace resolutionFunctionLibrarygetFunctionLibrary()Get the function library containing all the in-scope functions available in this static contextjava.util.SetgetImportedSchemaNamespaces()Get the set of imported schemasintgetLineNumber()Get the line number of the expression within its containing entity Returns -1 if no line number is availableLocationMapgetLocationMap()Get the location mapNamePoolgetNamePool()Get the NamePool used for compiling expressionsNamespaceResolvergetNamespaceResolver()Get a copy of the Namespace ContextStyleElementgetStyleElement()Get the stylesheet element containing this XPath expressionjava.lang.StringgetSystemId()Get the System ID of the entity containing the expression (used for diagnostics)java.lang.StringgetURIForPrefix(java.lang.String prefix)Get the URI for a prefix, using this Element as the context for namespace resolution.XSLStylesheetgetXSLStylesheet()Get the XSLStylesheet objectbooleanisAllowedBuiltInType(AtomicType type)Determine whether a built-in type is available in this context.booleanisElementAvailable(java.lang.String qname)Determine if an extension element is availablebooleanisImportedSchema(java.lang.String namespace)Test whether a schema has been imported for a given namespacebooleanisInBackwardsCompatibleMode()Determine whether Backwards Compatible Mode is usedvoidissueWarning(java.lang.String s, javax.xml.transform.SourceLocator locator)Issue a compile-time warningXPathContextmakeEarlyEvaluationContext()Construct a dynamic context for early evaluation of constant subexpressions
-
-
-
Constructor Detail
-
ExpressionContext
public ExpressionContext(StyleElement styleElement)
-
-
Method Detail
-
getConfiguration
public Configuration getConfiguration()
Get the system configuration- Specified by:
getConfigurationin interfaceStaticContext
-
makeEarlyEvaluationContext
public XPathContext makeEarlyEvaluationContext()
Construct a dynamic context for early evaluation of constant subexpressions- Specified by:
makeEarlyEvaluationContextin interfaceStaticContext
-
getLocationMap
public LocationMap getLocationMap()
Get the location map- Specified by:
getLocationMapin interfaceStaticContext
-
issueWarning
public void issueWarning(java.lang.String s, javax.xml.transform.SourceLocator locator)Issue a compile-time warning- Specified by:
issueWarningin interfaceStaticContext
-
getNamePool
public NamePool getNamePool()
Get the NamePool used for compiling expressions- Specified by:
getNamePoolin interfaceStaticContext
-
getSystemId
public java.lang.String getSystemId()
Get the System ID of the entity containing the expression (used for diagnostics)- Specified by:
getSystemIdin 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:
getLineNumberin interfaceStaticContext
-
getBaseURI
public java.lang.String 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:
getBaseURIin interfaceStaticContext
-
getURIForPrefix
public java.lang.String getURIForPrefix(java.lang.String prefix) throws XPathExceptionGet 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:
getURIForPrefixin interfaceStaticContext- Parameters:
prefix- The prefix- Throws:
XPathException- if the prefix is not declared
-
getNamespaceResolver
public NamespaceResolver getNamespaceResolver()
Get a copy of the Namespace Context- Specified by:
getNamespaceResolverin interfaceStaticContext- Returns:
- a namespace resolver.
-
getFingerprint
public int getFingerprint(java.lang.String qname, boolean useDefault) throws XPathExceptionGet 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
public VariableReference bindVariable(int fingerprint) throws StaticError
Bind a variable to an object that can be used to refer to it- Specified by:
bindVariablein 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
public FunctionLibrary getFunctionLibrary()
Get the function library containing all the in-scope functions available in this static context- Specified by:
getFunctionLibraryin interfaceStaticContext
-
isElementAvailable
public boolean isElementAvailable(java.lang.String qname) throws XPathExceptionDetermine if an extension element is available- Specified by:
isElementAvailablein interfaceXSLTStaticContext- Throws:
XPathException- if the name is invalid or the prefix is not declared
-
getCollation
public java.util.Comparator getCollation(java.lang.String name)
Get a named collation.- Specified by:
getCollationin 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
public java.lang.String getDefaultCollationName()
Get the default collation. Return null if no default collation has been defined- Specified by:
getDefaultCollationNamein 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:
getDefaultElementNamespacein interfaceStaticContext
-
getDefaultFunctionNamespace
public java.lang.String getDefaultFunctionNamespace()
Get the default function namespace- Specified by:
getDefaultFunctionNamespacein interfaceStaticContext
-
isInBackwardsCompatibleMode
public boolean isInBackwardsCompatibleMode()
Determine whether Backwards Compatible Mode is used- Specified by:
isInBackwardsCompatibleModein interfaceStaticContext
-
isImportedSchema
public boolean isImportedSchema(java.lang.String namespace)
Test whether a schema has been imported for a given namespace- Specified by:
isImportedSchemain interfaceStaticContext- Parameters:
namespace- the target namespace of the required schema- Returns:
- true if a schema for this namespace has been imported
-
getImportedSchemaNamespaces
public java.util.Set getImportedSchemaNamespaces()
Get the set of imported schemas- Specified by:
getImportedSchemaNamespacesin interfaceStaticContext- Returns:
- a Set, the set of URIs representing the names of imported schemas
-
isAllowedBuiltInType
public boolean isAllowedBuiltInType(AtomicType type)
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:
isAllowedBuiltInTypein 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
public XSLStylesheet getXSLStylesheet()
Get the XSLStylesheet object
-
getStyleElement
public StyleElement getStyleElement()
Get the stylesheet element containing this XPath expression- Returns:
- the element in the tree representation of the source stylesheet
-
-