com.icl.saxon.style
public class ExpressionContext extends Object implements StaticContext
Constructor Summary | |
---|---|
ExpressionContext(StyleElement styleElement) |
Method Summary | |
---|---|
boolean | allowsKeyFunction()
Determine whether the key() function is permmitted in this context |
Binding | bindVariable(int fingerprint)
Bind a variable to an object that can be used to refer to it |
boolean | forwardsCompatibleModeIsEnabled()
Determine whether forwards-compatible mode is enabled |
String | getBaseURI()
Get the Base URI of the element containing the expression, for resolving any
relative URI's used in the expression.
|
Class | getExternalJavaClass(String uri)
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 resolution |
int | getLineNumber()
Get the line number of the expression within its containing entity
Returns -1 if no line number is available |
Function | getStyleSheetFunction(int fingerprint) |
String | getSystemId()
Get the System ID of the entity containing the expression (used for diagnostics) |
String | getURIForPrefix(String prefix)
Get the URI for a prefix, using this Element as the context for namespace resolution |
String | getVersion()
Get the effective XSLT version in this region of the stylesheet |
boolean | isElementAvailable(String qname)
Determine if an extension element is available |
boolean | isExtensionNamespace(short uriCode)
Determine whether a given URI code identifies an extension element namespace |
boolean | isFunctionAvailable(String qname)
Determine if a function is available |
int | makeNameCode(String qname, boolean useDefault)
Make a NameCode, using this Element as the context for namespace resolution |
NamespaceTest | makeNamespaceTest(short nodeType, String prefix)
Make a NamespaceTest, using this element as the context for namespace resolution |
NameTest | makeNameTest(short nodeType, String qname, boolean useDefault)
Make a NameTest, using this element as the context for namespace resolution |
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 |
String | toString()
String representation for diagnostics |
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
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.
Parameters: qname The name as written, in the form "[prefix:]localname"
Returns: -1 if the name is not already present in the name pool
UNKNOWN: 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).
Parameters: prefix The prefix
UNKNOWN: XPathxception if the prefix is not declared
Throws: XPathException if the name is invalid or the prefix is not declared
Parameters: qname The name as written, in the form "[prefix:]localname"
UNKNOWN: 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).