## net.sf.saxon.xqj
Class SaxonXQExpression

    java.lang.Object
      net.sf.saxon.xqj.Closable
          net.sf.saxon.xqj.SaxonXQDynamicContext
              net.sf.saxon.xqj.SaxonXQExpression

All Implemented Interfaces:
  javax.xml.xquery.XQDynamicContext, javax.xml.xquery.XQExpression

    public class SaxonXQExpression

extends SaxonXQDynamicContext
implements javax.xml.xquery.XQExpression

Saxon implementation of the XQJ XQExpression interface

Field Summary

Fields inherited from class net.sf.saxon.xqj.SaxonXQDynamicContext
`connection`

Method Summary
`void` `cancel()` Attempts to cancel the execution if both the XQuery engine and XQJ driver support aborting the execution of an `XQExpression`.
`void` `executeCommand(java.io.Reader command)` Executes an implementation-defined command.
`void` `executeCommand(java.lang.String command)` Executes an implementation-defined command.
`javax.xml.xquery.XQResultSequence` `executeQuery(java.io.InputStream query)` Executes a query expression.
`javax.xml.xquery.XQResultSequence` `executeQuery(java.io.Reader query)` Executes a query expression.
`javax.xml.xquery.XQResultSequence` `executeQuery(java.lang.String query)` Executes a query expression.
`protected boolean` `externalVariableExists(javax.xml.namespace.QName name)`
`protected SaxonXQDataFactory` `getDataFactory()`
`protected DynamicQueryContext` `getDynamicContext()`
`javax.xml.xquery.XQStaticContext` `getStaticContext()` Gets an `XQStaticContext` representing the values for all expression properties.

Methods inherited from class net.sf.saxon.xqj.SaxonXQDynamicContext
`bindAtomicValue, bindBoolean, bindByte, bindDocument, bindDocument, bindDocument, bindDocument, bindDocument, bindDocument, bindDouble, bindFloat, bindInt, bindItem, bindLong, bindNode, bindObject, bindSequence, bindShort, bindString, getConfiguration, getImplicitTimeZone, setImplicitTimeZone`

Methods inherited from class net.sf.saxon.xqj.Closable
`close, isClosed, setClosableContainer`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Methods inherited from interface javax.xml.xquery.XQExpression
`close, isClosed`

Methods inherited from interface javax.xml.xquery.XQDynamicContext
`bindAtomicValue, bindBoolean, bindByte, bindDocument, bindDocument, bindDocument, bindDocument, bindDocument, bindDocument, bindDouble, bindFloat, bindInt, bindItem, bindLong, bindNode, bindObject, bindSequence, bindShort, bindString, getImplicitTimeZone, setImplicitTimeZone`

Method Detail

### getDynamicContext

    protected DynamicQueryContext getDynamicContext()

  Specified by:
    `getDynamicContext` in class `SaxonXQDynamicContext`

### getDataFactory

    protected SaxonXQDataFactory getDataFactory()
                                         throws javax.xml.xquery.XQException

  Specified by:
    `getDataFactory` in class `SaxonXQDynamicContext`
  Throws:
    `javax.xml.xquery.XQException`

### cancel

    public void cancel()
                throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Attempts to cancel the execution if both the XQuery engine and XQJ driver support aborting the execution of an `XQExpression`. This method can be used by one thread to cancel an `XQExpression`, that is being executed in another thread. If cancellation is not supported or the attempt to cancel the execution was not successful, the method returns without any error. If the cancellation is successful, an `XQException` is thrown, to indicate that it has been aborted, by `executeQuery`, `executeCommand` or any method accessing the `XQResultSequence` returned by `executeQuery`. If applicable, any open `XQResultSequence` and `XQResultItem` objects will also be implicitly closed in this case.

  Specified by:
    `cancel` in interface `javax.xml.xquery.XQExpression`
  Throws:
    `javax.xml.xquery.XQException` - if the expression is in a closed state

### executeCommand

    public void executeCommand(java.io.Reader command)
                        throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Executes an implementation-defined command. Calling this method implicitly closes any previous result sequence obtained from this expression.

  Specified by:
    `executeCommand` in interface `javax.xml.xquery.XQExpression`
  Parameters:
    `command` - the input command as a string reader
  Throws:
    `javax.xml.xquery.XQException` - if (1) there are errors when executing the command, (2) the expression is in a closed state, or (3) the execution is cancelled

### executeCommand

    public void executeCommand(java.lang.String command)
                        throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Executes an implementation-defined command. Calling this method implicitly closes any previous result sequence obtained from this expression.

  Specified by:
    `executeCommand` in interface `javax.xml.xquery.XQExpression`
  Parameters:
    `command` - the input command as a string
  Throws:
    `javax.xml.xquery.XQException` - if (1) there are errors when executing the command, or (2) the expression is in a closed state

### executeQuery

    public javax.xml.xquery.XQResultSequence executeQuery(java.io.InputStream query)
                                                   throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Executes a query expression. This implicitly closes any previous result sequences obtained from this expression. If the query specifies a version declaration including an encoding, the XQJ implementation may try use this information to parse the query. In absence of the version declaration, the assumed encoding is implementation dependent.

  Specified by:
    `executeQuery` in interface `javax.xml.xquery.XQExpression`
  Parameters:
    `query` - the input query expression as a input stream object. Cannot be `null`
  Returns:
    an `XQResultSequence` containing the result of the query execution
  Throws:
    `javax.xml.xquery.XQException` - if (1) there are errors when executing the query, (2) the expression is in a closed state, (3) the execution is cancelled, or (4) the xquery parameter is `null`

### executeQuery

    public javax.xml.xquery.XQResultSequence executeQuery(java.io.Reader query)
                                                   throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Executes a query expression. This implicitly closes any previous result sequences obtained from this expression.

  Specified by:
    `executeQuery` in interface `javax.xml.xquery.XQExpression`
  Parameters:
    `query` - the input query expression as a reader object. Cannot be `null`
  Returns:
    an `XQResultSequence` object containing the result of the query execution
  Throws:
    `javax.xml.xquery.XQException` - if (1) there are errors when executing the query, (2) the expression is in a closed state, (3) the execution is cancelled, or (4) the query parameter is `null`

### executeQuery

    public javax.xml.xquery.XQResultSequence executeQuery(java.lang.String query)
                                                   throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Executes a query expression. This implicitly closes any previous result sequences obtained from this expression.

  Specified by:
    `executeQuery` in interface `javax.xml.xquery.XQExpression`
  Parameters:
    `query` - the input query expression string. Cannot be `null`
  Returns:
    an `XQResultSequence` object containing the result of the query execution
  Throws:
    `javax.xml.xquery.XQException` - if (1) there are errors when executing the query, (2) the expression is in a closed state, (3) the execution is cancelled, (4) the query parameter is `null`

### getStaticContext

    public javax.xml.xquery.XQStaticContext getStaticContext()
                                                      throws javax.xml.xquery.XQException

  Description copied from interface: `javax.xml.xquery.XQExpression`
  Gets an `XQStaticContext` representing the values for all expression properties. Note that these properties cannot be changed; in order to change, a new `XQExpression` needs to be created.

  Specified by:
    `getStaticContext` in interface `javax.xml.xquery.XQExpression`
  Returns:
    an `XQStaticContext` representing the values for all expression properties
  Throws:
    `javax.xml.xquery.XQException` - if the expression is in a closed state

### externalVariableExists

    protected boolean externalVariableExists(javax.xml.namespace.QName name)

  Specified by:
    `externalVariableExists` in class `SaxonXQDynamicContext`

Copyright (c) Saxonica Limited. All rights reserved.