Inhaltliche Strukturierung von Ressourcen

Eine Einführung in XML

2. XML-Dokumente


von Margarete Payer und Alois Payer

mailto: payer@hdm-stuttgart.de


Zitierweise / cite as:

Payer, Margarete <1942 - > ; Payer, Alois <1944 - >: Inhaltliche Strukturierung von Ressourcen : eine Einführung in XML. -- 2. XML-Dokumente. -- Fassung vom 2002-11-19. -- URL: http://www.payer.de/xml/xml02.htm. -- [Stichwort].

Erstmals publiziert: 2002-11-19

Überarbeitungen:

Anlass: Lehrveranstaltungen an der HdM Stuttgart, 2002/03

Unterrichtsmaterialien (gemäß § 46 (1) UrhG)

©opyright: Dieser Text steht der Allgemeinheit zur Verfügung. Eine Verwertung in Publikationen, die über übliche Zitate hinausgeht, bedarf der ausdrücklichen Genehmigung der Herausgeberin.

Dieser Teil ist ein Kapitel von: 

Payer, Margarete <1942 - > ; Payer, Alois <1944 - >: Inhaltliche Strukturierung von Ressourcen : eine Einführung in XML. -- 0. Übersicht. -- URL: http://www.payer.de/xml/xml00.htm

Dieser Text ist Teil der Abteilung Informationswesen, Bibliothekswesen, Dokumentationswesen  von Tüpfli's Global Village Library.


0. Übersicht



Zum Zeitpunkt der Abfassung dieses Kapitels gilt

Deutsche Übersetzung:


1. Einige Grundbegriffe


In XML bezeichnet man als Dokument (document) jede mit XML-Markup markierte Ressource. (Merkspruch: DocuMent = Data + Markup).

Bei XML-Dokumenten unterscheidet man:

Jedes gültige XML-Dokument muss also auch wohlgeformt sein und sein Markup muss aufgrund einer DTD oder eines Schemas Sinn besitzen, muss semantisch sinnvoll sein. Ein wohlgeformtes XML-Dokument dagegen muss nicht gültig sein, sondern kann ein semantisch sinnloses Dokument sein.


2. Aufbau eines XML-Dokuments


Jedes XML-Dokument besteht aus:

Der formale Aufbau eines XML-Dokuments ist:

  1. Document Prolog
    1. XML declaration: teilt mit:
      • XML-Version: verwendete Version von XML
      • Zeichenkodierung:
      • Standalone document declaration
    2. Document Type Declaration: definiert das verwendete Markup. Oft besteht die Document Type Declaration aus einer einzigen Zeile, die aussagt, dass die verwendete Document Type Definition eine veröffentlichte Implementierung ist bzw. dem empfangenden System bekannt ist
  2. Document instance: das eigentliche Dokument mit dem Markup

3. Document Prolog


3.1. XML-Declaration


Die XML declaration wird oft weggelassen, wenn man annehmen kann, dass sowohl das sendende als auch das empfangende System die default syntax (reference concrete syntax) benutzen.

Konvention im Folgenden: { }: der Wert für die zwischen den geschwungenen Klammern stehende Variable ist einzusetzen (die geschwungenen Klammern sind dann wegzulassen!).

Achtung: XML ist case sensitive, d.h. Groß- und Kleinschreibung für XML-Sprachbestandteile dürfen nicht verändert werden und die gewählte Schreibung variabler Elemente muss beibehalten werden! (Also: !ELEMENT muss mit Großbuchstaben geschrieben werden!)

Allgemeine Syntax einer XML-declaration
<?xml {Name1} = "{Wert1}" {Name2} = "{Wert2}"?>
Option Syntax Beispiel
Nur XML-Version <?xml version="{Versionsnummer}"?> <?xml version="1.0"?>
XML-Version + Zeichenkodierung (Standard:: UTF-8) <?xml version="{Versionsnummer}" encoding="{Kodierung}"?> <?xml version="1.0" encoding="UTF-8"?>
XML-Version + Standalone document declaration <?xml version="{Versionsnummer}" standalone="{yes/no}"?> <?xml version="1.0" standalone="no"?>

Erklärung:


3.2. Document Type Declaration


Die Document Type Declaration gibt an, gemäß welcher welcher Document Type Definition (siehe Kapitel 3) oder welchem Schema (siehe Kapitel 15) das XML-Dokument markiert ist.

Eine Document Type Definition (DTD) kann sein:

Es gibt folgende Optionen, eine XML basierte Ressource im document prolog mit der zugehörigen DTD zu verknüpfen

Option Syntax Beispiel
Hinweis auf eine dokumentexterne DTD  <!DOCTYPE {Name der DTD} SYSTEM "{URL der DTD}">  <!DOCTYPE Dissertation SYSTEM "http://www.payer.de/dissertation.dtd">
Hinweis auf eine dokumentexterne öffentliche DTD <!DOCTYPE {Name der DTD} PUBLIC "{Öffentliche Bezeichnung der DTD}" "{URL der DTD}"> <!DOCTYPE Dissertation PUBLIC "-//AKADEMISCH//DTD DISS//EN" "http://www.ddb.de/dtd/diss.dtd">
DTD (dokumentenintern) <!DOCTYPE {Name der DTD}
[<!{DTD}> (Syntax s. unten!)]>
<!DOCTYPE Dissertation
[
<!ELEMENT Dissertation (Titelblatt, Kapitel+, Zusammenfassung, Literaturverz, Lebenslauf)>
<!ELEMENT Titelblatt (Titel, Autor, Lebensdaten,  WissInst, Jahr, ...)>
<!ELEMENT (Titel | Autor | Lebensdaten | WissInst | Jahr | ...) (#PCDATA)>
<!ELEMENT Kapitel (....)>
...
]>
gemischt: Hinweis auf dokumentenexterne DTD mit Sonderregelungen für das vorliegende Dokument <!DOCTYPE {Name der DTD} SYSTEM "{URL der DTD}"
[<!{Sonderregelungen}>]>
<!DOCTYPE Dissertation PUBLIC "-//AKADEMISCH//DTD DISS//EN" "http://www.ddb.de/dtd/diss.dtd"
[<!ELEMENT Lebensdaten EMPTY>]>

4. Document Instance


4.1. Markup


Das Markup eines Dokuments besteht aus:

In einer auf der Grundlage von XML gekennzeichneten Ressource (Dokument) müssen für Tags folgende syntaktischen Regeln beachtet werden

Tags  innerhalb einer Ressource enthalten also folgende Informationen:

Anmerkungen und Erklärungen des Produzenten des XML-Dokumentes, die vom System nicht beachtet werden sollen, haben folgende Syntax:

Syntax Beispiel
<!-- {Text der Anmerkung} --> <!-- Für den folgenden Abschnitt muss ich noch die Quellen nachweisen-->

4.2. Dokumentinhalt


In XML gibt es für die Markierung reservierte Zeichen, die nicht direkt in einem Ressourceninhalt erscheinen dürfen. Benötigt man solche im Inhalt, muss der Bereich als CDATA bestimmt sein, oder man muss eine Zeichenreferenz (ENTITY) verwenden.

Die reservierten Zeichen und die entsprechenden Zeichenreferenzen sind

Zeichen Zeichenreferenz
< &lt;
> &gt;
& &amp;
' &apos;
" &quot;

Diese Zeichenreferenzen sind unabhängig von der Zeichenkodierung.

Innerhalb des Dokuments können andere Sonderzeichen (auch nichtlateinische Schriften) -- soweit sie in der durch die XML declaration explizit oder implizit definierten Zeichenkodierung vorkommen -- auf zwei Arten bezeichnet werden

Methode Syntax Beispiele
character reference &#{binärer Wert};
&#x{hexadezimaler Wert};
&#161; [= ¡]
&#xA1; [= ¡]
Definition von Sonderzeichen (sog. predefined entity references) (soweit vorhanden) &{Sonderzeichendefinition};
  • &auml; (a-Umlaut) [= ä]
  • &Auml; [= Ä]
  • &ouml; [= ö]
  • &Ouml; [= Ö]
  • &uuml; [= ü]
  • &Uuml; [= Ü]
  • &szlig; (sz-Ligatur) [= ß]
  • &lt; (less than) [= <]
  • &gt; (greater than) [= >]

Soll ein ganzer Bereich vom Parser übergangen werden und sein Inhalt nicht als markierter Dokumenteninhalt interpretiert werden, muss man ihn als CDATA markieren:

Syntax Kommentar
<![CDATA[{Inhalt}]]> Der Inhalt kann beliebig sein, z.B. Programmcode. Für binäre Inhalte eignet sich CDATA nicht, weil die der Endemerkierung ]]> entsprechende Bitfolge vorkommen könnte und dann vom Parser irrtümlich als Ende des CDATA-Bereichs interpretiert würde.

Zu Kapitel 3: Document Type Definition (DTD) und Schema