XmlReadingFeatures.java
// Generated by delombok at Mon Nov 18 07:27:48 UTC 2024
package de.larssh.utils.xml;
import de.larssh.utils.Finals;
/**
* A collection of features to be used for instances of
* {@link javax.xml.parsers.DocumentBuilderFactory},
* {@link javax.xml.parsers.SAXParser} and {@link org.xml.sax.XMLReader}.
*/
@SuppressWarnings("PMD.ClassNamingConventions")
public final class XmlReadingFeatures {
/**
* Xerces Features
*
* <p>
* Based on <a href=
* "http://svn.apache.org/viewvc/xerces/site/trunk/production/xerces2-j/features.html?r1=1872634">revision
* 1872634</a> of the
* <a href="https://xerces.apache.org/xerces2-j/features.html">official Xerces
* features documentation</a>
*
* <p>
* If you have created a DOM document builder or a SAX parser using the JAXP
* interfaces, the following instructions tell you how to set features on
* document builders and SAX parsers created from the JAXP interfaces.
*
* <p>
* The method
* {@link javax.xml.parsers.DocumentBuilderFactory#setFeature(String, boolean)}
* can be used to set features on the underlying parser. For example:
*
* <pre>
* import javax.xml.parsers.DocumentBuilderFactory;
*
* DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
* documentBuilderFactory.setNamespaceAware(true);
*
* documentBuilderFactory.setFeature(XercesFeatures.General.ALLOW_JAVA_ENCODINGS, true);
* </pre>
*
* <p>
* The method
* {@link javax.xml.parsers.SAXParserFactory#setFeature(String, boolean)} method
* can be used to set features on the underlying implementation of
* {@link org.xml.sax.XMLReader}. Once you create the
* {@link javax.xml.parsers.SAXParser} you can retrieve the underlying
* {@link org.xml.sax.XMLReader} allowing you to set and query features on it
* directly. For example:
*
* <pre>
* import javax.xml.parsers.SAXParser;
* import org.xml.sax.XMLReader;
*
* SAXParser saxParser = ...;
* XMLReader xmlReader = saxParser.getXMLReader();
* xmlReader.setFeature(XercesFeatures.General.ALLOW_JAVA_ENCODINGS, true);
* </pre>
*/
public static final class Xerces {
/**
* General Features
*/
public static final class General {
/**
* {@code true} (default): Perform namespace processing: prefixes will be
* stripped off element and attribute names and replaced with the corresponding
* namespace URIs. By default, the two will simply be concatenated, but the
* namespace-sep core property allows the application to specify a delimiter
* string for separating the URI part and the local part.
*
* <p>
* {@code false}: Do not perform namespace processing.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: If the validation feature is set to {@code true}, then the document
* must contain a grammar that supports the use of namespaces.
*
* @see SAX#NAMESPACE_PREFIXES
* @see #VALIDATION
*/
public static final String NAMESPACES = Finals.constant("http://xml.org/sax/features/namespaces");
/**
* {@code true} (default): The methods of the
* {@link org.xml.sax.ext.EntityResolver2} interface will be used when an object
* implementing this interface is registered with the parser using
* {@code setEntityResolver}.
*
* <p>
* {@code false}: The methods of the {@link org.xml.sax.ext.EntityResolver2}
* interface will not be used.
*
* <p>
* Access: read-write
*
* <p>
* Note: If the disallow {@code DOCTYPE} declaration feature is set to
* {@code true}
* {@link org.xml.sax.ext.EntityResolver2#getExternalSubset(String, String)}
* will not be called when the document contains no {@code DOCTYPE} declaration.
*
* @see #DISALLOW_DOCTYPE_DECLARATION
* @see #VALIDATION
* @see #NONVALIDATING_LOAD_EXTERNAL_DTD
* @since Xerces-J 2.7.0
*/
public static final String USE_ENTITY_RESOLVER_2 = Finals.constant("http://xml.org/sax/features/use-entity-resolver2");
/**
* {@code true}: Validate the document and report validity errors.
*
* <p>
* {@code false} (default): Do not report validity errors.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: If this feature is set to {@code true}, the document must specify a
* grammar. By default, validation will occur against DTD. For more information,
* please, refer to the FAQ. If this feature is set to {@code false}, and
* document specifies a grammar that grammar might be parsed but no validation
* of the document contents will be performed.
*
* @see #VALIDATION_DYNAMIC
* @see #NAMESPACES
* @see #NONVALIDATING_LOAD_EXTERNAL_DTD
*/
public static final String VALIDATION = Finals.constant("http://xml.org/sax/features/validation");
/**
* {@code true}: The parser will validate the document only if a grammar is
* specified.
*
* <p>
* {@code false} (default): Validation is determined by the state of the
* validation feature.
*
* @see #VALIDATION
*/
public static final String VALIDATION_DYNAMIC = Finals.constant("http://apache.org/xml/features/validation/dynamic");
/**
* {@code true}: Turn on XML Schema validation by inserting an XML Schema
* validator into the pipeline.
*
* <p>
* {@code false} (default): Do not report validation errors against XML Schema.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: Validation errors will only be reported if the validation feature is
* set to {@code true}. For more information, please, refer to the FAQ
*
* <p>
* Checking of constraints on a schema grammar which are either time-consuming
* or memory intensive such as unique particle attribution will only occur if
* the schema full checking feature is set to {@code true}.
*
* @see #VALIDATION
* @see #VALIDATION_DYNAMIC
* @see #NAMESPACES
*/
public static final String VALIDATION_SCHEMA = Finals.constant("http://apache.org/xml/features/validation/schema");
/**
* {@code true}: Enable full schema grammar constraint checking, including
* checking which may be time-consuming or memory intensive. Currently, unique
* particle attribution constraint checking and particle derivation restriction
* checking are controlled by this option.
*
* <p>
* {@code false} (default): Disable full constraint checking.
*
* <p>
* Note: This feature checks the Schema grammar itself for additional errors
* that are time-consuming or memory intensive. It does not affect the level of
* checking performed on document instances that use Schema grammars.
*/
public static final String VALIDATION_SCHEMA_FULL_CHECKING = Finals.constant("http://apache.org/xml/features/validation/schema-full-checking");
/**
* {@code true} (default): Expose via SAX and DOM XML Schema normalized values
* for attributes and elements.
*
* <p>
* {@code false}: Expose the infoset values
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: XML Schema normalized values will be exposed only if both schema
* validation and validation features are set to {@code true}.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @see #VALIDATION_SCHEMA_ELEMENT_DEFAULT
*/
public static final String VALIDATION_SCHEMA_NORMALIZED_VALUE = Finals.constant("http://apache.org/xml/features/validation/schema/normalized-value");
/**
* {@code true} (default): Send XML Schema element default values via
* {@code characters()}.
*
* <p>
* {@code false}: Do not send XML Schema default values in XNI
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: XML Schema default values will be send via {@code characters()} if both
* schema validation and validation features are set to {@code true}.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @see #VALIDATION_SCHEMA_NORMALIZED_VALUE
*/
public static final String VALIDATION_SCHEMA_ELEMENT_DEFAULT = Finals.constant("http://apache.org/xml/features/validation/schema/element-default");
/**
* {@code true} (default): Augment Post-Schema-Validation-Infoset.
*
* <p>
* {@code false}: Do not augment Post-Schema-Validation-Infoset.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: This feature can be turned off to improve parsing performance.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
*/
public static final String VALIDATION_SCHEMA_AUGMENT_POST_SCHEMA_VALIDATION_INFOSET = Finals.constant("http://apache.org/xml/features/validation/schema/augment-psvi");
/**
* {@code true}: {@code xsi:type} attributes will be ignored until a global
* element declaration has been found, at which point {@code xsi:type}
* attributes will be processed on the element for which the global element
* declaration was found as well as its descendants.
*
* <p>
* {@code false} (default): Do not ignore {@code xsi:type} attributes.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.8.0
*/
public static final String VALIDATION_SCHEMA_IGNORE_XSI_TYPE_UNTIL_ELEMENT_DECLARATION = Finals.constant("http://apache.org/xml/features/validation/schema/ignore-xsi-type-until-elemdecl");
/**
* {@code true}: Enable generation of synthetic annotations. A synthetic
* annotation will be generated when a schema component has non-schema
* attributes but no child annotation.
*
* <p>
* {@code false} (default): Do not generate synthetic annotations.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @see #VALIDATE_ANNOTATIONS
* @since Xerces-J 2.7.0
*/
public static final String GENERATE_SYNTHETIC_ANNOTATIONS = Finals.constant("http://apache.org/xml/features/generate-synthetic-annotations");
/**
* {@code true}: Schema annotations will be laxly validated against available
* schema components.
*
* <p>
* {@code false} (default): Do not validate schema annotations.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @see #GENERATE_SYNTHETIC_ANNOTATIONS
* @since Xerces-J 2.7.0
*/
public static final String VALIDATE_ANNOTATIONS = Finals.constant("http://apache.org/xml/features/validate-annotations");
/**
* {@code true}: All schema location hints will be used to locate the components
* for a given target namespace.
*
* <p>
* {@code false} (default): Only the first schema location hint encountered by
* the processor will be used to locate the components for a given target
* namespace.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @since Xerces-J 2.7.0
*/
public static final String HONOUR_ALL_SCHEMA_LOCATIONS = Finals.constant("http://apache.org/xml/features/honour-all-schemaLocations");
/**
* {@code true} (default): Include external general entities.
*
* <p>
* {@code false}: Do not include external general entities.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #EXTERNAL_PARAMETER_ENTITIES
*/
public static final String EXTERNAL_GENERAL_ENTITIES = Finals.constant("http://xml.org/sax/features/external-general-entities");
/**
* {@code true} (default): Include external parameter entities and the external
* DTD subset.
*
* <p>
* {@code false}: Do not include external parameter entities or the external DTD
* subset.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #EXTERNAL_GENERAL_ENTITIES
*/
public static final String EXTERNAL_PARAMETER_ENTITIES = Finals.constant("http://xml.org/sax/features/external-parameter-entities");
/**
* {@code true}: Construct an optimal representation for DTD content models to
* significantly reduce the likelihood a {@link java.lang.StackOverflowError}
* will occur when large content models are processed.
*
* <p>
* {@code false} (default): Do not invest processing time to construct an
* optimal representation for DTD content models.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: Enabling this feature may cost your application some performance when
* DTDs are processed so it is recommended that it only be turned on when
* necessary.
*
* @since Xerces-J 2.8.0
*/
public static final String VALIDATION_BALANCE_SYNTAX_TREES = Finals.constant("http://apache.org/xml/features/validation/balance-syntax-trees");
/**
* {@code true} (default): Enable checking of ID/IDREF constraints.
*
* <p>
* {@code false}: Disable checking of ID/IDREF constraints. Validation will not
* fail if there are non-unique ID values or dangling IDREF values in the
* document.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: This feature only applies to schema validation.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.8.0
*/
public static final String VALIDATION_ID_IDREF_CHECKING = Finals.constant("http://apache.org/xml/features/validation/id-idref-checking");
/**
* {@code true} (default): Enable identity constraint checking.
*
* <p>
* {@code false}: Disable identity constraint checking.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.8.0
*/
public static final String VALIDATION_IDENTITY_CONSTRAINT_CHECKING = Finals.constant("http://apache.org/xml/features/validation/identity-constraint-checking");
/**
* {@code true}: Enable XSD 1.1 CTA full XPath 2.0 checking.
*
* <p>
* {@code false} (default): Disable XSD 1.1 CTA full XPath 2.0 checking.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: Setting this feature to {@code true}, would allow CTA XPath expressions
* to have full XPath 2.0 syntax. The default is to recognize the CTA XPath
* subset, defined by XSD 1.1 language. If the CTA XPath expressions in a schema
* document falls within the XPath subset, then the use of default Xerces CTA
* XPath processor may result in an efficient schema processing.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.12.0
*/
public static final String VALIDATION_CTA_FULL_XPATH_CHECKING = Finals.constant("http://apache.org/xml/features/validation/cta-full-xpath-checking");
/**
* {@code true}: Enable occurrence of comments and PIs within XPath Data Model
* (XDM) instance, for XSD 1.1 assertion processing.
*
* <p>
* {@code false} (default): Disable occurrence of comments and PIs within XPath
* Data Model (XDM) instance, for XSD 1.1 assertion processing.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: Setting this feature to {@code true}, would allow assertions to access
* comments and PIs from an XML instance document and correspondingly test for
* their absence, presence or do string processing on them for the purpose of
* XSD validation.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.12.0
*/
public static final String VALIDATION_ASSERT_COMMENTS_AND_PI_CHECKING = Finals.constant("http://apache.org/xml/features/validation/assert-comments-and-pi-checking");
/**
* {@code true} (default): Check that each value of type {@code ENTITY} matches
* the name of an unparsed entity declared in the DTD.
*
* <p>
* {@code false}: Do not check that each value of type {@code ENTITY} matches
* the name of an unparsed entity declared in the DTD.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: This feature only applies to schema validation.
*
* @see #VALIDATION
* @see #VALIDATION_SCHEMA
* @since Xerces-J 2.8.0
*/
public static final String VALIDATION_UNPARSED_ENTITY_CHECKING = Finals.constant("http://apache.org/xml/features/validation/unparsed-entity-checking");
/**
* {@code true}: Report a warning when a duplicate attribute is re-declared.
*
* <p>
* {@code false} (default): Do not report a warning when a duplicate attribute
* is re-declared.
*/
public static final String VALIDATION_WARN_ON_DUPLICATE_ATTRIBUTE_DEFINITION = Finals.constant("http://apache.org/xml/features/validation/warn-on-duplicate-attdef");
/**
* {@code true}: Report a warning if an element referenced in a content model is
* not declared.
*
* <p>
* {@code false} (default): Do not report a warning if an element referenced in
* a content model is not declared.
*/
public static final String VALIDATION_WARN_ON_UNDECLARED_ELEMENT_DEFINITION = Finals.constant("http://apache.org/xml/features/validation/warn-on-undeclared-elemdef");
/**
* {@code true}: Report a warning for duplicate entity declaration.
*
* <p>
* {@code false} (default): Do not report warning for duplicate entity
* declaration.
*/
public static final String WARN_ON_DUPLICATE_ENTITY_DEFINITION = Finals.constant("http://apache.org/xml/features/warn-on-duplicate-entitydef");
/**
* {@code true}: Allow Java encoding names in {@code XMLDecl} and
* {@code TextDecl} line.
*
* <p>
* {@code false} (default): Do not allow Java encoding names in {@code XMLDecl}
* and {@code TextDecl} line.
*
* <p>
* Note: A {@code true} value for this feature allows the encoding of the file
* to be specified as a Java encoding name as well as the standard ISO encoding
* name. Be aware that other parsers may not be able to use Java encoding names.
* If this feature is set to {@code false}, an error will be generated if Java
* encoding names are used.
*/
public static final String ALLOW_JAVA_ENCODINGS = Finals.constant("http://apache.org/xml/features/allow-java-encodings");
/**
* {@code true}: Attempt to continue parsing after a fatal error.
*
* <p>
* {@code false} (default): Stops parse on first fatal error.
*
* <p>
* Note: The behavior of the parser when this feature is set to {@code true} is
* undetermined! Therefore use this feature with extreme caution because the
* parser may get stuck in an infinite loop or worse.
*/
public static final String CONTINUE_AFTER_FATAL_ERROR = Finals.constant("http://apache.org/xml/features/continue-after-fatal-error");
/**
* {@code true} (default): Load the DTD and use it to add default attributes and
* set attribute types when parsing.
*
* <p>
* {@code false}: Build the grammar but do not use the default attributes and
* attribute types information it contains.
*
* <p>
* Note: This feature is always on when validation is on.
*
* @see #VALIDATION
* @see #NONVALIDATING_LOAD_EXTERNAL_DTD
*/
public static final String NONVALIDATING_LOAD_DTD_GRAMMAR = Finals.constant("http://apache.org/xml/features/nonvalidating/load-dtd-grammar");
/**
* {@code true} (default): Load the external DTD.
*
* <p>
* {@code false}: Ignore the external DTD completely.
*
* <p>
* Note: This feature is always on when validation is on.
*
* @see #VALIDATION
* @see #NONVALIDATING_LOAD_DTD_GRAMMAR
*/
public static final String NONVALIDATING_LOAD_EXTERNAL_DTD = Finals.constant("http://apache.org/xml/features/nonvalidating/load-external-dtd");
/**
* {@code true}: Notifies the handler of character reference boundaries in the
* document via the {@code start}/{@code endEntity} callbacks.
*
* <p>
* {@code false} (default): Does not notify of character reference boundaries.
*
* @see #SCANNER_NOTIFY_BUILTIN_REFERENCES
*/
public static final String SCANNER_NOTIFY_CHARACTER_REFERENCES = Finals.constant("http://apache.org/xml/features/scanner/notify-char-refs");
/**
* {@code true}: Notifies the handler of built-in entity boundaries (e.g
* {@code &}) in the document via the {@code start}/{@code endEntity}
* callbacks.
*
* <p>
* {@code false} (default): Does not notify of built-in entity boundaries.
*
* @see #SCANNER_NOTIFY_CHARACTER_REFERENCES
*/
public static final String SCANNER_NOTIFY_BUILTIN_REFERENCES = Finals.constant("http://apache.org/xml/features/scanner/notify-builtin-refs");
/**
* {@code true}: A fatal error is thrown if the incoming document contains a
* {@code DOCTYPE} declaration.
*
* <p>
* {@code false} (default): {@code DOCTYPE} declaration is allowed.
*
* @since Xerces-J 2.3.0
*/
public static final String DISALLOW_DOCTYPE_DECLARATION = Finals.constant("http://apache.org/xml/features/disallow-doctype-decl");
/**
* {@code true}: Requires that a URI has to be provided where a URI is expected.
*
* <p>
* {@code false} (default): Some invalid URI's are accepted as valid values when
* a URI is expected. Examples include: using platform dependent file separator
* in place of {@code /}; using Windows/DOS path names like {@code C:\blah} and
* {@code \\host\dir\blah}; using invalid URI characters (space, for example).
*
* <p>
* Note: It's recommended to set this feature to {@code true} if you want your
* application/documents to be truly portable across different XML processors.
*
* @since Xerces-J 2.3.0
*/
public static final String STANDARD_URI_CONFORMANT = Finals.constant("http://apache.org/xml/features/standard-uri-conformant");
/**
* {@code true}: Enable XInclude processing.
*
* <p>
* {@code false} (default): Do not perform XInclude processing.
*
* @see #XINCLUDE_FIXUP_BASE_URIS
* @see #XINCLUDE_FIXUP_LANGUAGE
* @since Xerces-J 2.7.0
*/
public static final String XINCLUDE = Finals.constant("http://apache.org/xml/features/xinclude");
/**
* {@code true} (default): Perform base URI fixup as specified by the XInclude
* Recommendation.
*
* <p>
* {@code false}: Do not perform base URI fixup. The XInclude processor will not
* add {@code xml:base} attributes.
*
* @see #XINCLUDE
* @since Xerces-J 2.7.0
*/
public static final String XINCLUDE_FIXUP_BASE_URIS = Finals.constant("http://apache.org/xml/features/xinclude/fixup-base-uris");
/**
* {@code true} (default): Perform language fixup as specified by the XInclude
* Recommendation.
*
* <p>
* {@code false}: Do not perform language fixup. The XInclude processor will not
* add {@code xml:lang} attributes.
*
* @see #XINCLUDE
* @since Xerces-J 2.7.0
*/
public static final String XINCLUDE_FIXUP_LANGUAGE = Finals.constant("http://apache.org/xml/features/xinclude/fixup-language");
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private General() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}
/**
* DOM Features
*/
@SuppressWarnings("PMD.ShortClassName")
public static final class DOM {
/**
* {@code true} (default): Lazily expand the DOM nodes.
*
* <p>
* {@code false}: Fully expand the DOM nodes.
*
* <p>
* Note: In the {@link org.w3c.dom.ls.LSParser} implementation the default value
* of this feature is {@code false}.
*
* <p>
* When this feature is set to {@code true}, the DOM nodes in the returned
* document are expanded as the tree is traversed. This allows the parser to
* return a document faster than if the tree is fully expanded during parsing
* and improves memory usage when the whole tree is not traversed.
*/
public static final String DEFER_NODE_EXPANSION = Finals.constant("http://apache.org/xml/features/dom/defer-node-expansion");
/**
* {@code true} (default): Create {@link org.w3c.dom.EntityReference} nodes in
* the DOM tree. The {@link org.w3c.dom.EntityReference} nodes and their child
* nodes will be read-only.
*
* <p>
* {@code false}: Do not create {@link org.w3c.dom.EntityReference} nodes in the
* DOM tree. No {@link org.w3c.dom.EntityReference} nodes will be created, only
* the nodes corresponding to their fully expanded substitution text will be
* created.
*
* <p>
* Note: This feature only affects the appearance of
* {@link org.w3c.dom.EntityReference} nodes in the DOM tree. The document will
* always contain the entity reference child nodes.
*/
public static final String CREATE_ENTITY_REFERENCE_NODES = Finals.constant("http://apache.org/xml/features/dom/create-entity-ref-nodes");
/**
* {@code true} (default): Include text nodes that can be considered "ignorable
* whitespace" in the DOM tree.
*
* <p>
* {@code false}: Do not include ignorable whitespace in the DOM tree.
*
* <p>
* Note: The only way that the parser can determine if text is ignorable is by
* reading the associated grammar and having a content model for the document.
* When ignorable whitespace text nodes are included in the DOM tree, they will
* be flagged as ignorable. The ignorable flag can be queried by calling the
* {@link org.w3c.dom.Text#isElementContentWhitespace()} method. This feature is
* relevant only when the grammar is DTD.
*/
public static final String INCLUDE_IGNORABLE_WHITESPACE = Finals.constant("http://apache.org/xml/features/dom/include-ignorable-whitespace");
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private DOM() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}
/**
* SAX Features
*/
@SuppressWarnings("PMD.ShortClassName")
public static final class SAX {
/**
* {@code true}: Report the original prefixed names and attributes used for
* namespace declarations.
*
* <p>
* {@code false} (default): Do not report attributes used for Namespace
* declarations, and optionally do not report original prefixed names.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*/
public static final String NAMESPACE_PREFIXES = Finals.constant("http://xml.org/sax/features/namespace-prefixes");
/**
* {@code true} (default): All element names, prefixes, attribute names,
* namespace URIs, and local names are internalized using the
* {@link String#intern()} method.
*
* <p>
* {@code false}: Names are not necessarily internalized.
*
* <p>
* Access: read-only (parsing), read-write (not parsing)
*
* <p>
* Note: Xerces-J always internalizes all strings mentioned above using the
* {@link String#intern()} method. This feature can only be set to {@code true}.
*/
public static final String STRING_INTERNING = Finals.constant("http://xml.org/sax/features/string-interning");
/**
* {@code true} (default): Report the beginning and end of parameter entities to
* a registered {@link org.xml.sax.ext.LexicalHandler}.
*
* <p>
* {@code false}: Do not report the beginning and end of parameter entities to a
* registered {@link org.xml.sax.ext.LexicalHandler}.
*
* @since Xerces-J 2.7.0
*/
public static final String LEXICAL_HANDLER_PARAMETER_ENTITIES = Finals.constant("http://xml.org/sax/features/lexical-handler/parameter-entities");
/**
* {@code true}: The document specified {@code standalone="yes"} in its XML
* declaration.
*
* <p>
* {@code false}: The document specified {@code standalone="no"} in its XML
* declaration or the standalone document declaration was absent.
*
* <p>
* Access: read-only (parsing), none (not parsing)
*
* @since Xerces-J 2.7.0
*/
public static final String IS_STANDALONE = Finals.constant("http://xml.org/sax/features/is-standalone");
/**
* {@code true} (default): The system identifiers passed to the
* {@code notationDecl}, {@code unparsedEntityDecl}, and
* {@code externalEntityDecl} events will be absolutized relative to their base
* URIs before reporting.
*
* <p>
* {@code false}: System identifiers in declarations will not be absolutized
* before reporting.
*
* <p>
* Note: This feature does not apply to
* {@link org.xml.sax.EntityResolver#resolveEntity(String, String)}, which is
* not used to report declarations, or to
* {@link org.xml.sax.ext.LexicalHandler#startDTD(String, String, String)},
* which already provides the non-absolutized URI.
*
* @since Xerces-J 2.7.0
*/
public static final String RESOLVE_DTD_URIS = Finals.constant("http://xml.org/sax/features/resolve-dtd-uris");
/**
* {@code true}: Perform Unicode normalization checking (as described in section
* 2.13 and Appendix B of the XML 1.1 Recommendation) and report normalization
* errors.
*
* <p>
* {@code false} (default): Do not report Unicode normalization errors.
*
* <p>
* Note: As there is currently no support for Unicode normalization checking,
* this feature can only be set to {@code false}.
*
* @since Xerces-J 2.7.0
*/
public static final String UNICODE_NORMALIZATION_CHECKING = Finals.constant("http://xml.org/sax/features/unicode-normalization-checking");
/**
* {@code true}: The Attributes objects passed by the parser in
* {@link org.xml.sax.ContentHandler#startElement(String, String, String, org.xml.sax.Attributes)}
* implement the {@link org.xml.sax.ext.Attributes2} interface.
*
* <p>
* {@code false}: The Attributes objects passed by the parser do not implement
* the {@link org.xml.sax.ext.Attributes2} interface.
*
* <p>
* Access: read-only
*
* <p>
* Note: Xerces-J will always report Attributes objects that also implement
* {@link org.xml.sax.ext.Attributes2} so the value of this feature will always
* be {@code true}.
*
* @since Xerces-J 2.7.0
*/
public static final String USE_ATTRIBUTES_2 = Finals.constant("http://xml.org/sax/features/use-attributes2");
/**
* {@code true}: The {@link org.xml.sax.Locator} objects passed by the parser in
* {@link org.xml.sax.ContentHandler#setDocumentLocator(org.xml.sax.Locator)}
* implement the {@link org.xml.sax.ext.Locator2} interface.
*
* <p>
* {@code false}: The {@link org.xml.sax.Locator} objects passed by the parser
* do not implement the {@link org.xml.sax.ext.Locator2} interface.
*
* <p>
* Access: read-only
*
* <p>
* Note: Xerces-J will always report {@link org.xml.sax.Locator} objects that
* also implement {@link org.xml.sax.ext.Locator2} so the value of this feature
* will always be {@code true}.
*
* @since Xerces-J 2.7.0
*/
public static final String USE_LOCATOR_2 = Finals.constant("http://xml.org/sax/features/use-locator2");
/**
* {@code true}: When the namespace-prefixes feature is set to {@code true},
* namespace declaration attributes will be reported as being in the
* {@code http://www.w3.org/2000/xmlns/} namespace.
*
* <p>
* {@code false} (default): Namespace declaration attributes are reported as
* having no namespace.
*
* @see General#NAMESPACES
* @see #NAMESPACE_PREFIXES
* @since Xerces-J 2.7.0
*/
public static final String XMLNS_URIS = Finals.constant("http://xml.org/sax/features/xmlns-uris");
/**
* {@code true}: The parser supports both XML 1.0 and XML 1.1.
*
* <p>
* {@code false}: The parser supports only XML 1.0.
*
* <p>
* Access: read-only
*
* <p>
* Note: The value of this feature will depend on whether the parser
* configuration owned by the SAX parser is known to support XML 1.1.
*
* @since Xerces-J 2.7.0
*/
public static final String XML_1_1 = Finals.constant("http://xml.org/sax/features/xml-1.1");
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private SAX() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}
/**
* XInclude Features (experimental)
*/
public static final class XInclude {
/**
* {@code true} (default): Allows {@code notationDecl} and
* {@code unparsedEntityDecl} events to be sent in the XNI pipeline after the
* {@code endDTD} event has been sent.
*
* <p>
* {@code false}: Ensures that {@code notationDecl} and
* {@code unparsedEntityDecl} events are not sent after the {@code endDTD} event
* has been sent (default SAX behavior).
*
* <p>
* Note: The default value for this feature is {@code true}, except when using
* SAX, because SAX requires that no DTD events be sent after the {@code endDTD}
* event. Thus, in order to maintain SAX compatibility, this feature cannot be
* {@code true} by default for SAX. Setting this feature to {@code false} can
* result in loss of information, if notations and unparsed entities were needed
* to resolve references in the document.
*
* <p>
* This feature is only relevant when XInclude processing is being done. Due to
* the nature of implementing XInclude in a stream-based API, it is not possible
* to know the complete set of required unparsed entities and notations before
* the {@code endDTD} event from the source document is sent. If an
* XIncludeHandler is not present in your pipeline, the value of this feature is
* irrelevant.
*
* <p>
* This feature is currently experimental, and might be removed or changed in
* the next release. If you have any concerns or suggestions about its use,
* please contact the {@code j-users@xerces.apache.org} mailing list.
*
* @since Xerces-J 2.5.0
*/
public static final String ALLOW_DTD_EVENTS_AFTER_ENDDTD = Finals.constant("http://xml.org/sax/features/allow-dtd-events-after-endDTD");
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private XInclude() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private Xerces() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}
@java.lang.SuppressWarnings("all")
@edu.umd.cs.findbugs.annotations.SuppressFBWarnings(justification = "generated code")
@lombok.Generated
private XmlReadingFeatures() {
throw new java.lang.UnsupportedOperationException("This is a utility class and cannot be instantiated");
}
}