Lehrer Nussbaumer - XML, XSL et cetera

XML

  1. Grundlagen
  2. DTD
  3. Schema
  4. CSS

XSL

Anwendungen 

Editoren

Parser u.a.

Schnittstellen


-----------------
letzte änderung:
09 December 2021
-----------------
Lehrer Nussbaumers Seite

... in Arbeit ...

Grundlagen

XML-Dateien erhalten ihre Struktur durch die verwendeten Tags. Wir besprechen dies an einem einfachen Beispiel: Eine Schule besteht aus Klassen mit Schülerinnen und Schülern. Jede Schülerin und jeder Schüler hat einen Vor- und einen Familiennamen und gehört in genau eine Klasse. Diese Klasse hat jeweils einen Namen und einen zugehörigen Klassenvorstand (diese beiden Daten bilden Attributwerte). Alle Klassen bilden zusammen den Datenbestand für die Schule.

An diesem Beispiel lässt sich eine strenge hierarchische Struktur ablesen: Die Schule bildet das Wurzelelement. Alle Klassen sind Kind-Elemente des Wurzelelementes. Alle Schülerinnen und Schüler sind eindeutige Kind-Elemente ihrer Klassen. Dies sieht im Quelltext einer XML-Datei so aus:

<?xml version = "1.0" encoding = "UTF-8"?>
<schule xmlns:xsi = "http://www.w3.org/2001/XMLSchema-instance" 
        xsi:noNamespaceSchemaLocation = "file:///home/alfred/xml/schule.xsd" 
	name = "Stiftsgymnasium Melk">
  <klasse klassenvorstand = "Nussbaumer" klassenname = "1A">
    <schuelerIn>
      <vorname>Maxi</vorname>
      <famname>Maus</famname>
    </schuelerIn>
    <schuelerIn>
      <vorname>Morty</vorname>
      <famname>Maus</famname>
    </schuelerIn>
    <schuelerIn>
      <vorname>Paula</vorname>
      <famname>Pudel</famname>
    </schuelerIn>
  </klasse>
  <klasse klassenvorstand = "Mistlbacher" klassenname = "1B">
    <schuelerIn>
      <vorname>Gerda</vorname>
      <famname>Knoll</famname>
    </schuelerIn>
    <schuelerIn>
      <vorname>Hans</vorname>
      <famname>Knapp</famname>
    </schuelerIn>
  </klasse>
</schule>

Natürlich könnten noch weit mehr Daten gespeichert werden, etwa das Geburtsdatum der Schülerinnen und Schüler, ihre Anschrift, die Namen ihrer Eltern, der Schulerfolg in den einzelnen Gegenständen über mehrere Jahre hinweg, usw. Sehr komplizierte Datenstrukturen können allerdings mit Hilfe von Tags und Attributen beschrieben werden, soferne sie nur hierarchisch von einem Wurzelelement ausgehend dargestellt werden können. Genaugenommen entsteht ein Datenbaum, der in einer XML-Datei serialisiert gespeichert wird.

Wohlgeformtheit

Wohlgeformte XML-Dokumente bestehen aus Prolog (optional), Rumpf (obligatorisch) und Epilog (optional).

  • Der Prolog enthält die XML-Deklaration (etwa unter Angabe der XML-Version), Verarbeitungsanweisungen (Steueranweisungen, processing instructions), Kommentaren und DTD bzw. Schema.
  • Der Rumpf enthält die eigentlichen Daten. Als Element bezeichnet man dabei das Konstrukt, das aus dem Start-Tag, dem Ende-Tag und aus dem Inhalt zwischen beiden Tags besteht. Daher enthält der Rumpf das so genannte Dokument-Element (als Wurzelelement). Alle weiteren Elemente sind Kind-Elemente bzw. Nachfahren dieses Wurzelelementes.
  • Der Epilog wird praktisch nicht verwendet.

Weil die Daten in einem XML-Dokument eine Baumstruktur bilden, müssen die folgenden Regeln erfüllt sein:

  1. Ein XML-Dokument besteht mindestens aus einem Element.
  2. Ein XML-Dokument besitzt genau ein Dokument-Element (Wurzelelement).
  3. Die Elemente sind korrekt geklammert.
  4. Jedes Element mit einem Inhalt hat ein Start-Tag und ein Ende-Tag mit dem gleichen Namen. Leere Elemente müssen am Ende des Start-Tags eine "/"-Zeichen aufweisen.
  5. Im Start-Tag können zusätzliche Informationen in Form von Attributen eingetragen sein. Jedes Attribut besitzt aber einen Wert, der zwischen Hochkommas zu setzen ist.
  6. Das Zeichen "<" darf nur als erstes Zeichen eines Start- oder Ende-Tags verwendet werden. Das Zeichen "&" darf nur als erstes Zeichen eines so genannten Entity-Referenz verwendet werden.

Erfüllt ein XML-Dokument die obigen Regeln, so heißt es wohlgeformt.

Gültigkeit

Ein wohlgeformtes XML-Dokument heißt gültig, wenn seine Elemente und Attribute die in einer gültigen DTD oder Schema-Datei festgelegten Eigenschaften erfüllen. Parser überprüfen die Gültigkeit beim Eintragen neuer Daten in eine XML-Datei, indem sie kontrollieren, ob alle vorgesehenen Elemente und Attribute eingegeben bzw. ob der in der Schema-Definition vorgegebene Datentyp erfüllt ist (vgl. Abschnitt DTD bzw. Schema).


© Alfred Nussbaumer, Weblog