## com.icl.saxon.expr
Class StandaloneContext

    java.lang.Object
      com.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`