suggestion concerning [28] in the XML specification

I have a suggestion concerning production [28] in the XML specification

[28]  doctypedecl ::=  '<!DOCTYPE' S Name (S ExternalID)? S? ('['
(markupdecl | PEReference | S)* ']' S?)? '>'
 
Production [28] by itself would imply that "<!DOCTYPE doc" and "<!DOCTYPE
doc []>" are valid DOCTYPE
declarations. However, these possibilities are precluded by the text

	The document type declaration can point to an external subset (a
special kind of external entity) containing
	markup declarations, or can contain the markup declarations directly
in an internal subset, or can do both. The 
	DTD for a document consists of both subsets taken together. 

preceding [28]. Would not 

[28]  doctypedecl ::=  '<!DOCTYPE' S Name S?
( (S '[' (markupdecl | PEReference | S)+ ']')  |   ((S ExternalID) S? ('['
(markupdecl | PEReference | S)* ']') ) S? '>'

be a better restatement of [28] in that it reinforces this preceding text?
 
Donald Gignac  "gignacda@nswccd.navy.mil"  301-227-3348

Received on Thursday, 10 June 1999 09:14:05 UTC