Class XMLConstants
External Access Properties
The value of the external access properties, includingACCESS_EXTERNAL_DTD,ACCESS_EXTERNAL_SCHEMA, andACCESS_EXTERNAL_STYLESHEET, is defined as follows.Value:
A list of protocols separated by comma. A protocol is the scheme portion of aURI, 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 byCharacter.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.Property Precedence
Properties, including theExternal Access Properties andUSE_CATALOG, can be specified through multiple configuration sources. They follow the configuration process as defined in theConfiguration section of the module summary.Field Summary
FieldsModifier and TypeFieldDescriptionstatic finalStringProperty: accessExternalDTDstatic finalStringProperty: accessExternalSchemastatic finalStringProperty: accessExternalStylesheetstatic finalStringPrefix to use to represent the default XML Namespace.static finalStringFeature for secure processing.static finalStringNamespace URI to use to represent that there is no Namespace.static finalStringRELAX NG Namespace URI.static finalStringFeature: useCatalogstatic finalStringW3C XML Schema Instance Namespace URI.static finalStringW3C XML Schema Namespace URI.static finalStringW3C XPath Datatype Namespace URI.static finalStringXML Document Type Declaration Namespace URI as an arbitrary value.static finalStringThe official XML Namespace prefix.static finalStringThe official XML Namespace name URI.static finalStringThe official XML attribute used for specifying XML Namespace declarations.static finalStringThe official XML attribute used for specifying XML Namespace declarations,XMLConstants.XMLNS_ATTRIBUTE, Namespace name URI.Method Summary
Field Details
NULL_NS_URI
Namespace URI to use to represent that there is no Namespace.Defined by the Namespace specification to be "".
DEFAULT_NS_PREFIX
Prefix to use to represent the default XML Namespace.Defined by the XML specification to be "".
XML_NS_URI
The official XML Namespace name URI.Defined by the XML specification to be "
http://www.w3.org/XML/1998/namespace".XML_NS_PREFIX
The official XML Namespace prefix.Defined by the XML specification to be "
xml".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/".XMLNS_ATTRIBUTE
The official XML attribute used for specifying XML Namespace declarations.It isNOT valid to use as a prefix. Defined by the XML specification to be "
xmlns".W3C_XML_SCHEMA_NS_URI
W3C XML Schema Namespace URI.Defined to be "
http://www.w3.org/2001/XMLSchema".W3C_XML_SCHEMA_INSTANCE_NS_URI
W3C XML Schema Instance Namespace URI.Defined to be "
http://www.w3.org/2001/XMLSchema-instance".W3C_XPATH_DATATYPE_NS_URI
W3C XPath Datatype Namespace URI.Defined to be "
http://www.w3.org/2003/11/xpath-datatypes".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:
RELAXNG_NS_URI
RELAX NG Namespace URI.Defined to be "
http://relaxng.org/ns/structure/1.0".FEATURE_SECURE_PROCESSING
Feature for secure processing.trueinstructs the implementation to process XML securely. This may set limits on XML constructs to avoid conditions such as denial of service attacks.falseinstructs 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:
ACCESS_EXTERNAL_DTD
Property: accessExternalDTDRestrict 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
SAXParserfor example,SAXExceptionis thrown.Value: as defined inthe class description.
System Property:
javax.xml.accessExternalDTD.Configuration File: Yes. The property can be set in theconfiguration file.
- Since:
- 1.7
- See Also:
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
SchemaFactoryfor example, org.xml.sax.SAXException is thrown.Value: as defined inthe class description.
System Property:
javax.xml.accessExternalSchemaConfiguration File: Yes. The property can be set in theconfiguration file.
- Since:
- 1.7
- See Also:
ACCESS_EXTERNAL_STYLESHEET
Property: accessExternalStylesheetRestrict 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
Transformerfor example,TransformerConfigurationExceptionwill be thrown by theTransformerFactory.Value: as defined inthe class description.
System Property:
javax.xml.accessExternalStylesheetConfiguration File: Yes. The property can be set in theconfiguration file.
- Since:
- 1.7
- See Also:
USE_CATALOG
Feature: useCatalogInstructs 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.filesproperty defined inCatalogFeatures. 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:
javax.xml.useCatalogConfiguration File: Yes. The property can be set in theconfiguration file.
- Since:
- 9
- See Also: