Documentation

The Java™ Tutorials
Hide TOC
Processing Limit Definitions
Trail: Java API for XML Processing (JAXP)
Lesson: Processing Limits

Processing Limit Definitions

The following list describes the JAXP XML Processing Limits supported in the JDK. These limits can be specified through the factory APIs, system properties, and the jaxp.properties file.

entityExpansionLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit
Definition Limit the number of entity expansions.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 64000
System property jdk.xml.entityExpansionLimit
Since 7u45, 8

elementAttributeLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/elementAttributeLimit
Definition Limit the number of attributes an element can have.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 10000
System property jdk.xml.elementAttributeLimit
Since 7u45, 8

maxOccurLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/maxOccurLimit
Definition Limit 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".
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 5000
System property jdk.xml.maxOccurLimit
Since 7u45, 8

totalEntitySizeLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/totalEntitySizeLimit
Definition Limit the total size of all entities that include general and parameter entities. The size is calculated as an aggregation of all entities.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 5x10^7
System property jdk.xml.totalEntitySizeLimit
Since 7u45, 8

maxGeneralEntitySizeLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/maxGeneralEntitySizeLimit
Definition Limit the maximum size of any general entities.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 0
System property jdk.xml.maxGeneralEntitySizeLimit
Since 7u45, 8

maxParameterEntitySizeLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/maxParameterEntitySizeLimit
Definition Limit the maximum size of any parameter entities, including the result of nesting multiple parameter entities.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 1000000
System property jdk.xml.maxParameterEntitySizeLimit
Since 7u45, 8

entityReplacementLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/entityReplacementLimit
Definition Limit the total number of nodes in all entity references.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 3000000
System property jdk.xml.entityReplacementLimit
Since 7u111, 8u101

maxElementDepth

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/maxElementDepth
Definition Limit the maximum element depth.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 0
System property jdk.xml.maxElementDepth
Since 7u65, 8u11

maxXMLNameLimit

Attribute Description
Name http://www.oracle.com/xml/jaxp/properties/maxXMLNameLimit
Definition Limit the maximum size of XML names, including element name, attribute name and namespace prefix and URI.
Value A positive integer. A value less than or equal to 0 indicates no limit. If the value is not an integer, a NumericFormatException is thrown.
Default value 1000
System property jdk.xml.maxXMLNameLimit
Since 7u91, 8u65

Legacy System Properties

These properties, which were introduced since JDK 5.0 and 6, continue to be supported for backward compatibility.

System Property Since New System Property
entityExpansionLimit 1.5 jdk.xml.entityExpansionLimit
elementAttributeLimit 1.5 jdk.xml.elementAttributeLimit
maxOccurLimit 1.6 jdk.xml.maxOccur

{java.home}/lib/jaxp.properties

The system properties can be specified in the jaxp.properties file to define the behavior for all invocations of the JDK or JRE. The format is system-property-name=value. For example:

jdk.xml.maxGeneralEntitySizeLimit=1024

Previous page: Processing Limits
Next page: Scope and Order