Hauptseite | Deutsche Enzyklopädie

Extensible Markup Language

Die Extensible Markup Language, abgekürzt XML, ist ein Standard zur Erstellung maschinen- und menschenlesbarer Dokumente in Form einer Baumstruktur. XML definiert dabei die Regeln für den Aufbau solcher Dokumente. Für einen konkreten Anwendungsfall ("XML-Anwendung") müssen die Details der jeweiligen Dokumente spezifiziert werden. Dies betrifft insbesondere die Festlegung der Strukturelemente und ihre Anordnung innerhalb des Dokumentenbaums. XML ist damit ein Standard zur Definition von beliebigen, in ihrer Grundstruktur jedoch stark verwandten Auszeichnungssprachen. XML ist eine vereinfachte Teilmenge von SGML.

Die Namen der einzelnen Strukturelemente (XML-Elemente) für eine konkrete XML-Anwendung lassen sich frei wählen. Ein XML-Element kann ganz unterschiedliche Daten enthalten bzw. 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.

Inhaltsverzeichnis
1 Fachtermini
2 Aufbau eines XML-Dokuments
3 Vorgänger von XML
4 Kerntechnologien
5 XML-Familie
6 Siehe auch
7 Programme
8 XML-Parser
9 Literatur
10 Weblinks

Fachtermini

;Wohlgeformtheit: Ein XML-Dokument ist wohlgeformt (well formed), falls es sämtliche Regeln für XML einhält (was z. B. Verschachtelungen von Elementen betrifft).

;Gültigkeit: Soll XML für den Datenaustausch verwendet werden, ist es von Vorteil, wenn das Format mittels einer Grammatik (z.B. einer Dokumenttypdefinition (DTD) oder einem XML-Schema) definiert ist. Ein XML-Dokument, welches wohlgeformt ist und ein durch eine Grammatik beschriebenes Format einhält, heißt gültig (valid).

;Parser: Programme bzw. Programmteile, die XML-Daten verarbeiten, nennt man XML-Parser.

Aufbau eines XML-Dokuments

Beispiel einer XML-Datei

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

XML-Dokumente besitzen einen physischen und einen logischen Aufbau.

Der physische Aufbau eines XML-Dokumentes besteht aus

Der logische Aufbau eines XML-Dokumentes ist ein hierarchisch strukturierter Baum. Als Baumknoten gibt es: Ein XML-Dokument muss genau ein Element in der obersten Ebene enthalten. Unterhalb von diesem Dokumentelement können weitere Elemente verschachtelt werden.

Zur Spezifikation des logischen Aufbaus werden die Dokumenttypdefinitionen durch das umfangreichere XML Schema abgelöst, welches keine Möglichkeit zur Definition von Entitäten, jedoch einen adäquaten Ersatz für Entitäten besitzt. Processing Instructions werden in der Praxis meist eingesetzt, um in XML-Dokumenten Verarbeitungsanweisungen in anderen Sprachen einzubauen. Ein Beispiel dafür ist PHP, dessen Verarbeitungsanweisungen in XML-Dokumenten mit einer PHP-Verarbeitungsanweisung, z.B. <?php print "Hello, World";?> eingebaut werden können.

Einige Web-Browser können XML-Dokumente 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 Komplexitä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.

Unter dem Titel "Leise Revolution" ist ein 1995 in der iX erschienener Artikel nun online verfügbar.

Die Entwicklung von SGML bis zu XML ist in Abschnitt 2.3 "Die neue, alte Idee: Strukturorientiert schreiben" des Buches XML in der Praxis nachzulesen.

Kerntechnologien

Die Kerntechnologien im XML-Umfeld kann man grob aufteilen in: APIs zur Verarbeitung von XML und Sprachen zur Beschreibung von XML-Dateien.

APIs zur Verarbeitung von XML

SAX

SAX (Simple API for XML) ist eine standardisierte Möglichkeit, wie eine XML-Datei durch einen Parser bearbeitet wird. 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 nicht die gesamte XML-Datei 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

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. Beide Modelle haben aufgrund ihrer Vor- und Nachteile unterschiedliche Anwendungsgebiete.

Metasprachen

Um die Struktur von XML-Dokumenten zu beschreiben bedient man sich so genannter Schemasprachen. Die zwei bekanntesten sind DTD und 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, die Struktur von XML-Dokumenten zu beschreiben. XML-Schema bietet auch die Möglichkeit, den Inhalt von Elementen und Attributen zu beschränken, z. B. auf Zahlen, Datumsangaben oder Texte, z. B. mittels regulärer Ausdrücke. Ein Schema ist selbst ein XML-Dokument, welches erlaubt, komplexere Zusammenhänge als mit einer DTD zu beschreiben.

Weitere Schemasprachen

Weitere Schemasprachen sind RELAX NG, Schematron und Examplotron.

XML-Familie

Infrastruktur

Im Zusammenhang mit XML wurden vom W3-Konsortium auf Basis von XML viele Sprachen definiert, welche XML-Ausdrücke für häufig benötigte allgemeine Funktionen anbieten wie etwa die Verknüpfung von XML-Dokumenten. Zahlreiche XML-Sprachen nutzen diese Grundbausteine.

Sprachen

Während XML selbst aus SGML hervorgegangen ist, bedienen sich heute sehr viele formale Sprachen der Syntax von XML. So ist XML ein wesentliches Instrument, um, wie es das W3C vorsieht, eine offene, für Mensch und Maschine verständliche Informationslandschaft (semantisches Web) zu schaffen.

Auch die bekannte Dokumentsprache HTML wurde als "Extensible HyperText Markup Language" (XHTML) im Anschluss an die Version 4.01 in dieses Konzept integriert, sodass ihr nun XML als Definitionsbasis zu Grunde liegt. Vielfacher Grund für den Einsatz von XML ist das Vorhandensein von Parsern zu genüge und die einfache Syntax: die Definition von SGML umfasst 500 Seiten, jene von XML nur 26.

Die folgenden Listen stellen die wichtigsten dieser XML-Sprachen dar.

Text

Grafik

Geodaten

Multimedia

Webservices

Sicherheit

Weitere

Hier noch nicht behandelt:

Siehe auch

RDF, Semantisches Web, XTM, XML-Datenbank,

Programme

XML-Parser

XML-Parser dienen dem Auslesen eines XML-Dokuments. Dabei wird als Quelle meist eine XML-Datei angegeben. Beim DOM wird das gesamte Dokument in eine Struktur eigelesen, die dann weiterverarbeitet werden kann. XML-Parser sind in verschiedensten Sprachen vorhanden, z.B. Java, C, C++, C#.

Literatur

Weblinks

Dieser Artikel ist Teil des WikiReader Internet. Dies bedeutet, dass der Artikel regelmäßig überprüft und zusammen mit anderen Artikeln in ein PDF eingearbeitet wird. Es existiert auch eine gedruckte Ausgabe.



Limit search to: Body and Title Deutsche Seiten Path

Websites for Extensible
Showing page 1 (1 - 10 of 232 hits) Next »
... original (TECO) Emacs. What it means to be extensible. Why lisp is good for implementing extensible systems. Stallman's paper on the original (TECO) Emacs. What it means to be extensible. Why lisp is good for implementing extensible systems.
The latest RMI framework, Jini Extensible Remote Invocation (JERI), introduced as part of the ... configurable RMI security mechanism. This article presents an extensible RMI overview and demonstrates JERI's configuration features ... By Frank Sommers. The latest RMI framework, Jini Extensible Remote Invocation (JERI), introduced as part of the ... configurable RMI security mechanism. This article presents an extensible RMI overview and demonstrates JERI's configuration features ...
Brief description, and on-site links to descriptions of Choices, Exokernel, GLUnix, VINO, SPIN. Brief description, and on-site links to descriptions of Choices, Exokernel, GLUnix, VINO, SPIN.
... profiling tool for Java with a scalable and extensible architecture, allowing its usage for exotic programming languages ... profiling tool for Java with a scalable and extensible architecture, allowing its usage for exotic programming languages ...
Dynamically extensible, Exokernel-based, provides many core services: scheduler, kernel ... dynamically linking new code into running systems. Dynamically extensible, Exokernel-based, provides many core services: scheduler, kernel ...
An extensible standard that can easily be supported by content ... 3D applications, both for importing and exporting An extensible standard that can easily be supported by content ...
Stockage extensible. Trafic illimité. Sans publicité. Editeur de page en ligne. Support HTML. Stockage extensible. Trafic illimité. Sans publicité. Editeur de page en ...
Traduction en français de la recommandation du W3C (World Wide Web Consortium). Traduction en français de la recommandation du W3C (World Wide Web Consortium).
... manufactura de papel corrugado medio, papel liner, corrugado extensible y sacos de gran contenido. Empresa que se ... manufactura de papel corrugado medio, papel liner, corrugado extensible y sacos de gran contenido.
... del núcleo de un sistema operativo dinámicamente extensible para arquitectura IA32 de Intel. Con la ayuda ... del núcleo de un sistema operativo dinámicamente extensible para arquitectura IA32 de Intel. Con la ayuda ...

Next »

Help build the largest human-edited directory on the web.
Submit a Site - Open Directory Project - Become an Editor
Free thumbnail preview by Thumbshots.org

Search for products at amazon.com:
Search:
Keywords:
amazon.com books on 'Extensible Markup Language':
Search at Google.com:
Google
WebCalSky.com Enzyklopädie

Im Artikel erwähnte Literatur