Tim Tepaße: Tag & Nacht

Beitrag lesen

Hallo Ingo,

ganz so dumm finde ich die Frage nicht, denn Kommentare sowie auch der DOCTYPE und xml-Deklaration bilden eine Ausnahme vom Prinzip der stets zu schließenden Tags.

Jain. Ganz spitzfing im XML- bzw. im SGML-Sinne handelt es sich bei diesen Konstrukten nicht um Tags.

In XML beginnt die Produktionsregel für (Start-) Tags mit "'<' Name". Name bezeichnet dann die Produktionsregeln für Namen; diese beginnt mit "(Letter | "_" | ":"), wobei Letter dann eine Gruppe von Zeichen ist, die nur aus Buchstaben besteht. Indirekt sagt das dann, dass das X bei der Zeichenkette "<X" z.B. kein "!" oder "?" sein darf, wenn es sich um einen Tag handelt. Genauer steht es im SGML Standard, dort ist die Zeichenkette "<" als „Start-tag open (STAGO)“ definiert, dagegen sind die Zeichenketten "<!" und "<?" als „Markup declaration open (MDO)“ bzw. „Processing instruction open (PIO)“ definiert. XML hat dieses Verhalten also von XML geerbt.

Dass es etwas .. komisch ist, zu sagen "<X..." impliziert einen Tag, aber nur, wenn X weder ein "!" noch ein "?" ist, liegt natürlich auf der Hand. Meine Vermutung geht dahin, dass die Autoren des SGML Standards die direkte Eindeutigkeit der einfacheren Begreifbarkeit geopfert haben. Nur ein (bzw. zwei verwandte) Trennzeichen für Informationen zu haben strukturiert das Dokument auf den ersten Blick besser, auch wenn es dann zu dem Missverständnis „Alles sind Tags“ kommen kann.

Tim