net.sf.saxon.query
Class QueryProcessor

java.lang.Object
  extended bynet.sf.saxon.query.QueryProcessor

Deprecated. since Saxon 8.1: use methods on the StaticQueryContext directly

public class QueryProcessor
extends java.lang.Object

A QueryProcessor allows the compilation of XQuery queries for subsequent execution. Compilation consists of parsing, static analysis, optimization, and creation of an internal representation of the query for subsequent evaluation.

The compilation of a query takes context information from a static context, which is represented by a StaticQueryContext object. This provides the necessary information about collations, base URI, etc.

This class is retained for backwards compatibility, but there is no longer any need for applications to use it directly, since all its methods are available directly from the StaticQueryContext object.


Constructor Summary
QueryProcessor(StaticQueryContext env)
          Deprecated. since Saxon 8.1: use methods on the StaticQueryContext directly
 
Method Summary
 DocumentInfo buildDocument(javax.xml.transform.Source source)
          Deprecated. Convenience method for building Saxon's internal representation of a source XML document.
 XQueryExpression compileQuery(java.io.Reader source)
          Deprecated. Prepare an XQuery query for subsequent evaluation.
 XQueryExpression compileQuery(java.lang.String query)
          Deprecated. Prepare an XQuery query for subsequent evaluation.
 Configuration getConfiguration()
          Deprecated. Get the configuration used by this QueryProcessor
 StaticQueryContext getStaticContext()
          Deprecated. Get the current static context
 void setConfiguration(Configuration config)
          Deprecated. Set the configuration.
 void setStaticContext(StaticQueryContext context)
          Deprecated. Set the static context for compiling XQuery expressions.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

QueryProcessor

public QueryProcessor(StaticQueryContext env)
Deprecated. since Saxon 8.1: use methods on the StaticQueryContext directly

Default constructor.

Parameters:
env - the static context for queries. Note that a StaticQueryContext object may be initialized with context information that the query can use, but it is also modified when a query is compiled against it: for example, namespaces, variables, and functions declared in the query prolog are registered in the static context. Therefore, it is not a good idea to use a StaticQueryContext object to compile more than one query.
Method Detail

buildDocument

public DocumentInfo buildDocument(javax.xml.transform.Source source)
                           throws XPathException
Deprecated. 
Convenience method for building Saxon's internal representation of a source XML document. The document will be built using the default NamePool, which means that any process that uses it must also use the default NamePool.

Parameters:
source - Any javax.xml.transform.Source object representing the document against which queries will be executed. Note that a Saxon DocumentInfo (indeed any NodeInfo) can be used as a Source. To use a third-party DOM Document as a source, create an instance of DOMSource to wrap it.

For additional control over the way in which the source document is processed, supply an AugmentedSource object and set appropriate options on the object.

Returns:
the DocumentInfo representing the root node of the resulting document object.
Throws:
XPathException

setStaticContext

public void setStaticContext(StaticQueryContext context)
Deprecated. 
Set the static context for compiling XQuery expressions. This provides control over the environment in which the query is compiled, for example it allows namespace prefixes to be declared, variables to be bound and functions to be defined. For most purposes, the static context can be defined by providing and tailoring an instance of the StandaloneContext class. Until this method is called, a default query context is used, in which no namespaces are defined other than the standard ones (xml, xslt, and saxon), and no variables or functions (other than the core XPath functions) are available.


getStaticContext

public StaticQueryContext getStaticContext()
Deprecated. 
Get the current static context


setConfiguration

public void setConfiguration(Configuration config)
Deprecated. 
Set the configuration. The configuration contains parameters that affect the way the query is compiled and executed.


getConfiguration

public Configuration getConfiguration()
Deprecated. 
Get the configuration used by this QueryProcessor


compileQuery

public XQueryExpression compileQuery(java.lang.String query)
                              throws XPathException
Deprecated. 
Prepare an XQuery query for subsequent evaluation. The source text of the query is supplied as a String. The base URI of the query is taken from the static context, and defaults to the current working directory.

Parameters:
query - The XQuery query to be evaluated, supplied as a string.
Returns:
an XQueryExpression object representing the prepared expression
Throws:
XPathException - if the syntax of the expression is wrong, or if it references namespaces, variables, or functions that have not been declared, or contains other static errors.

compileQuery

public XQueryExpression compileQuery(java.io.Reader source)
                              throws XPathException,
                                     java.io.IOException
Deprecated. 
Prepare an XQuery query for subsequent evaluation. The Query is supplied in the form of a Reader. The base URI of the query is taken from the static context, and defaults to the current working directory.

Parameters:
source - A Reader giving access to the text of the XQuery query to be compiled.
Returns:
an XPathExpression object representing the prepared expression.
Throws:
XPathException - if the syntax of the expression is wrong, or if it references namespaces, variables, or functions that have not been declared, or any other static error is reported.
java.io.IOException - if a failure occurs reading the supplied input.