Extensible Markup Language

Aus Mikiwiki
Zur Navigation springen Zur Suche springen

Die Extensible Markup Language / XML (dt. erweiterbare Auszeichnungssprache) beschreibt ein Datenformat für hierarchisch strukturierte Dokumente in Form von Textdateien. XML wird unter anderem für den Datenaustausch zwischen Rechnersystemen eingesetzt, insbesondere über das Internet.

Die vom World Wide Web Consortium (W3C) herausgegebene XML-Spezifikation (Recommendation, erste Ausgabe vom 10. Februar 1998, aktuell ist die vierte Ausgabe vom 29. September 2006) definiert eine Metasprache, auf deren Basis durch strukturelle und inhaltliche Einschränkungen anwendungsspezifische Sprachen definiert werden. Diese Einschränkungen werden durch Schemasprachen wie DTD oder XML-Schema ausgedrückt. Beispiele für XML-Sprachen sind:

Eigenschaften

Zu den Eigenschaften von XML gehören:

  • XML definiert eigene Tags; diese können auch eigene Attribute besitzen. Standardzeichensatz ist UTF-8. Gross- und Kleinschreibung in Tags werden unterschieden.
  • Im XML-Format können Daten gespeichert und bereitgestellt werden.
  • XML kann mit der Style-Sprache XSL formatiert werden.
  • XML kann mit XSLT in andere Formate (auch in andere XML-Dialekte) umgewandelt werden.
  • XML trennt konsequent Daten und Darstellung im Webbrowser.
  • XML ist kein Ersatz für HTML, sondern eine übergeordnete Definition für Auszeichnungssprachen. Es gibt mit XHTML eine Implementierung von HTML in XML.
  • XML kann nicht zur Entwicklung darstellender Tags genutzt werden, dies ist Aufgabe von CSS, XSL und XSL-FO.
  • XML geht strenger mit den Tags um un erzeugt absichtlich Fehler.

XML verwendet bestimmte Dateinamenserweiterungen, an denen der Webbrowser den Zweck der Datei erkennt.

Erweiterung Beschreibung
.xml XML-Datei. Diese enthält die Sprachanweisungen.
.xsl Stylesheet für XML. Hier wird die Ausgabe formatiert.
.xslt Eine XSLT-Skriptdatei zur Umwandlung eines XML-Formats in ein anderes oder in HTML.
.css Stylesheet für HTML. Auch hier wird die Ausgabe formatiert.
.dtd DTD-Datei. Hier werden die Tags definiert.
.js JavaScript-Datei. Wird oft zur Erzeugung dynamischer Funktionen und zur Auslagerung von Funktionssammlungen eingesetzt.
.html HTML-Datei.

Verwendung

Eine XML-Datei kann mit Hilfe eines ASCII-Texteditors erstellt und im Webbrowser angesehen werden. Die Tags erscheinen dann farbig, da sie vom Webbrowser erkannt und interpretiert werden.

Eine XML-Datei besteht immer aus Prolog und einem Wurzel-Element (hier "<ausgabe>"), das auch Unterelemente enthalten kann.

<?xml version="1.0" ?>
<ausgabe>Hallo XML!</ausgabe>
<ausgabe>Hallo XML!</ausgabe>

Im einleitenden Teil der XML-Datei wird nun das Tag "<ausgabe>" definiert. Leicht ist zu erkennen, dass DTD eine eigene Definitionssprache verwendet. Es ist nicht einsichtig, warum dies nicht in XML selbst erfolgt - aus diesem Mangel heraus wurde bereits XML-Schema als Definitionssprache für XML-Sprachen entwickelt, das wohl in Zukunft DTD ablösen wird.

<?xml version="1.0" ?>
<!DOCTYPE FirstXML [
  <!ELEMENT ausgabe (#PCDATA)>
  ]>
<ausgabe>Hallo XML!</ausgabe>
<ausgabe>Hallo XML!</ausgabe>

Folgendes Beispiel zeigt nun etwas genauer, welches Element wie definiert wird.

<?xml version="1.0" ?>
<!DOCTYPE FirstXML [
  <!ELEMENT ausgabe (anzeige)>
  <!ELEMENT anzeige (#PCDATA)>
  ]>
<ausgabe>
   <anzeige>Sieht schon interessanter aus!</anzeige>
</ausgabe>
- <ausgabe>
    <anzeige>Sieht schon interessanter aus!</anzeige>
  </ausgabe>

Kommentare sind in der von HTML bekannten Form möglich.

<!-- Ein Kommentar in XML sieht gleich aus wie unter HTML -->

Zusätzlich gibt es sogenannte Prozessanweisungen, die dem verarbeitenden Parser Hinweise auf eine erforderliche Anpassung seines Verhaltens geben. Allerdings muss das selbst programmiert werden - geschieht das nicht, so werden diese Anweisungen von jedem Parser ignoriert.

<?pi Hier steht, was der Parser liest ?>

Schliesslich gibt es die Möglichkeit, Daten vor dem Parser zu verbergen. Dazu dienen mit "CDATA" gekennzeichnete Abschnitte. Dabei müssen alle Klammern genau so wie angegeben geschrieben werden.

<[CDATA[
  ## geschützter Abschnitt
]]>

Kurs vom 1.-3. März 2010

Weblinks

Herausgeber Sprache Webseitentitel Anmerkungen
World Wide Web Consortium eng Extensible Markup Language (XML)wbm
XML-Spezifikation
Wikipedia ger Extensible Markup Languagewbm Enzyklopädischer Artikel