Saxon API for .NET

XQueryCompiler.Compile Method (Stream)

Compile a query supplied as a Stream.

public XQueryExecutable Compile(
   Stream query
);

Parameters

query
A stream containing the source text of the query

Return Value

An XQueryExecutable which represents the compiled query object. The XQueryExecutable may be run as many times as required, in the same or a different thread. The XQueryExecutable is not affected by any changes made to the XQueryCompiler once it has been compiled.

Remarks

The XQuery processor attempts to deduce the encoding of the query by looking for a byte-order-mark, or if none is present, by looking for the encoding declaration in the XQuery version declaration. For this to work, the stream must have the CanSeek property. If no encoding information is present, UTF-8 is assumed.

The base URI of the query is set to the value of the BaseUri property. If this has not been set, then the base URI will be undefined, which means that any use of an expression that depends on the base URI will cause an error.

Exceptions

Exception TypeCondition
StaticErrorThrows a StaticError if errors were detected during static analysis of the query. Details of the errors will be added as StaticError objects to the ErrorList if supplied; otherwise they will be written to the standard error stream. The exception that is returned is merely a summary indicating the status.

Example

            XQueryExecutable q = compiler.Compile(new FileStream("input.xq", FileMode.Open, FileAccess.Read));
            

See Also

XQueryCompiler Class | Saxon.Api Namespace | XQueryCompiler.Compile Overload List