i

Fachkonzept - XML

XML-basierte Sprachen

XML-basierte Sprachen sind Auszeichnungssprachen, mit denen Information zu einer "Welt" strukturiert dargestellt werden kann. Zu den XML-basierten Sprachen gehören:

  • XHTML - eine Sprache zur Beschreibung von Hypertexten (verlinkten Webseiten)
  • SVG - eine Sprache zur Beschreibung (Vektor-) Grafiken
  • MusicXML - eine Sprache zur Beschreibung von Musikstücken
  • ...

Beispiel - XML-Dokument, verfasst in der Sprache XHTML:

<?xml version="1.0" encoding="iso-8859-1" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="de">
  <head>
    <title>Homepage von Bailey</title>
    <link rel="stylesheet" type="text/css" href="bailey.css" />
  </head>
  <body>
    <h1>Hallo, ich heiße Bailey!</h1>
    <p>
      <img src="bailey1.jpg" alt="Foto von Bailey" />
    </p>
    <p>
      Hallo, ich heiße Bailey und lebe in der Nähe von 
      <a href="http://www.kaiserslautern.de">Kaiserslautern</a>. 
      Ich bin ein Australian Shepherd, meine Vorfahren haben in 
      Australien Schafe gehütet. 
    </p>
    <p>
      Wenn ich erwachsen bin, will ich Agility-Sport treiben. 
      Wisst ihr überhaupt, was das ist? Wenn nicht, dann schaut 
      euch doch mal die Fotos bei
      <a href="http://de.wikipedia.org/wiki/Agility">Wikipedia</a> 
      an. Ihr werdet staunen, was wir Hunde alles können!
    </p>
    <p>
      Ich kann aber auch schon ganz viel. Das könnt ihr auf der 
      <a href="bailey2.html">nächsten Seite</a> sehen.
    </p>
  </body>
</html>

Beispiel - XML-Dokument, verfasst in der Sprache SVG:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC 
    "-//W3C//DTD SVG 1.1//EN" 
    "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
<svg xmlns="http://www.w3.org/2000/svg" width="240" height="240">
<rect x="0" y="0" width="240" height="240" fill="orange"></rect> 
<polygon
    points="160 10 20 100 60 170 110 160 150 220 200 230 210 180 190 110 160 120 150 100 170 60" 
    fill="white"></polygon>
<polygon points="110 50 100 70 130 70 140 50" fill="red"></polygon>
<polygon points="160 190 150 210 180 210 190 190" fill="red"></polygon>
<polygon points="120 120 100 130 120 140 140 130" fill="blue"></polygon>
<rect x="100" y="90" width="40" height="20" fill="green" stroke="none"></rect>
<rect x="150" y="160" width="40" height="20" fill="green" stroke="none"></rect>
<line x1="120" y1="70" x2="120" y2="90" stroke="gray" stroke-width="4px"></line> 
<line x1="120" y1="110" x2="120" y2="120" stroke="gray" stroke-width="4px"></line> 
<line x1="100" y1="130" x2="78" y2="130" stroke="gray" stroke-width="4px"></line> 
<line x1="80" y1="130" x2="80" y2="80" stroke="gray" stroke-width="4px"></line> 
<line x1="78" y1="80" x2="120" y2="80" stroke="gray" stroke-width="4px"></line> 
<line x1="120" y1="140" x2="120" y2="150" stroke="gray" stroke-width="4px"></line> 
<line x1="118" y1="150" x2="172" y2="150" stroke="gray" stroke-width="4px"></line> 
<line x1="170" y1="150" x2="170" y2="160" stroke="gray" stroke-width="4px"></line> 
<line x1="170" y1="180" x2="170" y2="190" stroke="gray" stroke-width="4px"></line> 
</svg>

Jede dieser Sprachen benutzt Auszeichnungen bestehend aus einem öffnenden Tag und einem passenden schließenden Tag, um einen umschließenden Inhalt in einer bestimmten Weise zu charakterisieren. Für jede dieser Sprachen ist der Vorrat an Tags zur Strukturbeschreibung genau festgelegt. So benutzt die Sprache XHTML andere Tags als die Sprache SVG. Die Art und Weise, wie die Tags eingesetzt werden, ist aber bei beiden Sprachen gleich. Beide Sprachen berücksichtigen die Regeln, die XML allgemein vorgibt.

XML-Dokumente selbst konzipieren

Jeder kann XML zur Informationsdarstellung benutzen. Man muss hierzu "nur" passend zum Anwendungsbereich die Auszeichnungen konzipieren.

So könnte ein Oberstufenkurs an einer Schule mit einem XML-Dokument z.B. so dargestellt werden:

<?xml version="1.0" encoding="utf-8"?>
<Kurs>
  <!-- Organisation -->
  <Fach>Informatik</Fach>
  <Typ>Grundkurs</Typ>
  <Stufe>11</Stufe>
  <Bezeichner>11-in-1</Bezeichner>
  <Unterricht>
    <Einheit>
      <Tag>Montag</Tag>
      <Stunde>7</Stunde>
      <Raum>B04</Raum>
    </Einheit>
    <Einheit>
      <Tag>Mittwoch</Tag>
      <Stunde>3</Stunde>
    </Einheit>
    <Einheit>
      <Tag>Mittwoch</Tag>
      <Stunde>4</Stunde>
    </Einheit>
  </Unterricht>
  <!-- Personen -->
  <Lehrer kürzel="SU" geschlecht="w">
    <Name>Schuster</Name>
    <Vorname>Christiane</Vorname>
  </Lehrer>
  <Schüler id="87" geschlecht="m">
    <Name>Schwarz</Name>
    <Vorname>Tobias</Vorname>
  </Schüler>
  <Schüler id="7" geschlecht="w">
    <Name>Baum</Name>
    <Vorname>Nina</Vorname>
  </Schüler>
  <Schüler id="33" geschlecht="w">
    <Name>Müller</Name>
    <Vorname>Katrin</Vorname>
    <Kurssprecher/>
  </Schüler>
  <Schüler id="60" geschlecht="m">
    <Name>Roth</Name>
    <Vorname>Andreas</Vorname>
  </Schüler>
  <!-- ... -->
</Kurs>

Beachte, dass mit einer solchen Darstellung noch kein Verarbeitungsprogramm verbunden ist. Das müsste man noch zusätzlich entwickeln.

XML

XML steht für "eXtensible Markup Language". XML ist eine universelle, erweiterbare Sprache, mit der man konkrete Auszeichnungssprachen erzeugen kann.

XML gibt zum einen Regeln vor, nach denen man Dokumente zur Informationsdarstellung bilden kann. Diese Regeln werden (in Auszügen) im folgenden Abschnitt vorgestellt.

XML erlaubt es zudem, die Struktur von XML-Dokumenten genau festzulegen und auf diese Weise Sprachen für bestimmte Anwendungsbereiche zu entwickeln. Mehr hierüber erfährst du in den weiteren Abschnitten.

Wohlgeformte XML-Dokumente

Ein XML-Dokument, das alle Regeln von XML erfüllt, heißt wohlgeformt.

Bei einem wohlgeformten XML-Dokument sind z.B. alle Tags richtig geschachtelt.

Nur solche wohlgeformten XML-Dokumente werden vom Browser in Baumform angezeigt.

Baumstruktur der Elemente

Suche

v
1.3.2.3
dev.inf-schule.de/information/informationsdarstellungxml/xmldokumente/konzept_xml
dev.inf-schule.de/1.3.2.3
dev.inf-schule.de/@/page/DX5xWmQmzJVwNsnp

Rückmeldung geben