Module java.xml
Package javax.xml

Class XMLConstants

    • Field Detail

      • XML_DTD_NS_URI

        public static final String XML_DTD_NS_URI
        XML Document Type Declaration Namespace URI as an arbitrary value.

        Since not formally defined by any existing standard, arbitrarily define to be "http://www.w3.org/TR/REC-xml".

        See Also:
        Constant Field Values
      • FEATURE_SECURE_PROCESSING

        public static final String FEATURE_SECURE_PROCESSING
        Feature for secure processing.
        • true instructs the implementation to process XML securely. This may set limits on XML constructs to avoid conditions such as denial of service attacks.
        • false instructs the implementation to process XML in accordance with the XML specifications ignoring security issues such as limits on XML constructs to avoid conditions such as denial of service attacks.
        See Also:
        Constant Field Values
      • ACCESS_EXTERNAL_DTD

        public static final String ACCESS_EXTERNAL_DTD
        Property: accessExternalDTD

        Restrict access to external DTDs and external Entity References to the protocols specified. If access is denied due to the restriction of this property, a runtime exception that is specific to the context is thrown. In the case of SAXParser for example, SAXException is thrown.

        Value: a list of protocols separated by comma. 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. A scheme is defined as:

        scheme = alpha *( alpha | digit | "+" | "-" | "." )
        where alpha = a-z and A-Z.

        And the JAR protocol:
        jar[:scheme]

        Protocols including the keyword "jar" are case-insensitive. Any whitespaces as defined by Character.isSpaceChar(char) in the value will be ignored. Examples of protocols are file, http, jar:file.

        Default value: The default value is implementation specific and therefore not specified. The following options are provided for consideration:

        • an empty string to deny all access to external references;
        • a specific protocol, such as file, to give permission to only the protocol;
        • the keyword "all" to grant permission to all protocols.

        When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations restrict external connections by default, though this may cause problems for applications that process XML/XSD/XSL with external references.

        Granting all access: the keyword "all" grants permission to all protocols.

        System Property: The value of this property can be set or overridden by system property javax.xml.accessExternalDTD.

        jaxp.properties: This configuration file is in standard Properties format and typically located in the conf directory of the Java installation. If the file exists and the system property is specified, its value will be used to override the default of the property.

        Since:
        1.7
        See Also:
        Constant Field Values
      • ACCESS_EXTERNAL_SCHEMA

        public static final String ACCESS_EXTERNAL_SCHEMA

        Property: accessExternalSchema

        Restrict access to the protocols specified for external reference set by the schemaLocation attribute, Import and Include element. If access is denied due to the restriction of this property, a runtime exception that is specific to the context is thrown. In the case of SchemaFactory for example, org.xml.sax.SAXException is thrown.

        Value: a list of protocols separated by comma. 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. A scheme is defined as:

        scheme = alpha *( alpha | digit | "+" | "-" | "." )
        where alpha = a-z and A-Z.

        And the JAR protocol:
        jar[:scheme]

        Protocols including the keyword "jar" are case-insensitive. Any whitespaces as defined by Character.isSpaceChar(char) in the value will be ignored. Examples of protocols are file, http, jar:file.

        Default value: The default value is implementation specific and therefore not specified. The following options are provided for consideration:

        • an empty string to deny all access to external references;
        • a specific protocol, such as file, to give permission to only the protocol;
        • the keyword "all" to grant permission to all protocols.

        When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations restrict external connections by default, though this may cause problems for applications that process XML/XSD/XSL with external references.

        Granting all access: the keyword "all" grants permission to all protocols.

        System Property: The value of this property can be set or overridden by system property javax.xml.accessExternalSchema

        jaxp.properties: This configuration file is in standard Properties format and typically located in the conf directory of the Java installation. If the file exists and the system property is specified, its value will be used to override the default of the property.

        Since:
        1.7
        See Also:
        Constant Field Values
      • ACCESS_EXTERNAL_STYLESHEET

        public static final String ACCESS_EXTERNAL_STYLESHEET
        Property: accessExternalStylesheet

        Restrict access to the protocols specified for external references set by the stylesheet processing instruction, Import and Include element, and document function. If access is denied due to the restriction of this property, a runtime exception that is specific to the context is thrown. In the case of constructing new Transformer for example, TransformerConfigurationException will be thrown by the TransformerFactory.

        Value: a list of protocols separated by comma. 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. A scheme is defined as:

        scheme = alpha *( alpha | digit | "+" | "-" | "." )
        where alpha = a-z and A-Z.

        And the JAR protocol:
        jar[:scheme]

        Protocols including the keyword "jar" are case-insensitive. Any whitespaces as defined by Character.isSpaceChar(char) in the value will be ignored. Examples of protocols are file, http, jar:file.

        Default value: The default value is implementation specific and therefore not specified. The following options are provided for consideration:

        • an empty string to deny all access to external references;
        • a specific protocol, such as file, to give permission to only the protocol;
        • the keyword "all" to grant permission to all protocols.

        When FEATURE_SECURE_PROCESSING is enabled, it is recommended that implementations restrict external connections by default, though this may cause problems for applications that process XML/XSD/XSL with external references.

        Granting all access: the keyword "all" grants permission to all protocols.

        System Property: The value of this property can be set or overridden by system property javax.xml.accessExternalStylesheet

        jaxp.properties: This configuration file is in standard Properties format and typically located in the conf directory of the Java installation. If the file exists and the system property is specified, its value will be used to override the default of the property.

        Since:
        1.7
        See Also:
        Constant Field Values
      • USE_CATALOG

        public static final String USE_CATALOG
        Feature: useCatalog

        Instructs XML processors to use XML Catalogs to resolve entity references. Catalogs may be set through JAXP factories, system properties, or jaxp.properties by using the javax.xml.catalog.files property defined in CatalogFeatures. The following code enables Catalog on SAX parser:

        
              SAXParserFactory spf = SAXParserFactory.newInstance();
              spf.setFeature(XMLConstants.USE_CATALOG, true);
              SAXParser parser = spf.newSAXParser();
              parser.setProperty(CatalogFeatures.Feature.FILES.getPropertyName(), "catalog.xml");
         

        Value: a boolean. If the value is true, and a catalog is set, the XML parser will resolve external references using CatalogResolver. If the value is false, XML Catalog is ignored even if one is set. The default value is true.

        System Property: The value of this property can be set or overridden by system property javax.xml.useCatalog

        jaxp.properties: This configuration file is in standard Properties format and typically located in the conf directory of the Java installation. If the file exists and the system property is specified, its value will be used to override the default value of the property.

        Since:
        9
        See Also:
        Constant Field Values