internal dtds are not handled
XML documents with internal DTDs are not handled by metacat. The internal dtd entity callback in the sax parser is blank and doesn't do anything when presented with an internal dtd.
#1 Updated by Chad Berkley over 11 years ago
I have fixed this problem in the SMS branch so that any file that is uploaded via the insertMultipart action can be read from disk instead of from the database. This allows the xml document to retain any internal DTD declarations it has. It works because the multipart upload method already writes any multipart files to disk so when a read request comes in, metacat now checks to see if the document exists on disk as well as in the database. If it exists on disk and the qformat is xml, it reads the document off of disk instead of from the database.
Note that this will only work for files that are uploaded using the multipartInsert action. We may want to enable this type of caching for the other upload methods as well.
I'm going to leave this bug open to track this issue, but for the SMS needs, this issue is essentially fixed.