Class ExpressionContext

  • All Implemented Interfaces:
    StaticContext

    public class ExpressionContext
    extends java.lang.Object
    implements StaticContext
    An ExpressionContext represents the context for an XPath expression written in the stylesheet.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean allowsKeyFunction()
      Determine whether the key() function is permmitted in this context
      Binding bindVariable​(int fingerprint)
      Bind a variable to an object that can be used to refer to it
      boolean forwardsCompatibleModeIsEnabled()
      Determine whether forwards-compatible mode is enabled
      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.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)
      Get a fingerprint for a name, using this as the context for namespace resolution
      int getLineNumber()
      Get the line number of the expression within its containing entity Returns -1 if no line number is available
      Function getStyleSheetFunction​(int fingerprint)  
      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
      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 code 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)
      Create a context for parsing XPath expressions at runtime, using this styelsheet element for namespace declarations, variables, etc, but using the runtime NamePool
      java.lang.String toString()
      String representation for diagnostics
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Constructor Detail

      • ExpressionContext

        public ExpressionContext​(StyleElement styleElement)
    • Method Detail

      • makeRuntimeContext

        public StaticContext makeRuntimeContext​(NamePool pool)
        Create a context for parsing XPath expressions at runtime, using this styelsheet element for namespace declarations, variables, etc, but using the runtime NamePool
        Specified by:
        makeRuntimeContext 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
        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 int getFingerprint​(java.lang.String qname,
                                  boolean useDefault)
                           throws XPathException
        Get a fingerprint for a name, using this 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
      • bindVariable

        public Binding bindVariable​(int fingerprint)
                             throws XPathException
        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 Binding object that can be used to identify it in the Bindery
        Throws:
        XPathException - if the variable has not been declared
      • getExternalJavaClass

        public java.lang.Class getExternalJavaClass​(java.lang.String uri)
                                             throws javax.xml.transform.TransformerException
        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.
        Throws:
        javax.xml.transform.TransformerException - if the class is found, but cannot be loaded.
      • 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
      • toString

        public java.lang.String toString()
        String representation for diagnostics
        Overrides:
        toString in class java.lang.Object