Re: no nasty suprises

>Date: Sun, 21 Jun 1998 15:34:46 -0400
>From: Richard Goerwitz <Richard_Goerwitz@Brown.EDU>

> ... 
>This is the "no nasty surprises" principle.
>
>If we adhere to this principle (which is probably not a bad idea where
>it's convenient), then I'd suggest one slight change to the standard.
>In section 2.9 (standalone decl), it's said that the standalone decl
>must be "no" if attributes with default values exist in the external
>DTD _and_ if the document uses markup for which these defaults are in-
>terpolated by the processor (because they're missing).
>
>I'd recommend shortening all of these conditions, and just saying:  The
>standalone doc decl must be "no" if attributes with defaults are given
>in the external DTD.  Same goes for entities.
>
>This is just consistent.  The way things are, people can write docu-
>ments using a given DTD, check them, and label them standalone="yes"
>for processing or whatever (maybe they just leave the DTD reference
>in because they're lazy; I don't know).  The point is that if you
>define the requirement that standalone be "no" the way the spec does,
>people can go merrily along using a document, then suddenly make a
>change and have things go wrong that have nothing to do with the
>change per se.

The reason for the contorted wording now there is that we wanted to
ensure that for any document and any DTD, a straightforward
normalization process (expand external entities, move entity
declarations for internal entities into the subset, supply values for
all non-implied attributes, maybe some other stuff) could be
made stand-alone='yes'.

Your point about the applicability of the nasty-surprise principle
is a good one; a DTD development environment should make it a point
to provide easy feedback on questions like "can users of this DTD
shoot themselves in the foot?  how much effort must they go to in
order to do it?"

Thanks for the comments; keep 'em coming.

Michael

Received on Monday, 22 June 1998 13:37:20 UTC