This is an automated email from the ASF dual-hosted git repository. andy pushed a commit to branch main in repository https://gitbox.apache.org/repos/asf/jena.git
commit 190c7266051c36f225c1322c72560c09530bb25f Author: Andy Seaborne <[email protected]> AuthorDate: Sun Nov 16 22:03:57 2025 +0000 Comments in JenaXMLInput --- .../java/org/apache/jena/util/JenaXMLInput.java | 35 +++++++++++++++------- 1 file changed, 24 insertions(+), 11 deletions(-) diff --git a/jena-core/src/main/java/org/apache/jena/util/JenaXMLInput.java b/jena-core/src/main/java/org/apache/jena/util/JenaXMLInput.java index 0283be1765..f589d76075 100644 --- a/jena-core/src/main/java/org/apache/jena/util/JenaXMLInput.java +++ b/jena-core/src/main/java/org/apache/jena/util/JenaXMLInput.java @@ -54,20 +54,33 @@ public class JenaXMLInput { static { // XMLConstants.FEATURE_SECURE_PROCESSING defaults to true. // This can result in problems occasionally. - // - // It limits internal resources - one case: system property "entityExpansionLimit" + + // Limits on internal resources - one case: system property "java.xml.entityExpansionLimit" // The default setting Java17 is 64000. RDF/XML that uses a lot of "&ent;" as a form of URI management // might lead to exceeding this limit. // - // This limit applies to SAX/XMLreader, StAX/XMLStreamReader and StAX/XMLEventReader. - // Illustrative code that sets the default higher if it is not already been set. - if ( false ) { - String keyExpansionLimit = "entityExpansionLimit"; - if ( System.getProperty(keyExpansionLimit) == null ) { - // The system default (no setting) is 64000 - System.setProperty(keyExpansionLimit, "200000"); - } - } + // These limits apply to SAX/XMLreader, StAX/XMLStreamReader and StAX/XMLEventReader. + + // https://docs.oracle.com/javase/tutorial/jaxp/limits/limits.html + + /* + * Limits: + * System property Default value (less than or equal to zero means no limit) + * jdk.xml.entityExpansionLimit 64000 + * jdk.xml.elementAttributeLimit 10000 + * jdk.xml.maxOccurLimit 5000 + * jdk.xml.totalEntitySizeLimit 5x10^7 + * jdk.xml.maxGeneralEntitySizeLimit 0 + * jdk.xml.maxParameterEntitySizeLimit 1000000 + * jdk.xml.entityReplacementLimit 3000000 + * jdk.xml.maxElementDepth 0 + * jdk.xml.maxXMLNameLimit 1000 + * + * Legacy: + * entityExpansionLimit jdk.xml.entityExpansionLimit + * elementAttributeLimit jdk.xml.elementAttributeLimit + * maxOccurLimit jdk.xml.maxOccur (typo in documentation?) + */ } public static XMLReader createXMLReader() throws ParserConfigurationException, SAXException {
