xmleditor-support-bounces at xmlmind.com wrote on 07/12/2006 02:53:00 PM: > I'm not sure that this one is the fault of XXE but I wonder if you could > aid me. > > In the prolog section of our DITA topics, the XXE templates insert the > following in the document type definition: > > <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" > "http://docs.oasis-open.org/dita/v1.0.1/dtd/concept.dtd"> > > Which is fine and valid. However, when processing the topics through the > DITA Open Toolkit, if the computer you are using doesn't have an > Internet connection, it doesn't find the DTD, doesn't seem to resolve > the local copy through the "dita_catalog.xml" file, and the build fails. > > It works fine if we replace the filename attribute with a local copy as > follows: > > <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" > "../../dtd/concept.dtd"> > > But this means that the topics are no longer portable between computers > and folders. The fix seems to be to provide a null string as follows: > > <!DOCTYPE concept PUBLIC "-//OASIS//DTD DITA Concept//EN" > ""> > > This validates in XXE and processes through the DITA Open Toolkit just > fine.
According to the XML standard, this is not quite a legal construct. At a minimum, a doctype must contain a system identifier, which is satisfied by the "" syntax, but the null string is not ensuring system-dependent fallback processing in the absence of catalog resolution--that's why the OASIS urls are provided as last resort values. > My question is, is this correct, complete and valid XML? If it is valid, > is it a better solution for the XXE templates? I know that we'll need to > change them on the 20 or so desktops that we have. Would you be willing > to put it in XXE? The current version of the DITA Open Toolkit does contain a basic catalog resolver that works in most circumstances, and this is intended to be beefed up in the upcoming 1.3 release. The initial doctype example above should do its catalog resolution to the DTDs contained within the Toolkit, not follow the system identifier. That the system identifier is being processed indicates that the Toolkit's catalog function might be compromised in your particular setup. Does XXE ship the toolkit, and/or provide an interface for calling it? If so, that interface may have redirected away from the Toolkit's catalog (although your last case with no system identifier puzzles me--clearly this has been forced to find the local DTDs somehow). Regards, -- Don Day Chair, OASIS DITA Technical Committee IBM Lead DITA Architect Email: dond at us.ibm.com 11501 Burnet Rd. MS9033E015, Austin TX 78758 Phone: +1 512-838-8550 T/L: 678-8550 "Where is the wisdom we have lost in knowledge? Where is the knowledge we have lost in information?" --T.S. Eliot

