|
FlexDoc/Javadoc 2.0 Demo Java Doc |
[2] where uri is the parameter to the newInstance(uri) method.
The jaxp.properties file is read only once by the implementation and the values are then cached for future use. If the file does not exist when the first attempt is made to read from it, no further attempts are made to check for its existence. It is not possible to change the value of any property after it has been read for the first time.
Use the configuration file jaxp.properties as indicated in the table JAXP Factories. For StAX, if stax.properties exists, the factories will first attempt to read from it instead of jaxp.properties.
Use the service-provider loading facility, defined by the ServiceLoader class, to attempt to locate and load an implementation of the service using the default loading mechanism: the service-provider loading facility will use the current thread's context class loader to attempt to load the service. If the context class loader is null, the system class loader will be used.
Otherwise, the system-default implementation is returned, which is equivalent to calling the newDefaultInstance() or newDefaultFactory() method as shown in column System Default of the table JAXP Factories above.
jdk.xml.
An example of a property that indicates whether an XML document is standalone would thus have a format:
jdk.xml.isStandalone
and a corresponding System Property:
jdk.xml.isStandalone
jdk.xml.isStandalone=true
When the Java Security Manager is present, secure processing is set to true and can not be turned off. The security properties are therefore enforced.
Properties specified in the jaxp.properties file affect all invocations of the JDK, and will override their default values, or those that may have been set by secure processing.
System properties, when set, affect the invocation of the JDK and override the default settings or those that may have been set in jaxp.properties or by secure processing.
JAXP properties specified through JAXP factories or processors (e.g. SAXParser) take preference over system properties, the jaxp.properties file, as well as secure processing.
ID | Name | How to set the property | How to set the feature |
---|---|---|---|
DOM | DOM Parser |
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setAttribute(name, value); |
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); dbf.setFeature(name, value); |
SAX | SAX Parser |
SAXParserFactory spf = SAXParserFactory.newInstance(); SAXParser parser = spf.newSAXParser(); parser.setProperty(name, value); |
SAXParserFactory spf = SAXParserFactory.newInstance(); spf.setFeature(name, value); |
StAX | StAX Parser |
XMLInputFactory xif = XMLInputFactory.newInstance(); xif.setProperty(name, value); |
XMLInputFactory xif = XMLInputFactory.newInstance(); xif.setProperty(name, value); |
Validation | XML Validation API |
SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage); schemaFactory.setProperty(name, value); |
SchemaFactory schemaFactory = SchemaFactory.newInstance(schemaLanguage); schemaFactory.setFeature(name, value); |
Transform | XML Transform API |
TransformerFactory factory = TransformerFactory.newInstance(); factory.setAttribute(name, value); |
TransformerFactory factory = TransformerFactory.newInstance(); factory.setFeature(name, value); |
XSLTC Serializer | XSLTC Serializer |
Transformer transformer = TransformerFactory.newInstance().newTransformer(); transformer.setOutputProperty(name, value); |
|
DOMLS | DOM Load and Save |
LSSerializer serializer = domImplementation.createLSSerializer(); serializer.getDomConfig().setParameter(name, value); |
|
XPath | XPath | N/A |
XPathFactory factory = XPathFactory.newInstance(); factory.setFeature(name, value); |
The table below lists the Implementation Specific Properties currently supported by the JDK. More properties may be added in the future if necessary.
Full Name (prefix + name) [1] | Description | API Property [2] | System Property [3] | jaxp.properties [3] | Value [4] | Security [5] | Supported Processor [6] | Since [7] | |||
---|---|---|---|---|---|---|---|---|---|---|---|
Type | Value | Default | Enforced | ||||||||
jdk.xml.entityExpansionLimit | Limits the number of entity expansions. | yes | yes | yes | Integer | A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. | 64000 | 64000 | Yes |
DOM SAX StAX Validation Transform |
8 |
jdk.xml.elementAttributeLimit | Limits the number of attributes an element can have. | 10000 | 10000 | ||||||||
jdk.xml.maxOccurLimit | Limits the number of content model nodes that may be created when building a grammar for a W3C XML Schema that contains maxOccurs attributes with values other than "unbounded". | 5000 | 5000 | ||||||||
jdk.xml.totalEntitySizeLimit | Limits the total size of all entities that include general and parameter entities. The size is calculated as an aggregation of all entities. | 5x10^7 | 5x10^7 | ||||||||
jdk.xml.maxGeneralEntitySizeLimit | Limits the maximum size of any general entities. | 0 | 0 | ||||||||
jdk.xml.maxParameterEntitySizeLimit | Limits the maximum size of any parameter entities, including the result of nesting multiple parameter entities. | 10^6 | 10^6 | ||||||||
jdk.xml.entityReplacementLimit | Limits the total number of nodes in all entity references. | 3x10^6 | 3x10^6 | ||||||||
jdk.xml.maxElementDepth | Limits the maximum element depth. | 0 | 0 | ||||||||
jdk.xml.maxXMLNameLimit | Limits the maximum size of XML names, including element name, attribute name and namespace prefix and URI. | 1000 | 1000 | ||||||||
jdk.xml.isStandalone | Indicates that the serializer should treat the output as a standalone document. The property can be used to ensure a newline is written after the XML declaration. Unlike the property xml-declaration, this property does not have an effect on whether an XML declaration should be written out. | yes | yes | yes | boolean | true/false | false | N/A | No | DOMLS | 17 |
jdk.xml.xsltcIsStandalone | Indicates that the XSLTC serializer should
treat the output as a standalone document. The property can be used to ensure
a newline is written after the XML declaration. Unlike the property
OMIT_XML_DECLARATION,
this property does not have an effect on whether an XML declaration should be
written out.
This property behaves similar to that for DOMLS above, except that it is for the XSLTC Serializer and its value is a String. |
yes | yes | yes | String | yes/no | no | N/A | No | XSLTC Serializer | 17 |
jdk.xml.cdataChunkSize | Instructs the parser to return the data in a CData section in a single chunk when the property is zero or unspecified, or in multiple chunks when it is greater than zero. The parser shall split the data by linebreaks, and any chunks that are larger than the specified size to ones that are equal to or smaller than the size. | yes | yes | yes | Integer | A positive integer. A value less than or equal to 0 indicates that the property is not specified. If the value is not an integer, a NumberFormatException is thrown. | 0 | N/A | No | SAX StAX |
9 |
jdk.xml.extensionClassLoader | Sets a non-null ClassLoader instance to be used for loading XSLTC java extension functions. | yes | no | no | Object | A reference to a ClassLoader object. Null if the value is not specified. | null | N/A | No | Transform | 9 |
jdk.xml.xpathExprGrpLimit | Limits the number of groups an XPath expression can contain. |
Transform:yes XPath:no |
yes | yes | Integer | A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumberFormatException is thrown. | 10 | 10 | Yes |
Transform XPath |
19 |
jdk.xml.xpathExprOpLimit | Limits the number of operators an XPath expression can contain. | 100 | 100 | ||||||||
jdk.xml.xpathTotalOpLimit | Limits the total number of XPath operators in an XSL Stylesheet. | yes | 10000 | 10000 |
Transform |
The table below lists the Implementation Specific Features currently supported by the JDK. More features may be added in the future if necessary.
Full Name (prefix + name) [1] | Description | API Property [2] | System Property [3] | jaxp.properties [3] | Value [4] | Security [5] | Supported Processor [6] | Since [7] | |||
---|---|---|---|---|---|---|---|---|---|---|---|
Type | Value | Default | Enforced | ||||||||
jdk.xml.enableExtensionFunctions | Determines if XSLT and XPath extension functions are to be allowed. | yes | yes | yes | Boolean | true or false. True indicates that extension functions are allowed; False otherwise. | true | false | Yes |
Transform XPath |
8 |
jdk.xml.overrideDefaultParser | Enables the use of a 3rd party's parser implementation to override the system-default parser for the JDK's Transform, Validation and XPath implementations. | true or false. True enables the use of 3rd party's parser implementations to override the system-default implementation during XML Transform, Validation or XPath operation. False disables the use of 3rd party's parser implementations. | false | false | Yes |
Transform Validation XPath |
9 | ||||
jdk.xml.resetSymbolTable | Instructs the parser to reset its internal symbol table during each parse operation. |
true or false. True indicates that the SymbolTable associated with a parser needs to be
reallocated during each parse operation. False indicates that the parser's SymbolTable instance shall be reused during subsequent parse operations. |
false | N/A | No | SAX | 9 |
[1] The full name of a property should be used to set the property.
[2] A value "yes" indicates that the property can be set through the processor or its factory, "no" otherwise.
[3] A value "yes" indicates there is a corresponding System Property for the property, "no" otherwise.
[4] The value must be exactly as listed in this table, case-sensitive. The value of the corresponding System Property is the String representation of the property value. If the type is boolean, the system property is true only if it is "true"; If the type is String, the system property is true only if it is exactly the same string representing the positive value (e.g. "yes" for xsltcIsStandalone); The system property is false otherwise. If the type is Integer, the value of the System Property is the String representation of the value (e.g. "64000" for entityExpansionLimit).
[5] A value "yes" indicates the property is a Security Property. Refer to the Scope and Order on how secure processing may affect the value of a Security Property.
[6] One or more processors that support the property. The values of the field are IDs described in table Processors.
[7] Indicates the initial release the property is introduced.
The following table lists the properties and their corresponding legacy names.
Property | Legacy Property Name(s) |
---|---|
jdk.xml.entityExpansionLimit | http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit |
jdk.xml.elementAttributeLimit | http://www.oracle.com/xml/jaxp/properties/elementAttributeLimit |
jdk.xml.maxOccurLimit | http://www.oracle.com/xml/jaxp/properties/maxOccurLimit |
jdk.xml.totalEntitySizeLimit | http://www.oracle.com/xml/jaxp/properties/totalEntitySizeLimit |
jdk.xml.maxGeneralEntitySizeLimit | http://www.oracle.com/xml/jaxp/properties/maxGeneralEntitySizeLimit |
jdk.xml.maxParameterEntitySizeLimit | http://www.oracle.com/xml/jaxp/properties/maxParameterEntitySizeLimit |
jdk.xml.entityReplacementLimit | http://www.oracle.com/xml/jaxp/properties/entityReplacementLimit |
jdk.xml.maxElementDepth | http://www.oracle.com/xml/jaxp/properties/maxElementDepth |
jdk.xml.maxXMLNameLimit | http://www.oracle.com/xml/jaxp/properties/maxXMLNameLimit |
jdk.xml.isStandalone | http://www.oracle.com/xml/jaxp/properties/isStandalone |
jdk.xml.xsltcIsStandalone | http://www.oracle.com/xml/is-standalone http://www.oracle.com/xml/jaxp/properties/xsltcIsStandalone |
jdk.xml.extensionClassLoader | jdk.xml.transform.extensionClassLoader |
jdk.xml.enableExtensionFunctions | http://www.oracle.com/xml/jaxp/properties/enableExtensionFunctions |
All Packages *) |
Exported To |
Opened To |
Description |
|
com.sun.org.apache.xml.internal.dtm |
None |
|||
com.sun.org.apache.xml.internal.utils |
None |
|||
com.sun.org.apache.xpath.internal |
None |
|||
com.sun.org.apache.xpath.internal.compiler |
None |
|||
com.sun.org.apache.xpath.internal.functions |
None |
|||
com.sun.org.apache.xpath.internal.objects |
None |
|||
com.sun.org.apache.xpath.internal.res |
None |
|||
All Modules |
None |
Defines constants for XML processing. |
||
All Modules |
None |
Provides the classes for implementing
XML Catalogs OASIS Standard V1.1, 7 October 2005. |
||
All Modules |
None |
Defines XML/Java Type Mappings. |
||
All Modules |
None |
Defines XML Namespace processing. |
||
All Modules |
None |
Provides the classes for processing XML documents with a SAX (Simple API for XML)
parser or a DOM (Document Object Model) Document builder. |
||
All Modules |
None |
Defines interfaces and classes for the Streaming API for XML (StAX). |
||
All Modules |
None |
Defines event interfaces for the Streaming API for XML (StAX). |
||
All Modules |
None |
Provides utility classes for the Streaming API for XML (StAX). |
||
All Modules |
None |
Defines the generic APIs for processing transformation instructions,
and performing a transformation from source to result. |
||
All Modules |
None |
Provides DOM specific transformation classes. |
||
All Modules |
None |
Provides SAX specific transformation classes. |
||
All Modules |
None |
Provides StAX specific transformation classes. |
||
All Modules |
None |
Provides stream and URI specific transformation classes. |
||
All Modules |
None |
Provides an API for validation of XML documents. |
||
All Modules |
None |
Provides an object-model neutral API for the
evaluation of XPath expressions and access to the evaluation
environment. |
||
All Modules |
None |
Provides the interfaces for the Document Object Model (DOM). |
||
All Modules |
None |
Provides a factory for obtaining instances of DOMImplementation . |
||
All Modules |
None |
Provides interfaces for DOM Level 2 Events. |
||
All Modules |
None |
Provides interfaces for DOM Level 3 Load and Save. |
||
All Modules |
None |
Provides interfaces for DOM Level 2 Range. |
||
All Modules |
None |
Provides interfaces for DOM Level 2 Traversal. |
||
All Modules |
None |
Provides interfaces for DOM Level 2 Views. |
||
All Modules |
None |
Provides the interfaces for the Simple API for XML (SAX). |
||
All Modules |
None |
Provides interfaces to SAX2 facilities that
conformant SAX drivers won't necessarily support. |
||
All Modules |
None |
Provides helper classes, including
support for bootstrapping SAX-based applications. |
Uses Services |
||
Factory that creates new javax.xml.datatype Objects that map XML to/from Java Objects.
|
||
Defines a factory API that enables applications to obtain a
parser that produces DOM object trees from XML documents.
|
||
Defines a factory API that enables applications to configure and
obtain a SAX based parser to parse XML documents.
|
||
Factory that creates Schema objects.
|
||
A TransformerFactory instance can be used to create
Transformer and
Templates objects.
|
||
This interface defines a utility class for creating instances of
XMLEvents
|
||
Defines an abstract implementation of a factory for getting streams.
|
||
Defines an abstract implementation of a factory for
getting XMLEventWriters and XMLStreamWriters.
|
||
Interface for reading an XML document using callbacks.
|
||
An XPathFactory instance can be used to create
XPath objects.
|
|
FlexDoc/Javadoc 2.0 Demo Java Doc |