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

    Constructors
    Constructor and Description
    `StandaloneContext()` Create a StandaloneContext using the default NamePool
    `StandaloneContext(NamePool pool)` Create a StandaloneContext using a specific NamePool

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `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`