Zum Inhalt springen

Extensible Markup Language

aus Wikipedia, der freien Enzyklopädie
Dies ist eine alte Version dieser Seite, zuletzt bearbeitet am 9. Juni 2004 um 07:59 Uhr durch 130.195.196.201 (Diskussion) (Link zum Open XML Editor hinzugefügt). Sie kann sich erheblich von der aktuellen Version unterscheiden.

XML (Extensible Markup Language) ist ein Begriff aus der Computertechnik und bezeichnet einen Standard zur Definition von Auszeichnungssprachen, der als vereinfachte Teilmenge von SGML konzipiert wurde.

Gleichzeitig steht XML in einer losen Verwandtschaft zu HTML, welches ursprünglich (d. h. bis einschließlich zur Spezifikationsversion 4.01) selbst als Anwendung von SGML definiert wurde. Mit der "Extensible HyperText Markup Language" (XHTML) wurde der Übergang zu XML als Definitionsbasis vollzogen. Grund dafür war die einfachere Syntax und damit die Entwicklung einfacherer Parser (die Definition von SGML umfasst 500 Seiten, jene von XML bloß 26).

Die Namen der einzelnen Strukturelemente für eine bestimmte Auszeichnungssprache lassen sich frei wählen, diese Auszeichnungssprachen können dabei alle möglichen Daten beschreiben, als prominentestes Beispiel Text, aber auch Grafiken oder abstraktes Wissen. Ein Grundgedanke hinter XML ist es, Daten und ihre Repräsentation zu trennen. Also beispielsweise Wetterdaten einmal als Tabelle oder als Grafik auszugeben, aber für beide Anwendungen die gleiche Datenbasis im XML-Format zu nutzen.

Fachtermini

Eine XML-Datei, die als wohlgeformt bezeichnet wird, muss die Regeln für XML korrekt einhalten (was z. B. Verschachtelungen von Elementen betrifft).

Programme, die XML-Daten verarbeiten, nennt man XML-Parser.

Soll XML für den Datenaustausch verwendet werden, so sollten die Daten einer Dokumenttypdefinition oder einem XML Schema entsprechen.


Aufbau einer XML-Datei

Beispiel einer XML-Datei

<?xml version="1.0"?>
<enzyklopaedie>
     <eintrag>
          <stichwort>Genf </stichwort>
          <eintragstext>Genf ist der Sitz von...</eintragstext>
     </eintrag>
</enzyklopaedie>


XML-Dateien sind hierarchisch strukturiert. Die Dateien sind plattformunabhängig, da ihre Kodierung angegeben wird. Der Standard ist Unicode, genauer gesagt UTF-8.

XML-Dokumente können folgende Objekte enthalten:

Dabei sind die Verarbeitungsanweisungen und die Angabe einer DTD mittlerweile obsolet. Eine XML Datei muss genau ein Element in der obersten Ebene enthalten. Unterhalb von diesem Wurzelelement können weitere Elemente verschachtelt werden.

Einige Web-Browser können XML-Dateien mit Hilfe eines eingebauten XML-Parsers direkt darstellen. Dies geschieht in Verbindung mit einem Stylesheet. Diese Transformation kann die Daten in ein komplett anderes Format umwandeln, das Zielformat muss nicht einmal XML sein.

Vorgänger von XML

Obwohl der Vorgänger SGML bereits weitaus umfangreicher war, kam es nie zu einer breiten Akzeptanz in der Öffentlichkeit. Der Grund dafür liegt in der Komplexibilität SGMLs, die die Softwareentwicklung stark erschwert. Der Bedarf nach einem unbeschränkten weltweiten Informationssaustausch und die Popularität von HTML, brachten das deutlich einfachere XML hervor, das in den letzten Jahren einen starken Boom erfuhr.

Kerntechnologien

Die Kerntechnologien im XML Umfeld kann man grob aufteilen in: APIs zur Verarbeitung von XML und Sprachen um XML Dateien zu beschreiben.

APIs zur Verarbeitung von XML

SAX ist eine standardisierte Möglichkeit, wie eine XML Datei geparst werden kann. Hierbei wird ein Datei-Strom in einen Strom von Ereignissen umgewandelt. Programme können sich für einzelne Ereignisse registrieren, um bei Bedarf ihre Arbeit zu verrichten. Die Eingabedaten werden rein sequentiell verarbeitet. Ein Vorteil von SAX ist, dass die gesamte XML Datei nie im Speicher sein muss, das ist aber dann ein Nachteil, wenn man viele Informationen, die über die ganze Datei verstreut sind, zur Verarbeitung benötigt.

DOM (Document Object Model) ist der zweite Weg, um XML Dateien auszuwerten und wurde vom W3C standardisiert. Er stellt, wie der Name schon sagt, ein standardisiertes Objektmodell zur Verfügung, mit dessen Hilfe der Inhalt der XML-Datei ausgewertet oder manipuliert werden kann. Zum Aufbauen des Objektbaumes muss jedoch zunächst die gesamte Datei eingelesen werden, wofür viel Speicher benötigt wird. Vorteilhaft ist, dass alle Elemente in einer hierarchischen Struktur vorliegen und auf alle gleichermaßen zugegriffen werden kann, da die Elemente zueinander in Beziehung stehen (Eltern, Geschwister, Kinder). Größter Nachteil von DOM ist der hohe Speicherbedarf, der sich proportional zur Größe der Eingabedatei verhält. Jedoch, sind Programme die auf DOM basieren, im Allgemeinen einfacher zu verstehen. Beide Modelle haben aufgrund ihrer Vor- und Nachteile unterschiedliche Anwendungsgebiete.

Metasprachen

Es gibt zwei standardisierte Möglichkeiten um die Struktur von XML Dokumenten zu beschreiben, Dokumenttypdefinitionen oder mit XML Schema.

DTD

Eine DTD (Dokumenttypdefinition) ist eine Beschreibung eines XML Dokuments. Sie wurde zusammen mit XML standardisiert. Mit einer DTD kann allerdings nicht sehr strikt beschrieben werden, wie eine XML Datei aussehen darf. Ein weiterer Nachteil ist die Tatsache, dass die DTD in einer eigenen Sprache abgefasst werden muss.

XML Schema

XML Schema ist die moderne Möglichkeit, XML Dokumente zu beschreiben. Ein Schema ist selbst ein XML Dokument, das es erlaubt komplexere Zusammenhänge als mit einer DTD zu beschreiben.

Überblick über XML Sprachen

XML Sprachen kommen in allen erdenklichen Aufgabengebieten zum Einsatz.

Text

Grafik

XML Infrastruktur

Weitere


Hier noch nicht behandelt:

Siehe auch: RDF, XTM, XML-Datenbank, Spezial:Export

XML-Anwendungen

  • Office
    • OpenOffice.org
    • Microsoft Office (Seit der Version "Office 2003" ist das Editieren von speziellen XML Dateien möglich, zuvor war nur eine unzulängliche XML-Unterstützung vorhanden)
    • AbiWord

Literatur



Vorlage:WikiReader Internet