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
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
 int getFingerprint(java.lang.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)
           
 java.lang.String getSystemId()
          Get the Base URI of the container of the expression
 java.lang.String getURIForPrefix(java.lang.String prefix)
          Get the URI for a prefix, using this Element as the context for namespace resolution
 boolean isElementAvailable(java.lang.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(java.lang.String qname)
          Determine if a function is available
 int makeNameCode(java.lang.String qname, boolean useDefault)
          Make a NameCode, using this Element as the context for namespace resolution
 NamespaceTest makeNamespaceTest(short nodeType, java.lang.String prefix)
          Make a NamespaceTest, using this element as the context for namespace resolution
 NameTest makeNameTest(short nodeType, java.lang.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
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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:
makeRuntimeContext in interface StaticContext

getSystemId

public java.lang.String getSystemId()
Get the Base URI of the container of the expression
Specified by:
getSystemId in interface StaticContext

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 interface StaticContext

getURIForPrefix

public java.lang.String getURIForPrefix(java.lang.String prefix)
                                 throws org.xml.sax.SAXException
Get the URI for a prefix, using this Element as the context for namespace resolution
Specified by:
getURIForPrefix in interface StaticContext
Parameters:
prefix - The prefix

makeNameCode

public final int makeNameCode(java.lang.String qname,
                              boolean useDefault)
                       throws org.xml.sax.SAXException
Make a NameCode, using this Element as the context for namespace resolution
Specified by:
makeNameCode in interface StaticContext
Parameters:
qname - The name as written, in the form "[prefix:]localname"

getFingerprint

public int getFingerprint(java.lang.String qname,
                          boolean useDefault)
                   throws org.xml.sax.SAXException
Get a fingerprint for a name, using this as the context for namespace resolution
Specified by:
getFingerprint in interface StaticContext
Parameters:
qname - The name as written, in the form "[prefix:]localname"
Returns:
-1 if the name is not already present in the name pool

makeNameTest

public NameTest makeNameTest(short nodeType,
                             java.lang.String qname,
                             boolean useDefault)
                      throws org.xml.sax.SAXException
Make a NameTest, using this element as the context for namespace resolution
Specified by:
makeNameTest in interface StaticContext

makeNamespaceTest

public NamespaceTest makeNamespaceTest(short nodeType,
                                       java.lang.String prefix)
                                throws org.xml.sax.SAXException
Make a NamespaceTest, using this element as the context for namespace resolution
Specified by:
makeNamespaceTest in interface StaticContext

bindVariable

public Binding bindVariable(int fingerprint)
                     throws org.xml.sax.SAXException
Bind a variable to an object that can be used to refer to it
Specified by:
bindVariable in interface StaticContext
Parameters:
fingerprint - The fingerprint of the variable name
Returns:
a Binding object that can be used to identify it in the Bindery
Throws:
org.xml.sax.SAXException - if the variable has not been declared, or if the context does not allow the use of variables

isExtensionNamespace

public boolean isExtensionNamespace(short uriCode)
                             throws org.xml.sax.SAXException
Determine whether a given URI code identifies an extension element namespace
Specified by:
isExtensionNamespace in interface StaticContext

forwardsCompatibleModeIsEnabled

public boolean forwardsCompatibleModeIsEnabled()
                                        throws org.xml.sax.SAXException
Determine whether forwards-compatible mode is enabled
Specified by:
forwardsCompatibleModeIsEnabled in interface StaticContext

getStyleSheetFunction

public Function getStyleSheetFunction(int fingerprint)
                               throws org.xml.sax.SAXException
Specified by:
getStyleSheetFunction in interface StaticContext

isElementAvailable

public boolean isElementAvailable(java.lang.String qname)
                           throws org.xml.sax.SAXException
Determine if an extension element is available
Specified by:
isElementAvailable in interface StaticContext

isFunctionAvailable

public boolean isFunctionAvailable(java.lang.String qname)
                            throws org.xml.sax.SAXException
Determine if a function is available
Specified by:
isFunctionAvailable in interface StaticContext

allowsKeyFunction

public boolean allowsKeyFunction()
Determine whether the key() function is permmitted in this context
Specified by:
allowsKeyFunction in interface StaticContext