Configuration features
This page provides a complete list of the configuration features available.
The properties are identified by a symbolic name and a URI value defined in the Java module Feature. The table below describes the effect for each property.
Name Command line option | Description |
ALLOWED_PROTOCOLS | http://saxon.sf.net/feature/allowedProtocols The value is a comma-separated list of permitted protocols. A protocol is the
scheme portion of a URI, or in the case of the JAR protocol, "jar"
plus the scheme portion separated by colon. The value "all" gives access
to all protocols (which is the default). The value "" (empty string) disallows
all external resource access. (The format is thus the same as for
The value constrains access by Saxon (but not by underlying software, such as the XML parser) to resources including the following:
The constraint applies to the URI used to request
the resource; the constraint is applied by the standard URI resolvers, but if
user-supplied resolvers are used (such as a The constraint applies to URIs used as locations or location hints, not to URIs used as names. So for XSD it applies to a schemaLocation, not a targetNamespace; for XQuery it applies to module location hints, not to module URIs. In the case of XSLT packages, resolution from a package name to a location is always under user/application control, so Saxon imposes no restrictions. The format is the same as for |
ALLOW_EXTERNAL_FUNCTIONS -ext | http://saxon.sf.net/feature/allow-external-functions ALLOW_EXTERNAL_FUNCTIONS has rather wider effect than the name might suggest. It controls whether stylesheets are able to access external resources in the server environment. More specifically, if set to false it disallows all of the following:
The default value is true. The setting false is recommended in an environment where untrusted stylesheets may be executed. This option does not disable use of the Note that integrated extension functions are trusted; calls to such functions are allowed even if this configuration option is false. In cases where an integrated extension function is used to load and execute untrusted code, it should check this configuration option before doing so. If the value of the property is false, then it will also be set to false on any new
Configuration created using the |
ALLOW_MULTITHREADING | http://saxon.sf.net/feature/allow-multithreading ALLOW_MULTITHREADING determines whether multi-threading is allowed. If true (the default), the presence of the attribute Setting the value to false also disables asynchronous processing of
The default value is true if Saxon-EE is in use, false otherwise. |
ALLOW_OLD_JAVA_URI_FORMAT | http://saxon.sf.net/feature/allow-old-java-uri-format ALLOW_OLD_JAVA_URI_FORMAT determines whether extension function calls to dynamically-loaded Java extension functions may use the URI format supported in older Saxon releases. If the value is false (the default), the only URI format accepted is (for example) "java:java.util.Date" - that is, a URI consisting of the string "java:" followed by the Java qualified class name of the class containing the implementation of the extension function. If the value is true, then in addition to this format, the following are accepted: (a) the Java class name on its own ("java.util.Date"), and (b) any URI in which the Java class name follows the last "/" character (for example "http://my.com/extensions/java.util.Date"). This last format was originally provided for compatibility with xt and xalan, but it causes problems because it leads to unnecessary attempts to load spurious classes when the user did not intend the URI to represent a dynamically-loaded Java class. |
ALLOW_SYNTAX_EXTENSIONS | http://saxon.sf.net/feature/allowSyntaxExtensions This flag must be set to enable use of extensions to XPath, XQuery and XSLT syntax that go beyond what is allowed by the extensibility mechanisms in the spec. In some cases these extensions are experimental and may not be carried forward to future Saxon releases. Syntax extensions in Saxon 10 include the use of type aliases ( |
ALLOW_UNRESOLVED_SCHEMA_COMPONENTS | http://saxon.sf.net/feature/allowUnresolvedSchemaComponents The W3C XSD specification (both 1.0 and 1.1) states that an unresolved reference to an absent schema component does not automatically make the schema invalid; the schema should be usable for validation provided that the missing components are not actually needed in a particular validation episode. However, the W3C XSD conformance tests treat such an unresolved reference as an error; the test is expected to report the schema as invalid. And this is the way most schema processors actually operate, and probably what most users would expect. By default, the Saxon schema processor reports an unresolved reference as an error in the schema. If this option is set, then Saxon attempts to repair the schema so that
it is usable for validation, by substituting the missing components with default
components: for example if an attribute declaration refers to a type that has
not been defined, then |
ASSERTIONS_CAN_SEE_COMMENTS | http://saxon.sf.net/feature/assertionsCanSeeComments ASSERTIONS_CAN_SEE_COMMENTS determines whether comment and processing instructions in a document being validated are visible to assertions in an XSD 1.1 schema. If the value is false (the default), comments and processing instructions are stripped from the view of the document that is made visible to the XPath expression that implements the assertion. If this creates adjacent text nodes, they are collapsed into a single text node. If the value is true, then comments and processing instructions are visible to the XPath assertion. |
COLLATION_URI_RESOLVER | http://saxon.sf.net/feature/collation-uri-resolver The supplied |
COLLATION_URI_RESOLVER_CLASS | http://saxon.sf.net/feature/collation-uri-resolver-class The supplied class is instantiated and the resulting instance is used as the value of the Feature#COLLATION_URI_RESOLVER property. |
COLLECTION_FINDER | http://saxon.sf.net/feature/collection-finder The supplied If the argument is not specified then a default |
COLLECTION_FINDER_CLASS -cf | http://saxon.sf.net/feature/collection-finder-class The supplied class is instantiated and the resulting instance is used as the value of the Feature#COLLECTION_FINDER property. |
COMPILE_WITH_TRACING automatically set when -T is present | http://saxon.sf.net/feature/compile-with-tracing If run-time tracing of stylesheet or query execution is required, then the code must be compiled with tracing enabled. Default is false. This option causes code to be
compiled that makes calls to a TraceListener, but this
has no effect unless a |
CONFIGURATION | http://saxon.sf.net/feature/configuration This attribute cannot be set on the Configuration itself,
but it can be set on various JAXP factory objects such as a
Note that other configuration options are held in the |
CONFIGURATION_FILE -config:filename | http://saxon.sf.net/feature/configuration-file Defines a configuration file to be applied to the configuration. This attribute cannot be set on the Configuration itself, but it can be
set on various JAXP factory objects such as a
|
DEBUG_BYTE_CODE | http://saxon.sf.net/feature/debugByteCode Obsolete and ignored from Saxon 12.0. |
DEBUG_BYTE_CODE_DIR | http://saxon.sf.net/feature/debugByteCodeDir Obsolete and ignored from Saxon 12.0. |
DEFAULT_COLLATION | http://saxon.sf.net/feature/defaultCollation This option determines the collation that is used for comparing strings when no explicit collation is requested. It is not necessary for this collation to exist (or to have been registered) when setting this option; it only needs to exist by the time it is used. In XSLT it is possible to override this setting using the
If no value is specified, the Unicode codepoint collation is used. |
DEFAULT_COLLECTION | http://saxon.sf.net/feature/defaultCollection This determines the collection that is used when the |
DEFAULT_COUNTRY | http://saxon.sf.net/feature/defaultCountry This determines the country that is used by |
DEFAULT_LANGUAGE | http://saxon.sf.net/feature/defaultLanguage This option determines the language that is used by |
DEFAULT_REGEX_ENGINE | http://saxon.sf.net/feature/defaultRegexEngine Determines which regular expression engine should be used for evaluating regular expressions occuring in constructs
such as On the Java platform the permitted values are "S" (default), and "J". The value "J" selects the regex engine provided in the JDK in preference to the Saxon regular expression engine. This means that regular expressions must follow the Java syntax and semantics rather than the XPath syntax and semantics. On the .NET platform the permitted values are "S" (default), "J", and "N". The value "J" selects the regex engine provided in the IKVMC run-time, which is derived from OpenJDK. The value "N" selects the regex engine provided in the Microsoft .NET platform. In each case, the regular expression must follow the syntax and semantics of the selected regex engine. The choice of regular expression may be overridden in a particular invocation by appending the value ";s", ";j", or ";n" to the flags argument of the relevant call. (This does not apply to XSD patterns, where no flags argument is available) Use of this feature is not conformant with W3C specifications. Use of the setting "N", however, can be useful when schemas have been written with the Microsoft schema processor in mind, since this uses the Microsoft regular expression dialect rather than the W3C dialect. |
DISABLE_XSL_EVALUATE | http://saxon.sf.net/feature/disableXslEvaluate This option disables the If set at stylesheet compile time, the feature is statically disabled. If set at run-time it is dynamically disabled. (These terms are defined in the XSLT 3.0 spec.) By default, the feature is enabled. The XSLT 3.0 specification requires conformant processors to provide a way of
disabling |
DISPLAY_BYTE_CODE | http://saxon.sf.net/feature/displayByteCode Obsolete and ignored from Saxon 12.0. |
DTD_VALIDATION -dtd:(on|off|recover) | http://saxon.sf.net/feature/validation If true, the XML parser is requested to perform validation of source documents against their DTD. Default is false. This option establishes a default for use whenever source documents (not stylesheets
or schema documents) are parsed. The option can be overridden for individual
documents by setting the ParseOptions for that
individual document, for example from a |
DTD_VALIDATION_RECOVERABLE -dtd:(on|off|recover) | http://saxon.sf.net/feature/dtd-validation-recoverable This option determines whether DTD validation failures should be treated as recoverable. If the option is set, a validation failure is reported as a warning rather than an error. The default is false. This option establishes a default for use whenever source documents (not stylesheets
or schema documents) are parsed. The option can be overridden for individual
documents by setting the ParseOptions for that
individual document, for example from a |
EAGER_EVALUATION | http://saxon.sf.net/feature/eagerEvaluation Forces Saxon to do eager evaluation of expressions in contexts where normally it would do lazy evaluation, for example when evaluating variables and function results. This can make for easier debugging. Note that this only applies to situations where Saxon would normally save a |
ENTITY_RESOLVER_CLASS | http://saxon.sf.net/feature/entityResolverClass The supplied class is instantiated and the resulting By default Saxon uses an The property can be set to a zero-length string, which resets the property to its default setting. |
ENVIRONMENT_VARIABLE_RESOLVER | http://saxon.sf.net/feature/environmentVariableResolver Setting the The environment variable resolver is used when the XPath functions
|
ENVIRONMENT_VARIABLE_RESOLVER_CLASS | http://saxon.sf.net/feature/environmentVariableResolverClass Setting The environment variable resolver is used when the XPath functions
|
ERROR_LISTENER_CLASS | http://saxon.sf.net/feature/errorListenerClass
Currently if this option is specified, the class is instantiated, and the same instance is used for all processes running under this configuration. This may change in future so that a new instance is created for each compilation or evaluation. Finer control can be obtained by setting the |
EXPAND_ATTRIBUTE_DEFAULTS -expand:(on|off) | http://saxon.sf.net/feature/expandAttributeDefaults
By default (and for conformance with the specification) validation against a DTD or schema will cause default values defined in the schema or DTD to be inserted into the document. Setting this feature to false suppresses this behavior. In the case of DTD-defined defaults this only works if the XML parser reports whether each attribute was specified in the source or generated by expanding a default value. Not all XML parsers report this information. |
EXPATH_FILE_DELETE_TEMPORARY_FILES -expathFileDeleteTemporaryFiles:(on|off) | http://saxon.sf.net/feature/expathFileDeleteTemporaryFiles
The default value is false, to align with the standard. The setting false is recommended when external 'sweep-up' features aren't available. |
GENERATE_BYTE_CODE --generateByteCode:(on|off) | http://saxon.sf.net/feature/generateByteCode Obsolete and ignored from Saxon 12.0. |
IGNORE_SAX_SOURCE_PARSER | http://saxon.sf.net/feature/ignoreSAXSourceParser If this option is set to true, then when a The defining use case for this feature is when calling a Saxon transformation from
Ant. Ant always supplies the source document as a |
IMPLICIT_SCHEMA_IMPORTS | http://saxon.sf.net/feature/implicitSchemaImports
This only works if the referenced components are already present among the schema components known to the configuration, perhaps because they were part of a different schema, or because there are cyclic references within a schema. This option is not conformant with the XSD specification, which requires explicit |
LAZY_CONSTRUCTION_MODE | http://saxon.sf.net/feature/lazyConstructionMode Obsolete and ignored from Saxon 9.8. |
LICENSE_FILE_LOCATION | http://saxon.sf.net/feature/licenseFileLocation
This is the full file name, for example |
LINE_NUMBERING -l:(on|off) | http://saxon.sf.net/feature/linenumbering Default is false. If true, line and column number information is retained for all
source documents. This information is accessible using the
Note that the information is only as good as the XML parser supplies. SAX parsers generally report the position of an element node using the line and column number of the ">" character that forms the last character of the start tag. When this option is set, location information attached to a node (system ID, line number, and column number) is retained when the node is copied. This has the side effect that the base URI of a node is also copied, which in some cases runs contrary to the XSLT or XQuery specification. |
MARK_DEFAULTED_ATTRIBUTES | http://saxon.sf.net/feature/markDefaultedAttributes Setting the Note: information about defaulted attributes is retained automatically where the attribute is processed using Saxon's schema processor; but in the case where the information comes from an external XML parser, it is retained only if this option is set. |
MAX_COMPILED_CLASSES | http://saxon.sf.net/feature/maxCompiledClasses Obsolete and ignored from Saxon 12.0. |
MESSAGE_EMITTER_CLASS | http://saxon.sf.net/feature/messageEmitterClass From Saxon 11.1, this option has no effect. |
MODULE_URI_RESOLVER -mr:classname | http://saxon.sf.net/feature/moduleURIResolver Affects XQuery only. An instance of a user-written class implementing Saxon's
ModuleURIResolver interface. This is used to
process any URIs used in |
MODULE_URI_RESOLVER_CLASS -mr:classname | http://saxon.sf.net/feature/moduleURIResolverClass Affects XQuery only. The name of a user-written class implementing Saxon's
ModuleURIResolver interface. This is used to
process any URIs used in |
MONITOR_HOT_SPOT_BYTE_CODE -TB | http://saxon.sf.net/feature/monitorHotSpotByteCode Obsolete and ignored from Saxon 12.0. |
MULTIPLE_SCHEMA_IMPORTS | http://saxon.sf.net/feature/multipleSchemaImports Affects schema construction (whether for standalone validation, or in the context of XSLT or XQuery). If set to true, the schema processor attempts to fetch a schema
document appearing in an Note: Both settings are conformant with the W3C recommendation, which leaves the
details implementation-defined. It is possible (and advisable) to write schemas in
such a way that this setting makes no difference, by ensuring that all imports for a
particular namespace go via a "home" schema document for that namespace, where the
home schema document contains |
NAME_POOL | http://saxon.sf.net/feature/namePool Indicates that the supplied Normally a single system-allocated This option can be used to make two |
OCCURRENCE_LIMITS -limits:min,max | http://saxon.sf.net/feature/occurrenceLimits
These limits do not apply in the common cases where the grammar can be
implemented using a counting finite-state-machine, but in those cases where this is
not possible, any Setting these values too high may cause an |
OPTIMIZATION_LEVEL -opt:[-]flags | http://saxon.sf.net/feature/optimizationLevel Allows individual optimizations to be enabled or disabled selectively. There is a set of single-letter flags identifying particular optimizations:
A value such as Note that disabling optimizations may prevent streamed execution. This is because there are cases where streamed execution is only possible because the optimizer is able to detect that sorting nodes into document order is unnecessary. |
OUTPUT_URI_RESOLVER | http://saxon.sf.net/feature/outputURIResolver The supplied |
OUTPUT_URI_RESOLVER_CLASS -or:classname | http://saxon.sf.net/feature/outputURIResolverClass The supplied class will be instantiated, and the resulting
|
PRE_EVALUATE_DOC_FUNCTION | http://saxon.sf.net/feature/preEvaluateDocFunction If true, calls on the This is useful for reference documents that have stable content and are used by many different queries and transformations. The default is false, which means each query or transformation will reload the document from disk. In XSLT 3.0 a better way of having external documents pre-loaded at stylesheet compile time is to use the new facility of static global variables. This feature should not be enabled when stylesheets are exported to a SEF file, since embedded source documents within a SEF file cannot always be accurately reconstructed. When URIs are pre-evaluated, neither the |
RECOGNIZE_URI_QUERY_PARAMETERS | http://saxon.sf.net/feature/recognize-uri-query-parameters True if the The allowed parameters are: |
RECOVERY_POLICY -warnings:(silent|recover|fatal) | http://saxon.sf.net/feature/recoveryPolicy At one time this property controlled how recoverable errors were handled (fatal error, warning, or ignored). XSLT 3.0 has eliminated all recoverable errors from the specification, so the property is deprecated from Saxon 10.0. |
RECOVERY_POLICY_NAME -warnings:(silent|recover|fatal) | http://saxon.sf.net/feature/recoveryPolicyName At one time this property controlled how recoverable errors were handled (fatal error, warning, or ignored). XSLT 3.0 has eliminated all recoverable errors from the specification, so the property is deprecated from Saxon 10.0. |
REGEX_BACKTRACKING_LIMIT | http://saxon.sf.net/feature/regexBacktrackingLimit This property sets a limit on the amount of backtracking performed during regular expression evaluation. The default is 10000000 (ten million) which typically represents an evaluation time of about ten seconds. After this time, evaluation of the regular expression will fail rather than making further attempts to find a match. If this limit is reached, it often suggests that there might be a better way of writing the regular expression. The value can be set to -1 (minus one) to mean "unlimited". Excessive backtracking is usually caused by nested loops in the regular expression, combined with processing
of long input strings. Try to ensure that when nested loops are used, there is an unambiguous condition that causes
the inner loop to terminate. For example |
RESOURCE_RESOLVER | http://saxon.sf.net/feature/saxon-resource-resolver The supplied implementation of |
RESOURCE_RESOLVER_CLASS | http://saxon.sf.net/feature/saxon-resource-resolver-class The supplied class is instantiated and the resulting instance is used as the value of the Feature#RESOURCE_RESOLVER property. |
RESULT_DOCUMENT_THREADS | http://saxon.sf.net/feature/resultDocumentThreads Indicates the maximum number of threads to be used for processing
The default value is initialized to
The limit applies per Setting a value of zero or one suppresses multithreading entirely. This can also be
achieved (for a specific |
RETAIN_DTD_ATTRIBUTE_TYPES | http://saxon.sf.net/feature/retain-dtd-attribute-types If set to true, indicates that when input is obtained from a SAX parser, the DTD-based attribute type notified by the XML parser should be used to set the type annotation of the resulting node: for example a DTD type of NMTOKENS results in a type annotation of xs:NMTOKENS. This option is retained for backwards compatibility (at some time in the past, it was the default), but is deprecated. |
RETAIN_NODE_FOR_DIAGNOSTICS | http://saxon.sf.net/feature/retainNodeForDiagnostics By default, Saxon attempts to ensure that the run-time code contains no links to the original source stylesheet tree. This allows the garbage collector to free memory. If this option is set, then This setting can also be useful to get improved location information for compile-time errors in cases where reliable line numbers are not available for the source stylesheet. This might happen, for example, if the source stylesheet is preprocessed before compilation, or if it is retrieved from an XML database. Links to source nodes are not retained in an exported SEF file, regardless of this setting. |
SCHEMA_URI_RESOLVER | http://saxon.sf.net/feature/schemaURIResolver The supplied |
SCHEMA_URI_RESOLVER_CLASS | http://saxon.sf.net/feature/schemaURIResolverClass The name of a class that implements the interface |
SCHEMA_VALIDATION -val:(strict|lax|strip|preserve) | http://saxon.sf.net/feature/schema-validation Indicates whether and how schema validation should be applied to source documents. |
SCHEMA_VALIDATION_MODE -val:(strict|lax|strip|preserve) | http://saxon.sf.net/feature/schema-validation-mode Indicates whether and how schema validation should be applied to source documents. |
SERIALIZER_FACTORY_CLASS | http://saxon.sf.net/feature/serializerFactoryClass The class will be instantiated and the resulting By subclassing the standard |
SOURCE_PARSER_CLASS -x:classname | http://saxon.sf.net/feature/sourceParserClass XML parser used for source documents. If the property is set to Otherwise, the requested class will be instantiated. If it is an Note that the selected parser is used only when the input is supplied in the form of
a |
SOURCE_RESOLVER_CLASS | http://saxon.sf.net/feature/sourceResolverClass On interfaces that allow an |
STABLE_COLLECTION_URI | http://saxon.sf.net/feature/stableCollectionUri
Setting this option may be expensive because it requires that the entire collection be saved in memory; it is rarely necessary in practice, but is required for strict conformance with the W3C specifications. It is also possible to indicate that a collection is stable by means of the
|
STABLE_UNPARSED_TEXT | http://saxon.sf.net/feature/stableUnparsedText
Setting this option may be expensive because it requires that the file contents be saved in memory; it is rarely necessary in practice, but is required for strict conformance with the W3C specifications. |
STANDARD_ERROR_OUTPUT_FILE | http://saxon.sf.net/feature/standardErrorOutputFile
Note that if the |
STREAMABILITY | http://saxon.sf.net/feature/streamability The In earlier Saxon releases a third value "extended" was supported, to enable Saxon streaming extensions. Since nearly all these extensions found their way into the W3C specification, the distinction between "standard" and "extended" became meaningless, so the value "extended" has been dropped. The value "off" causes Saxon to behave as a non-streaming processor; that is, it does not analyze constructs that are declared streamable, and it processes them as if streaming were not requested. This is the only option available when using a Saxon version or license that does not enable streaming. The value "standard" is a misnomer. For strict adherence to W3C streamability rules,
set the property Whichever option is chosen, the |
STREAMING_FALLBACK | http://saxon.sf.net/feature/streamingFallback If the |
STRICT_STREAMABILITY | http://saxon.sf.net/feature/strictStreamability Causes the XSLT processor to verify that constructs that are declared streamable are in fact "guaranteed streamable" according to the W3C rules. Normally, Saxon performs a variety of simplifications and optimizations on the
expression tree before performing streamability analysis. Sometimes these tree
rewrites will turn a non-streamable expression into a streamable one. An obvious
example is variable inlining: the expression The XSLT 3.0 specification requires conformant streaming processors to have a mode of operation in which the streamability rules are enforced as they appear in the spec, and this option enables this mode. This analysis is expensive, and should only be used during development when testing stylesheet code for portability. When this mode is enabled, Saxon applies the streamability rules at the earliest possible stage of processing; it then performs its normal type checking and optimization phases, before doing a second stage of streamability analysis to construct a streamed execution plan. |
STRIP_WHITESPACE -strip:(all|none|ignorable) | http://saxon.sf.net/feature/strip-whitespace Indicates whether all whitespace, no whitespace, or whitespace in elements defined in a DTD or schema as having element-only content should be stripped from source documents. The default is "ignorable". This whitespace stripping is additional to
any stripping done as a result of the |
STYLE_PARSER_CLASS -y:classname | http://saxon.sf.net/feature/styleParserClass XML parser used for stylesheets and schema documents. If the property is set to Otherwise, the requested class will be instantiated. If it is an |
SUPPRESS_EVALUATION_EXPIRY_WARNING | http://saxon.sf.net/feature/suppressEvaluationExpiryWarning This is set to true to suppress the warning otherwise issued by command-line interfaces indicating that an evaluation license is in use and is due to expire in a set number of days. |
SUPPRESS_XPATH_WARNINGS | http://saxon.sf.net/feature/suppressXPathWarnings Suppresses all warnings issued by the XPath and XQuery parsers. Examples of warnings that are suppressed are the warning produced when keywords such
as |
SUPPRESS_XSLT_NAMESPACE_CHECK | http://saxon.sf.net/feature/suppressXsltNamespaceCheck This is set to true to suppress the warning when there is no commonality between the namespaces used in stylesheet match patterns and the namespaces used in the source document. |
THRESHOLD_FOR_COMPILING_TYPES | http://saxon.sf.net/feature/thresholdForCompilingTypes Obsolete and ignored from Saxon 12.0. |
THRESHOLD_FOR_FUNCTION_INLINING | http://saxon.sf.net/feature/thresholdForFunctionInlining Saxon-EE performs inlining of user-defined functions that are sufficiently simple: they must not be recursive, and they must be below a certain size. This option defines the size. The value is (roughly) the number of nodes in the expression tree representing the function body. This includes both explicit subexpressions, and subexpressions added by Saxon itself to perform implicit operations such as type checking or conversion of function arguments. The default value is 100. |
THRESHOLD_FOR_HOTSPOT_BYTE_CODE | http://saxon.sf.net/feature/thresholdForHotspotByteCode Obsolete and ignored from Saxon 12.0. |
TIMING -t | http://saxon.sf.net/feature/timing This is set to true to cause basic timing and tracing information to be output to the standard error output stream. The name of the feature is poorly chosen, since much
of the information that is output has nothing to do with timing, for example the
names of output files for |
TRACE_EXTERNAL_FUNCTIONS -TJ | http://saxon.sf.net/feature/trace-external-functions If this option is set, Saxon will output (to the standard error output) progress information about its attempts to locate and disambiguate references to reflexive Java extension functions. This is useful for diagnostics if the XQuery or XSLT compiler is failing to locate user-written extension functions. |
TRACE_LISTENER -TL:classname | http://saxon.sf.net/feature/traceListener The Setting a Avoid this option if more than one transformation or query is running concurrently:
use the feature Feature#TRACE_LISTENER_CLASS
instead. Alternatively, it is possible to set a |
TRACE_LISTENER_CLASS -TL:classname | http://saxon.sf.net/feature/traceListenerClass The class will be instantiated once for each query or transformation, and the
resulting Setting a |
TRACE_LISTENER_OUTPUT_FILE | http://saxon.sf.net/feature/traceListenerOutputFile When trace listening is switched on (for example by using -T on the command line), this file will be supplied to the trace listener to use as the output destination. If the option is not supplied, trace listener output is sent to the standard error stream. |
TRACE_OPTIMIZER_DECISIONS -explain | http://saxon.sf.net/feature/trace-optimizer-decisions If this option is set, Saxon will output (to the standard error output) detailed information about the rewrites to the expression tree made by the optimizer. This information is mainly useful for internal system debugging, but it is also possible to digest it to analyze the ways in which the expression has been optimized for the purpose of performance analysis and tuning. |
TREE_MODEL -tree:(linked|tiny|tinyc) | http://saxon.sf.net/feature/treeModel Selects an implementation of the Saxon tree model. The default is
For running XQuery Update, use the linked tree, because it is the only implementation that is updateable. |
TREE_MODEL_NAME -tree:(linked|tiny|tinyc) | http://saxon.sf.net/feature/treeModelName Selects an implementation of the Saxon tree model. The default is
For running XQuery Update, use the linked tree, because it is the only implementation that is updateable. |
UNPARSED_TEXT_URI_RESOLVER | http://saxon.sf.net/feature/unparsedTextURIResolver The supplied |
UNPARSED_TEXT_URI_RESOLVER_CLASS | http://saxon.sf.net/feature/unparsedTextURIResolverClass An instance of the specified |
URI_RESOLVER_CLASS -r:classname | http://saxon.sf.net/feature/uriResolverClass An instance of the specified |
USE_PI_DISABLE_OUTPUT_ESCAPING | http://saxon.sf.net/feature/use-pi-disable-output-escaping This option determines whether a |
USE_TYPED_VALUE_CACHE | http://saxon.sf.net/feature/use-typed-value-cache This option is relevant only when the TinyTree is used; it determines whether (for a validated document) a cache will be maintained containing the typed values of nodes. Typed values are held in the cache only for elements and attributes whose type is other than string, untypedAtomic, or anyURI. The default value is true. Setting this value to false can reduce memory requirements at the cost of requiring recomputation of typed values on each access. |
USE_XSI_SCHEMA_LOCATION -xsiloc:(on|off) | http://saxon.sf.net/feature/useXsiSchemaLocation This option determines whether or not to use the Note, these attribute are only consulted if validation is requested; the presence of one of these attributes never by itself triggers validation. |
VALIDATION_COMMENTS -outval:recover | http://saxon.sf.net/feature/validation-comments This option determines whether non-fatal validation errors in XQuery or XSLT result
documents should result in comments being inserted into the result tree. The
command-line flag |
VALIDATION_WARNINGS -outval:recover | http://saxon.sf.net/feature/validation-warnings This option indicates (if true) that errors occuring while validating a final result tree are not to be treated as fatal. Regardless of the setting of this option, all validation errors are reported to the
This option primarily controls what happens at the end of a validation episode. If the validation episode detected one or more validation errors, then when this option is off, an exception is thrown, which will normally result in any query or stylesheet failing with a dynamic error, and no output file being written. If the option is on, no exception is thrown, and the output is written as if validation had been successful. Note in this case that any type annotations present in a result document are unreliable. If this option is set when running XSLT or XQuery, it is ignored as far as input files are concerned: validation errors in input files are still fatal. However, if the option is set and a validation error occurs in a final output file, the output file is still written and the process terminates as if successful. The detailed interpretation of this option changed in Saxon 9.5. |
VERSION_WARNING -versmsg:(on|off) | http://saxon.sf.net/feature/version-warning Indicates whether a warning message should be notified (to the
From Saxon 9.8, the warning is no longer output (since XSLT 3.0 does not require it), so this option is ignored. |
XINCLUDE -xi:(on|off) | http://saxon.sf.net/feature/xinclude-aware Indicates whether XML documents should have any XInclude directives expanded. The default is false. This option relies on support in the underlying XML parser. If the XML parser does not support XInclude processing, setting this option results in a parsing failure. The effect of the option is to set a flag to request XInclude expansion in the
default parse options held at Configuration level. These options are used on most occasions
that an XML document is parsed (including parsing of XSD schema documents), but with one
notable exception: XSLT stylesheet documents. XInclude directives are never expanded in
stylesheet modules, except of course when they are processed using APIs (such as the
|
XML_PARSER_FEATURE | http://saxon.sf.net/feature/parserFeature?uri= Sets the value of a parser feature flag. The feature name is any fully-qualified URI. For example if the parser supports a feature
|
XML_PARSER_PROPERTY | http://saxon.sf.net/feature/parserProperty?uri= Sets the value of a parser property flag. The property name is any fully-qualified URI. For example if the parser supports a property
|
XML_VERSION -xmlversion:(1.0|1.1) | http://saxon.sf.net/feature/xml-version This determines the XML version used by the Note that source documents specifying The default is 1.0. SaxonCS uses the |
XPATH_VERSION_FOR_XSD | http://saxon.sf.net/feature/xpathVersionForXsd The XSD 1.1 specification states that XPath version 2.0 is used for expressions appearing in assertions and type alternatives. This option allows XPath 3.0 or 3.1 to be used instead. The recognized values are the integers 20, 30, and 31 representing versions 2.0, 3.0, and 3.1 respectively. |
XPATH_VERSION_FOR_XSLT | http://saxon.sf.net/feature/xpathVersionForXslt The XSLT 3.0 specification states that processors are required to support XPath 3.0 expressions within stylesheets, together with some extensions (maps) selected from the XPath 3.1 specification. Support for the full syntax of XPath 3.1 is optional, but it is the default in Saxon. This option allows a different XPath language level to be selected. The integer values 20, 30, and 31 denote XPath 2.0, 3.0, and 3.1 respectively, while the value 305 denotes XPath 3.0 with the extensions defined in the XSLT 3.0 specification. |
XQUERY_ALLOW_UPDATE -update:(on|off|discard) | http://saxon.sf.net/feature/xqueryAllowUpdate Determines whether XQuery Update syntax is accepted. If true, update syntax is accepted, if false, it is not accepted. Setting the value to true does not mean that the query has to use update syntax, only that it may do so. From Saxon 9.6, XQuery Update syntax and XQuery 3.0 syntax can be mixed, although this combination is not defined by any W3C specification at the time of writing. This option can be set for a particular XQuery compilation. When the option is set at
the On the command line, this option is combined with the option "discard" which indicates that updates are allowed, but the updates are not written back to filestore. This does not correspond to any option in the Java API, where writing an updated document back to filestore only happens if explicitly requested. |
XQUERY_CONSTRUCTION_MODE | http://saxon.sf.net/feature/xqueryConstructionMode This option defines the default value of the construction mode in the XQuery static context (overridable in the query prolog). This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_DEFAULT_ELEMENT_NAMESPACE | http://saxon.sf.net/feature/xqueryDefaultElementNamespace This property defines the default namespace for elements and types that are not qualified by a namespace prefix. This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_DEFAULT_FUNCTION_NAMESPACE | http://saxon.sf.net/feature/xqueryDefaultFunctionNamespace This property defines the default namespace for function names that are not qualified by a namespace prefix. This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_EMPTY_LEAST | http://saxon.sf.net/feature/xqueryEmptyLeast This property defines how the empty sequence is handled in XQuery sorting (the "order
by" clause). If true, This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_INHERIT_NAMESPACES | http://saxon.sf.net/feature/xqueryInheritNamespaces This property defines the default value of the This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_MULTIPLE_MODULE_IMPORTS | http://saxon.sf.net/feature/xqueryMultipleModuleImports If the value is false, then when an |
XQUERY_PRESERVE_BOUNDARY_SPACE | http://saxon.sf.net/feature/xqueryPreserveBoundarySpace This property defines whether "boundary space" (insignificant space in direct element constructors) should be retained or not. This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_PRESERVE_NAMESPACES | http://saxon.sf.net/feature/xqueryPreserveNamespaces This property defines whether unused namespace declarations are retained by XQuery element copy operations. This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_REQUIRED_CONTEXT_ITEM_TYPE | http://saxon.sf.net/feature/xqueryRequiredContextItemType This property defines the default expected context item type for a query. This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_SCHEMA_AWARE | http://saxon.sf.net/feature/xquerySchemaAware A query will automatically be schema-aware if it contains an This option can be set for a particular XQuery compilation. When the option is set at
the |
XQUERY_STATIC_ERROR_LISTENER_CLASS | http://saxon.sf.net/feature/xqueryStaticErrorListenerClass The specified class is instantiated to create an This option can be set for a particular XQuery compilation. When the option is set at
the In the absence of this property, the global |
XQUERY_VERSION | http://saxon.sf.net/feature/xqueryVersion This property determines the version of XQuery used by the
Indicates the version of XQuery syntax that is accepted. From Saxon 9.8, an XQuery 3.1 processor is always used by default. So setting this property to a value less than 3.1 is no longer allowed. The value "4.0" enables experimental syntax extensions that are under discussion in the XML community, and subject to change. |
XSD_VERSION | http://saxon.sf.net/feature/xsd-version This property determines the version of XML Schema used by the
From Saxon 9.8, the default is XSD 1.1. If XSD 1.0 is selected, XSD 1.1 features will be rejected, with the exception of the version control attributes that allow sections of the schema to be marked as requiring XSD 1.0 or XSD 1.1. |
XSLT_ENABLE_ASSERTIONS -ea | http://saxon.sf.net/feature/enableAssertions This property indicates whether assertions (XSLT 3.0 xsl:assert instructions) are enabled or disabled. They are disabled by default. Setting this property on causes assertions to be enabled at compile time for all XSLT packages compiled using the default configuration options. This option can be set for a particular XSLT compilation. When the option is set at
the If assertions have been enabled at compile time for a particular package, they can
still be disabled at run-time (for all packages) by setting an option on the
|
XSLT_INITIAL_MODE -im:mode-name | http://saxon.sf.net/feature/initialMode This property indicates the name of a mode within a stylesheet in which execution (using template rules) should begin. This option can be set for a particular XSLT transformation. When the option is set
at the |
XSLT_INITIAL_TEMPLATE -it:template-name | http://saxon.sf.net/feature/initialTemplate This property indicates the name of a named template within a stylesheet where execution should begin. This option can be set for a particular XSLT transformation. When the option is set
at the Specifically, if the transformation is performed using the This configuration option is ignored when using an |
XSLT_SCHEMA_AWARE | http://saxon.sf.net/feature/xsltSchemaAware This property indicates whether stylesheets should be compiled with the ability to
handle schema-typed input documents. By default a stylesheet is compiled to handle
such input if it contains an This option can be set for a particular XSLT compilation. When the option is set at
the |
XSLT_STATIC_ERROR_LISTENER_CLASS | http://saxon.sf.net/feature/stylesheetErrorListener The specified class is instantiated to create an This option can be set for a particular XSLT compilation. When the option is set at
the In the absence of this property, the global |
XSLT_STATIC_URI_RESOLVER_CLASS -r:classname | http://saxon.sf.net/feature/stylesheetURIResolver This property defines a This option can be set for a particular XSLT compilation. When the option is set at
the In the absence of this property, the global |
XSLT_VERSION | http://saxon.sf.net/feature/xsltVersion This property determines the version of XSLT to be supported by default. From Saxon 9.8, an XSLT 3.0 processor is always used by default. So setting this property to a value less than 3.0 has no effect. The value 4.0 enables experimental syntax extensions, under discussion in the XML community, which are subject to change. |
ZIP_URI_PATTERN | http://saxon.sf.net/feature/zipUriPattern The value of this property is a regular expression used to decide whether a collection URI is to be treated as representing a ZIP file. The default pattern is "^jar:|\.jar$|\.zip$\.docx$\.xlsx$" which matches a URI that starts with "jar:" or that ends with ".jar", ".zip", ".docx", or ".xlsx". This is used by the standard Collection Finder and may not be relevant if a custom Collection Finder is in use. If the absolutized URI passed to the |