Nope, I'm the stupid one. I thought you were asking about doctype
declarations, but you were plainly asking about <!SGML ...>
declarations.
The HTML standard says that a user agent _should_ use the supplied
SGML declaration. This is so that user agents that support _more_
than that (e.g. Unicode) are still conforming.
> Perhaps you
>mean that "must start with ..." implies that there can be nothing before
>the document type declaration.
Well... yes.
> Does that mean that the following is
>illegal because the first thing is not a document type declaration?
>
> <!-- document type declaration on next line -- >
> <!doctype html public "-//IETF//DTD HTML 2.0//EN">
Hmmm... yes, it does. Seems a little over-specified, but there
you have it.
Dan