I committed my changes into trunk (1.4!) that enable us to use an alternative XML parser in eXist. I tried the fast Piccolo XML Parser for Java but other JAXP compliant parsers should work as well.
Note that the default Xerces jars must remain in lib/endorsed.
- download the Piccollo jars from
- install Picollo.jar into the
lib/user
directory - set the
JAVA_OPTIONS
system environment:export JAVA_OPTIONS="-Dorg.exist.SAXParserFactory=com.bluecast.xml.JAXPSAXParserFactory"
and start existdb with bin/startup.sh ; in the logging you'll see that then Piccolo parser is actually used.
Need to know
- When validation is switched on, Piccolo automagically switches to a validating parser: xerces in most cases.
Known issues
- While loading the mondial example data the mondial dtd is still resolved, resulting in an exception.
- On quite some code locations SAXParserFactory is called directly. Need to figure out what makes sense to update.