I have problem with by Xinclude or as an entity included files. I need to know, which files have been included by parser. Example:
<?xml version="1.0" ?> <!DOCTYPE docBookChapter [ <!ENTITY externalFile SYSTEM "entityIncluded.xml"> ]> <chapter xmlns="http://www.w3.org/1999/xhtml" xmlns:xi="http://www.w3.org/2001/XInclude"> <title>Third chapter</title> <xi:include href="xIncluded.xml"/> <chapter> &externalFile;</chapter> </chapter>The parser creates DOM successfully, but how to get names of files included? The element
xi:include
is already replaced with content of file.
Extend DefaultHandler
and @Overwrite
the resolveEntity
method. Your implementation will simply print or log the publicId/systemId and return null
, so the SAXParser
will use the default behaviour to resolve the entities.
Pass your DefaultHandler
subclass with the SAXParser
constructor.