Thomas Meinike: XML-Profis hierher ;-))

Beitrag lesen

Hallo,

Unter http://edition-w3c.de/TR/2000/REC-xml-20001006/#NT-doctypedecl steht >>>Beachten Sie, dass es möglich ist, ein wohlgeformtes Dokument mit einer doctypedecl zu schreiben, das weder auf eine externe Teilmenge verweist, nocht eine interne Teilmenge enthält.<<<
Das gleiche "sagen" auch die dort stehenden RegExp ((S ExternalID)?).

Du meinst die EBNF-Grammatik.

Im genannten Dokument steht doch eindeutig:

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

S steht fuer mind. ein Whitespace-Zeichen, definiert durch (#x20 | #x9 | #xD | #xA)+

? steht fuer optional, also 0|1 und das betrifft sowohl die ExternalID als auch das interne Subset fuer eine DTD-Erweiterung.

* kennzeichnet die Moeglichkeit von 0 bis n Deklarationen im internen Subset oder Parameter-Entitys (%...;), sofern vorhanden.

S? sagt wiederum aus, dass an der genannten Stelle Whitespace sein kann.

MfG, Thomas