GitHub user afs opened a pull request: https://github.com/apache/jena/pull/413
JENA-1537: Remove dependency on Apache Xerces. The dependency of Apache Xerces 2.11.0 can be removed by extracting the necessary datatype validation code from Xerces and using the JDK XML parser. The Xerces release jars `xercesImpl-2.11.0.jar` and `xml-apis-1.4.01.jar` are no longer needed which has OSGi and JPMS advantages. Impacts: * Switch to using the JDK built-in XML parser (this affects any use of XML in an application using Jena) * Drop `XSDDatatype.loadUserDefined` - the necessary code isn't available via JDK APIs * Add package tree `org.apache.jena.ext.xerces` for the extracted datatype validation and regex code (a SPARQL corner case) * Remove Xerces from `pom.xml` and `jena-core/pom.xml` * Remove Xerces from `jena-osgi/pom.xml` * No checking of encoding mismatches between reader and XML charset declaration (access to the XML Declaration is not available, at least not in the same way) The extracted code is only slightly cleaned up to keep some degree of alignment with the original Xerces source. That code originates from a long time ago and has a lot of warnings which have been suppressed. There will also need to be a change to NOTICE to reflect NOTICE from Xerces (it is already in the NOTICE for the distribution). You can merge this pull request into a Git repository by running: $ git pull https://github.com/afs/jena xerces Alternatively you can review and apply these changes as the patch at: https://github.com/apache/jena/pull/413.patch To close this pull request, make a commit to your master/trunk branch with (at least) the following in the commit message: This closes #413 ---- commit c9a7e646be45d44f26b44e51187487f12f182b89 Author: Andy Seaborne <andy@...> Date: 2018-04-30T17:26:05Z JENA-1537: Remove dependency on Xerces. Import needed code ---- ---