All Downloads are FREE. Search and download functionalities are using the official Maven repository.

net.sf.saxon.lib.Feature Maven / Gradle / Ivy

There is a newer version: 12.5
Show newest version
////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018-2020 Saxonica Limited
// This Source Code Form is subject to the terms of the Mozilla Public
// License, v. 2.0.
// If a copy of the MPL was not distributed with this file, You can
// obtain one at http://mozilla.org/MPL/2.0/.
// This Source Code Form is "Incompatible With Secondary Licenses",
// as defined by the Mozilla Public License, v. 2.0.
////////////////////////////////////////////////////////////////////////

package net.sf.saxon.lib;

// AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE
// If you edit this file, your edits WILL BE TERMINATED with
// extreme prejudice by the next build.

/**
 * Feature defines a set of constants, representing the details of Saxon configuration
 * options which can be supplied to the Saxon method Configuration.setProperty(),
 * and to other interfaces
 */

public class Feature {
    public final int code;
    public final String name;

    private Feature(int code, String name) {
        this.code = code;
        this.name = name;
    }

    /**
    *            

ALLOW_EXTERNAL_FUNCTIONS has rather wider effect than the name might suggest. * It controls whether stylesheets are able to access external resources in the server environment.

*

More specifically, if set to false it disallows all of the * following:

*
    *
  • With SaxonJ, calls to reflexive Java extension functions
  • *
  • Use of the XSLT system-property() function to access Java system * properties
  • *
  • Use of the Saxon SQL extension library
  • *
  • Use of the EXPath File library
  • *
  • Use of a URI in the href attribute of an 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.

*

If the value of the property is false, then it will also be set to false on any new * Configuration created using the fn:transform() function.

* **/ public final static Feature ALLOW_EXTERNAL_FUNCTIONS = new Feature(1, "http://saxon.sf.net/feature/allow-external-functions"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

*

Setting the value to false also disables asynchronous processing of * xsl:result-document instructions.

*

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

* **/ public final static Feature ALLOW_MULTITHREADING = new Feature(2, "http://saxon.sf.net/feature/allow-multithreading"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature ALLOW_OLD_JAVA_URI_FORMAT = new Feature(3, "http://saxon.sf.net/feature/allow-old-java-uri-format"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This flag must be set to enable use of extensions to XPath, XQuery and XSLT * syntax that go beyond what is allowed by the extensibility mechanisms in the spec. * In some cases these extensions are experimental and may not be carried forward to future * Saxon releases.

*

Syntax extensions in Saxon 10 include the use of type aliases (type(...) where * an item type is expected, and declare type NAME = item-type in the XQuery Prolog); * and simple inline functions (for example .{. + 1}).

* **/ public final static Feature ALLOW_SYNTAX_EXTENSIONS = new Feature(4, "http://saxon.sf.net/feature/allowSyntaxExtensions"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature ASSERTIONS_CAN_SEE_COMMENTS = new Feature(5, "http://saxon.sf.net/feature/assertionsCanSeeComments"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied CollationURIResolver is used to process any collation URIs * found in the query or stylesheet, returning an object of class * {@link net.sf.saxon.lib.StringCollator} that implements the requested * collation.

* **/ public final static Feature COLLATION_URI_RESOLVER = new Feature(6, "http://saxon.sf.net/feature/collation-uri-resolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied class is instantiated and the resulting instance is used as the value of * the {@link net.sf.saxon.lib.Feature#COLLATION_URI_RESOLVER} property.

* **/ public final static Feature COLLATION_URI_RESOLVER_CLASS = new Feature(7, "http://saxon.sf.net/feature/collation-uri-resolver-class"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied CollectionFinder is used to retrieve a {@link net.sf.saxon.lib.ResourceCollection} object given by any URI defined in * calls to the collection() or the uri-collection() function.

*

If the argument is not specified then a default ResourceCollection should be handled. * CollectionFinder returns a {@link net.sf.saxon.lib.ResourceCollection} which is used to map the URI of collection into a * sequence of {@link net.sf.saxon.lib.Resource} objects * (which are then resolved in the same way as URIs passed to the doc() * function), or it may return an item (typically a node but can handle JSON documents).

* **/ public final static Feature COLLECTION_FINDER = new Feature(8, "http://saxon.sf.net/feature/collection-finder"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied class is instantiated and the resulting instance is used as the value of * the {@link net.sf.saxon.lib.Feature#COLLECTION_FINDER} property.

* **/ public final static Feature COLLECTION_FINDER_CLASS = new Feature(9, "http://saxon.sf.net/feature/collection-finder-class"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.TraceListener}, but this * has no effect unless a TraceListener is registered at execution * time.

* **/ public final static Feature COMPILE_WITH_TRACING = new Feature(12, "http://saxon.sf.net/feature/compile-with-tracing"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This attribute cannot be set on the {@link net.sf.saxon.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.

* **/ public final static Feature CONFIGURATION = new Feature(13, "http://saxon.sf.net/feature/configuration"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Defines a configuration file to be applied to the configuration.

*

This attribute cannot be set on the {@link net.sf.saxon.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:

*

<factory name="net.sf.saxon.TransformerFactoryImpl"> <attribute * name="http://saxon.sf.net/feature/configuration-file" * value="c:/saxon/config.xml"/> </factory> *

* **/ public final static Feature CONFIGURATION_FILE = new Feature(14, "http://saxon.sf.net/feature/configuration-file"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This option is set to indicate that bytecode generation should be run in debugging * mode; it injects diagnostic tracing calls into the generated bytecode. This should * be used only if requested by Saxonica support to diagnose a problem related to * bytecode generation.

* **/ public final static Feature DEBUG_BYTE_CODE = new Feature(15, "http://saxon.sf.net/feature/debugByteCode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This option is relevant only if DISPLAY_BYTE_CODE is set to true. It * defines a directory to which files containing bytecode in human-readable form will * be written. There will be one such file for each generated class, with a filename * designed to give some kind of clue as to its relationship to the source code.

*

The default value is the directory saxonByteCode within the current * working directory.

*

The named directory is created if it does not already exist.

*

Because the generation of class names involves random numbers, files will tend to * accumulate in the supplied directory, even when the same source code is compiled * repeatedly.

* **/ public final static Feature DEBUG_BYTE_CODE_DIR = new Feature(16, "http://saxon.sf.net/feature/debugByteCodeDir"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 * {@link net.sf.saxon.query.StaticQueryContext}.

*

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

* **/ public final static Feature DEFAULT_COLLATION = new Feature(17, "http://saxon.sf.net/feature/defaultCollation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature DEFAULT_COLLECTION = new Feature(18, "http://saxon.sf.net/feature/defaultCollection"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature DEFAULT_COUNTRY = new Feature(19, "http://saxon.sf.net/feature/defaultCountry"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature DEFAULT_LANGUAGE = new Feature(20, "http://saxon.sf.net/feature/defaultLanguage"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Determines which regular expression engine should be used for evaluating regular expressions occuring in constructs * such as fn:matches(), fn:replace, and xsl:analyze-string, and also * in the pattern facet of a schema.

*

On the Java platform the permitted values are "S" (default), and "J". The value "J" selects the regex engine * provided in the JDK in preference to the Saxon regular expression engine. This means that regular expressions must * follow the Java syntax and semantics rather than the XPath syntax and semantics.

*

On the .NET platform the permitted values are "S" (default), "J", and "N". The value "J" selects the regex engine * provided in the IKVMC run-time, which is derived from OpenJDK. The value "N" selects the regex engine provided * in the Microsoft .NET platform. In each case, the regular expression must follow the syntax and semantics of the selected * regex engine.

*

The choice of regular expression may be overridden in a particular invocation by appending the value ";s", * ";j", or ";n" to the flags argument of the relevant call. (This does not apply to XSD patterns, where no flags argument is available)

*

Use of this feature is not conformant with W3C specifications. Use of the setting "N", however, can be useful * when schemas have been written with the Microsoft schema processor in mind, since this uses the Microsoft regular * expression dialect rather than the W3C dialect.

* **/ public final static Feature DEFAULT_REGEX_ENGINE = new Feature(21, "http://saxon.sf.net/feature/defaultRegexEngine"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This option disables the xsl:evaluate instruction.

*

If set at stylesheet compile time, the feature is statically disabled. If set at * run-time it is dynamically disabled. (These terms are defined in the XSLT 3.0 spec.) * The feature is always disabled (statically) in Saxon-HE.

* **/ public final static Feature DISABLE_XSL_EVALUATE = new Feature(22, "http://saxon.sf.net/feature/disableXslEvaluate"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This option is set to indicate that bytecode generation should be run in display * mode. The effect is to output files (one per class) containing a human-readable * print of the generated bytecode. The files are placed in the directory identified by * the DEBUG_BYTE_CODE_DIR option.

* **/ public final static Feature DISPLAY_BYTE_CODE = new Feature(23, "http://saxon.sf.net/feature/displayByteCode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.ParseOptions} for that * individual document, for example from a URIResolver.

* **/ public final static Feature DTD_VALIDATION = new Feature(24, "http://saxon.sf.net/feature/validation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.ParseOptions} for that * individual document, for example from a URIResolver.

* **/ public final static Feature DTD_VALIDATION_RECOVERABLE = new Feature(25, "http://saxon.sf.net/feature/dtd-validation-recoverable"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Forces Saxon to do eager evaluation of expressions in contexts where normally it would do lazy evaluation, * for example when evaluating variables and function results. This can make for easier debugging.

*

Note that this only applies to situations where Saxon would normally save a Closure * object as the result of an expression. It does not prevent Saxon from using pipelined evaluation of * intermediate expressions using iterators.

* **/ public final static Feature EAGER_EVALUATION = new Feature(26, "http://saxon.sf.net/feature/eagerEvaluation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.StandardEntityResolver}. This is an entity * resolver that recognizes the names of many standard W3C DTDs and external entity * files, and resolves them against local copies issued with the Saxon software, to * avoid the need to fetch them from the web.

*

The property can be set to a zero-length string, in which case no * EntityResolver will be used.

* * **/ public final static Feature ENTITY_RESOLVER_CLASS = new Feature(27, "http://saxon.sf.net/feature/entityResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Setting the ENVIRONMENT_VARIABLE_RESOLVER causes the supplied object to * be registered as the environment variable resolver for the * Configuration. The setting is global: it affects all queries and * transformations using this configuration.

*

The environment variable resolver is used when the XPath functions * available-environment-variables() or * environment-variable() are called. Saxon essentially delegates the * evaluation of the function to the external resolver.

* **/ public final static Feature ENVIRONMENT_VARIABLE_RESOLVER = new Feature(28, "http://saxon.sf.net/feature/environmentVariableResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Setting ENVIRONMENT_VARIABLE_RESOLVER_CLASS causes an instance of the * supplied class to be created, and registered as the environment variable resolver * for the Configuration. The setting is global: it affects all queries * and transformations using this configuration.

*

The environment variable resolver is used when the XPath functions * available-environment-variables() or * environment-variable() are called. Saxon essentially delegates the * evaluation of the function to the external resolver.

* **/ public final static Feature ENVIRONMENT_VARIABLE_RESOLVER_CLASS = new Feature(29, "http://saxon.sf.net/feature/environmentVariableResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature ERROR_LISTENER_CLASS = new Feature(30, "http://saxon.sf.net/feature/errorListenerClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature EXPAND_ATTRIBUTE_DEFAULTS = new Feature(31, "http://saxon.sf.net/feature/expandAttributeDefaults"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

EXPATH_FILE_DELETE_TEMPORARY_FILES determines whether temporary files * and directories created in the EXPath File module should be automatically deleted on * closure of the JVM.

*

The default value is false, to align with the standard. The setting * false is recommended when external 'sweep-up' features aren't * available.

* **/ public final static Feature EXPATH_FILE_DELETE_TEMPORARY_FILES = new Feature(32, "http://saxon.sf.net/feature/expathFileDeleteTemporaryFiles"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

*

For backwards compatibility, this option when used at the level of Configuration.setConfigurationProperty() * can also be used to set the value of THRESHOLD_FOR_HOTSPOT_BYTECODE. If the value on that interface is supplied * as an integer (or a string in the form of an integer) then a value of 1 or more sets the threshold for hotspot detection, while * a value of zero or less disables bytecode generation entirely. On other interfaces the value of the property must be a boolean.

* **/ public final static Feature GENERATE_BYTE_CODE = new Feature(33, "http://saxon.sf.net/feature/generateByteCode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

If this option is set to true, then when a SAXSource is supplied as the * input to an XSLT transformation, Saxon will ignore the XMLReader * supplied in the SAXSource (in fact, it will modify the supplied * SAXSource setting the XMLReader to null) and use an * XMLReader created using the value of the * SOURCE_PARSER_CLASS option in preference.

*

The defining use case for this feature is when calling a Saxon transformation from * Ant. Ant always supplies the source document as a SAXSource using a * parser instantiated using the default JAXP mechanism. A different parser set using * the property http://saxon.sf.net/feature/sourceParserClass will * normally be ignored in this case; setting the ignoreSAXSourceParser * option overrides this. This is especially useful if the input format is not in fact * XML, but some other format converted to a SAX event stream by means of a custom * parser.

* **/ public final static Feature IGNORE_SAX_SOURCE_PARSER = new Feature(34, "http://saxon.sf.net/feature/ignoreSAXSourceParser"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

IMPLICIT_SCHEMA_IMPORTS allows reference to schema components without an xs:import for the relevant namespace being * present in the containing schema document.

*

This only works if the referenced components are already present among the schema components known to the configuration, perhaps * because they were part of a different schema, or because there are cyclic references within a schema.

*

This option is not conformant with the XSD specification, which requires explicit xs:import declarations * for all cross-namespace component references. However, some "industry-standard" schemas are known to violate this rule, * and setting this option allows such schemas to be loaded by Saxon.

* **/ public final static Feature IMPLICIT_SCHEMA_IMPORTS = new Feature(35, "http://saxon.sf.net/feature/implicitSchemaImports"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature LAZY_CONSTRUCTION_MODE = new Feature(36, "http://saxon.sf.net/feature/lazyConstructionMode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature LICENSE_FILE_LOCATION = new Feature(37, "http://saxon.sf.net/feature/licenseFileLocation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

*

When this option is set, location information attached to a node (system ID, line * number, and column number) is retained when the node is copied. This has the side effect * that the base URI of a node is also copied, which in some cases runs contrary to the * XSLT or XQuery specification.

* **/ public final static Feature LINE_NUMBERING = new Feature(38, "http://saxon.sf.net/feature/linenumbering"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Setting the MARK_DEFAULTED_ATTRIBUTES option causes Saxon to retain details of attributes * that were notified by the XML parser as being defaulted (that is, the attribute was not present in the instance * document but was defined by a default value in a DTD or schema). This information is available to applications * via the saxon:is-defaulted() extension function.

*

Note: information about defaulted attributes is retained automatically where the attribute is processed * using Saxon's schema processor; but in the case where the information comes from an external XML parser, it * is retained only if this option is set.

* **/ public final static Feature MARK_DEFAULTED_ATTRIBUTES = new Feature(39, "http://saxon.sf.net/feature/markDefaultedAttributes"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Places a limit on the number of classes for which Saxon will generate bytecode.

*

If bytecode generation is enabled, Saxon will generate bytecode for frequently used constructs appearing * in stylesheets or queries. This can become problematic if a configuration uses a very large number * of different stylesheets and queries, because it creates memory pressure (in some environments classes * are never garbage collected). When this limit (which defaults to 10,000) is exceeded, no more bytecode * is generated, and queries/stylesheets are interpreted instead.

* **/ public final static Feature MAX_COMPILED_CLASSES = new Feature(40, "http://saxon.sf.net/feature/maxCompiledClasses"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

From Saxon 11.1, this option has no effect.

* * **/ public final static Feature MESSAGE_EMITTER_CLASS = new Feature(41, "http://saxon.sf.net/feature/messageEmitterClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Affects XQuery only. An instance of a user-written class implementing Saxon's * {@link net.sf.saxon.lib.ModuleURIResolver} interface. This is used to * process any URIs used in import module directives in XQuery.

* **/ public final static Feature MODULE_URI_RESOLVER = new Feature(42, "http://saxon.sf.net/feature/moduleURIResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Affects XQuery only. The name of a user-written class implementing Saxon's * {@link net.sf.saxon.lib.ModuleURIResolver} interface. This is used to * process any URIs used in import module directives in XQuery.

* **/ public final static Feature MODULE_URI_RESOLVER_CLASS = new Feature(43, "http://saxon.sf.net/feature/moduleURIResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

When set from the Transform or Query command line, a report on bytecode generation is * produced at the end of the transformation or query.

*

When set from an application, the bytecode report is produced only on request, by * calling Configuration.createByteCodeReport(fileName).

*

The bytecode report is an XML file containing one entry for each expression that has * been compiled into bytecode. Each entry contains the following details, where * applicable:

*
    *
  • text Abbreviated text of the expression
  • *
  • intCount Number of times the expression was evaluated in the interpreter
  • *
  • intTime Cumulative time spent evaluating the expression (including subexpressions) in the interpreter
  • *
  • bcCount Number of times the expression was evaluated as byte-code
  • *
  • bcTime Cumulative time spent evaluating the expression (including subexpressions) as byte-code
  • *
  • compileTime Time spent generating bytecode for the expression
  • *
  • ratio Average byte-code execution time as a proportion of average interpreted execution time
  • *
  • ebv Number of evaluations of the expressions effectiveBooleanValue() method
  • *
  • eval Number of evaluations of the expressions evaluateItem() method
  • *
  • iterate Number of evaluations of the expressions iterate() method
  • *
  • process Number of evaluations of the expressions process() method
  • *
  • module URI of the module containing the expression
  • *
  • line Line number of the expression within this module
  • *
* **/ public final static Feature MONITOR_HOT_SPOT_BYTE_CODE = new Feature(44, "http://saxon.sf.net/feature/monitorHotSpotByteCode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Affects schema construction (whether for standalone validation, or in the context of * XSLT or XQuery).

*

If set to true, the schema processor attempts to fetch a schema * document appearing in an xs:import directive, whether or not a schema * for that namespace has already been loaded, unless the absolute URI formed from the * schemaLocation is the same as the absolute URI that was used to * load that namespace. If set to false, the schema processor ignores the * schemaLocation on an xs:import declaration if schema * components for the requested namespace are already available. Note that setting the * value to true might cause spurious errors due to like-named schema components being * loaded more than once. On the other hand, setting the value to false might result in * validation failing because schema components are missing.

*

Note: Both settings are conformant with the W3C recommendation, which leaves the * details implementation-defined. It is possible (and advisable) to write schemas in * such a way that this setting makes no difference, by ensuring that all imports for a * particular namespace go via a "home" schema document for that namespace, where the * home schema document contains xs:include declarations for all the * schema documents defining components in that namespace.

* **/ public final static Feature MULTIPLE_SCHEMA_IMPORTS = new Feature(45, "http://saxon.sf.net/feature/multipleSchemaImports"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

*

This option can be used to make two Configuration objects share a * NamePool even though they differ in other respects.

* **/ public final static Feature NAME_POOL = new Feature(46, "http://saxon.sf.net/feature/namePool"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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

*

Setting these values too high may cause an OutOfMemoryException since * the size of the finite state machine constructed by Saxon increases linearly with * the values of minOccurs and maxOccurs.

* **/ public final static Feature OCCURRENCE_LIMITS = new Feature(47, "http://saxon.sf.net/feature/occurrenceLimits"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Allows individual optimizations to be enabled or disabled selectively.

*

There is a set of single-letter flags identifying particular optimizations:

*
    *
  • c: generate bytecode
  • *
  • e: cache regular expressions
  • *
  • f: inline functions
  • *
  • g: extract global variables
  • *
  • j: just-in-time compilation of template rules
  • *
  • k: create keys
  • *
  • l: loop lifting
  • *
  • m: miscellaneous
  • *
  • n: constant folding
  • *
  • r: template rule-sets
  • *
  • s: extract common subexpressions
  • *
  • v: inline variables
  • *
  • w: create switch statements
  • *
  • x: index predicates
  • *
*

A value such as gs runs with only the selected optimizations; * -gs runs with the selected optimizations disabled and all others enabled. The * value 0 suppresses all optimizations. 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.)

*

Note that disabling optimizations may prevent streamed execution. This is because * there are cases where streamed execution is only possible because the optimizer is able to detect * that sorting nodes into document order is unnecessary.

* **/ public final static Feature OPTIMIZATION_LEVEL = new Feature(48, "http://saxon.sf.net/feature/optimizationLevel"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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

* **/ public final static Feature OUTPUT_URI_RESOLVER = new Feature(49, "http://saxon.sf.net/feature/outputURIResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 XSLT * xsl:result-document instruction.

* **/ public final static Feature OUTPUT_URI_RESOLVER_CLASS = new Feature(50, "http://saxon.sf.net/feature/outputURIResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 * {@link net.sf.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.

*

In XSLT 3.0 a better way of having external documents pre-loaded at stylesheet * compile time is to use the new facility of static global variables.

*

This feature should not be enabled when stylesheets are exported to a SEF file, * since embedded source documents within a SEF file cannot always be accurately * reconstructed.

*

When URIs are pre-evaluated, neither the ResourceResolver associated * with the relevant Compiler, nor the relevant run-time ResourceResolver * are used to resolve the URI. Only the Configuration-level ResourceResolver is used.

* **/ public final static Feature PRE_EVALUATE_DOC_FUNCTION = new Feature(51, "http://saxon.sf.net/feature/preEvaluateDocFunction"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

True if the doc() or document() are to recognize query parameters included in the * URI (for example, ?validation=strict). The * default is false.

* *

The allowed parameters are: validation=strict|lax|strip to perform schema * validation (see {@code Validation of * source documents}); strip-space=yes|ignorable|no to control whitespace * stripping (see {@code Whitespace * stripping in source documents}); parser=full.class.name to * determine the name of the parser (XMLReader) to be used (see {@code Controlling parsing of source * documents}); and xinclude=yes|no to control whether XInclude * processing takes place, assuming the XML parser supports it (see {@code XInclude processing}).

* **/ public final static Feature RECOGNIZE_URI_QUERY_PARAMETERS = new Feature(53, "http://saxon.sf.net/feature/recognize-uri-query-parameters"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

At one time this property controlled how recoverable errors were handled * (fatal error, warning, or ignored). XSLT 3.0 has eliminated all recoverable errors from the * specification, so the property is no longer used.

* **/ public final static Feature RECOVERY_POLICY = new Feature(54, "http://saxon.sf.net/feature/recoveryPolicy"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

At one time this property controlled how recoverable errors were handled * (fatal error, warning, or ignored). XSLT 3.0 has eliminated all recoverable errors from the * specification, so the property is no longer used.

* **/ public final static Feature RECOVERY_POLICY_NAME = new Feature(55, "http://saxon.sf.net/feature/recoveryPolicyName"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Indicates the maximum number of threads to be used for processing * xsl:result-document instructions in parallel. If the maximum number * of threads are already in use, the xsl:result-document instruction will * be executed synchronously within its parent thread.

*

The default value is initialized to * Runtime.getRuntime().availableProcessors() which is intended to * represent the number of "processors" (under some definition) available from the * hardware.

*

The limit applies per Configuration. If multiple workloads are running * on the same server under separate Saxon Configuration objects, then it * may be desirable to lower the limit.

*

Setting a value of zero or one suppresses multithreading entirely. This can also be * achieved (for a specific xsl:result-document instruction) by setting * the attribute saxon:asynchronous="no" in the stylesheet. Suppressing * multithreading may be desirable in a stylesheet that calls extension functions with * side-effects.

* **/ public final static Feature RESULT_DOCUMENT_THREADS = new Feature(56, "http://saxon.sf.net/feature/resultDocumentThreads"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

If set to true, indicates that when input is obtained from a SAX parser, the * DTD-based attribute type notified by the XML parser should be used to set the type * annotation of the resulting node: for example a DTD type of NMTOKENS results in a * type annotation of xs:NMTOKENS.

*

This option is retained for backwards compatibility (at some time in the past, it was * the default), but is deprecated.

* **/ public final static Feature RETAIN_DTD_ATTRIBUTE_TYPES = new Feature(57, "http://saxon.sf.net/feature/retain-dtd-attribute-types"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature SCHEMA_URI_RESOLVER = new Feature(58, "http://saxon.sf.net/feature/schemaURIResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.Feature#SCHEMA_URI_RESOLVER} property.

* **/ public final static Feature SCHEMA_URI_RESOLVER_CLASS = new Feature(59, "http://saxon.sf.net/feature/schemaURIResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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

* **/ public final static Feature SCHEMA_VALIDATION = new Feature(60, "http://saxon.sf.net/feature/schema-validation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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

* **/ public final static Feature SCHEMA_VALIDATION_MODE = new Feature(61, "http://saxon.sf.net/feature/schema-validation-mode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature SERIALIZER_FACTORY_CLASS = new Feature(62, "http://saxon.sf.net/feature/serializerFactoryClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

XML parser used for source documents.

*

The class will be instantiated. If it is an XMLReader it is used * directly; if it is a SAXParserFactory it is used to instantiate an * XMLReader. 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).

*

Note that the selected parser is used only when the input is supplied in the form of * a StreamSource; it is ignored when a SAXSource with a * pre-initialized XMLReader is supplied. A consequence is that this * configuration option has no effect when running transformations from an Ant script, * since the Ant xslt task always supplies the input in the form of a * SAXSource.

* **/ public final static Feature SOURCE_PARSER_CLASS = new Feature(63, "http://saxon.sf.net/feature/sourceParserClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

On interfaces that allow an 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.

* **/ public final static Feature SOURCE_RESOLVER_CLASS = new Feature(64, "http://saxon.sf.net/feature/sourceResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

STABLE_COLLECTION_URI, if set, indicates that collections returned by * the fn:collection() and fn:uri-collection() functions * should be stable, that is, repeated calls on these functions with the same * collection URI (within the scope of a single query or transformation) should return * identical results.

*

Setting this option may be expensive because it requires that the entire collection * be saved in memory; it is rarely necessary in practice, but is required for strict * conformance with the W3C specifications.

*

It is also possible to indicate that a collection is stable by means of the * CollectionFinder API.

* **/ public final static Feature STABLE_COLLECTION_URI = new Feature(65, "http://saxon.sf.net/feature/stableCollectionUri"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

STABLE_UNPARSED_TEXT, if set, indicates that the results returned by * repeated calls of unparsed-text(), unparsed-text-lines(), * and unparsed-text-available() are consistent: calling these functions * twice during the evaluation of a stylesheet or query will return the same * results.

*

Setting this option may be expensive because it requires that the file contents be * saved in memory; it is rarely necessary in practice, but is required for strict * conformance with the W3C specifications.

* **/ public final static Feature STABLE_UNPARSED_TEXT = new Feature(66, "http://saxon.sf.net/feature/stableUnparsedText"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 if the Configuration is used in more than one processing * thread, the messages from different threads will be interleaved in the output file. * A more selective approach is to use a different ErrorListener in * different processing threads, and arrange for each ErrorListener to * write to its own logging destination.

* **/ public final static Feature STANDARD_ERROR_OUTPUT_FILE = new Feature(67, "http://saxon.sf.net/feature/standardErrorOutputFile"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The STREAMABILITY option can be used to disable streaming.

*

In earlier Saxon releases a third value "extended" was supported, to enable Saxon * streaming extensions. Since nearly all these extensions found their way into the W3C * specification, the distinction between "standard" and "extended" became meaningless, * so the value "extended" has been dropped.

*

The value "off" causes Saxon to behave as a non-streaming processor; that is, it does * not analyze constructs that are declared streamable, and it processes them as if * streaming were not requested. This is the only option available when using a Saxon * version or license that does not enable streaming.

*

The value "standard" is a misnomer. For strict adherence to W3C streamability rules, * set the property STRICT_STREAMABILITY. The streamability rules applied * by default are (in nearly all cases) identical to the W3C rules, but by default they * are applied to the expression tree after type-checking and optimization, which makes * some constructs streamable that would not be so otherwise.

*

Whichever option is chosen, the STREAMING_FALLBACK option can be used to * control what happens when code is deemed non-streamable; it provides a choice * between throwing a static (compile-time) error, and falling back to a non-streaming * implementation.

* **/ public final static Feature STREAMABILITY = new Feature(68, "http://saxon.sf.net/feature/streamability"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Causes the XSLT processor to verify that constructs that are declared streamable are * in fact "guaranteed streamable" according to the W3C rules.

*

Normally, Saxon performs a variety of simplifications and optimizations on the * expression tree before performing streamability analysis. Sometimes these tree * rewrites will turn a non-streamable expression into a streamable one. An obvious * example is variable inlining: the expression let $x := ./item/price return * sum($x) is not streamable, but the rewritten form * sum(./item/price) is.

*

The XSLT 3.0 specification requires conformant streaming processors to have a mode of * operation in which the streamability rules are enforced as they appear in the spec, * and this option enables this mode.

*

This analysis is expensive, and should only be used during development when testing * stylesheet code for portability. When this mode is enabled, Saxon applies the * streamability rules at the earliest possible stage of processing; it then performs * its normal type checking and optimization phases, before doing a second stage of * streamability analysis to construct a streamed execution plan.

* **/ public final static Feature STRICT_STREAMABILITY = new Feature(69, "http://saxon.sf.net/feature/strictStreamability"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

If the STREAMING_FALLBACK option is set, then constructs for which * streaming is requested (such as templates in a streaming mode, the * xsl:source-document instruction with attribute * streamable="yes", and streamable accumulators) will be executed in * non-streaming mode if the code is not actually streamable. A compile-time warning * will always be given when the fallback option is taken.

* **/ public final static Feature STREAMING_FALLBACK = new Feature(70, "http://saxon.sf.net/feature/streamingFallback"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature STRIP_WHITESPACE = new Feature(71, "http://saxon.sf.net/feature/strip-whitespace"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

XML parser used for stylesheets and schema documents.

*

The class will be instantiated. If it is an XMLReader it is used * directly; if it is a SAXParserFactory it is used to instantiate an * XMLReader. 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.

* **/ public final static Feature STYLE_PARSER_CLASS = new Feature(72, "http://saxon.sf.net/feature/styleParserClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature SUPPRESS_EVALUATION_EXPIRY_WARNING = new Feature(73, "http://saxon.sf.net/feature/suppressEvaluationExpiryWarning"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Suppresses all warnings issued by the XPath and XQuery parsers.

*

Examples of warnings that are suppressed are the warning produced when keywords such * as true and return are interpreted as element names.

* **/ public final static Feature SUPPRESS_XPATH_WARNINGS = new Feature(74, "http://saxon.sf.net/feature/suppressXPathWarnings"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This is set to true to suppress the warning when there is no commonality between the * namespaces used in stylesheet match patterns and the namespaces used in the source * document.

* **/ public final static Feature SUPPRESS_XSLT_NAMESPACE_CHECK = new Feature(75, "http://saxon.sf.net/feature/suppressXsltNamespaceCheck"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Indicates how often an XSD simple type definition must be used before Saxon generates * bytecode to implement validation of input data against that type.

*

By default, Saxon-EE generates Java bytecode to speed up the validation of input * strings against user-defined simple types after the type has been used 100 times * (during the life of a Saxon Configuration). This threshold may be changed using this * configuration option. It may be useful to raise the threshold if the number of * user-defined types is large, and the bytecode is creating memory pressure.

* **/ public final static Feature THRESHOLD_FOR_COMPILING_TYPES = new Feature(76, "http://saxon.sf.net/feature/thresholdForCompilingTypes"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This is set to true to cause basic timing and tracing information to be output to the * standard error output stream.

*

The name of the feature is poorly chosen, since much * of the information that is output has nothing to do with timing, for example the * names of output files for xsl:result-document are traced, as are the * names of schema documents loaded.

* **/ public final static Feature TIMING = new Feature(77, "http://saxon.sf.net/feature/timing"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature TRACE_EXTERNAL_FUNCTIONS = new Feature(78, "http://saxon.sf.net/feature/trace-external-functions"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 * {@link net.sf.saxon.lib.Feature#COMPILE_WITH_TRACING} option.

*

Avoid this option if more than one transformation or query is running concurrently: * use the feature {@link net.sf.saxon.lib.Feature#TRACE_LISTENER_CLASS} * instead. Alternatively, it is possible to set a TraceListener for an * individual query or transformation.

* **/ public final static Feature TRACE_LISTENER = new Feature(79, "http://saxon.sf.net/feature/traceListener"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 * {@link net.sf.saxon.lib.Feature#COMPILE_WITH_TRACING} option.

* **/ public final static Feature TRACE_LISTENER_CLASS = new Feature(80, "http://saxon.sf.net/feature/traceListenerClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

When trace listening is switched on (for example by using -T on the command line), * this file will be supplied to the trace listener to use as the output destination. * If the option is not supplied, trace listener output is sent to the standard error * stream.

* **/ public final static Feature TRACE_LISTENER_OUTPUT_FILE = new Feature(81, "http://saxon.sf.net/feature/traceListenerOutputFile"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature TRACE_OPTIMIZER_DECISIONS = new Feature(82, "http://saxon.sf.net/feature/trace-optimizer-decisions"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature TREE_MODEL = new Feature(83, "http://saxon.sf.net/feature/treeModel"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature TREE_MODEL_NAME = new Feature(84, "http://saxon.sf.net/feature/treeModelName"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied UnparsedTextURIResolver will be used to resolve * (dereference) all URIs specifed in calls to the unparsed-text(), * unparsed-text-lines(), and unparsed-text-available() * functions.

* **/ public final static Feature UNPARSED_TEXT_URI_RESOLVER = new Feature(85, "http://saxon.sf.net/feature/unparsedTextURIResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

An instance of the specified UnparsedTextURIResolver class will be * created, and used to resolve (dereference) all URIs specifed in calls to the * unparsed-text(), unparsed-text-lines(), and * unparsed-text-available() functions.

* **/ public final static Feature UNPARSED_TEXT_URI_RESOLVER_CLASS = new Feature(86, "http://saxon.sf.net/feature/unparsedTextURIResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature URI_RESOLVER_CLASS = new Feature(87, "http://saxon.sf.net/feature/uriResolverClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature USE_PI_DISABLE_OUTPUT_ESCAPING = new Feature(88, "http://saxon.sf.net/feature/use-pi-disable-output-escaping"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature USE_TYPED_VALUE_CACHE = new Feature(89, "http://saxon.sf.net/feature/use-typed-value-cache"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature USE_XSI_SCHEMA_LOCATION = new Feature(90, "http://saxon.sf.net/feature/useXsiSchemaLocation"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 * {@link net.sf.saxon.lib.Feature#VALIDATION_WARNINGS} option.

* **/ public final static Feature VALIDATION_COMMENTS = new Feature(91, "http://saxon.sf.net/feature/validation-comments"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This option indicates (if true) that errors occuring while validating a final result * tree are not to be treated as fatal.

*

Regardless of the setting of this option, all validation errors are reported to the * error() method of the ErrorListener, and validation is * terminated if the error() method throws an exception, or if the error * limit set in the ParseOptions object is reached.

*

This option primarily controls what happens at the end of a validation episode. If * the validation episode detected one or more validation errors, then when this option * is off, an exception is thrown, which will normally result in any query or * stylesheet failing with a dynamic error, and no output file being written. If the * option is on, no exception is thrown, and the output is written as if validation had * been successful. Note in this case that any type annotations present in a result * document are unreliable.

*

If this option is set when running XSLT or XQuery, it is ignored as far as input * files are concerned: validation errors in input files are still fatal. However, if * the option is set and a validation error occurs in a final output file, the output * file is still written and the process terminates as if successful.

*

The detailed interpretation of this option changed in Saxon 9.5.

* **/ public final static Feature VALIDATION_WARNINGS = new Feature(92, "http://saxon.sf.net/feature/validation-warnings"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Indicates whether a warning message should be notified (to the * ErrorListener) if running Saxon against an XSLT stylesheet that * specifies version="1.0".

*

From Saxon 9.8, the warning is no longer output (since XSLT 3.0 does not require * it), so this option is ignored.

* * **/ public final static Feature VERSION_WARNING = new Feature(93, "http://saxon.sf.net/feature/version-warning"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 {@link net.sf.saxon.lib.ParseOptions} class.

*

This option relies on support in the underlying XML parser. If the XML parser does * not support XInclude processing, setting this option results in a parsing failure.

* **/ public final static Feature XINCLUDE = new Feature(94, "http://saxon.sf.net/feature/xinclude-aware"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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

*

SaxonCS uses the System.Xml parser, which does not support XML 1.1.

* **/ public final static Feature XML_VERSION = new Feature(95, "http://saxon.sf.net/feature/xml-version"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Sets the value of a parser feature flag. The feature name is any fully-qualified * URI.

*

For example if the parser supports a feature * http://xml.org/sax/features/external-parameter-entities then this * can be set by setting the value of the Configuration property: * http://saxon.sf.net/feature/parserFeature?uri=http%3A//xml.org/sax/features/external-parameter-entities * to true.

* **/ public final static Feature XML_PARSER_FEATURE = new Feature(96, "http://saxon.sf.net/feature/parserFeature?uri="); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Sets the value of a parser property flag. The property name is any fully-qualified * URI.

*

For example if the parser supports a property * http://apache.org/xml/properties/schema/external-schemaLocation * then this can be set using the value of the Configuration property: * http://saxon.sf.net/feature/parserProperty?uri=http%3A//apache.org/xml/properties/schema/external-schemaLocation * to the required value.

* **/ public final static Feature XML_PARSER_PROPERTY = new Feature(97, "http://saxon.sf.net/feature/parserProperty?uri="); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Determines whether XQuery Update syntax is accepted.

*

If true, update syntax is accepted, if false, it is not accepted. Setting the value to * true does not mean that the query has to use update syntax, only that it may do so.

*

From Saxon 9.6, XQuery Update syntax and XQuery 3.0 syntax can be mixed, although * this combination is not defined by any W3C specification at the time of writing.

*

This option can be set for a particular XQuery compilation. When the option is set at * the 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.

* **/ public final static Feature XQUERY_ALLOW_UPDATE = new Feature(98, "http://saxon.sf.net/feature/xqueryAllowUpdate"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_CONSTRUCTION_MODE = new Feature(99, "http://saxon.sf.net/feature/xqueryConstructionMode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_DEFAULT_ELEMENT_NAMESPACE = new Feature(100, "http://saxon.sf.net/feature/xqueryDefaultElementNamespace"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_DEFAULT_FUNCTION_NAMESPACE = new Feature(101, "http://saxon.sf.net/feature/xqueryDefaultFunctionNamespace"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_EMPTY_LEAST = new Feature(102, "http://saxon.sf.net/feature/xqueryEmptyLeast"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_INHERIT_NAMESPACES = new Feature(103, "http://saxon.sf.net/feature/xqueryInheritNamespaces"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

If the value is false, then when an import module declaration is * encountered for a module URI that is already among the known loaded modules (or * modules in the process of being compiled), the import module is treated * as a reference to the existing module. If the value is true, the system first checks * whether the supplied "location hints" match the known location of the existing * module, and the existing module is used only if there is a match.

* **/ public final static Feature XQUERY_MULTIPLE_MODULE_IMPORTS = new Feature(104, "http://saxon.sf.net/feature/xqueryMultipleModuleImports"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_PRESERVE_BOUNDARY_SPACE = new Feature(105, "http://saxon.sf.net/feature/xqueryPreserveBoundarySpace"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_PRESERVE_NAMESPACES = new Feature(106, "http://saxon.sf.net/feature/xqueryPreserveNamespaces"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_REQUIRED_CONTEXT_ITEM_TYPE = new Feature(107, "http://saxon.sf.net/feature/xqueryRequiredContextItemType"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XQUERY_SCHEMA_AWARE = new Feature(108, "http://saxon.sf.net/feature/xquerySchemaAware"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 specified as * the value of the {@link net.sf.saxon.lib.Feature#ERROR_LISTENER_CLASS} * property is used.

* **/ public final static Feature XQUERY_STATIC_ERROR_LISTENER_CLASS = new Feature(109, "http://saxon.sf.net/feature/xqueryStaticErrorListenerClass"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This property determines the version of XQuery used by the * Configuration.

*

Indicates the version of XQuery syntax that is accepted. From Saxon 9.8, an XQuery 3.1 * processor is always used by default. So setting this property to a value less than 3.1 is no longer * allowed. The value "4.0" enables experimental syntax extensions that are under discussion * in the XML community, and subject to change.

* * **/ public final static Feature XQUERY_VERSION = new Feature(110, "http://saxon.sf.net/feature/xqueryVersion"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This property determines the version of XML Schema used by the * Configuration.

*

From Saxon 9.8, the default is XSD 1.1. If XSD 1.0 is * selected, XSD 1.1 features will be rejected, with the exception of the version * control attributes that allow sections of the schema to be marked as requiring XSD * 1.0 or XSD 1.1.

* **/ public final static Feature XSD_VERSION = new Feature(111, "http://saxon.sf.net/feature/xsd-version"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This property indicates whether assertions (XSLT 3.0 xsl:assert instructions) are * enabled or disabled. They are disabled by default. Setting this property on causes * assertions to be enabled at compile time for all XSLT packages compiled using the * default configuration options.

*

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

*

If assertions have been enabled at compile time for a particular package, they can * still be disabled at run-time (for all packages) by setting an option on the * Xslt30Transformer. But if assertions were disabled at compile time, * enabling them at run-time has no effect.

* **/ public final static Feature XSLT_ENABLE_ASSERTIONS = new Feature(112, "http://saxon.sf.net/feature/enableAssertions"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XSLT_INITIAL_MODE = new Feature(113, "http://saxon.sf.net/feature/initialMode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

*

Specifically, if the transformation is performed using the transform() * method of class net.sf.saxon.s9api.XsltTransformer, then the transformation * will proceed by calling the relevant named template, rather than by applying templates * to the supplied source node. It will also affect other APIs built on top of the * XsltTransformer, notably the JAXP transformation interface, which in turn * is used by many higher-level interfaces such as Ant. Indeed, the main purpose of this * configuration option is to allow named-template stylesheet invocation using the JAXP * interface, which was designed without this feature in mind.

*

This configuration option is ignored when using an net.sf.saxon.s9api.Xslt30Transformer, * or other interfaces built on top of an Xslt30Transformer, for example the * net.sf.saxon.Transform command line interface.

* **/ public final static Feature XSLT_INITIAL_TEMPLATE = new Feature(114, "http://saxon.sf.net/feature/initialTemplate"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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.

* **/ public final static Feature XSLT_SCHEMA_AWARE = new Feature(115, "http://saxon.sf.net/feature/xsltSchemaAware"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The specified class is instantiated to create an ErrorListener, and all * reports of static errors in a stylesheet 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 specified as * the value of the {@link net.sf.saxon.lib.Feature#ERROR_LISTENER_CLASS} * property is used.

* **/ public final static Feature XSLT_STATIC_ERROR_LISTENER_CLASS = new Feature(116, "http://saxon.sf.net/feature/stylesheetErrorListener"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

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 specified as the * value of the {@link net.sf.saxon.lib.Feature#URI_RESOLVER_CLASS} property * is used.

* **/ public final static Feature XSLT_STATIC_URI_RESOLVER_CLASS = new Feature(117, "http://saxon.sf.net/feature/stylesheetURIResolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This property determines the version of XSLT to be supported by default.

*

From Saxon 9.8, an XSLT 3.0 processor is always used by default. So setting this * property to a value less than 3.0 has no effect.

*

The value 4.0 enables experimental syntax extensions, under discussion in the XML * community, which are subject to change.

* * **/ public final static Feature XSLT_VERSION = new Feature(118, "http://saxon.sf.net/feature/xsltVersion"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This property sets a limit on the amount of backtracking performed during regular expression evaluation.

*

The default is 10000000 (ten million) which typically represents an evaluation time of about ten seconds. * After this time, evaluation of the regular expression will fail rather than making further attempts to find a * match. If this limit is reached, it often suggests that there might be a better way of writing the regular expression. * The value can be set to -1 (minus one) to mean "unlimited".

*

Excessive backtracking is usually caused by nested loops in the regular expression, combined with processing * of long input strings. Try to ensure that when nested loops are used, there is an unambiguous condition that causes * the inner loop to terminate. For example (/[^/]*)+ is fine (it matches a sequence of path segments separated * by / characters), because the presence of / forces the inner loop to terminate. By contrast, * (/.*)+ matches the same input, but in many different ways, which could lead to excessive backtracking * to no useful purpose.

* **/ public final static Feature REGEX_BACKTRACKING_LIMIT = new Feature(119, "http://saxon.sf.net/feature/regexBacktrackingLimit"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The XSD 1.1 specification states that XPath version 2.0 is used for expressions appearing in assertions and type * alternatives. This option allows XPath 3.0 or 3.1 to be used instead.

*

The recognized values are the integers 20, 30, and 31 representing versions 2.0, 3.0, and 3.1 respectively.

* **/ public final static Feature XPATH_VERSION_FOR_XSD = new Feature(120, "http://saxon.sf.net/feature/xpathVersionForXsd"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The XSLT 3.0 specification states that processors are required to support XPath 3.0 expressions within stylesheets, together * with some extensions (maps) selected from the XPath 3.1 specification. Support for the full syntax of XPath 3.1 is * optional, but it is the default in Saxon. This option allows a different XPath language level to be selected.

*

The integer values 20, 30, and 31 denote XPath 2.0, 3.0, and 3.1 respectively, while the value 305 denotes XPath 3.0 * with the extensions defined in the XSLT 3.0 specification.

* **/ public final static Feature XPATH_VERSION_FOR_XSLT = new Feature(121, "http://saxon.sf.net/feature/xpathVersionForXslt"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Saxon-EE performs inlining of user-defined functions that are sufficiently simple: they must not be recursive, * and they must be below a certain size. This option defines the size.

*

The value is (roughly) the number of nodes in the expression tree representing the function body. This * includes both explicit subexpressions, and subexpressions added by Saxon itself to perform implicit * operations such as type checking or conversion of function arguments. The default value is 100.

* **/ public final static Feature THRESHOLD_FOR_FUNCTION_INLINING = new Feature(122, "http://saxon.sf.net/feature/thresholdForFunctionInlining"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

Saxon-EE generates bytecode to give faster execution of frequently-evaluated subexpressions. * Bytecode is generated when a candidate expression has been evaluated a certain number of * times, controlled by this parameter. *

*

Setting this parameter to 0 (or any negative value) has the effect of disabling bytecode * generation completely. Setting the parameter to a positive value has the effect of enabling * bytecode generation if it is not already enabled. Setting the value to 1 (one) causes bytecode * to be generated for candidate expressions the first time it is executed.

* **/ public final static Feature THRESHOLD_FOR_HOTSPOT_BYTE_CODE = new Feature(123, "http://saxon.sf.net/feature/thresholdForHotspotByteCode"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The value is a comma-separated list of permitted protocols. A protocol is the * scheme portion of a URI, or in the case of the JAR protocol, "jar" * plus the scheme portion separated by colon. The value "all" gives access * to all protocols (which is the default). The value "" (empty string) disallows * all external resource access. (The format is thus the same as for * XMLConstants.ACCESS_EXTERNAL_SCHEMA and similar attributes.) *

*

The value constrains access by Saxon (but not by underlying software, such * as the XML parser) to resources including the following:

* *
    *
  • Stylesheet modules
  • *
  • Schema documents
  • *
  • Query modules
  • *
  • Documents referenced from a stylesheet or query using functions such * as fn:doc, fn:document, fn:unparsed-text, * fn:collection, fn:json-doc, fn:transform, or by the * xsl:source-document instruction.
  • *
  • Resources obtained using Saxon-supplied extension functions such as * those in the EXPath file library (but it does not affect user-supplied * extension functions).
  • *
*

The constraint applies to the URI used to request * the resource; the constraint is applied by the standard URI resolvers, but if * user-supplied resolvers are used (such as a URIResolver), they can decide * whether to apply the restrictions or not.

*

The constraint applies to URIs used as locations or location hints, not to URIs used as names. So * for XSD it applies to a schemaLocation, not a targetNamespace; for XQuery it applies to module * location hints, not to module URIs. In the case of XSLT packages, resolution from a package name * to a location is always under user/application control, so Saxon imposes no restrictions.

*

The format is the same as for XMLConstants.ACCESS_EXTERNAL_SCHEMA: either "all" to allow * all schemes/protocols, or a comma-separated list of scheme names such as "http", "file", "ftp". * For a JAR file scheme, use the format "jar:scheme", for example "jar:file". A zero-length * string disallows all schemes.

* **/ public final static Feature ALLOWED_PROTOCOLS = new Feature(124, "http://saxon.sf.net/feature/allowedProtocols"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

By default, Saxon attempts to ensure that the run-time code contains no links to the original source stylesheet tree. * This allows the garbage collector to free memory. *

*

If this option is set, then Location objects held in the run-time expression tree may contain a link * to an element node in the source stylesheet, enabling a user-written ErrorListener to produce * improved diagnostics. This may be an appropriate setting to use, for example, in an IDE.

*

Links to source nodes are not retained in an exported SEF file, regardless of this setting.

* **/ public final static Feature RETAIN_NODE_FOR_DIAGNOSTICS = new Feature(125, "http://saxon.sf.net/feature/retainNodeForDiagnostics"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The W3C XSD specification (both 1.0 and 1.1) states that an unresolved * reference to an absent schema component does not automatically make the schema * invalid; the schema should be usable for validation provided that the missing * components are not actually needed in a particular validation episode. *

*

However, the W3C XSD conformance tests treat such an unresolved reference * as an error; the test is expected to report the schema as invalid. And this * is the way most schema processors actually operate, and probably what most * users would expect.

*

By default, the Saxon schema processor reports an unresolved reference * as an error in the schema.

*

If this option is set, then Saxon attempts to repair the schema so that * it is usable for validation, by substituting the missing components with default * components: for example if an attribute declaration refers to a type that has * not been defined, then xs:error is substituted, making any instance * of the attribute invalid.

* **/ public final static Feature ALLOW_UNRESOLVED_SCHEMA_COMPONENTS = new Feature(126, "http://saxon.sf.net/feature/allowUnresolvedSchemaComponents"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

This is used by the standard Collection Finder and may not be relevant * if a custom Collection Finder is in use. *

*

If the absolutized URI passed to the collection() function matches * this pattern, then the URI will be treated as a reference to a ZIP file * (and will therefore fail if the URI does not resolve to a resource that can * be opened as a ZIP file).

* * **/ public final static Feature ZIP_URI_PATTERN = new Feature(127, "http://saxon.sf.net/feature/zipUriPattern"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied implementation of ResourceResolver is used to * resolve URIs. The default implementation uses XML Catalog files. * The Saxon resource resolver is used by the entity resolver, URI resolver, * unparsed text resolver, and other resolvers that resolve URIs to resources.

* **/ public final static Feature RESOURCE_RESOLVER = new Feature(128, "http://saxon.sf.net/feature/saxon-resource-resolver"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE /** *

The supplied class is instantiated and the resulting instance is used as the value of * the {@link net.sf.saxon.lib.Feature#RESOURCE_RESOLVER} property.

* **/ public final static Feature RESOURCE_RESOLVER_CLASS = new Feature(129, "http://saxon.sf.net/feature/saxon-resource-resolver-class"); // AUTO-GENERATED FROM FeatureKeys.xml - DO NOT EDIT THIS FILE }