## net.sf.saxon.lib
Class FeatureKeys

    java.lang.Object
      net.sf.saxon.lib.FeatureKeys

    public abstract class FeatureKeys

extends Object

FeatureKeys defines a set of constants, representing the names of Saxon configuration options which can be supplied to the Saxon implementations of the JAXP interfaces TransformerFactory, SchemaFactory, Validator, and ValidationHandler, and to other interfaces such as the s9api `Processor`

Author:
  Michael H. Kay

Field Summary
`static String` `ALLOW_EXTERNAL_FUNCTIONS` Type of value: boolean
`static String` `ALLOW_MULTITHREADING` Type of value: boolean
`static String` `ALLOW_OLD_JAVA_URI_FORMAT` Type of value: boolean
`static String` `COLLATION_URI_RESOLVER` Type of value: Instance of net.sf.saxon.lib.CollationURIResolver
`static String` `COLLATION_URI_RESOLVER_CLASS` Type of value: Name of class implementing net.sf.saxon.lib.CollationURIResolver
`static String` `COLLECTION_URI_RESOLVER` Type of value: Instance of net.sf.saxon.lib.CollectionURIResolver
`static String` `COLLECTION_URI_RESOLVER_CLASS` Type of value: Name of class implementing net.sf.saxon.lib.CollectionURIResolver
`static String` `COMPILE_WITH_TRACING` Type of value: boolean
`static String` `CONFIGURATION` Type of value: instance of class net.sf.saxon.Configuration
`static String` `CONFIGURATION_FILE` Type of value: filename
`static String` `DEFAULT_COLLATION` Type of value: Absolute URI (collation URI)
`static String` `DEFAULT_COLLECTION` Type of value: Absolute URI (collection URI)
`static String` `DEFAULT_COUNTRY` Type of value: string (ISO 3166 country code)
`static String` `DEFAULT_LANGUAGE` Type of value: string (ISO language code, following the same rules as for xml:lang)
`static String` `DTD_VALIDATION` Type of value: boolean
`static String` `DTD_VALIDATION_RECOVERABLE` Type of value: boolean
`static String` `ERROR_LISTENER_CLASS` Type of value: Name of class implementing org.xml.sax.ErrorListener
`static String` `EXPAND_ATTRIBUTE_DEFAULTS` Type of value: boolean
`static String` `LAZY_CONSTRUCTION_MODE` Type of value: boolean
`static String` `LICENSE_FILE_LOCATION` Type of value: filename
`static String` `LINE_NUMBERING` Type of value: boolean
`static String` `MESSAGE_EMITTER_CLASS` Type of value: Name of class implementing net.sf.saxon.event.Receiver
`static String` `MODULE_URI_RESOLVER` Type of value: Instance of net.sf.saxon.lib.ModuleURIResolver
`static String` `MODULE_URI_RESOLVER_CLASS` Type of value: Name of class implementing net.sf.saxon.lib.ModuleURIResolver
`static String` `NAME_POOL` Type of value: Instance of net.sf.saxon.om.NamePool
`static String` `OCCURRENCE_LIMITS` Type of value: A string containing two integers, comma-separated
`static String` `OPTIMIZATION_LEVEL` Type of value: integer (0..10)
`static String` `OUTPUT_URI_RESOLVER` Type of value: Instance of net.sf.saxon.lib.OutputURIResolver
`static String` `OUTPUT_URI_RESOLVER_CLASS` Type of value: Name of class implementing net.sf.saxon.lib.OutputURIResolver
`static String` `PRE_EVALUATE_DOC_FUNCTION` Type of value: boolean
`static String` `PREFER_JAXP_PARSER` Type of value: boolean
`static String` `RECOGNIZE_URI_QUERY_PARAMETERS` Type of value: boolean
`static String` `RECOVERY_POLICY` Type of value: integer (0..2)
`static String` `RECOVERY_POLICY_NAME` Type of value: string ("recoverSilently", "recoverWithWarnings", or "doNotRecover")
`static String` `SCHEMA_URI_RESOLVER` Type of value: An instance of the class net.sf.saxon.lib.SchemaURIResolver
`static String` `SCHEMA_URI_RESOLVER_CLASS` Type of value: The name of a class that implements net.sf.saxon.lib.SchemaURIResolver
`static String` `SCHEMA_VALIDATION` Type of value: integer (Validation.STRIP, Validation.PRESERVE, Validation.LAX, or Validation.STRICT
`static String` `SCHEMA_VALIDATION_MODE` Type of value: string ("strict", "lax", "preserve", or "skip")
`static String` `SERIALIZER_FACTORY_CLASS` Type of value: The name of a class that extends the net.sf.saxon.lib.SerializerFactor class
`static String` `SOURCE_PARSER_CLASS` Type of value: The name of a class that implements the org.xml.sax.XMLReader interface
`static String` `SOURCE_RESOLVER_CLASS` Type of value: The name of a class that implements the org.xml.sax.XMLReader interface
`static String` `STANDARD_ERROR_OUTPUT_FILE` Type of value: filename
`static String` `STRIP_WHITESPACE` Type of value: string ("all", "none", or "ignorable")
`static String` `STYLE_PARSER_CLASS` Type of value: The name of a class that implements the org.xml.sax.XMLReader interface
`static String` `TIMING` Type of value: boolean
`static String` `TRACE_EXTERNAL_FUNCTIONS` Type of value: boolean
`static String` `TRACE_LISTENER` Type of value: An instance of the class net.sf.saxon.lib.TraceListener
`static String` `TRACE_LISTENER_CLASS` Type of value: The name of a class that implements net.sf.saxon.lib.TraceListener
`static String` `TRACE_OPTIMIZER_DECISIONS` Type of value: boolean
`static String` `TREE_MODEL` Type of value: integer (net.sf.saxon.event.Builder#STANDARD_TREE or net.sf.saxon.event.Builder#TINY_TREE or or net.sf.saxon.event.Builder#TINY_TREE_CONDENSED)
`static String` `TREE_MODEL_NAME` Type of value: string ("linkedTree" or "tinyTree" or "tinyTreeCondensed")
`static String` `URI_RESOLVER_CLASS` Type of value: Name of a class that implements javax.xml.transform.URIResolver
`static String` `USE_PI_DISABLE_OUTPUT_ESCAPING` Type of value: boolean
`static String` `USE_TYPED_VALUE_CACHE` Type of value: boolean
`static String` `USE_XSI_SCHEMA_LOCATION` Type of value: boolean
`static String` `VALIDATION_COMMENTS` Type of value: boolean
`static String` `VALIDATION_WARNINGS` Type of value: boolean
`static String` `VERSION_WARNING` Type of value: boolean
`static String` `XINCLUDE` Type of value: boolean
`static String` `XML_VERSION` Type of value: string ("1.0" or "1.1")
`static String` `XQUERY_ALLOW_UPDATE` Type of value: boolean
`static String` `XQUERY_CONSTRUCTION_MODE` Type of value: string ("strip" or "preserve")
`static String` `XQUERY_DEFAULT_ELEMENT_NAMESPACE` Type of value: Namespace URI
`static String` `XQUERY_DEFAULT_FUNCTION_NAMESPACE` Type of value: Namespace URI
`static String` `XQUERY_EMPTY_LEAST` Type of value: boolean
`static String` `XQUERY_INHERIT_NAMESPACES` Type of value: boolean
`static String` `XQUERY_PRESERVE_BOUNDARY_SPACE` Type of value: boolean
`static String` `XQUERY_PRESERVE_NAMESPACES` Type of value: boolean
`static String` `XQUERY_REQUIRED_CONTEXT_ITEM_TYPE` Type of value: string containing an ItemType, for example document-node()
`static String` `XQUERY_SCHEMA_AWARE` Type of value: boolean
`static String` `XQUERY_STATIC_ERROR_LISTENER_CLASS` Type of value: the name of a Java class that implements the interface javax.xml.transform.ErrorListener
`static String` `XQUERY_VERSION` Type of value: string ("1.0" or "3.0")
`static String` `XSD_VERSION` Type of value: string ("1.0" or "1.1")
`static String` `XSLT_INITIAL_MODE` Type of value: a QName in Clark notation
`static String` `XSLT_INITIAL_TEMPLATE` Type of value: a QName in Clark notation
`static String` `XSLT_SCHEMA_AWARE` Type of value: boolean
`static String` `XSLT_STATIC_ERROR_LISTENER_CLASS` Type of value: the name of a class that implements javax.xml.transform.ErrorListener
`static String` `XSLT_STATIC_URI_RESOLVER_CLASS` Type of value: the name of a class that implements javax.xml.transform.URIResolver.
`static String` `XSLT_VERSION` Type of value: string ("2.0" or "3.0")

Constructor Summary
`FeatureKeys()`

Method Summary

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### ALLOW_EXTERNAL_FUNCTIONS

    public static final String ALLOW_EXTERNAL_FUNCTIONS

  Type of value: boolean

  ALLOW_EXTERNAL_FUNCTIONS determines whether calls to reflexive external functions are allowed. More specifically, if set to false it disallows all of the following:

  - Calls to reflexive Java extension functions
  - Use of the XSLT system-property() function to access Java system properties
  - Use of a relative URI in the `xsl:result-document` instruction
  - Calls to XSLT extension instructions

  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 `doc()` function or similar functions to access the filestore of the machine where the transformation or query is running. That should be done using a user-supplied `URIResolver`

  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.

  Corresponding attribute in configuration file: global/@allowExternalFunctions

  Corresponding option on command line (Transform, Query): -ext

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setAllowExternalFunctions(boolean)`, `Configuration.isAllowExternalFunctions()`, Constant Field Values

### ALLOW_MULTITHREADING

    public static final String ALLOW_MULTITHREADING

  Type of value: boolean

  ALLOW_MULTITHREADING determines whether multi-threading is allowed.

  If true (the default), the presence of the attribute `saxon:threads="N"` on an `xsl:for-each` instruction, when running under Saxon-EE, causes multi-threaded execution. If set to false, the value of the `saxon:threads` argument is ignored.

  The default value is true if Saxon-EE is in use, false otherwise.

  Corresponding attribute in configuration file: global/@allowMultithreading

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setMultiThreading(boolean)`, `Configuration.isMultiThreading()`, Constant Field Values

### ALLOW_OLD_JAVA_URI_FORMAT

    public static final String ALLOW_OLD_JAVA_URI_FORMAT

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@allowOldJavaUriFormat

  Applies to Saxon editions: PE EE

  See Also:
    Constant Field Values

### COLLATION_URI_RESOLVER

    public static final String COLLATION_URI_RESOLVER

  Type of value: Instance of net.sf.saxon.lib.CollationURIResolver

  The supplied `CollationURIResolver` is used to process any collation URIs found in the query or stylesheet, returning an object of class `StringCollator` that implements the requested collation.

  Corresponding attribute in configuration file: global/@collationUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setCollationURIResolver(net.sf.saxon.lib.CollationURIResolver)`, `Configuration.getCollationURIResolver()`, Constant Field Values

### COLLATION_URI_RESOLVER_CLASS

    public static final String COLLATION_URI_RESOLVER_CLASS

  Type of value: Name of class implementing net.sf.saxon.lib.CollationURIResolver

  The supplied class is instantiated and the resulting instance is used as the value of the `COLLATION_URI_RESOLVER` property.

  Corresponding attribute in configuration file: global/@collationUriResolver

  See Also:
    `Configuration.setCollationURIResolver(net.sf.saxon.lib.CollationURIResolver)`, `Configuration.getCollationURIResolver()`, Constant Field Values

### COLLECTION_URI_RESOLVER

    public static final String COLLECTION_URI_RESOLVER

  Type of value: Instance of net.sf.saxon.lib.CollectionURIResolver

  The supplied `CollectionURIResolver` is used to process any URIs used in calls to the `collection()` function. The `CollectionURIResolver` may either return a sequence of URIs (which are then resolved in the same way as URIs passed to the `doc()` function), or it may return a sequence of (typically document) nodes.

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setCollectionURIResolver(net.sf.saxon.lib.CollectionURIResolver)`, `Configuration.getCollectionURIResolver()`, Constant Field Values

### COLLECTION_URI_RESOLVER_CLASS

    public static final String COLLECTION_URI_RESOLVER_CLASS

  Type of value: Name of class implementing net.sf.saxon.lib.CollectionURIResolver

  The supplied class is instantiated and the resulting instance is used as the value of the `COLLECTION_URI_RESOLVER` property.

  Corresponding option on command line (Transform, Query): -cr

  Corresponding attribute in configuration file: global/@collectionUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setCollectionURIResolver(net.sf.saxon.lib.CollectionURIResolver)`, `Configuration.getCollectionURIResolver()`, Constant Field Values

### COMPILE_WITH_TRACING

    public static final String COMPILE_WITH_TRACING

  Type of value: boolean

  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 `TraceListener` is registered at execution time.

  Corresponding option on command line (Transform, Query): automatically set when -T is present

  Corresponding attribute in configuration file: global/@compileWithTracing

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setCompileWithTracing(boolean)`, `Configuration.isCompileWithTracing()`, Constant Field Values

### CONFIGURATION

    public static final String CONFIGURATION

  Type of value: instance of class net.sf.saxon.Configuration

  This attribute cannot be set on the `Configuration` itself, but it can be set on various JAXP factory objects such as a TransformerFactory or DocumentBuilderFactory, to ensure that several such factories use the same Configuration. Note that other configuration options are held in the Configuration object, so setting this attribute will cancel all others that have been set. Also, if two factories share the same configuration, then setting an attribute on one affects all the others.

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### CONFIGURATION_FILE

    public static final String CONFIGURATION_FILE

  Type of value: filename

  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 `TransformerFactory` or `DocumentBuilderFactory`. It is particularly useful when running transformations via the Ant xslt task, where it can be set as follows to define all configuration settings:

  Corresponding option on command line (Transform, Query, Validate): -config:filename

  Applies to Saxon editions: PE EE

  See Also:
    Constant Field Values

### DEFAULT_COLLATION

    public static final String DEFAULT_COLLATION

  Type of value: Absolute URI (collation URI)

  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 `[xsl:]default-collation` attribute on any stylesheet element. In XQuery, it can be overridden using the `declare default collation` declaration in the query prolog, or via a setter method in class `StaticQueryContext`.

  If no value is specified, the Unicode codepoint collation is used.

  Corresponding attribute in configuration file: global/@defaultCollation

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.declareDefaultCollation(java.lang.String)`, `StaticQueryContext.getDefaultCollationName()`, Constant Field Values

### DEFAULT_COLLECTION

    public static final String DEFAULT_COLLECTION

  Type of value: Absolute URI (collection URI)

  This determines the collection that is used when the `fn:collection()` function is called with no arguments; the effect is the same as if it were called passing the URI that is the value of this configuration property.

  Corresponding attribute in configuration file: global/@defaultCollection

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setDefaultCollection(java.lang.String)`, `Configuration.getDefaultCollection()`, Constant Field Values

### DEFAULT_COUNTRY

    public static final String DEFAULT_COUNTRY

  Type of value: string (ISO 3166 country code)

  This determines the country that is used by `format-date()` and similar functions if no country code is supplied explicitly. If no value is given for this property, the default is taken from the Java Locale, which in turn typically depends on settings for the current user in the operating system.

  Corresponding attribute in configuration file: localizations/@defaultCountry

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setDefaultCountry(java.lang.String)`, `Configuration.getDefaultCountry()`, Constant Field Values

### DEFAULT_LANGUAGE

    public static final String DEFAULT_LANGUAGE

  Type of value: string (ISO language code, following the same rules as for xml:lang)

  This option determines the language that is used by `format-date()`, `xsl:number` and similar constructs if no language code is supplied explicitly. If no value is given for this property, the default is taken from the Java Locale, which in turn typically depends on settings for the current user in the operating system.

  Corresponding attribute in configuration file: localizations/@defaultLanguage

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setDefaultLanguage(java.lang.String)`, `Configuration.getDefaultLanguage()`, Constant Field Values

### DTD_VALIDATION

    public static final String DTD_VALIDATION

  Type of value: boolean

  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 `URIResolver`.

  Corresponding option on command line (Transform, Query): -dtd:(on|off|recover)

  Corresponding attribute in configuration file: global/@dtdValidation

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setValidation(boolean)`, `Configuration.isValidation()`, Constant Field Values

### DTD_VALIDATION_RECOVERABLE

    public static final String DTD_VALIDATION_RECOVERABLE

  Type of value: boolean

  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 `URIResolver`.

  Corresponding option on command line (Transform, Query, Validate): -dtd:(on|off|recover)

  Corresponding attribute in configuration file: global/@dtdValidationRecoverable

  Applies to Saxon editions: HE PE EE

  See Also:
    `ParseOptions.setContinueAfterValidationErrors(boolean)`, `ParseOptions.isContinueAfterValidationErrors()`, Constant Field Values

### ERROR_LISTENER_CLASS

    public static final String ERROR_LISTENER_CLASS

  Type of value: Name of class implementing org.xml.sax.ErrorListener

  ERROR_LISTENER_CLASS is the name of the class used to implement the JAXP `ErrorListener`. This is used both at compile time and at run-time. 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 `ErrorListener` for a specific XSLT or XQuery compilation or evaluation.

  Corresponding attribute in configuration file: global/@errorListener

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setErrorListener(javax.xml.transform.ErrorListener)`, `Configuration.getErrorListener()`, Constant Field Values

### EXPAND_ATTRIBUTE_DEFAULTS

    public static final String EXPAND_ATTRIBUTE_DEFAULTS

  Type of value: boolean

  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.

  Corresponding option on command line (Transform, Query): -expand:(on|off)

  Corresponding attribute in configuration file: global/@expandAttributeDefaults

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setExpandAttributeDefaults(boolean)`, `Configuration.isExpandAttributeDefaults()`, Constant Field Values

### LAZY_CONSTRUCTION_MODE

    public static final String LAZY_CONSTRUCTION_MODE

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@lazyConstructionMode

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setLazyConstructionMode(boolean)`, `Configuration.isLazyConstructionMode()`, Constant Field Values

### LICENSE_FILE_LOCATION

    public static final String LICENSE_FILE_LOCATION

  Type of value: filename

  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.

  Applies to Saxon editions: PE EE

  See Also:
    Constant Field Values

### LINE_NUMBERING

    public static final String LINE_NUMBERING

  Type of value: boolean

  Default is false. If true, line and column number information is retained for all source documents. This information is accessible using the `saxon:line-number()` and `saxon:column-number()` extension functions.

  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.

  Corresponding option on command line (Transform, Query, Validate): -l:(on|off)

  Corresponding attribute in configuration file: global/@lineNumbering

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setLineNumbering(boolean)`, `Configuration.isLineNumbering()`, Constant Field Values

### MESSAGE_EMITTER_CLASS

    public static final String MESSAGE_EMITTER_CLASS

  Type of value: Name of class implementing net.sf.saxon.event.Receiver

  Use the specified Receiver to process the output from `xsl:message`. The class must implement the `net.sf.saxon.event.Receiver` interface. This interface is similar to a SAX `ContentHandler`, in that it takes a stream of events to generate output.

  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 `open()` call at the start of the transformation, and a single `close()` call at the end; and each evaluation of an `xsl:message` instruction starts with a `startDocument()` call and ends with `endDocument()`.

  The `startDocument()` event has a `properties` argument indicating whether `terminate="yes"` was specified, and the `locationId` on calls such as `startElement()` and `characters()` can be used to identify the location in the stylesheet where the message data originated (this is achieved by passing the supplied `locationId` in a call to `getPipelineConfiguration().getLocator().getSystemId(locationId)`, or to `getLineNumber()` on the same object).

  Select the class `net.sf.saxon.event.MessageWarner` to have `xsl:message` output notified to the JAXP `ErrorListener`, as described in the JAXP documentation.

  Corresponding option on command line (Transform): -m:classname

  Corresponding attribute in configuration file: xslt/@messageReceiver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setMessageEmitterClass(java.lang.String)`, `Configuration.getMessageEmitterClass()`, Constant Field Values

### MODULE_URI_RESOLVER

    public static final String MODULE_URI_RESOLVER

  Type of value: Instance of net.sf.saxon.lib.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 `import module` directives in XQuery.

  Corresponding option on command line (Query): -mr:classname

  Corresponding attribute in configuration file: xquery/@moduleUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setModuleURIResolver(net.sf.saxon.lib.ModuleURIResolver)`, `Configuration.getModuleURIResolver()`, Constant Field Values

### MODULE_URI_RESOLVER_CLASS

    public static final String MODULE_URI_RESOLVER_CLASS

  Type of value: Name of class implementing net.sf.saxon.lib.ModuleURIResolver

  Affects XQuery only. The name of a user-written class implementing Saxon's `ModuleURIResolver` interface. This is used to process any URIs used in `import module` directives in XQuery.

  Corresponding option on command line (Query): -mr:classname

  Corresponding attribute in configuration file: xquery/@moduleUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setModuleURIResolver(net.sf.saxon.lib.ModuleURIResolver)`, `Configuration.getModuleURIResolver()`, Constant Field Values

### NAME_POOL

    public static final String NAME_POOL

  Type of value: Instance of net.sf.saxon.om.NamePool

  Indicates that the supplied `NamePool` should be used as the target (run-time) NamePool by all stylesheets compiled (using `newTemplates()`) after this call on `setAttribute`. Normally a single system-allocated `NamePool` is used for all stylesheets compiled while the Java VM remains loaded; this attribute allows user control over the allocation of name pools. Note that source trees used as input to a transformation must be built using the same `NamePool` that is used when the stylesheet is compiled: this will happen automatically if the input to a transformation is supplied as a `SAXSource` or `StreamSource` but it is under user control if you build the source tree yourself.

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setNamePool(net.sf.saxon.om.NamePool)`, `Configuration.getNamePool()`, Constant Field Values

### OCCURRENCE_LIMITS

    public static final String OCCURRENCE_LIMITS

  Type of value: A string containing two integers, comma-separated

  OCCURRENCE_LIMITS determines the largest values of `minOccurs` and `maxOccurs` that can be accommodated when compiling an "expanded" finite state machine to represent an XSD content model grammar. 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 `minOccurs` value greater than the first integer is reduced to the value of the first integer, and any `maxOccurs` value greater than the second integer is treated as "unbounded".

  Corresponding option on command line (Validate): -limits:min,max

  Corresponding attribute in configuration file: xsd/@occurrenceLimits

  Applies to Saxon editions: EE

  See Also:
    `EnterpriseConfiguration.setOccurrenceLimits(int, int)`, `EnterpriseConfiguration.getOccurrenceLimits()`, Constant Field Values

### OPTIMIZATION_LEVEL

    public static final String OPTIMIZATION_LEVEL

  Type of value: integer (0..10)

  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.)

  Corresponding option on command line (Transform, Query): -opt:integer

  Corresponding attribute in configuration file: global/@optimizationLevel

  Applies to Saxon editions: HE PE EE

  See Also:
    `Optimizer.setOptimizationLevel(int)`, `Optimizer.getOptimizationLevel()`, Constant Field Values

### OUTPUT_URI_RESOLVER

    public static final String OUTPUT_URI_RESOLVER

  Type of value: Instance of net.sf.saxon.lib.OutputURIResolver

  The supplied `OutputURIResolver` will be used to resolve URIs of secondary result documents selected in the `href` attribute of the `xsl:result-document` instruction

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setOutputURIResolver(net.sf.saxon.lib.OutputURIResolver)`, `Configuration.getOutputURIResolver()`, Constant Field Values

### OUTPUT_URI_RESOLVER_CLASS

    public static final String OUTPUT_URI_RESOLVER_CLASS

  Type of value: Name of class implementing net.sf.saxon.lib.OutputURIResolver

  The supplied class will be instantiated, and the resulting `OutputURIResolver` will be used to resolve URIs of secondary result documents selected in the `href` attribute of the `xsl:result-document` instruction

  Corresponding option on command line (Transform): -or:classname

  Corresponding attribute in configuration file: xslt/@outputUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### PRE_EVALUATE_DOC_FUNCTION

    public static final String PRE_EVALUATE_DOC_FUNCTION

  Type of value: boolean

  If true, calls on the `doc()` and `document()` functions, if their arguments are known at compile time, will be evaluated at compile time, and the resulting document will be stored as part of the Saxon `Configuration` and shared by all queries and transformations running within that `Configuration`. 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.

  Corresponding attribute in configuration file: global/@preEvaluateDocFunction

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### PREFER_JAXP_PARSER

    public static final String PREFER_JAXP_PARSER

  Type of value: boolean

  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 (`System.Xml.XmlTextReader`) is used. One reason for using this option is that the .NET XML parser does not report ID attributes, which means that the id() function does not work.

  Corresponding attribute in configuration file: global/@preferJaxpParser

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### RECOGNIZE_URI_QUERY_PARAMETERS

    public static final String RECOGNIZE_URI_QUERY_PARAMETERS

  Type of value: boolean

  True if the the standard URI resolver is to recognize query parameters included in the URI (for example, `?val=strict`). Such parameters can then be used in URIs passed to the `doc()` or `document()` functions. For details of the query parameters available, see <xref>Source Documents</xref>. The default is false.

  This option has no effect if a user-supplied `URIResolver` is in use, unless the user-supplied `URIResolver` chooses to inherit this functionality from the standard `URIResolver`.

  Allowed parameters include `validation=strict|lax|strip` to perform schema validation, `strip-space=yes|ignorable|no` to control whitespace stripping, and `xinclude=yes|no` to control whether XInclude processing takes place (assuming the XML parser supports it).

  Corresponding attribute in configuration file: global/@recognizeUriQueryParameters

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### RECOVERY_POLICY

    public static final String RECOVERY_POLICY

  Type of value: integer (0..2)

  An Integer, one of `Configuration.RECOVER_SILENTLY`, `Configuration.RECOVER_WITH_WARNINGS`, or `Configuration.DO_NOT_RECOVER`. Indicates the policy for handling dynamic errors that the XSLT specification defines as recoverable. 0 means recover silently; 1 means recover after signalling a warning to the `ErrorListener`; 2 means treat the error as fatal. An example of a recoverable error is when two template rules match the same node.

  Corresponding option on command line (Transform): -warnings:(silent|recover|fatal)

  Corresponding attribute in configuration file: xslt/@recoveryPolicy

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setRecoveryPolicy(int)`, `Configuration.getRecoveryPolicy()`, Constant Field Values

### RECOVERY_POLICY_NAME

    public static final String RECOVERY_POLICY_NAME

  Type of value: string ("recoverSilently", "recoverWithWarnings", or "doNotRecover")

  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 `ErrorListener`; "doNotRecover" means treat the error as fatal. An example of a recoverable error is when two template rules match the same node.

  Corresponding option on command line (Transform): -warnings:(silent|recover|fatal)

  Corresponding attribute in configuration file: xslt/@recoveryPolicy

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setRecoveryPolicy(int)`, `Configuration.getRecoveryPolicy()`, Constant Field Values

### SCHEMA_URI_RESOLVER

    public static final String SCHEMA_URI_RESOLVER

  Type of value: An instance of the class net.sf.saxon.lib.SchemaURIResolver

  The supplied `SchemaURIResolver` will be used to resolve URIs of schema documents referenced in `xsl:import-schema` declarations in XSLT, `import schema` in XQuery, references from one schema document to another using `xs:include` or `xs:import`, and references from an instance document to a schema using `xsi:schemaLocation`.

  Corresponding attribute in configuration file: xsd/@schemaUriResolver

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setSchemaURIResolver(net.sf.saxon.lib.SchemaURIResolver)`, `Configuration.getSchemaURIResolver()`, Constant Field Values

### SCHEMA_URI_RESOLVER_CLASS

    public static final String SCHEMA_URI_RESOLVER_CLASS

  Type of value: The name of a class that implements net.sf.saxon.lib.SchemaURIResolver

  The name of a class that implements the interface `SchemaURIResolver`; this class will be instantiated and the resulting instance will be used as the value of the `SCHEMA_URI_RESOLVER` property.

  Corresponding attribute in configuration file: xsd/@schemaUriResolver

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setSchemaURIResolver(net.sf.saxon.lib.SchemaURIResolver)`, `Configuration.getSchemaURIResolver()`, Constant Field Values

### SCHEMA_VALIDATION

    public static final String SCHEMA_VALIDATION

  Type of value: integer (Validation.STRIP, Validation.PRESERVE, Validation.LAX, or Validation.STRICT

  Indicates whether and how schema validation should be applied to source documents.

  Corresponding attribute in configuration file: global/@schemaValidation

  Corresponding option on command line (Transform, Query): -val:(strict|lax|strip|preserve)

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setSchemaValidationMode(int)`, `Configuration.getSchemaValidationMode()`, Constant Field Values

### SCHEMA_VALIDATION_MODE

    public static final String SCHEMA_VALIDATION_MODE

  Type of value: string ("strict", "lax", "preserve", or "skip")

  Indicates whether and how schema validation should be applied to source documents.

  Corresponding attribute in configuration file: global/@schemaValidation

  Corresponding option on command line (Transform, Query): -val:(strict|lax|strip|preserve)

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setSchemaValidationMode(int)`, `Configuration.getSchemaValidationMode()`, Constant Field Values

### SERIALIZER_FACTORY_CLASS

    public static final String SERIALIZER_FACTORY_CLASS

  Type of value: The name of a class that extends the net.sf.saxon.lib.SerializerFactor class

  The class will be instantiated and the resulting `SerializerFactory` will be used to create the serialization pipeline for XSLT and XQuery results. By subclassing the standard `SerializerFactory` it is possible to customize many aspects of the output produced by the Serializer, or to introduce new serialization methods and parameters.

  Corresponding attribute in configuration file: global/@serializerFactory

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setSerializerFactory(net.sf.saxon.lib.SerializerFactory)`, `Configuration.getSerializerFactory()`, Constant Field Values

### SOURCE_PARSER_CLASS

    public static final String SOURCE_PARSER_CLASS

  Type of value: The name of a class that implements the org.xml.sax.XMLReader interface

  The class will be instantiated and the resulting `XMLReader` will be used to parse source documents (that is, the principal source document plus any secondary source documents read using the `doc()`, `document()`, or `collection()` function)

  Corresponding attribute in configuration file: global/@sourceParser

  Corresponding option on command line (Transform, Query, Validate): -x:classname

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setSourceParserClass(java.lang.String)`, `Configuration.getSourceParserClass()`, Constant Field Values

### SOURCE_RESOLVER_CLASS

    public static final String SOURCE_RESOLVER_CLASS

  Type of value: The name of a class that implements the org.xml.sax.XMLReader interface

  On interfaces that allow a `org.xml.sax.Source` to be supplied, if a kind of `Source` is provided that Saxon does not recognize, it will be passed to the user-supplied `SourceResolver`, which has the opportunity to convert it to a kind of `Source` that Saxon does recognize. This allows new kinds of input to be supplied as input to Saxon's query, transformation, and validation engines.

  Corresponding attribute in configuration file: global/@sourceResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setSourceResolver(net.sf.saxon.lib.SourceResolver)`, `Configuration.getSourceResolver()`, Constant Field Values

### STANDARD_ERROR_OUTPUT_FILE

    public static final String STANDARD_ERROR_OUTPUT_FILE

  Type of value: filename

  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.

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setStandardErrorOutput(java.io.PrintStream)`, Constant Field Values

### STRIP_WHITESPACE

    public static final String STRIP_WHITESPACE

  Type of value: string ("all", "none", or "ignorable")

  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 `xsl:strip-space` declaration in an XSLT stylesheet.

  Corresponding attribute in configuration file: global/@stripWhitespace

  Corresponding option on command line (Transform, Query, Validate): -strip:(all|none|ignorable)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setStripsWhiteSpace(int)`, `Configuration.getStripsWhiteSpace()`, Constant Field Values

### STYLE_PARSER_CLASS

    public static final String STYLE_PARSER_CLASS

  Type of value: The name of a class that implements the org.xml.sax.XMLReader interface

  The class will be instantiated, and the resulting `XMLReader` will be used to parse stylesheet documents (that is, the principal stylesheet module plus any secondary source documents read using xsl:include or xsl:import) and also schema documents.

  Corresponding attribute in configuration file: global/@sourceParser

  Corresponding option on command line (Transform, Validate): -y:classname

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setSourceParserClass(java.lang.String)`, `Configuration.getSourceParserClass()`, Constant Field Values

### TIMING

    public static final String TIMING

  Type of value: boolean

  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 `xsl:result-document` are traced.

  Corresponding attribute in configuration file: global/@timing

  Corresponding option on command line (Transform, Query, Validate): -t

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setTiming(boolean)`, `Configuration.isTiming()`, Constant Field Values

### TRACE_EXTERNAL_FUNCTIONS

    public static final String TRACE_EXTERNAL_FUNCTIONS

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@traceExternalFunctions

  Corresponding option on command line (Transform, Query): -TJ

  Applies to Saxon editions: PE EE

  See Also:
    `Configuration.setTraceExternalFunctions(boolean)`, `Configuration.isTraceExternalFunctions()`, Constant Field Values

### TRACE_OPTIMIZER_DECISIONS

    public static final String TRACE_OPTIMIZER_DECISIONS

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@traceOptimizerDecisions

  Corresponding option on command line (Transform, Query): -explain

  Applies to Saxon editions: PE EE

  See Also:
    `Configuration.setOptimizerTracing(boolean)`, `Configuration.isOptimizerTracing()`, Constant Field Values

### TRACE_LISTENER

    public static final String TRACE_LISTENER

  Type of value: An instance of the class net.sf.saxon.lib.TraceListener

  The `TraceListener` will be notified of significant events occurring during a query or transformation, for tracing or debugging purposes.

  Setting a `TraceListener` automatically sets the `COMPILE_WITH_TRACING` option.

  Avoid this option if more than one transformation or query is running concurrently: use the feature `TRACE_LISTENER_CLASS` instead. Alternatively, it is possible to set a `TraceListener` for an individual query or transformation.

  Corresponding attribute in configuration file: global/@traceListener

  Corresponding option on command line (Transform, Query): -TL:classname

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setTraceListener(net.sf.saxon.lib.TraceListener)`, `Configuration.getTraceListener()`, Constant Field Values

### TRACE_LISTENER_CLASS

    public static final String TRACE_LISTENER_CLASS

  Type of value: The name of a class that implements net.sf.saxon.lib.TraceListener

  The class will be instantiated once for each query or transformation, and the resulting `TraceListener` will be notified of significant events occurring during that query or transformation, for tracing or debugging purposes.

  Setting a `TraceListener` automatically sets the `COMPILE_WITH_TRACING` option.

  Corresponding attribute in configuration file: global/@traceListener

  Corresponding option on command line (Transform, Query): -TL:classname

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setTraceListenerClass(java.lang.String)`, `Configuration.getTraceListenerClass()`, Constant Field Values

### TREE_MODEL

    public static final String TREE_MODEL

  Type of value: integer (net.sf.saxon.event.Builder#STANDARD_TREE or net.sf.saxon.event.Builder#TINY_TREE or or net.sf.saxon.event.Builder#TINY_TREE_CONDENSED)

  Selects an implementation of the Saxon tree model. The default is `TINY_TREE`.

  For running XQuery Update, use the linked tree, because it is the only implementation that is updateable.

  Corresponding attribute in configuration file: global/@treeModel

  Corresponding option on command line (Transform, Query): -tree:(linked|tiny|tinyc)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setTreeModel(int)`, `Configuration.getTreeModel()`, Constant Field Values

### TREE_MODEL_NAME

    public static final String TREE_MODEL_NAME

  Type of value: string ("linkedTree" or "tinyTree" or "tinyTreeCondensed")

  Selects an implementation of the Saxon tree model. The default is `tinyTree`.

  For running XQuery Update, use the linked tree, because it is the only implementation that is updateable.

  Corresponding attribute in configuration file: global/@treeModel

  Corresponding option on command line (Transform, Query): -tree:(linked|tiny|tinyc)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setTreeModel(int)`, `Configuration.getTreeModel()`, Constant Field Values

### URI_RESOLVER_CLASS

    public static final String URI_RESOLVER_CLASS

  Type of value: Name of a class that implements javax.xml.transform.URIResolver

  An instance of the specified `URIResolver` class will be created, and used to resolve (dereference) all URIs specifed in calls to the `doc()` and `document()` functions, as well as URIs used in `xsl:include` and `xsl:import` and location hints for XQuery modules and XSD schema documents.

  Corresponding attribute in configuration file: global/@uriResolver

  Corresponding option on command line (Transform, Query): -r:classname

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setURIResolver(javax.xml.transform.URIResolver)`, `Configuration.getURIResolver()`, Constant Field Values

### USE_PI_DISABLE_OUTPUT_ESCAPING

    public static final String USE_PI_DISABLE_OUTPUT_ESCAPING

  Type of value: boolean

  This option determines whether a `TransformerHandler` created with this `TransformerFactory` or `Configuration` recognizes the JAXP-defined processing instructions `Result.PI_DISABLE_OUTPUT_ESCAPING` and `Result.PI_ENABLE_OUTPUT_ESCAPING` in the input stream as instructions to disable or to re-enable output escaping. The default value is false.

  Corresponding attribute in configuration file: global/@usePiDisableOutputEscaping

  Applies to Saxon editions: HE PE EE

  See Also:
    Constant Field Values

### USE_TYPED_VALUE_CACHE

    public static final String USE_TYPED_VALUE_CACHE

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@useTypedValueCache

  Applies to Saxon editions: EE

  See Also:
    `Configuration.useTypedValueCache`, Constant Field Values

### USE_XSI_SCHEMA_LOCATION

    public static final String USE_XSI_SCHEMA_LOCATION

  Type of value: boolean

  This option determines whether or not to use the `xsi:schemaLocation` and`xsi:noNamespaceSchemaLocation` attributes in an instance document to locate a schema for validation.

  Note, these attribute are only consulted if validation is requested; the presence of one of these attributes never by itself triggers validation.

  Corresponding attribute in configuration file: xsd/@useXsiSchemaLocation

  Corresponding option on command line (Transform, Query, Validate): -xsiloc:(on|off)

  Applies to Saxon editions: EE

  See Also:
    `ParseOptions.setUseXsiSchemaLocation(boolean)`, `ParseOptions.isUseXsiSchemaLocation()`, Constant Field Values

### VALIDATION_COMMENTS

    public static final String VALIDATION_COMMENTS

  Type of value: boolean

  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` sets both this option and the `VALIDATION_WARNINGS` option.

  Corresponding attribute in configuration file: global/@validationComments

  Corresponding option on command line (Transform, Query): -outval:recover

  Applies to Saxon editions: EE

  See Also:
    `ParseOptions.setAddCommentsAfterValidationErrors(boolean)`, `ParseOptions.isAddCommentsAfterValidationErrors()`, Constant Field Values

### VALIDATION_WARNINGS

    public static final String VALIDATION_WARNINGS

  Type of value: boolean

  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.

  Corresponding attribute in configuration file: global/@validationWarnings

  Corresponding option on command line (Transform, Query): -outval:recover

  Applies to Saxon editions: EE

  See Also:
    `Configuration.setValidationWarnings(boolean)`, `Configuration.isValidationWarnings()`, Constant Field Values

### VERSION_WARNING

    public static final String VERSION_WARNING

  Type of value: boolean

  Indicates whether a warning message should be notified (to the `ErrorListener`) if running Saxon against an XSLT stylesheet that specifies `version="1.0"`. The warning that an XSLT 1.0 stylesheet is being processed using an XSLT 2.0 processor is output by default (because the W3C specification requires it), but it may be suppressed using this option.

  Corresponding attribute in configuration file: xslt/@versionWarning

  Corresponding option on command line (Transform): -versmsg:(on|off)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setVersionWarning(boolean)`, `Configuration.isVersionWarning()`, Constant Field Values

### XINCLUDE

    public static final String XINCLUDE

  Type of value: boolean

  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 `ParseOptions` class.

  This option relies on support in the underlying XML parser. If the XML parser does not support XInclude processing, the option is ignored.

  Corresponding attribute in configuration file: xslt/@versionWarning

  Corresponding option on command line (Transform): -versmsg:(on|off)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setXIncludeAware(boolean)`, `Configuration.isXIncludeAware()`, Constant Field Values

### XML_VERSION

    public static final String XML_VERSION

  Type of value: string ("1.0" or "1.1")

  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 `xs:Name` and `xs:NCName`, to change the characters allowed in names within XPath expressions (etc.), to change the meaning of `\i` and `\c` in regular expressions, and to determine whether the serializer allows XML 1.1 documents to be constructed.

  The default is currently 1.0, but may change.

  Corresponding attribute in configuration file: global/@versionOfXml

  Corresponding option on command line (Transform, Query, Validate): -xmlversion:(1.0|1.1)

  Applies to Saxon editions: HE PE EE

  See Also:
    `Configuration.setXMLVersion(int)`, `Configuration.getXMLVersion()`, Constant Field Values

### XQUERY_ALLOW_UPDATE

    public static final String XQUERY_ALLOW_UPDATE

  Type of value: boolean

  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 `Configuration` level, it acts as a default.

  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.

  Corresponding attribute in configuration file: xquery/@allowUpdate

  Corresponding option on command line (Query): -update:(on|off|discard)

  Applies to Saxon editions: EE

  See Also:
    `StaticQueryContext.setUpdatingEnabled(boolean)`, `StaticQueryContext.isUpdatingEnabled()`, `XQueryCompiler.setUpdatingEnabled(boolean)`, `XQueryCompiler.isUpdatingEnabled()`, Constant Field Values

### XQUERY_CONSTRUCTION_MODE

    public static final String XQUERY_CONSTRUCTION_MODE

  Type of value: string ("strip" or "preserve")

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@constructionMode

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setConstructionMode(int)`, `StaticQueryContext.getConstructionMode()`, Constant Field Values

### XQUERY_DEFAULT_ELEMENT_NAMESPACE

    public static final String XQUERY_DEFAULT_ELEMENT_NAMESPACE

  Type of value: Namespace URI

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@defaultElementNamespace

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setDefaultElementNamespace(java.lang.String)`, `StaticQueryContext.getDefaultElementNamespace()`, Constant Field Values

### XQUERY_DEFAULT_FUNCTION_NAMESPACE

    public static final String XQUERY_DEFAULT_FUNCTION_NAMESPACE

  Type of value: Namespace URI

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@defaultFunctionNamespace

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setDefaultFunctionNamespace(java.lang.String)`, `StaticQueryContext.getDefaultFunctionNamespace()`, Constant Field Values

### XQUERY_EMPTY_LEAST

    public static final String XQUERY_EMPTY_LEAST

  Type of value: boolean

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@emptyLeast

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setEmptyLeast(boolean)`, `StaticQueryContext.isEmptyLeast()`, Constant Field Values

### XQUERY_INHERIT_NAMESPACES

    public static final String XQUERY_INHERIT_NAMESPACES

  Type of value: boolean

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@inheritNamespaces

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setInheritNamespaces(boolean)`, `StaticQueryContext.isInheritNamespaces()`, Constant Field Values

### XQUERY_PRESERVE_BOUNDARY_SPACE

    public static final String XQUERY_PRESERVE_BOUNDARY_SPACE

  Type of value: boolean

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@preserveBoundarySpace

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setPreserveBoundarySpace(boolean)`, `StaticQueryContext.isPreserveBoundarySpace()`, Constant Field Values

### XQUERY_PRESERVE_NAMESPACES

    public static final String XQUERY_PRESERVE_NAMESPACES

  Type of value: boolean

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@preserveNamespaces

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setPreserveNamespaces(boolean)`, `StaticQueryContext.isPreserveNamespaces()`, Constant Field Values

### XQUERY_REQUIRED_CONTEXT_ITEM_TYPE

    public static final String XQUERY_REQUIRED_CONTEXT_ITEM_TYPE

  Type of value: string containing an ItemType, for example document-node()

  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 `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@requiredContextItemType

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setRequiredContextItemType(net.sf.saxon.type.ItemType)`, `StaticQueryContext.getRequiredContextItemType()`, `XQueryCompiler.setRequiredContextItemType(net.sf.saxon.s9api.ItemType)`, `XQueryCompiler.getRequiredContextItemType()`, Constant Field Values

### XQUERY_SCHEMA_AWARE

    public static final String XQUERY_SCHEMA_AWARE

  Type of value: boolean

  A query will automatically be schema-aware if it contains an `import schema` declaration. This property allows a query to be marked as schema-aware even if it contains no `import schema` declaration. It is necessary for a query to be compiled as schema-aware if it is to handle typed (validated) input documents in which nodes have type annotations based on their schema-defined type.

  This option can be set for a particular XQuery compilation. When the option is set at the `Configuration` level, it acts as a default.

  Corresponding attribute in configuration file: xquery/@schemaAware

  Applies to Saxon editions: EE

  See Also:
    `StaticQueryContext.setSchemaAware(boolean)`, `StaticQueryContext.isSchemaAware()`, `XQueryCompiler.setSchemaAware(boolean)`, `XQueryCompiler.isSchemaAware()`, Constant Field Values

### XQUERY_STATIC_ERROR_LISTENER_CLASS

    public static final String XQUERY_STATIC_ERROR_LISTENER_CLASS

  Type of value: the name of a Java class that implements the interface javax.xml.transform.ErrorListener

  The specified class is instantiated to create an `ErrorListener`, and all reports of static errors in a query will go to this `ErrorListener`.

  This option can be set for a particular XQuery compilation. When the option is set at the `Configuration` level, it acts as a default.

  In the absence of this property, the global `ErrorListener` is used.

  Corresponding attribute in configuration file: xquery/@staticErrorListener

  Applies to Saxon editions: HE PE EE

  See Also:
    `StaticQueryContext.setErrorListener(javax.xml.transform.ErrorListener)`, `StaticQueryContext.getErrorListener()`, `XQueryCompiler.setErrorListener(javax.xml.transform.ErrorListener)`, `XQueryCompiler.getErrorListener()`, Constant Field Values

### XQUERY_VERSION

    public static final String XQUERY_VERSION

  Type of value: string ("1.0" or "3.0")

  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 `Configuration` level, it acts as a default.

  Note that XQuery 3.0 features cannot be used with XQuery Update.

  XQuery 3.0 is supported only in Saxon EE.

  Corresponding attribute in configuration file: xquery/@version

  Applies to Saxon editions: EE

  See Also:
    `StaticQueryContext.setLanguageVersion(net.sf.saxon.value.DecimalValue)`, `StaticQueryContext.getLanguageVersion()`, `XQueryCompiler.setLanguageVersion(java.lang.String)`, `XQueryCompiler.getLanguageVersion()`, Constant Field Values

### XSD_VERSION

    public static final String XSD_VERSION

  Type of value: string ("1.0" or "1.1")

  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.

  Corresponding attribute in configuration file: xsd/@version

  Applies to Saxon editions: EE

  See Also:
    Constant Field Values

### XSLT_INITIAL_MODE

    public static final String XSLT_INITIAL_MODE

  Type of value: a QName in Clark notation

  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 `Configuration` (or on a `TransformerFactory`), it acts as a default.

  Corresponding option on command line (Transform): -im:mode-name

  Corresponding attribute in configuration file: xslt/@initialMode

  Applies to Saxon editions: HE PE EE

  See Also:
    `XsltTransformer.setInitialMode(net.sf.saxon.s9api.QName)`, `XsltTransformer.getInitialMode()`, Constant Field Values

### XSLT_INITIAL_TEMPLATE

    public static final String XSLT_INITIAL_TEMPLATE

  Type of value: a QName in Clark notation

  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 `Configuration` level (or on a `TransformerFactory`), it acts as a default.

  Corresponding option on command line (Transform): -it:template-name

  Corresponding attribute in configuration file: xslt/@initialTemplate

  Applies to Saxon editions: HE PE EE

  See Also:
    `XsltTransformer.setInitialTemplate(net.sf.saxon.s9api.QName)`, `XsltTransformer.getInitialTemplate()`, Constant Field Values

### XSLT_SCHEMA_AWARE

    public static final String XSLT_SCHEMA_AWARE

  Type of value: boolean

  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 `xsl:import-schema` instruction, and not otherwise. It is necessary for a stylesheet to be compiled as schema-aware if it is to handle typed (validated) input documents in which nodes have type annotations based on their schema-defined type.

  This option can be set for a particular XSLT compilation. When the option is set at the `Configuration` level (or on a `TransformerFactory`), it acts as a default.

  Corresponding attribute in configuration file: xslt/@schemaAware

  Applies to Saxon editions: EE

  See Also:
    `XsltCompiler.setSchemaAware(boolean)`, `XsltCompiler.isSchemaAware()`, Constant Field Values

### XSLT_STATIC_ERROR_LISTENER_CLASS

    public static final String XSLT_STATIC_ERROR_LISTENER_CLASS

  Type of value: the name of a class that implements javax.xml.transform.ErrorListener

  The specified class is instantiated to create an `ErrorListener`, and all reports of static errors in a styleExecution time: 620mssheet will go to this `ErrorListener`.

  This option can be set for a particular XSLT compilation. When the option is set at the `Configuration` level (or on a `TransformerFactory`), it acts as a default.

  In the absence of this property, the global `ErrorListener` is used.

  Corresponding attribute in configuration file: xslt/@staticErrorListener

  Applies to Saxon editions: HE PE EE

  See Also:
    `XsltCompiler.setErrorListener(javax.xml.transform.ErrorListener)`, `XsltCompiler.getErrorListener()`, Constant Field Values

### XSLT_STATIC_URI_RESOLVER_CLASS

    public static final String XSLT_STATIC_URI_RESOLVER_CLASS

  Type of value: the name of a class that implements javax.xml.transform.URIResolver.

  Memory used: 7248360 NamePool contents: 36 entries in 33 chains. 7 prefixes, 7 URIs

  This property defines a `URIResolver` used when dereferencing the URIs that appear in the `href` attributes of the `xsl:include` and `xsl:import` declarations. Note that this defaults to the setting of the global `URI_RESOLVER` property.

  This option can be set for a particular XSLT compilation. When the option is set at the `Configuration` level (or on a `TransformerFactory`), it acts as a default.

  In the absence of this property, the global `URIResolver` is used.

  Corresponding option on command line (Transform): -r:classname

  Corresponding attribute in configuration file: xslt/@staticUriResolver

  Applies to Saxon editions: HE PE EE

  See Also:
    `XsltCompiler.setURIResolver(javax.xml.transform.URIResolver)`, `XsltCompiler.getURIResolver()`, Constant Field Values

### XSLT_VERSION

    public static final String XSLT_VERSION

  Type of value: string ("2.0" or "3.0")

  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 `version` attribute of the `xsl:stylesheet` element.

  Corresponding option on command line (Transform): -xsltversion:(2.0|3.0)

  Corresponding attribute in configuration file: xslt/@version

  Applies to Saxon editions: EE

  See Also:
    `XsltCompiler.setXsltLanguageVersion(java.lang.String)`, `XsltCompiler.getXsltLanguageVersion()`, Constant Field Values

Constructor Detail

### FeatureKeys

    public FeatureKeys()

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.