Actually, I have just found this in the XMLReader documentation for XMLReader.setErrorHandler:
Allow an application to register an error event handler.
If the application does not register an error handler, all error events reported by the SAX parser will be silently ignored; however, normal processing may not continue. It is highly recommended that all SAX applications implement an error handler to avoid unexpected bugs.
Applications may register a new or different handler in the middle of a parse, and the SAX parser must begin using the new handler immediately.
Therefore, if I don't register an error handler, it won't default to DefaultHandler. The method which actually writes out the error when debugging seems to be: XMLDocumentScannerImpl(XMLDocumentFragmentScannerImpl).scanDocument(boolean), so I'll see if I can find the source code and where the write operation is being performed.