Class 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 Detail

      • ExpressionContext

        public ExpressionContext​(StyleElement styleElement)
        Create a static context for XPath expressions in an XSLT stylesheet
        Parameters:
        styleElement - the element on which the XPath expression appears
    • Method Detail

      • getExecutable

        public Executable getExecutable()
        Get the executable
        Returns:
        the executable
      • makeEarlyEvaluationContext

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

        public void issueWarning​(java.lang.String s,
                                 javax.xml.transform.SourceLocator locator)
        Issue a compile-time warning
        Specified by:
        issueWarning in interface StaticContext
        Parameters:
        s - The warning message. This should not contain any prefix such as "Warning".
        locator - the location of the construct in question. May be null.
      • getNamePool

        public NamePool getNamePool()
        Get the NamePool used for compiling expressions
        Specified by:
        getNamePool in interface StaticContext
        Returns:
        the name pool
      • 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
        Returns:
        the system ID
      • 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
        Returns:
        the line number, or -1 if not available
      • 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
        Returns:
        the static base URI, or null if not known
      • 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
        Returns:
        the corresponding namespace URI
        Throws:
        XPathException - if the prefix is not declared
      • 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
      • getStructuredQName

        public StructuredQName getStructuredQName​(java.lang.String qname,
                                                  boolean useDefault)
                                           throws XPathException
        Get a StructuredQName 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
      • 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
        Returns:
        the function library
      • getCollation

        public StringCollator getCollation​(java.lang.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 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 java.lang.String getDefaultElementNamespace()
        Get the default XPath namespace for elements and types Return NamespaceConstant.NULL for the non-namespace
        Specified by:
        getDefaultElementNamespace in interface StaticContext
        Returns:
        the default namespace, or NamespaceConstant.NULL for the non-namespace
      • getDefaultFunctionNamespace

        public java.lang.String getDefaultFunctionNamespace()
        Get the default function namespace
        Specified by:
        getDefaultFunctionNamespace in interface StaticContext
        Returns:
        the default namespace for function names
      • isInBackwardsCompatibleMode

        public boolean isInBackwardsCompatibleMode()
        Determine whether Backwards Compatible Mode is used
        Specified by:
        isInBackwardsCompatibleMode in interface StaticContext
        Returns:
        true if running in XPath 1.0 compatibility mode
      • 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
      • getImportedSchemaNamespaces

        public java.util.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​(BuiltInAtomicType 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
        Returns:
        the XSLStylesheet object representing the outermost element of the stylesheet module
      • getStyleElement

        public StyleElement getStyleElement()
        Get the stylesheet element containing this XPath expression
        Returns:
        the element in the tree representation of the source stylesheet