Just an observation.
I agree that as a matter of principle the spec should be
normative and the DTD/XSD code should be first among the things that need to
conform to it.
If we fail in that, however, and
something in our code does not conform to the spec, an implementer's product
must work with our code regardless of what the spec says. (It'll hopefully turn
up no later than their QA/test process.) And at the same time they must
reasonably expect that we will bring the code into conformity with the spec, but
there is no certainty when that will happen. So they must develop to the
code and to the spec.
I think it's an unlikely
scenario that our DTD/XSD code would not be in conformity, but if that does
happen then it could be a dilemma for implementers, depending on how much
impact the disconformity has on their implementation.
Disconformity affects everybody
downstream. It has worked the other way, too: Microsoft put features in IE that
were outside the W3C specs, website developers exploited features of IE that
were not in conformity with the specs, and then to serve up those websites other
browsers had to support those non-conformant features.
/Bruce
From: Ogden, Jeff [mailto:]
Sent: Wednesday, January 13, 2010 2:50 PM
To: Bruce Nevin
(bnevin); DITA TC
Subject: RE: [dita] Normative language
specification
Bruce,
Are
you suggesting that we have a different precedence for DITA 1.2 or just making
an observation?
-Jeff
From: Bruce Nevin
(bnevin) [mailto:]
Sent: Tuesday, January 12, 2010
3:49 PM
To: Ogden, Jeff; DITA TC
Subject: RE: [dita]
Normative language specification
This
is how I read these statements: If there's a discrepancy between the DTD/XSD
and the spec, then the DTD/XSD code is not compliant and must be fixed.
However, for their products to work properly with the DTD/XSD, implementers
have to be non-compliant in the same way (or might have to be, depending on
the nature of the discrepancy). So from their point of view for all practical
purposes the code trumps the spec while they wait for "a future release" (not
very comforting words!) to resolve the discrepancy.
/Bruce
From: Ogden, Jeff
[mailto:]
Sent: Tuesday, January 12, 2010 3:17
PM
To: DITA TC
Subject: RE: [dita] Normative language
specification
Back
in the mists of time (15 December 2009) Kris and I got an
assignment:
K. Eberlin and J. Ogden
to check spec statements on what is normative to ensure that it meets this
condition and suggest any necessary revisions.
There
is this statement at
the start of "Overview of the DITA 1.2 specification":
The DTDs and XSDs – along with the
catalog files – define DITA markup for the DITA vocabulary modules and DITA
document types. While the DTDs and XSDs should define the same DITA
elements, the DTDs are normative if there is a
discrepancy.
This may be the
only statement that we need to worry about, but it is hard to be sure.
If anyone knows of others, please speak up.
Assuming that this
is the only statement, I suggest leaving it as it is and where it is. And
then adding a new statement just before the heading “Changes included in
DITA 1.2” in the same “Overview of the DITA 1.2
specification”:
While the written
specification and the DTDs and XSDs should be consistent, the written
specification is normative if there is a discrepancy. And, if there
are discrepancies between different parts of the written specification, the
Language references take precedence over the Architectural
specifications.
My thinking for
suggesting that the Language references take precedence is just that the
Language reference tends to be more specific, while the Architectural
specifications tend to be more general, and it seems better to have the
specific trump the general when there are conflicts. But I’d be OK with
having the Architectural specifications take precedence over the Language
references if someone feels strongly about it. The important thing is
to pick an order of precedence and stick with it.
We might consider
adding something like this at the end too:
If discrepancies
are discovered, please notify the OASIS DITA Technical Committee so that the
differences can be resolved in a future release.
-Jeff
From: Bruce Nevin
(bnevin) [mailto:]
Sent: Tuesday, January 05,
2010 10:40 AM
To: DITA TC
Subject: Re: [dita] Normative
language specification
From
the DITA TC minutes for 15 December:
3. ITEM - Status of language spec and Normative schema.