Package com.icl.saxon.style
Class ExpressionContext
java.lang.Object
com.icl.saxon.style.ExpressionContext
- All Implemented Interfaces:
StaticContext
An ExpressionContext represents the context for an XPath expression written
in the stylesheet.
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionboolean
Determine whether the key() function is permmitted in this contextbindVariable
(int fingerprint) Bind a variable to an object that can be used to refer to itboolean
Determine whether forwards-compatible mode is enabledGet the Base URI of the element containing the expression, for resolving any relative URI's used in the expression.Get an external Java class corresponding to a given namespace prefix, if there is one.int
getFingerprint
(String qname, boolean useDefault) Get a fingerprint for a name, using this as the context for namespace resolutionint
Get the line number of the expression within its containing entity Returns -1 if no line number is availablegetStyleSheetFunction
(int fingerprint) Get 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 resolutionGet the effective XSLT version in this region of the stylesheetboolean
isElementAvailable
(String qname) Determine if an extension element is availableboolean
isExtensionNamespace
(short uriCode) Determine whether a given URI code identifies an extension element namespaceboolean
isFunctionAvailable
(String qname) Determine if a function is availablefinal int
makeNameCode
(String qname, boolean useDefault) Make a NameCode, using this Element as the context for namespace resolutionmakeNamespaceTest
(short nodeType, String prefix) Make a NamespaceTest, using this element as the context for namespace resolutionmakeNameTest
(short nodeType, String qname, boolean useDefault) Make a NameTest, using this element as the context for namespace resolutionmakeRuntimeContext
(NamePool pool) Create a context for parsing XPath expressions at runtime, using this styelsheet element for namespace declarations, variables, etc, but using the runtime NamePooltoString()
String representation for diagnostics
-
Constructor Details
-
ExpressionContext
-
-
Method Details
-
makeRuntimeContext
Create a context for parsing XPath expressions at runtime, using this styelsheet element for namespace declarations, variables, etc, but using the runtime NamePool- Specified by:
makeRuntimeContext
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- Specified by:
getURIForPrefix
in interfaceStaticContext
- Parameters:
prefix
- The prefix- Throws:
XPathException
-
makeNameCode
Make a NameCode, using this Element as the context for namespace resolution- Specified by:
makeNameCode
in interfaceStaticContext
- Parameters:
qname
- The name as written, in the form "[prefix:]localname"- Throws:
XPathException
-
getFingerprint
Get a fingerprint for a name, using this as the context for namespace resolution- Specified by:
getFingerprint
in interfaceStaticContext
- Parameters:
qname
- The name as written, in the form "[prefix:]localname"- Returns:
- -1 if the name is not already present in the name pool
- Throws:
XPathException
-
makeNameTest
public NameTest makeNameTest(short nodeType, String qname, boolean useDefault) throws XPathException Make a NameTest, using this element as the context for namespace resolution- Specified by:
makeNameTest
in interfaceStaticContext
- Throws:
XPathException
-
makeNamespaceTest
Make a NamespaceTest, using this element as the context for namespace resolution- Specified by:
makeNamespaceTest
in interfaceStaticContext
- 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 Binding object that can be used to identify it in the Bindery
- Throws:
XPathException
- if the variable has not been declared
-
isExtensionNamespace
Determine whether a given URI code identifies an extension element namespace- Specified by:
isExtensionNamespace
in interfaceStaticContext
- Throws:
XPathException
-
forwardsCompatibleModeIsEnabled
Determine whether forwards-compatible mode is enabled- Specified by:
forwardsCompatibleModeIsEnabled
in interfaceStaticContext
- Throws:
XPathException
-
getStyleSheetFunction
- Specified by:
getStyleSheetFunction
in interfaceStaticContext
- Throws:
XPathException
-
getExternalJavaClass
Get an external Java class corresponding to a given namespace prefix, if there is one.- Specified by:
getExternalJavaClass
in interfaceStaticContext
- Parameters:
uri
- The namespace URI corresponding to the prefix used in the function call.- Returns:
- the Java class name if a suitable class exists, otherwise return null.
- Throws:
TransformerException
- if the class is found, but cannot be loaded.
-
isElementAvailable
Determine if an extension element is available- Specified by:
isElementAvailable
in interfaceStaticContext
- Throws:
XPathException
- if the name is invalid or the prefix is not declared
-
isFunctionAvailable
Determine if a function is available- Specified by:
isFunctionAvailable
in interfaceStaticContext
- Throws:
XPathException
-
allowsKeyFunction
public boolean allowsKeyFunction()Determine whether the key() function is permmitted in this context- Specified by:
allowsKeyFunction
in interfaceStaticContext
-
getVersion
Get the effective XSLT version in this region of the stylesheet- Specified by:
getVersion
in interfaceStaticContext
-
toString
String representation for diagnostics
-