Top Description Fields Constructors Methods
javax.xml

public final Class XMLConstants

extends Object
Class Inheritance

Defines constants for XML Processing APIs.

External Access Properties

The value of the external access properties, including ACCESS_EXTERNAL_DTD, ACCESS_EXTERNAL_SCHEMA, and ACCESS_EXTERNAL_STYLESHEET, is defined as follows.

Value:

A list of protocols separated by comma. A protocol is the scheme portion of a java.net.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 java.lang.Character#isSpaceChar 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:

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.

Property Precedence

Properties, including the External Access Properties and USE_CATALOG, can be specified through multiple configuration sources. They follow the configuration process as defined in the Configuration section of the module summary.
Author
Jeff Suttor
Since
1.5
See Also
Extensible Markup Language (XML) 1.1, Extensible Markup Language (XML) 1.0 (Second Edition), XML 1.0 Second Edition Specification Errata, Namespaces in XML 1.1, Namespaces in XML, XML Schema Part 1: Structures

Field Summary

Modifier and TypeField and Description
public static final String
ACCESS_EXTERNAL_DTD

Property: accessExternalDTD

Restrict access to external DTDs and external Entity References to the protocols specified.

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.

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.

public static final String
DEFAULT_NS_PREFIX

Prefix to use to represent the default XML Namespace.

public static final String
FEATURE_SECURE_PROCESSING

Feature for secure processing.

public static final String
NULL_NS_URI

Namespace URI to use to represent that there is no Namespace.

public static final String
RELAXNG_NS_URI

RELAX NG Namespace URI.

public static final String
USE_CATALOG

Feature: useCatalog

Instructs XML processors to use XML Catalogs to resolve entity references.

public static final String
W3C_XML_SCHEMA_INSTANCE_NS_URI

W3C XML Schema Instance Namespace URI.

public static final String
W3C_XML_SCHEMA_NS_URI

W3C XML Schema Namespace URI.

public static final String
W3C_XPATH_DATATYPE_NS_URI

W3C XPath Datatype Namespace URI.

public static final String
XML_DTD_NS_URI

XML Document Type Declaration Namespace URI as an arbitrary value.

public static final String
XML_NS_PREFIX

The official XML Namespace prefix.

public static final String
XML_NS_URI

The official XML Namespace name URI.

public static final String
XMLNS_ATTRIBUTE

The official XML attribute used for specifying XML Namespace declarations.

public static final String
XMLNS_ATTRIBUTE_NS_URI

The official XML attribute used for specifying XML Namespace declarations, XMLConstants.XMLNS_ATTRIBUTE, Namespace name URI.

Constructor Summary

AccessConstructor and Description
private
XMLConstants()

Private constructor to prevent instantiation.

Method Summary

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

ACCESS_EXTERNAL_DTDback to summary
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 javax.xml.parsers.SAXParser for example, org.xml.sax.SAXException is thrown.

Value: as defined in the class description.

System Property: javax.xml.accessExternalDTD.

Configuration File: Yes. The property can be set in the configuration file.

Since
1.7
ACCESS_EXTERNAL_SCHEMAback to summary
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 javax.xml.validation.SchemaFactory for example, org.xml.sax.SAXException is thrown.

Value: as defined in the class description.

System Property: javax.xml.accessExternalSchema

Configuration File: Yes. The property can be set in the configuration file.

Since
1.7
ACCESS_EXTERNAL_STYLESHEETback to summary
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 javax.xml.transform.Transformer for example, javax.xml.transform.TransformerConfigurationException will be thrown by the javax.xml.transform.TransformerFactory.

Value: as defined in the class description.

System Property: javax.xml.accessExternalStylesheet

Configuration File: Yes. The property can be set in the configuration file.

Since
1.7
DEFAULT_NS_PREFIXback to summary
public static final String DEFAULT_NS_PREFIX

Prefix to use to represent the default XML Namespace.

Defined by the XML specification to be "".

See Also
Namespaces in XML, 3. Qualified Names
FEATURE_SECURE_PROCESSINGback to summary
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.

Implementation Note

when the Java Security Manager is present, the JDK sets the value of this feature to true and does not allow it to be turned off.

NULL_NS_URIback to summary
public static final String NULL_NS_URI

Namespace URI to use to represent that there is no Namespace.

Defined by the Namespace specification to be "".

See Also
Namespaces in XML, 5.2 Namespace Defaulting
RELAXNG_NS_URIback to summary
public static final String RELAXNG_NS_URI

RELAX NG Namespace URI.

Defined to be "http://relaxng.org/ns/structure/1.0".

See Also
RELAX NG Specification
USE_CATALOGback to summary
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 configuration file by using the javax.xml.catalog.files property defined in javax.xml.catalog.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");
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 javax.xml.catalog.CatalogResolver. If the value is false, XML Catalog is ignored even if one is set. The default value is true.

System Property: javax.xml.useCatalog

Configuration File: Yes. The property can be set in the configuration file.

Since
9
W3C_XML_SCHEMA_INSTANCE_NS_URIback to summary
public static final String W3C_XML_SCHEMA_INSTANCE_NS_URI

W3C XML Schema Instance Namespace URI.

Defined to be "http://www.w3.org/2001/XMLSchema-instance".

See Also
XML Schema Part 1: Structures, 2.6 Schema-Related Markup in Documents Being Validated
W3C_XML_SCHEMA_NS_URIback to summary
public static final String W3C_XML_SCHEMA_NS_URI

W3C XML Schema Namespace URI.

Defined to be "http://www.w3.org/2001/XMLSchema".

See Also
XML Schema Part 1: Structures, 2.6 Schema-Related Markup in Documents Being Validated
W3C_XPATH_DATATYPE_NS_URIback to summary
public static final String W3C_XPATH_DATATYPE_NS_URI

W3C XPath Datatype Namespace URI.

Defined to be "http://www.w3.org/2003/11/xpath-datatypes".

See Also
XQuery 1.0 and XPath 2.0 Data Model
XML_DTD_NS_URIback to summary
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".

XML_NS_PREFIXback to summary
public static final String XML_NS_PREFIX

The official XML Namespace prefix.

Defined by the XML specification to be "xml".

See Also
Namespaces in XML, 3. Qualified Names
XML_NS_URIback to summary
public static final String XML_NS_URI

The official XML Namespace name URI.

Defined by the XML specification to be "http://www.w3.org/XML/1998/namespace".

See Also
Namespaces in XML, 3. Qualified Names
XMLNS_ATTRIBUTEback to summary
public static final String XMLNS_ATTRIBUTE

The official XML attribute used for specifying XML Namespace declarations.

It is NOT valid to use as a prefix. Defined by the XML specification to be "xmlns".

See Also
Namespaces in XML, 3. Qualified Names
XMLNS_ATTRIBUTE_NS_URIback to summary
public static final String XMLNS_ATTRIBUTE_NS_URI

The official XML attribute used for specifying XML Namespace declarations, XMLConstants.XMLNS_ATTRIBUTE, Namespace name URI.

Defined by the XML specification to be "http://www.w3.org/2000/xmlns/".

See Also
Namespaces in XML, 3. Qualified Names

Constructor Detail

XMLConstantsback to summary
private XMLConstants()

Private constructor to prevent instantiation.