Package com.icl.saxon.style
Class ExpressionContext
- java.lang.Object
-
- com.icl.saxon.style.ExpressionContext
-
- All Implemented Interfaces:
StaticContext
public class ExpressionContext extends java.lang.Object implements StaticContext
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 booleanallowsKeyFunction()Determine whether the key() function is permmitted in this contextBindingbindVariable(int fingerprint)Bind a variable to an object that can be used to refer to itbooleanforwardsCompatibleModeIsEnabled()Determine whether forwards-compatible mode is enabledjava.lang.StringgetBaseURI()Get the Base URI of the element containing the expression, for resolving any relative URI's used in the expression.java.lang.ClassgetExternalJavaClass(java.lang.String uri)Get an external Java class corresponding to a given namespace prefix, if there is one.intgetFingerprint(java.lang.String qname, boolean useDefault)Get a fingerprint for a name, using this as the context for namespace resolutionintgetLineNumber()Get the line number of the expression within its containing entity Returns -1 if no line number is availableFunctiongetStyleSheetFunction(int fingerprint)java.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 resolutionjava.lang.StringgetVersion()Get the effective XSLT version in this region of the stylesheetbooleanisElementAvailable(java.lang.String qname)Determine if an extension element is availablebooleanisExtensionNamespace(short uriCode)Determine whether a given URI code identifies an extension element namespacebooleanisFunctionAvailable(java.lang.String qname)Determine if a function is availableintmakeNameCode(java.lang.String qname, boolean useDefault)Make a NameCode, using this Element as the context for namespace resolutionNamespaceTestmakeNamespaceTest(short nodeType, java.lang.String prefix)Make a NamespaceTest, using this element as the context for namespace resolutionNameTestmakeNameTest(short nodeType, java.lang.String qname, boolean useDefault)Make a NameTest, using this element as the context for namespace resolutionStaticContextmakeRuntimeContext(NamePool pool)Create a context for parsing XPath expressions at runtime, using this styelsheet element for namespace declarations, variables, etc, but using the runtime NamePooljava.lang.StringtoString()String representation for diagnostics
-
-
-
Constructor Detail
-
ExpressionContext
public ExpressionContext(StyleElement styleElement)
-
-
Method Detail
-
makeRuntimeContext
public StaticContext makeRuntimeContext(NamePool pool)
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:
makeRuntimeContextin 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- Specified by:
getURIForPrefixin interfaceStaticContext- Parameters:
prefix- The prefix- Throws:
XPathException
-
makeNameCode
public final int makeNameCode(java.lang.String qname, boolean useDefault) throws XPathExceptionMake a NameCode, using this Element as the context for namespace resolution- Specified by:
makeNameCodein interfaceStaticContext- Parameters:
qname- The name as written, in the form "[prefix:]localname"- Throws:
XPathException
-
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- Specified by:
getFingerprintin 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, java.lang.String qname, boolean useDefault) throws XPathException
Make a NameTest, using this element as the context for namespace resolution- Specified by:
makeNameTestin interfaceStaticContext- Throws:
XPathException
-
makeNamespaceTest
public NamespaceTest makeNamespaceTest(short nodeType, java.lang.String prefix) throws XPathException
Make a NamespaceTest, using this element as the context for namespace resolution- Specified by:
makeNamespaceTestin interfaceStaticContext- Throws:
XPathException
-
bindVariable
public Binding bindVariable(int fingerprint) throws XPathException
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 Binding object that can be used to identify it in the Bindery
- Throws:
XPathException- if the variable has not been declared
-
isExtensionNamespace
public boolean isExtensionNamespace(short uriCode) throws XPathExceptionDetermine whether a given URI code identifies an extension element namespace- Specified by:
isExtensionNamespacein interfaceStaticContext- Throws:
XPathException
-
forwardsCompatibleModeIsEnabled
public boolean forwardsCompatibleModeIsEnabled() throws XPathExceptionDetermine whether forwards-compatible mode is enabled- Specified by:
forwardsCompatibleModeIsEnabledin interfaceStaticContext- Throws:
XPathException
-
getStyleSheetFunction
public Function getStyleSheetFunction(int fingerprint) throws XPathException
- Specified by:
getStyleSheetFunctionin interfaceStaticContext- Throws:
XPathException
-
getExternalJavaClass
public java.lang.Class getExternalJavaClass(java.lang.String uri) throws javax.xml.transform.TransformerExceptionGet an external Java class corresponding to a given namespace prefix, if there is one.- Specified by:
getExternalJavaClassin 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:
javax.xml.transform.TransformerException- if the class is found, but cannot be loaded.
-
isElementAvailable
public boolean isElementAvailable(java.lang.String qname) throws XPathExceptionDetermine if an extension element is available- Specified by:
isElementAvailablein interfaceStaticContext- Throws:
XPathException- if the name is invalid or the prefix is not declared
-
isFunctionAvailable
public boolean isFunctionAvailable(java.lang.String qname) throws XPathExceptionDetermine if a function is available- Specified by:
isFunctionAvailablein interfaceStaticContext- Throws:
XPathException
-
allowsKeyFunction
public boolean allowsKeyFunction()
Determine whether the key() function is permmitted in this context- Specified by:
allowsKeyFunctionin interfaceStaticContext
-
getVersion
public java.lang.String getVersion()
Get the effective XSLT version in this region of the stylesheet- Specified by:
getVersionin interfaceStaticContext
-
toString
public java.lang.String toString()
String representation for diagnostics- Overrides:
toStringin classjava.lang.Object
-
-