atom feed14 messages in org.oasis-open.lists.ditaRE: [dita] Prototype DITA 1.1 DTDs
FromSent OnAttachments
Robert D AndersonJun 7, 2006 7:14 pm 
Rodolfo M. RayaJun 13, 2006 2:20 pm 
Robert D AndersonJun 13, 2006 2:34 pm 
Rodolfo M. RayaJun 13, 2006 3:46 pm 
Scott HudsonJun 20, 2006 7:46 pm 
Robert D AndersonJun 21, 2006 8:08 am 
Rodolfo M. RayaJun 21, 2006 10:35 am 
Paul PrescodJun 21, 2006 11:09 am 
Rodolfo M. RayaJun 21, 2006 11:43 am 
Paul PrescodJun 21, 2006 12:10 pm 
Rodolfo M. RayaJun 21, 2006 12:23 pm 
Scott HudsonJun 21, 2006 12:24 pm 
Robert D AndersonJun 21, 2006 12:31 pm 
Don DayJun 21, 2006 12:34 pm.bin
Subject:RE: [dita] Prototype DITA 1.1 DTDs
From:Rodolfo M. Raya (rmr@heartsome.net)
Date:Jun 21, 2006 11:43:03 am
List:org.oasis-open.lists.dita

On Wed, 2006-06-21 at 12:12 -0700, Paul Prescod wrote:

I'm not against DITA 1.1 doctypes but I'd like to understand the real problem. If you replace your DITA 1.0 DTDs with DITA 1.1 DTDs, everything should continue to work. That's what backwards compatibility of the DITA 1.x series is about. The only problem would be if a 1.1 document ended up on a desktop with only 1.0 installed. But this would be a problem in any case.

Version-dependent doctypes can cause problems. The user will install a new version of their tools and DTDs and find that they have no access to DITA 1.1 elements until they update their DOCTYPE statements. If we presume a low-tech user, this could involve manually changing hundreds of documents to get access to those new elements. I don't really see such a user as "lazy". Lazy binding is a very common and valid technique. Programmer classes seldom have version numbers in their interfaces because of exactly this issue.

The obvious compromise is to create both version-dependent and version-independnt public identifiers, but I would like to understand precisely what problems were caused by the current scheme in case it is something that should be fixed in the DITA DTDs (in particular, if a backwards incompatibility introduced).

Hi Paul,

What you say makes sense for people authoring DITA files. It would be great if they simply replace the DTDs and keep working. DITA authors usually deal with one version of DITA at a time.

My situation is different. I don't author DITA files, I translate them. For my programs, DITA files are just XML files. My tools need to be able to resolve entities from DITA 1.0 and DITA 1.1. Both versions, not only the latest. To make it more complex, my tools should be able to resolve entities for customised versions of DITA 1.0 and customised versions of DITA 1.1. Therefor, my tools need to rely on an XML catalogue. Our catalogues should be able to contain URIs that point to DITA 1.0, DITA 1.1 and custom versions of DITA, thus differences in PUBLIC IDs for each version are necessary. Similarly, there must be differences in namespaces for resolving XMLschemas.

Only if DITA 1.1 is absolutely, perfectly and 100% backwards compatible, I will be able to ignore DITA 1.0 and resolve everything against DITA 1.1 DTDs and Schemas. The final DTDs and Schemas for version 1.1 are not ready yet, so we are not certain that there will be perfect backwards compatibility. Just in case, I'd prefer to have version numbers in public identifiers and namespaces.

Best regards,

Rodolfo