← Prev in month ← Prev in thread

Version numbers for public IDs for non-shell DTD components

From
Bhristopher Vong
Date
2007-05-30T13:02:00+00:00
ID
Thread
Version numbers for public IDs for non-shell DTD components
I'm sure we must 
have covered this before, but I just reviewed the catalog.xml in the DITA 1.1 
draft and and was surprised to find that many public IDs don't have the version 
number embedded in it. This is a problem for any implementation that needs to 
support different DITA versions. The catalog approach would have addressed this 
elegantly. For example, the entries for the shell DTDs direct the parser to 
the appropriate DTD version based on the public ID in the DOCTYPE 
declaration:
 
    
<public publicId="-//OASIS//DTD DITA 1.1 Topic//EN" 
uri="dtd_1.1/topic.dtd"/>
    <public 
publicId="-//OASIS//DTD DITA 1.0 Topic//EN" 
uri="dtd_1.0/topic.dtd"/>
 
But the shell DTDs 
in turn load their *.ent and *.mod components, and those have unversioned 
public IDs:
 
    <public publicId="-//OASIS//ELEMENTS 
DITA Topic//EN" uri="dtd_1.1/topic.mod"/>

So a document with a DOCTYPE pointing to DITA 1.0's 
topic.dtd would load dtd_1.0/topic.dtd, but will load topic.mod from dtd_1.1/, 
simply because topic.dtd does not ask for a specific version of topic.mod and 
gets whatever the catalog provides. Am I missing something? 
 
Thanks,
 
Chris
← Prev in month ← Prev in thread