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 FeatureKeys
.
The table below gives summary information for each property, together with a link to the Javadoc, where more complete information is held.
Name and URI |
Description |
Command line option |
http://saxon.sf.net/feature/allow-external-functions |
ALLOW_EXTERNAL_FUNCTIONS determines whether calls to reflexive external functions are allowed. 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. |
-ext |
http://saxon.sf.net/feature/allow-multithreading |
ALLOW_MULTITHREADING determines whether multi-threading is allowed. If true (the default), the presence of the attribute The default value is true if Saxon-EE is in use, false otherwise. |
|
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. |
|
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. |
|
http://saxon.sf.net/feature/collation-uri-resolver |
The supplied |
|
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 |
|
http://saxon.sf.net/feature/collection-uri-resolver |
The supplied |
|
http://saxon.sf.net/feature/collection-uri-resolver-class |
The supplied class is instantiated and the resulting instance is used as the value of
the |
-cr |
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 |
automatically set when -T is present |
http://saxon.sf.net/feature/configuration |
This attribute cannot be set on the |
|
http://saxon.sf.net/feature/configuration-file |
Defines a configuration file to be applied to the configuration. This attribute cannot
be set on the <factory name="net.sf.saxon.TransformerFactoryImpl"> <attribute name="http://saxon.sf.net/feature/configuration-file" value="c:/saxon/config.xml"/> </factory> |
-config:filename |
http://saxon.sf.net/feature/debugByteCode |
This option is set to indicate that bytecode generation should be run in debugging mode. This will be used only during Saxon product development; the setting should not be enabled by users (and may not work in the released product). |
|
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. |
|
http://saxon.sf.net/feature/defaultCollection |
This determines the collection that is used when the |
|
http://saxon.sf.net/feature/defaultCountry |
This determines the country that is used by |
|
http://saxon.sf.net/feature/defaultLanguage |
This option determines the language that is used by |
|
http://saxon.sf.net/feature/displayByteCode |
This option is set to indicate that bytecode generation should be run in display mode. This will be used only during Saxon product development; the setting should not be enabled by users (and may not work in the released product). |
|
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 |
-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 |
-dtd:(on|off|recover) |
http://saxon.sf.net/feature/entityResolverClass |
The supplied class is instantiated and the resulting EntityResolver is used whenever Saxon itself creates an XMLReader for parsing source documents. It is not used with a user-supplied XMLReader. The default value is The property can be set to a zero-length string, in which case no EntityResolver will be used. |
|
http://saxon.sf.net/feature/errorListenerClass |
ERROR_LISTENER_CLASS is the name of the class used to implement the JAXP
Finer control can be obtained by setting the |
|
http://saxon.sf.net/feature/expandAttributeDefaults |
EXPAND_ATTRIBUTE_DEFAULTS determines whether fixed and default values defined in a schema or DTD will be expanded (both on input and on output documents, if validation is requested). 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. |
-expand:(on|off) |
http://saxon.sf.net/feature/generateByteCode |
By default, Saxon-EE attempts to generate Java bytecode for evaluation of parts of a query or stylesheet that are amenable to such treatment. Setting this option to false disables this. |
can be switched off using -generateByteCode:no |
http://saxon.sf.net/feature/lazyConstructionMode |
LAZY_CONSTRUCTION_MODE determines whether temporary trees are constructed * lazily. The default setting is false; there are a few situations (but not many) where setting this * to true can give a performance benefit (especially a memory saving). The option is most likely to be effective when executing XQuery in "pull" mode, that is, when the client calls the query processor to deliver the result as a stream of nodes, rather than running the query and piping the results into a serializer. |
|
http://saxon.sf.net/feature/licenseFileLocation |
LICENSE_FILE_LOCATION holds the filename in which the Saxon license file is held. This is the full file name, for example "c:/saxon/license/license.lic". Setting this property causes Saxon to immediately read the specified file and register the license data, assuming it can be found at this location. The property is not recognized for reading, and it is not recognized for writing except in Saxon-PE and Saxon-EE. |
|
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. |
-l:(on|off) |
http://saxon.sf.net/feature/messageEmitterClass |
Use the specified Receiver to process the output from By default the standard XML emitter is used, configured to write to the standard error stream, and to include no XML declaration. In general the content of a message is an XML fragment. Each message is output as a
new document. The sequence of calls to this Receiver is as follows: there is a
single The Select the class |
-m:classname |
http://saxon.sf.net/feature/moduleURIResolver |
Affects XQuery only. An instance of a user-written class implementing Saxon's
|
-mr:classname |
http://saxon.sf.net/feature/moduleURIResolverClass |
Affects XQuery only. The name of a user-written class implementing Saxon's
|
-mr:classname |
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 always attempts to fetch a schema document appearing
in an |
|
http://saxon.sf.net/feature/namePool |
Indicates that the supplied |
|
http://saxon.sf.net/feature/occurrenceLimits |
OCCURRENCE_LIMITS determines the largest values of |
-limits:min,max |
http://saxon.sf.net/feature/optimizationLevel |
A string whose value is an integer in the range 0 (no optimization) to 10 (full optimization); currently all values other than 0 result in full optimization but this is likely to change in future. The default is full optimization; this feature allows optimization to be suppressed in cases where reducing compile time is important, or where optimization gets in the way of debugging, or causes extension functions with side-effects to behave unpredictably. (Note however, that even with no optimization, lazy evaluation may still cause the evaluation order to be not as expected.) |
-opt:integer |
http://saxon.sf.net/feature/outputURIResolver |
The supplied |
|
http://saxon.sf.net/feature/outputURIResolverClass |
The supplied class will be instantiated, and the resulting
|
-or:classname |
http://saxon.sf.net/feature/preEvaluateDocFunction |
If true, calls on the |
|
http://saxon.sf.net/feature/preferJaxpParser |
This option has no effect on the Java platform. The default is true. When
running on the .NET platform, if the option is true it causes the Apache Xerces
parser (cross-compiled using IKVMC) to be used in preference to the .NET XML parser.
If false the .NET XML parser ( |
|
http://saxon.sf.net/feature/recognize-uri-query-parameters |
True if the the standard URI resolver is to recognize query parameters included in
the URI (for example, This option has no effect if a user-supplied Allowed parameters include |
|
http://saxon.sf.net/feature/recoveryPolicy |
An Integer, one of |
-warnings:(silent|recover|fatal) |
http://saxon.sf.net/feature/recoveryPolicyName |
Indicates the policy for handling dynamic errors that the XSLT specification defines
as recoverable. "recoverSilently" means recover silently; "recoverWithWarnings"
means recover after signalling a warning to the |
-warnings:(silent|recover|fatal) |
http://saxon.sf.net/feature/schemaURIResolver |
The supplied |
|
http://saxon.sf.net/feature/schemaURIResolverClass |
The name of a class that implements the interface |
|
http://saxon.sf.net/feature/schema-validation |
Indicates whether and how schema validation should be applied to source documents. |
-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. |
-val:(strict|lax|strip|preserve) |
http://saxon.sf.net/feature/serializerFactoryClass |
The class will be instantiated and the resulting |
|
http://saxon.sf.net/feature/sourceParserClass |
The class will be instantiated and the resulting |
-x:classname |
http://saxon.sf.net/feature/sourceResolverClass |
On interfaces that allow a |
|
http://saxon.sf.net/feature/standardErrorOutputFile |
STANDARD_ERROR_OUTPUT_FILE is the name of a file to which Saxon will redirect output that would otherwise go to the operating system standard error stream (System.err). This is the fallback destination for various tracing and diagnostic output. In some cases a more specific mechanism exists to select the destination for particular kinds of output. Note that this property is write-only, and cannot be set from the configuration file. |
|
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 |
-strip:(all|none|ignorable) |
http://saxon.sf.net/feature/sourceParserClass |
The class will be instantiated, and the resulting |
-y:classname |
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. |
|
http://saxon.sf.net/feature/timing |
This is set to true to cause basic timing and tracing information is 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 |
-t |
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. |
-TJ |
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. |
-explain |
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 |
-TL:classname |
http://saxon.sf.net/feature/traceListenerClass |
The class will be instantiated once for each query or transformation, and the
resulting Setting a |
-TL:classname |
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:(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. |
-tree:(linked|tiny|tinyc) |
http://saxon.sf.net/feature/uriResolverClass |
An instance of the specified |
-r:classname |
http://saxon.sf.net/feature/use-pi-disable-output-escaping |
This option determines whether a |
|
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. |
|
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. |
-xsiloc:(on|off) |
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 |
-outval:recover |
http://saxon.sf.net/feature/validation-warnings |
This option indicates (if true) that errors occuring while validating a final result tree are to be treated as warnings rather than fatal errors. Although the XSLT and XQuery specifications state that validation errors are fatal, this switch can be useful during debugging because it enables the invalid output to be inspected. |
-outval:recover |
http://saxon.sf.net/feature/version-warning |
Indicates whether a warning message should be notified (to the
|
-versmsg:(on|off) |
http://saxon.sf.net/feature/xinclude-aware |
Indicates whether source documents should have any XInclude directives expanded. The
default is false. The option applies to all input XML documents, including
stylesheets and schema documents. It can be overridden for individual documents
using the This option relies on support in the underlying XML parser. If the XML parser does not support XInclude processing, the option is ignored. |
-versmsg:(on|off) |
http://saxon.sf.net/feature/xml-version |
This determines the XML version used by the Configuration. Note that source documents specifying xml version="1.0" or "1.1" are accepted
regardless of this setting. The effect of this switch is to change the validation
rules for types such as The default is currently 1.0, but may change. |
-xmlversion:(1.0|1.1) |
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. Note that XQuery Update syntax and XQuery 3.0 syntax cannot currently be mixed. 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. |
-update:(on|off|discard) |
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 |
|
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 |
|
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 |
|
http://saxon.sf.net/feature/xqueryEmptyLeast |
This property defines how the empty sequence is handled in XQuery sorting (the "order by" clause). If true, () comes at the start of the sorted sequence; if false, it comes last. This option can be set for a particular XQuery compilation. When the option is set at
the |
|
http://saxon.sf.net/feature/xqueryInheritNamespaces |
This property defines the default value of the inherit-namespaces property in the XQuery static context. This option can be set for a particular XQuery compilation. When the option is set at
the |
|
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 |
|
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 |
|
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 |
|
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 |
|
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 |
|
http://saxon.sf.net/feature/xqueryVersion |
This property determines the version of XQuery used by the Configuration. In order to use XQuery 3.0, it is necessary both to set the XQuery compiler to process XQuery 3.0, and to specify XQuery 3.0 in the query prolog of each module that uses XQuery 3.0 features. This option can be set for a particular XQuery compilation. When the option is set at
the Note that XQuery 3.0 features cannot be used with XQuery Update. XQuery 3.0 is supported only in Saxon EE. |
|
http://saxon.sf.net/feature/xsd-version |
This property determines the version of XML Schema used by the Configuration. The default is XSD 1.0. 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. |
|
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 |
-im:mode-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 |
-it:template-name |
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 |
|
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 |
|
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 |
-r:classname |
http://saxon.sf.net/feature/xsltVersion |
This property determines the version of XSLT to be supported by default XSLT 3.0 is supported only in Saxon EE. If no value is specified for the property,
an XSLT 2.0 or XSLT 3.0 processor is used depending on the value of the |
-xsltversion:(2.0|3.0) |