Class SaxonXQStaticContext

  • All Implemented Interfaces:
    XQStaticContext

    public class SaxonXQStaticContext
    extends java.lang.Object
    implements XQStaticContext
    Saxon implementation of the XQJ XQStaticContext interface
    • Constructor Detail

      • SaxonXQStaticContext

        public SaxonXQStaticContext​(Configuration config)
        Create a SaxonXQStaticContext object, the Saxon implementation of XQStaticContext in XQJ
        Parameters:
        config - the Saxon configuration
      • SaxonXQStaticContext

        public SaxonXQStaticContext​(SaxonXQStaticContext sc)
        Create a SaxonXQStaticContext object as a copy of another SaxonXQStaticContext object
        Parameters:
        sc - the static context to be copied
    • Method Detail

      • getSaxonStaticQueryContext

        protected StaticQueryContext getSaxonStaticQueryContext()
        Get a new Saxon StaticQueryContext object holding the information held in this XQStaticContext
        Returns:
        a newly constructed StaticQueryContext object
      • declareNamespace

        public void declareNamespace​(java.lang.String prefix,
                                     java.lang.String uri)
                              throws XQException
        Description copied from interface: XQStaticContext
        Declares a namespace prefix and associates it with a namespace URI. If the namespace URI is the empty string, the prefix is removed from the in-scope namespace definitions.
        Specified by:
        declareNamespace in interface XQStaticContext
        Parameters:
        prefix - the prefix for the namespace URI
        uri - the namespace URI. An empty string undeclares the specific prefix. Cannot be null
        Throws:
        XQException - if (1) a null prefix, or (2) a null namespace URI is specified
      • getBaseURI

        public java.lang.String getBaseURI()
        Description copied from interface: XQStaticContext
        Gets the Base URI, if set in the static context, else the empty string.
        Specified by:
        getBaseURI in interface XQStaticContext
        Returns:
        the base URI, if set, else the empty string. Cannot be null..
      • getBindingMode

        public int getBindingMode()
        Description copied from interface: XQStaticContext
        Gets the value of the binding mode property. By default an XQJ implementation operates in immediate binding mode.
        Specified by:
        getBindingMode in interface XQStaticContext
        Returns:
        the binding mode. One of XQConstants.BINDING_MODE_IMMEDIATE, orXQConstants.BINDING_MODE_DEFERRED.
      • getBoundarySpacePolicy

        public int getBoundarySpacePolicy()
        Description copied from interface: XQStaticContext
        Gets the boundary-space policy defined in the static context.
        Specified by:
        getBoundarySpacePolicy in interface XQStaticContext
        Returns:
        the boundary-space policy value. One of: XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP.
      • getConstructionMode

        public int getConstructionMode()
        Description copied from interface: XQStaticContext
        Gets the construction mode defined in the static context.
        Specified by:
        getConstructionMode in interface XQStaticContext
        Returns:
        construction mode value. One of: XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP
      • getContextItemStaticType

        public XQItemType getContextItemStaticType()
        Description copied from interface: XQStaticContext
        Gets the static type of the context item. null if unspecified.
        Specified by:
        getContextItemStaticType in interface XQStaticContext
        Returns:
        the static type of the context item, if set, else null
      • getCopyNamespacesModeInherit

        public int getCopyNamespacesModeInherit()
        Description copied from interface: XQStaticContext
        Gets the inherit part of the copy-namespaces mode defined in the static context.
        Specified by:
        getCopyNamespacesModeInherit in interface XQStaticContext
        Returns:
        construction mode value. One of: XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT.
      • getCopyNamespacesModePreserve

        public int getCopyNamespacesModePreserve()
        Description copied from interface: XQStaticContext
        Gets the preserve part of the copy-namespaces mode defined in the static context.
        Specified by:
        getCopyNamespacesModePreserve in interface XQStaticContext
        Returns:
        construction mode value. One of: XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE.
      • getDefaultCollation

        public java.lang.String getDefaultCollation()
        Description copied from interface: XQStaticContext
        Gets the URI of the default collation.
        Specified by:
        getDefaultCollation in interface XQStaticContext
        Returns:
        the URI of the default collation. Cannot be null.
      • getDefaultElementTypeNamespace

        public java.lang.String getDefaultElementTypeNamespace()
        Description copied from interface: XQStaticContext
        Gets the URI of the default element/type namespace, the empty string if not set.
        Specified by:
        getDefaultElementTypeNamespace in interface XQStaticContext
        Returns:
        the URI of the default element/type namespace, if set, else the empty string. Cannot be null
      • getDefaultFunctionNamespace

        public java.lang.String getDefaultFunctionNamespace()
        Description copied from interface: XQStaticContext
        Gets the URI of the default function namespace, the empty string if not set.
        Specified by:
        getDefaultFunctionNamespace in interface XQStaticContext
        Returns:
        the URI of the default function namespace, if set, else the empty string. Cannot be null
      • getDefaultOrderForEmptySequences

        public int getDefaultOrderForEmptySequences()
        Description copied from interface: XQStaticContext
        Gets the default order for empty sequences defined in the static context.
        Specified by:
        getDefaultOrderForEmptySequences in interface XQStaticContext
        Returns:
        default order for empty sequences value. One of: XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST.
      • getNamespacePrefixes

        public java.lang.String[] getNamespacePrefixes()
        Description copied from interface: XQStaticContext
        Returns the prefixes of all the statically known namespaces. Use the getNamespaceURI method to look up the namespace URI corresponding to a specific prefix.
        Specified by:
        getNamespacePrefixes in interface XQStaticContext
        Returns:
        String array containing the namespace prefixes. Cannot be null
      • getNamespaceURI

        public java.lang.String getNamespaceURI​(java.lang.String prefix)
                                         throws XQException
        Description copied from interface: XQStaticContext
        Retrieves the namespace URI associated with a prefix. An XQException is thrown if an unknown prefix is specified, i.e. a prefix not returned by the getInScopeNamespacePrefixes method.
        Specified by:
        getNamespaceURI in interface XQStaticContext
        Parameters:
        prefix - the prefix for which the namespace URI is sought. Cannot be null
        Returns:
        the namespace URI. Cannot be null
        Throws:
        XQException - if a null prefix is specified or if the prefix is unknown
      • getOrderingMode

        public int getOrderingMode()
        Description copied from interface: XQStaticContext
        Gets the ordering mode defined in the static context.
        Specified by:
        getOrderingMode in interface XQStaticContext
        Returns:
        ordering mode value. One of: XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED.
      • getHoldability

        public int getHoldability()
        Description copied from interface: XQStaticContext
        Gets the value of the holdability property.
        Specified by:
        getHoldability in interface XQStaticContext
        Returns:
        the type of a result's holdability. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT.
      • getQueryLanguageTypeAndVersion

        public int getQueryLanguageTypeAndVersion()
        Description copied from interface: XQStaticContext
        Gets the value of the language type and version property. By default an XQJ implementation's default is XQConstants.LANGTYPE_XQUERY.
        Specified by:
        getQueryLanguageTypeAndVersion in interface XQStaticContext
        Returns:
        the language type and version. One of: XQConstants.LANGTYPE_XQUERY, or XQConstants.LANGTYPE_XQUERYX or a negative value indicating a vendor specific query language type and version.
      • getQueryTimeout

        public int getQueryTimeout()
        Description copied from interface: XQStaticContext
        Retrieves the number of seconds an implementation will wait for a query to execute.
        Specified by:
        getQueryTimeout in interface XQStaticContext
        Returns:
        the query execution timeout value in seconds. A value of 0 indicates no limit.
      • getScrollability

        public int getScrollability()
        Description copied from interface: XQStaticContext
        Gets the value of the scrollability property. By default query results are forward only.
        Specified by:
        getScrollability in interface XQStaticContext
        Returns:
        the type of a result's scrollability. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.
      • setBaseURI

        public void setBaseURI​(java.lang.String baseUri)
                        throws XQException
        Description copied from interface: XQStaticContext
        Sets the Base URI in the static context, specify the empty string to make it undefined.
        Specified by:
        setBaseURI in interface XQStaticContext
        Parameters:
        baseUri - the new baseUri, or empty string to make it undefined. Cannot be null.
        Throws:
        XQException - if a null base uri is specified
      • setBindingMode

        public void setBindingMode​(int bindingMode)
                            throws XQException
        Description copied from interface: XQStaticContext
        Sets the binding mode property. By default an XQJ implementation operates in immediate binding mode.
        Specified by:
        setBindingMode in interface XQStaticContext
        Parameters:
        bindingMode - the binding mode. One of: XQConstants.BINDING_MODE_IMMEDIATE, orXQConstants.BINDING_MODE_DEFERRED.
        Throws:
        XQException - the specified mode is different from XQConstants.BINDING_MODE_IMMEDIATE, XQConstants.BINDING_MODE_DEFERRED
      • setBoundarySpacePolicy

        public void setBoundarySpacePolicy​(int policy)
                                    throws XQException
        Description copied from interface: XQStaticContext
        Sets the boundary-space policy in the static context.
        Specified by:
        setBoundarySpacePolicy in interface XQStaticContext
        Parameters:
        policy - boundary space policy. One of: XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP.
        Throws:
        XQException - the specified mode is different from XQConstants.BOUNDARY_SPACE_PRESERVE, XQConstants.BOUNDARY_SPACE_STRIP
      • setConstructionMode

        public void setConstructionMode​(int mode)
                                 throws XQException
        Description copied from interface: XQStaticContext
        Sets the construction mode in the static context.
        Specified by:
        setConstructionMode in interface XQStaticContext
        Parameters:
        mode - construction mode value. One of: XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP.
        Throws:
        XQException - the specified mode is different from XQConstants.CONSTRUCTION_MODE_PRESERVE, XQConstants.CONSTRUCTION_MODE_STRIP
      • setContextItemStaticType

        public void setContextItemStaticType​(XQItemType contextItemType)
        Description copied from interface: XQStaticContext
        Sets the static type of the context item, specify null to make it unspecified.
        Specified by:
        setContextItemStaticType in interface XQStaticContext
        Parameters:
        contextItemType - the static type of the context item; null if unspecified.
      • setCopyNamespacesModeInherit

        public void setCopyNamespacesModeInherit​(int mode)
                                          throws XQException
        Description copied from interface: XQStaticContext
        Sets the inherit part of the copy-namespaces mode in the static context.
        Specified by:
        setCopyNamespacesModeInherit in interface XQStaticContext
        Parameters:
        mode - ordering mode value. One of: XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT.
        Throws:
        XQException - the specified mode is different from XQConstants.COPY_NAMESPACES_MODE_INHERIT, XQConstants.COPY_NAMESPACES_MODE_NO_INHERIT
      • setCopyNamespacesModePreserve

        public void setCopyNamespacesModePreserve​(int mode)
                                           throws XQException
        Description copied from interface: XQStaticContext
        Sets the preserve part of the copy-namespaces mode in the static context.
        Specified by:
        setCopyNamespacesModePreserve in interface XQStaticContext
        Parameters:
        mode - ordering mode value. One of: XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE.
        Throws:
        XQException - the specified mode is different from XQConstants.COPY_NAMESPACES_MODE_PRESERVE, XQConstants.COPY_NAMESPACES_MODE_NO_PRESERVE
      • setDefaultCollation

        public void setDefaultCollation​(java.lang.String uri)
                                 throws XQException
        Description copied from interface: XQStaticContext
        Sets the URI of the default collation.
        Specified by:
        setDefaultCollation in interface XQStaticContext
        Parameters:
        uri - the namespace URI of the default collation. Cannot be null.
        Throws:
        XQException - if a null URI is specified
      • setDefaultElementTypeNamespace

        public void setDefaultElementTypeNamespace​(java.lang.String uri)
                                            throws XQException
        Description copied from interface: XQStaticContext
        Sets the URI of the default element/type namespace, the empty string to make it unspecified.
        Specified by:
        setDefaultElementTypeNamespace in interface XQStaticContext
        Parameters:
        uri - the namespace URI of the default element/type namespace, the empty string to make it unspecified. Cannot be null.
        Throws:
        XQException - if a null uri is specified
      • setDefaultFunctionNamespace

        public void setDefaultFunctionNamespace​(java.lang.String uri)
                                         throws XQException
        Description copied from interface: XQStaticContext
        Sets the URI of the default function namespace, the empty string to make it unspecified.
        Specified by:
        setDefaultFunctionNamespace in interface XQStaticContext
        Parameters:
        uri - the namespace URI of the default function namespace, the empty string to make it unspecified. Cannot be null.
        Throws:
        XQException - if a null URI is specified
      • setDefaultOrderForEmptySequences

        public void setDefaultOrderForEmptySequences​(int order)
                                              throws XQException
        Description copied from interface: XQStaticContext
        Sets the default order for empty sequences in the static context.
        Specified by:
        setDefaultOrderForEmptySequences in interface XQStaticContext
        Parameters:
        order - the default order for empty sequences. One of: XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST.
        Throws:
        XQException - the specified order for empty sequences is different from XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_GREATEST, XQConstants.DEFAULT_ORDER_FOR_EMPTY_SEQUENCES_LEAST
      • setOrderingMode

        public void setOrderingMode​(int mode)
                             throws XQException
        Description copied from interface: XQStaticContext
        Sets the ordering mode in the static context.
        Specified by:
        setOrderingMode in interface XQStaticContext
        Parameters:
        mode - ordering mode value. One of: XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED.
        Throws:
        XQException - the specified mode is different from XQConstants.ORDERING_MODE_ORDERED, XQConstants.ORDERING_MODE_UNORDERED
      • setQueryTimeout

        public void setQueryTimeout​(int seconds)
                             throws XQException
        Description copied from interface: XQStaticContext
        Sets the number of seconds an implementation will wait for a query to execute. If the implementation does not support query timeout it can ignore the specified timeout value. It the limit is exceeded, the behavor of the query is the same as an execution of a cancel by another thread.
        Specified by:
        setQueryTimeout in interface XQStaticContext
        Parameters:
        seconds - the query execution timeout value in seconds. A value of 0 indicates no limit
        Throws:
        XQException - if the passed in value is negative
      • setHoldability

        public void setHoldability​(int holdability)
                            throws XQException
        Description copied from interface: XQStaticContext
        Sets the holdability property.
        Specified by:
        setHoldability in interface XQStaticContext
        Parameters:
        holdability - the holdability of the result. One of: XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, or XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT.
        Throws:
        XQException - the specified holdability is different from XQConstants.HOLDTYPE_HOLD_CURSORS_OVER_COMMIT, XQConstants.HOLDTYPE_CLOSE_CURSORS_AT_COMMIT
      • setQueryLanguageTypeAndVersion

        public void setQueryLanguageTypeAndVersion​(int langtype)
                                            throws XQException
        Description copied from interface: XQStaticContext
        Sets the input query language type and version. When this is set to a particular language type and version, then the query is assumed to be in that language and version.
        Specified by:
        setQueryLanguageTypeAndVersion in interface XQStaticContext
        Parameters:
        langtype - the query language type and version of the inputs. One of: XQConstants.LANGTYPE_XQUERY (default), or XQConstants.LANGTYPE_XQUERYX. A negative number indicates a vendor specific query language type and version.
        Throws:
        XQException - the specified langtype is different from XQConstants.LANGTYPE_XQUERY, XQConstants.LANGTYPE_XQUERYX and is not negative
      • setScrollability

        public void setScrollability​(int scrollability)
                              throws XQException
        Description copied from interface: XQStaticContext
        Sets the scrollability of the result sequence. By default query results are forward only.
        Specified by:
        setScrollability in interface XQStaticContext
        Parameters:
        scrollability - the scrollability of the result. One of: XQConstants.SCROLLTYPE_FORWARD_ONLY, or XQConstants.SCROLLTYPE_SCROLLABLE.
        Throws:
        XQException - the specified crollability type is different from XQConstants.SCROLLTYPE_FORWARD_ONLY, XQConstants.SCROLLTYPE_SCROLLABLE