In 11.9 there are changes in XML parsing for providing control over the entity expansion limit. However this has been done using the property reported in the error message, which is supported by the JDK's built-in SAX parser.
Presumably there is some other SAX parser factory on your classpath, e.g. Xerces. Can you confirm this?
If that is the case, besides removing that from the classpath, a preliminary workaround could be to force usage of the built-in SAXParserFactory by setting system property
javax.xml.parsers.SAXParserFactory=com.sun.org.apache.xerces.internal.jaxp.SAXParserFactoryImpl
Otherwise BaseX will need to be changed to handle this setup.
Gesendet: Donnerstag, 1. Mai 2025 um 16:35
Von: ykhabins@bellsouth.net
An: basex-talk@mailman.uni-konstanz.de
Hello,
Congrats on the BaseX 11.9 release!
Installed it, and started to run my XQuery tests.
Right away I got the following error:
"Property '
http://www.oracle.com/xml/jaxp/properties/entityExpansionLimit'is not recognized."
Both doc() and collection() are tripping on it.
A full repro is below.
XQuery #1
=============================================
declare variable $base_dir as xs:string := 'e:\Temp\';
for $docx in collection($base_dir)
return $docx
XQuery #2
=============================================
declare variable $base_dir as xs:string := 'e:\Temp\';
for $file in file:list($base_dir, false(), 'books*.xml')
let $docx := doc($base_dir || $file)
return $docx
Regards,
Yitzhak Khabinsky