[Recommended by Richard Padley]
Currently XTF suppresses loading of DTDs at index time. This was to increase the speed and reliability of indexing, since previously these would be fetched (usually over HTTP) for each and every document that was indexed. Clearly very inefficient.
A better strategy, if it's possible to hook into the lower levels of the Java XML parser, would be to maintain a cache of these DTDs. That way, documents that depend on a DTD would work again, but indexing would still be fast and reliable.