Thomas J.S.: Eine Frage allgemeiner, konzeptueller Natur

Beitrag lesen

Hallo,

In meinem Kopf existiert folgendes Modell der Wirklichkeit:

In einem XML-Dokument ist alles, was zwischen „<?“ und „?>“ eingeschlossen ist, eine Verarbeitungsanweisung. Das schließt die XML-Deklaration mit ein.

Das ist ein falsches Bild der Wirklichkeit ;-)
Die XML-Deklaration sieht aus wie eine PI, ist aber keine.

Kann ich auch alles, was mit „<!“ beginnt (als da hätten wir z.B. die DOCTYPE-Deklaration, CDATA-Abschnitte, Kommentare etc.), irgendwie zusammenfassend bezeichnen? Soll heißen: Kennt XML ein Konzept, welches durch ein einleitendes „<!“ identifiziert wird? Wenn ja, wie bezeichnet man dieses?

Meine diesbezügliche Suche im Web hat mir keine definitive Antwort geliefert, allerdings vermute ich, dass sowas nicht existiert. Allein schon deshalb, weil z.B. Kommentare mit „<!“ eingeleitet aber auch durch „!>“ abgeschlossen werden, was bei den anderen „<!“-Konstrukten nicht der Fall ist.

Diese Sachen regelt nicht XML selbst, sondern die Mutti, also SGML.
Gewisse Zeichenverbinungen haben unterschiedliche Bedeutungen.
das: < nenn SGML: STAGO (star-tag open)
das: <! dagegen MDO (markup declaration open)
das: <? PIO (processing instrucion open)
das: </ ist ETAGO (end-tag open)

das: > ist sowohl, MDC (markup declaration close), wie PIC (proc. inst. close) und TAGC (tag close)
das: ]> dagegen ist MSC (marked sction close)
(auch [ und ] haben mehrere Bedeutungen)
und so weiter.

Ein Kommentar startet _und_ endet genau genommen jeweils mit:  --
(und damit eine Anwendung weiss, dass es sich dabei nicht um Text, also nicht um Elementinhalt, sondern um Markup geht, braucht sie dafür ein Zeichen, was in diesem Fall aus dem: <!  besteht.
In XML fängt ein Kommentat also mit <!-- an und endet mit -->  (und _nicht_ mit !>).

Grüße
Thomas