
Eliot Kimber wrote:
That is, I was hoping that the entity resolution would work as follows:
Step 1: resolve system ID "http://dita.oasis-open.org/DITA/version.1/topic.dtd" to URI "http://dita.oasis-open.org/DITA/version.1.0/topic.dtd"
Step 2: try to reslve URI "http://dita.oasis-open.org/DITA/version.1.0/topic.dtd" via catalog, resolve it to URI "./topic.dtd"
Step 3: try to reslve URI "./topic.dtd" via catalog. Find no entry, try to resolve it using outside system, find local file topic.dtd.
However, it appears that Oxygen's resolver does not try to resolve the URI returned in step 1, causing it to fail the validation with an HttpException.
Note that this is the behavior of client of the resolver, not the behavior of the resolver itself (which always does just a single lookup). The Entity Resolution spec makes it clear the the resolver does not do recursive entry processing. That is, it's the software component that calls the resolve*() method on the resolver that implements the above recursive algorythm, not the resolver. That's one reason this needs to be an oXygen-level option, because this behavior is a function of the processors integrated with oXygen, not the core resolver (which I presume is the Apache commons resolver). Cheers, E. -- W. Eliot Kimber Professional Services Innodata Isogen 9390 Research Blvd, #410 Austin, TX 78759 (512) 372-8841 ekimber@innodata-isogen.com www.innodata-isogen.com