com.icl.saxon.expr
Class StandaloneContext

java.lang.Object
  extended bycom.icl.saxon.expr.StandaloneContext
All Implemented Interfaces:
StaticContext

public class StandaloneContext
extends java.lang.Object
implements StaticContext

A StandaloneContext provides a context for parsing an expression or pattern appearing in a context other than a stylesheet.


Constructor Summary
StandaloneContext()
          Create a StandaloneContext using the default NamePool
StandaloneContext(NamePool pool)
          Create a StandaloneContext using a specific NamePool
 
Method Summary
 boolean allowsKeyFunction()
          Determine whether the key() function is permmitted in this context
 Binding bindVariable(int fingerprint)
          Bind a variable used in this element to the XSLVariable element in which it is declared
 void declareNamespace(java.lang.String prefix, java.lang.String uri)
          Declare a namespace whose prefix can be used in expressions
 boolean forwardsCompatibleModeIsEnabled()
          Determine whether forwards-compatible mode is enabled
 java.lang.String getBaseURI()
          Get the Base URI of the stylesheet element, for resolving any relative URI's used in the expression.
 java.lang.Class getExternalJavaClass(java.lang.String uri)
          Get an external Java class corresponding to a given namespace prefix, if there is one.
 int getFingerprint(java.lang.String qname, boolean useDefault)
          Make a fingerprint, using this Element as the context for namespace resolution
 int getLineNumber()
          Get the line number of the expression within that container
 Function getStyleSheetFunction(int fingerprint)
           
 java.lang.String getSystemId()
          Get the system ID 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
 java.lang.String getVersion()
          Get the effective XSLT version in this region of the stylesheet
 boolean isElementAvailable(java.lang.String qname)
          Determine if an extension element is available
 boolean isExtensionNamespace(short uriCode)
          Determine whether a given URI 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)
          Copy the context with a different namepool.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

StandaloneContext

public StandaloneContext()
Create a StandaloneContext using the default NamePool


StandaloneContext

public StandaloneContext(NamePool pool)
Create a StandaloneContext using a specific NamePool

Method Detail

declareNamespace

public void declareNamespace(java.lang.String prefix,
                             java.lang.String uri)
Declare a namespace whose prefix can be used in expressions


makeRuntimeContext

public StaticContext makeRuntimeContext(NamePool pool)
Copy the context with a different namepool. Not implemented, returns null.

Specified by:
makeRuntimeContext in interface StaticContext

getSystemId

public java.lang.String getSystemId()
Get the system ID of the container of the expression

Specified by:
getSystemId in interface StaticContext
Returns:
"" always

getBaseURI

public java.lang.String getBaseURI()
Get the Base URI of the stylesheet element, for resolving any relative URI's used in the expression. Used by the document() function.

Specified by:
getBaseURI in interface StaticContext
Returns:
"" always

getLineNumber

public int getLineNumber()
Get the line number of the expression within that container

Specified by:
getLineNumber in interface StaticContext
Returns:
-1 always

getURIForPrefix

public java.lang.String getURIForPrefix(java.lang.String prefix)
                                 throws XPathException
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
Throws:
XPathException

makeNameCode

public final int makeNameCode(java.lang.String qname,
                              boolean useDefault)
                       throws XPathException
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"
Throws:
XPathException

getFingerprint

public final int getFingerprint(java.lang.String qname,
                                boolean useDefault)
                         throws XPathException
Make a fingerprint, using this Element 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
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:
makeNameTest in interface StaticContext
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:
makeNamespaceTest in interface StaticContext
Throws:
XPathException

bindVariable

public Binding bindVariable(int fingerprint)
                     throws XPathException
Bind a variable used in this element to the XSLVariable element in which it is declared

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:
XPathException - if the variable has not been declared, or if the context does not allow the use of variables

isExtensionNamespace

public boolean isExtensionNamespace(short uriCode)
Determine whether a given URI identifies an extension element namespace

Specified by:
isExtensionNamespace in interface StaticContext

forwardsCompatibleModeIsEnabled

public boolean forwardsCompatibleModeIsEnabled()
Determine whether forwards-compatible mode is enabled

Specified by:
forwardsCompatibleModeIsEnabled in interface StaticContext

getStyleSheetFunction

public Function getStyleSheetFunction(int fingerprint)
                               throws XPathException
Specified by:
getStyleSheetFunction in interface StaticContext
Throws:
XPathException

getExternalJavaClass

public java.lang.Class getExternalJavaClass(java.lang.String uri)
Get an external Java class corresponding to a given namespace prefix, if there is one.

Specified by:
getExternalJavaClass in interface StaticContext
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. This implementation always returns null.

isElementAvailable

public boolean isElementAvailable(java.lang.String qname)
                           throws XPathException
Determine if an extension element is available

Specified by:
isElementAvailable in interface StaticContext
Throws:
XPathException

isFunctionAvailable

public boolean isFunctionAvailable(java.lang.String qname)
                            throws XPathException
Determine if a function is available

Specified by:
isFunctionAvailable in interface StaticContext
Throws:
XPathException

allowsKeyFunction

public boolean allowsKeyFunction()
Determine whether the key() function is permmitted in this context

Specified by:
allowsKeyFunction in interface StaticContext

getVersion

public java.lang.String getVersion()
Get the effective XSLT version in this region of the stylesheet

Specified by:
getVersion in interface StaticContext