This section does not apply to code generated with the -servlet
option.
When a query is compiled, as well as having a main
method allowing invocation from the
operating system command line, it will also have a run()
method allowing invocation from
a Java application. This takes two parameters: a JAXP Result
object to define the destination
of the query output, and an outputProperties
value to define serialization properties.
A query compiled in this way is not thread-safe. A new instance of the generated class should be created in each thread. Within a thread, the object is serially reusable.
Parameters to the query may be supplied using the method setExternalVariable
. This accepts the
name of the variable in Clark notation ({uri}local), and the value as an instance of Saxon's
ValueRepresentation
class. Most commonly this will be a StringValue
, an Int64Value
,
or a BooleanValue
.