## net.sf.saxon.style
Class ExpressionContext

    java.lang.Object
      net.sf.saxon.style.ExpressionContext

All Implemented Interfaces:
  StaticContext, XSLTStaticContext

public class ExpressionContext
extends java.lang.Object
implements XSLTStaticContext

An ExpressionContext represents the context for an XPath expression written in the stylesheet.

Constructor Summary
`ExpressionContext(StyleElement styleElement)`

Method Summary
`VariableDeclaration` `bindVariable(int fingerprint)` Bind a variable to an object that can be used to refer to it
`java.lang.String` `getBaseURI()` Get the Base URI of the element containing the expression, for resolving any relative URI's used in the expression.
`java.util.Comparator` `getCollation(java.lang.String name)` Get a named collation.
`Configuration` `getConfiguration()` Get the system configuration
`java.lang.String` `getDefaultCollationName()` Get the default collation.
`short` `getDefaultElementNamespace()` Get the default XPath namespace, as a namespace code that can be looked up in the NamePool
`java.lang.String` `getDefaultFunctionNamespace()` Get the default function namespace
`int` `getFingerprint(java.lang.String qname, boolean useDefault)` Get a fingerprint for a name, using this as the context for namespace resolution
`FunctionLibrary` `getFunctionLibrary()` Get the function library containing all the in-scope functions available in this static context
`int` `getLineNumber()` Get the line number of the expression within its containing entity Returns -1 if no line number is available
`LocationMap` `getLocationMap()` Get the location map
`NamePool` `getNamePool()` Get the NamePool used for compiling expressions
`NamespaceResolver` `getNamespaceResolver()` Get a copy of the Namespace Context
`StyleElement` `getStyleElement()` Get the stylesheet element containing this XPath expression
`java.lang.String` `getSystemId()` Get the System ID of the entity containing the expression (used for diagnostics)
`java.lang.String` `getURIForPrefix(java.lang.String prefix)` Get the URI for a prefix, using this Element as the context for namespace resolution.
`XSLStylesheet` `getXSLStylesheet()` Get the XSLStylesheet object
`boolean` `isElementAvailable(java.lang.String qname)` Determine if an extension element is available
`boolean` `isImportedSchema(java.lang.String namespace)` Test whether a schema has been imported for a given namespace
`boolean` `isInBackwardsCompatibleMode()` Determine whether Backwards Compatible Mode is used
`void` `issueWarning(java.lang.String s, javax.xml.transform.SourceLocator locator)` Issue a compile-time warning

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

### getConfiguration

    public Configuration getConfiguration()

  Get the system configuration

  Specified by:
    `getConfiguration` in interface `StaticContext`

### getLocationMap

    public LocationMap getLocationMap()

  Get the location map

  Specified by:
    `getLocationMap` in interface `StaticContext`

### issueWarning

    public void issueWarning(java.lang.String s,
                             javax.xml.transform.SourceLocator locator)

  Issue a compile-time warning

  Specified by:
    `issueWarning` in interface `StaticContext`

### getNamePool

    public NamePool getNamePool()

  Get the NamePool used for compiling expressions

  Specified by:
    `getNamePool` in interface `StaticContext`

### getSystemId

    public java.lang.String getSystemId()

  Get the System ID of the entity containing the expression (used for diagnostics)

  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`

### getBaseURI

    public java.lang.String getBaseURI()

  Get the Base URI of the element containing the expression, for resolving any relative URI's used in the expression. Used by the document() function.

  Specified by:
    `getBaseURI` in interface `StaticContext`

### 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. The default namespace will not be used when the prefix is empty.

  Specified by:
    `getURIForPrefix` in interface `StaticContext`
  Parameters:
    `prefix` - The prefix
  Throws:
    `XPathException` - if the prefix is not declared

### getNamespaceResolver

    public NamespaceResolver getNamespaceResolver()

  Get a copy of the Namespace Context

  Specified by:
    `getNamespaceResolver` in interface `StaticContext`
  Returns:
    a namespace resolver.

### getFingerprint

    public int getFingerprint(java.lang.String qname,
                              boolean useDefault)
                       throws XPathException

  Get a fingerprint for a name, using this as the context for namespace resolution

  Parameters:
    `qname` - The name as written, in the form "[prefix:]localname"
    `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).
  Returns:
    -1 if the name is not already present in the name pool
  Throws:
    `XPathException`

### bindVariable

    public VariableDeclaration bindVariable(int fingerprint)
                                     throws StaticError

  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 VariableDeclaration object that can be used to identify it in the Bindery
  Throws:
    `StaticError` - if the variable has not been declared

### getFunctionLibrary

    public FunctionLibrary getFunctionLibrary()

  Get the function library containing all the in-scope functions available in this static context

  Specified by:
    `getFunctionLibrary` in interface `StaticContext`

### isElementAvailable

    public boolean isElementAvailable(java.lang.String qname)
                               throws XPathException

  Determine if an extension element is available

  Specified by:
    `isElementAvailable` in interface `XSLTStaticContext`
  Throws:
    `XPathException` - if the name is invalid or the prefix is not declared

### getCollation

    public java.util.Comparator getCollation(java.lang.String name)
                                      throws XPathException

  Get a named collation.

  Specified by:
    `getCollation` in interface `StaticContext`
  Parameters:
    `name` - The name of the required collation. Supply null to get the default collation.
  Returns:
    the collation; or null if the required collation is not found.
  Throws:
    `XPathException`

### getDefaultCollationName

    public java.lang.String getDefaultCollationName()

  Get the default collation. Return null if no default collation has been defined

  Specified by:
    `getDefaultCollationName` in interface `StaticContext`
  Returns:
    the name of the default collation; or the name of the codepoint collation if no default collation has been defined

### getDefaultElementNamespace

    public short getDefaultElementNamespace()

  Get the default XPath namespace, as a namespace code that can be looked up in the NamePool

  Specified by:
    `getDefaultElementNamespace` in interface `StaticContext`

### getDefaultFunctionNamespace

    public java.lang.String getDefaultFunctionNamespace()

  Get the default function namespace

  Specified by:
    `getDefaultFunctionNamespace` in interface `StaticContext`

### isInBackwardsCompatibleMode

    public boolean isInBackwardsCompatibleMode()

  Determine whether Backwards Compatible Mode is used

  Specified by:
    `isInBackwardsCompatibleMode` in interface `StaticContext`

### isImportedSchema

    public boolean isImportedSchema(java.lang.String namespace)

  Test whether a schema has been imported for a given namespace

  Specified by:
    `isImportedSchema` in interface `StaticContext`
  Parameters:
    `namespace` - the target namespace of the required schema
  Returns:
    true if a schema for this namespace has been imported

### getXSLStylesheet

    public XSLStylesheet getXSLStylesheet()

  Get the XSLStylesheet object

### getStyleElement

    public StyleElement getStyleElement()

  Get the stylesheet element containing this XPath expression

  Returns:
    the element in the tree representation of the source stylesheet