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



Reply via email to