Class ExpressionContext

java.lang.Object
net.sf.saxon.style.ExpressionContext
All Implemented Interfaces:
StaticContext, XSLTStaticContext

public class ExpressionContext extends Object implements XSLTStaticContext
An ExpressionContext represents the context for an XPath expression written in the stylesheet.
  • Constructor Details

    • ExpressionContext

      public ExpressionContext(StyleElement styleElement)
  • Method Details

    • getConfiguration

      public Configuration getConfiguration()
      Get the system configuration
      Specified by:
      getConfiguration in interface StaticContext
    • makeEarlyEvaluationContext

      public XPathContext makeEarlyEvaluationContext()
      Construct a dynamic context for early evaluation of constant subexpressions
      Specified by:
      makeEarlyEvaluationContext in interface StaticContext
    • getLocationMap

      public LocationMap getLocationMap()
      Get the location map
      Specified by:
      getLocationMap in interface StaticContext
    • issueWarning

      public void issueWarning(String s, 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 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 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 String getURIForPrefix(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(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 VariableReference 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(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 Comparator getCollation(String name)
      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.
    • getDefaultCollationName

      public 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 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(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
    • getImportedSchemaNamespaces

      public Set getImportedSchemaNamespaces()
      Get the set of imported schemas
      Specified by:
      getImportedSchemaNamespaces in interface StaticContext
      Returns:
      a Set, the set of URIs representing the names of imported schemas
    • isAllowedBuiltInType

      public boolean isAllowedBuiltInType(AtomicType type)
      Determine whether a built-in type is available in this context. This method caters for differences between host languages as to which set of types are built in.
      Specified by:
      isAllowedBuiltInType in interface StaticContext
      Parameters:
      type - the supposedly built-in type. This will always be a type in the XS or XDT namespace.
      Returns:
      true if this type can be used in this static context
    • 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