Parses the input stream into a yaidom Document.
Parses the input stream into a yaidom Document. Closes the input stream afterwards.
Parses the content of the given File into a eu.cdevreeze.yaidom.simple.Document.
Parses the content of the given File into a eu.cdevreeze.yaidom.simple.Document.
Parses the content of the given URI into a eu.cdevreeze.yaidom.simple.Document.
Parses the content of the given URI into a eu.cdevreeze.yaidom.simple.Document.
DOM-LS-based
Documentparser.Typical non-trivial creation is as follows, assuming class
MyEntityResolver, which extendsLSResourceResolver, and classMyErrorHandler, which extendsDOMErrorHandler:A custom
LSResourceResolvercould be used to retrieve DTDs locally, or even to suppress DTD resolution. The latter can be coded as follows (see http://stuartsierra.com/2008/05/08/stop-your-java-sax-parser-from-downloading-dtds), risking some loss of information:For completeness, a custom
DOMErrorHandlerclass that simply throws an exception:If more flexibility is needed in configuring the
DocumentParserthan offered by this class, consider writing a wrapperDocumentParserwhich wraps aDocumentParserUsingDomLS, but adapts theparsemethod. This would make it possible to set an encoding on theLSInput, for example. As another example, this would allow for adapting the conversion from a DOMDocumentto yaidomDocument.A
DocumentParserUsingDomLSinstance can be re-used multiple times, from the same thread. If theDOMImplementationLSis thread-safe, it can even be re-used from multiple threads. Typically aDOMImplementationLScannot be trusted to be thread-safe, however. In a web application, one (safe) way to deal with that is to use oneDOMImplementationLSinstance per request.