Class 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 Description
      StandaloneContext()
      Create a StandaloneContext using the default NamePool
      StandaloneContext​(NamePool pool)
      Create a StandaloneContext using a specific NamePool
    • 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 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
      • 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
      • 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
      • 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.
      • 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