This section does not apply to code generated with the -servlet
option.
The generated Java code has a main() method allowing it to be run directly from the command line. This is not the most efficient way of running a query, because of the overhead of starting up the Java runtime; but it is useful when testing, or to execute a long-running "batch" query.
The query is run in the same way as any other Java program:
java query-class [options] [keyword=value]...
Note that the classpath must include saxon9sa.jar
as well as the directory in which
the Saxon-EE license file is installed.
The options available on the command line are as follows:
Option |
Meaning |
-s source-file |
XML source file to be assigned to the initial context node |
-t |
Display timing, version, and progress information |
-o output-file |
File to hold the serialized output of the query |
-val |
Apply strict schema validation to input files. |
-vlax |
Apply lax schema validation to input files |
A keyword=value pair is used to supply the value of an external variable defined in the
query prolog. If the variable name is in a namespace, the keyword should use Clark notation, that
is "{uri}localname". The value is interpreted as an untypedAtomic value, and will be converted
to the required type of the variable using the function conversion rules (for example if the
variable start
is declared as an integer, then the value can be supplied in the form
start=42
).
The notation +keyword=filename
can be used to initialize an external variable to
hold the document node of an XML document identified by the given filename.
The notation !keyword=value
can be used to set serialization parameters. For example
!indent=yes
causes the output to be indented.
Note that there is no option on the command line to load additional schema documents. Schema
components that are needed during query execution must be derived either from schema documents that
were imported into the query at compile time, or must be referenced using xsi:schemaLocation
in a source document.