|
XML - Extensible Markup Language
Zum Schluss stelle ich Ihnen eine weitere Sprache des WWW vor, die für
die elektronische Geschäftsabwicklung und die Zusammenarbeit von Unternehmenund anderen Organisationen im Internet eine herausragende Rolle spielt: XML (EXtensible Markup Language = erweiterbare Auszeichnungssprache). Ich gehe an dieser Stelle nur kurz auf die wesentlichen Eigenschaften undEinsatzmöglichkeiten von XML ein. Ein "Sprachkurs" zu XML würde dieses Skript sprengen.Es genügt, wenn Sie wissen was XML ist und welche Möglichkeiten diese Sprachefür das Internet und das WWW bereithält. Im Kurs Web-Business werden wir daraufdann zurückkommen.XML ist wie HTML abgeleitet von SGML. Doch XML ist keine
"SGML-Anwendung", so wie HTML, sondern ein "SGML-Profil". Das ist eine Stufe
abstrakter; man spricht dabei auch von "generalized markup", also von
"verallgemeinerter Auszeichnung". Mit Hilfe von XML können Sie eigene, neue
Sprachen, z.B. eigene Auszeichnungssprachen oder auch eigene Erweiterungen von
HTML mit eigenen Tags für bestimmte Elemente mit bestimmten logischen
Bedeutungen definieren. Davon wird auch reger Gebrauch gemacht, inbesondere
durch das W3C. In gewissem Sinne stellt XML eine für die Belange des WWW spezialisierte
und vereinfachte Form von SGML dar. Als man analysierte, warum die Ideen von
SGML im WWW bisher keine Durchbruch erlebt haben, da war schnell klar, dass das
vor allem an der hohen Komlexität von SGML liegt. Da SGML eine so komplexe
Sprache ist, bedeutet es einen sehr großen Aufwand, wenn Programme geschrieben
werden sollen, die SGML-Dokumente verarbeiten. Beim W3C wurde daher eine
Arbeitsgruppe eingerichtet, die sich als Aufgabe vornahm, eine vereinfachte
Variante von SGML zu schaffen. Das Ergebnis ist XML.
XML ist also eine Metasprache für das Definieren von Auszeichnungssprachen,
d.h., Sie können mit XML Befehle (Tags) und deren grundsätzliche Eigenschaften
definieren. Dies geschieht über Dokumenttyp-Definitionen
(DTDs), ähnlich wie in SGML. Im Vergleich zu HTML, das einen festen Satz an
vordefinierten Tags mit bestimmten Bedeutungen bereithält, bietet XML überhaupt
keine vordefinierten Tags. Diese werden erst vom Autor für sein Dokument
bestimmt. In den DTDs werden lediglich die Regeln verfasst, nach denen ein
Dokument vom Empfänger interpretiert werden soll. Damit ist XML wesentlich
flexibler, aber auch abstrakter als HTML. Tatsächlich kann man durch eine
entsprechende DTD HTML annähernd in XML nachbilden. Viel wichtiger ist jedoch,
dass mit Hilfe von XML Unternehmen und Wirtschaftsbereiche in der Lage sind,
eine Sprache mit für sie spezifischen und von ihnen verwendeten Begriffen zu
definieren.
Die mit XML definierten Auszeichnungssprachen werden auch
als XML-Anwendungen bezeichnet. Die Syntax, Struktur und Bedeutung der
Tags wird für jede XML-Anwendung mit einem Schema oder sinnvoller über DTDs für
mehrere Dokumente definiert. Die Verarbeitung kann mit XML-Parsern
erfolgen. Wie die Elemente sichtbar dargestellt werden sollen, kann mit Hilfe einer
eränzenden Style-Sheet-Sprache, XLS (EXtensible
Style Language) definiert werden. Sie ist das XML-Gegenstück
zu CSS. XML-Dokumente können auch Hyperlinks enthalten, entweder wie in der
Sprache HTML oder in anderen Formen (XLink, XPointer).
Damit bietet sich für XML ein breites Anwendungsfeld. Zum
einem für die Darstellung in Browsern (Definition von Ergänzungen bzw.
Erweiterungen in HTML) und zum anderen für die weitere Verarbeitung der
Informationen mit beliebigen Computerprogrammen. So wie HTML normiert ist und
daher für den weltweiten Austausch von Webseiten zwischen vielen verschiedenen
Webservern und Browsern verwendet wird, so kann man mit XML eigene
Datei-Strukturen für verschiedene Zwecke definieren und normieren, die dann von
verschiedenen Programmen und auf verschiedenen Rechner-Plattformen verwendet
werden können. Wer mit HTML Dokumente einrichtet, der kümmert sich in erster
Linie darum, wie das Dokument auf den Bildschirmen der Nutzer dargestellt wird.
XML ist demgegenüber in hohem Maße darauf ausgerichtet, Informationen über
Daten zu liefern, so dass die Daten weiterverarbeitet werden können. Mit XML
rücken also Aspekte in den Vordergrund, die beim Web-Design mit HTML keine
Rolle spielen. Folgende Möglichkeiten zeichnen XML aus:
- Mit XML kann man die logische Beziehung von Daten, Informationen und Texten
definieren.
- XML ermöglicht im Gegensatz zu HTML die Definition eigener oder zusätzlicher Tags.
- XML-Anwendungen eignen sich als plattform- und softwareunabhängiges Austausch-Format
für Daten zwischen verschiedenen Programmen und Rechnern.
- XML bietet ein universelles Datenaustauschformat und kann damit proprietäre Formate
ersetzen. Damit ist es zum Einsatz im Internet ideal geeignet.
- Mit der Hilfe von Style-Sheets können XML-Dokumente auch von Browsern dargestellt
werden.
- Man kann zukünftige Versionen von HTML mit XML definieren.
Die Syntax von XML ist so streng festgelegt, daß XML-Anwendungen wesentlich
einfacher und effizienter von Programmen verarbeitet
werden können als HTML-Dateien. HTML-Befehle beschreiben eigentlich nur, in
welcher Art und Weise die Textteile strukturiert werden sollen (Überschrift,
Absatz, Liste, Tabelle, Normalschrift, Fettschrift usw.). Der HTML-Code
<p>
Dr. Konrad <b>Müller-Lüdenscheid</b><br>
B&S AG<br>
Lüdenscheid
</p>
bewirkt eine Darstellung wie
Dr. Konrad Müller-Lüdenscheid
B &S AG
Lüdenscheid
Nur dem menschlichen Betrachter ist klar, was Vor- und was
Nachname, was die Firma und was der Ort ist. Mit XML kann man Tags definieren,
die die Bedeutung der Informationen angeben. Mit einer geeigneten DTD lässt
sich die obige Information in einem XML-Dokument folgendermaßen definieren:
<person id="238891200128491">
<vorname>Konrad</vorname>
<titel>Dr.</titel>
<nachname>Müller-Lüdenscheid</nachname>
<firma>B & S AG</firma>
<ort>Lüdenscheid</ort>
</person>
Mit einem geeigneten Style-Sheet kann man aus der XML-Darstellung dann wieder zur
obigen HTML-Darstellung gelangen. Mit einem anderen Style-Sheet kann dasselbe
XML-Dokument aber auch als Visitenkarte oder Briefkopf dargestellt werden -
eine Freiheit, die HTML nicht bietet. XML-Dokumente eignen sich also nicht nur
für die Darstellung in Browsern und das Ausdrucken auf Papier, sondern auch für
die weitere Verarbeitung in Programmen, in denen die logische Bedeutung der
Informationen eine Rolle spielt.
Dazu ein Beispiel: Eine Suche nach dem Wort "Lüdenscheid" in einer HTML-Datei würde
nicht nur die Person "Müller-Lüdenscheid" liefern, sondern auch alle Personen, die
in Lüdenscheid wohnen. Eine Suche nach dem gleichen Wort innerhalb der in den
XML-Dateien mit <nachname> bezeichneten Elemente würde hingegen
wirklich nur die betreffenden Personen liefern. Außerdem kann man die in den
XML-Dateien beschriebenen Personen leicht nach den einzelnen Datenfeldern sortieren,
beispielsweise nach Ort oder Firma, oder andere Verarbeitungen der Daten vornehmen.
Bei XML kommt also zur Text-Strukturierung noch die Inhalts-Strukturierung hinzu.
Die XML-Syntax ähnelt der
SGML- bzw. HTML-Syntax. Die meisten Befehle (Tags) treten paarweise als Start-
und Ende-Tags auf und geben an, welche Bedeutung der dazwischen liegende
(eventuell durch weitere Tags unterteilte) Text hat. In HTML darf der Ende-Tag
in vielen Fällen weggelassen werden. Bei XML-Anwendungen müssen dagegen die Ende-Tags
immer angegeben werden, weil der Anwender bei XML-Applikationen die
Möglichkeit haben soll, nachträglich zusätzliche Tags in der DTD oder im Schema
zu definieren. Daher können die Verarbeitungsprogramme nicht so wie der
HTML-Browser immer nach denselben Regeln die fehlenden Ende-Tags selbst
korrigieren. Außerdem sind die verarbeitenden Programme viel einfacher zu
schreiben und können viel effizienter ablaufen, wenn sie sich darauf verlassen
können, dass das XML-File syntaktisch richtig ist, und keine automatische
Fehlerkorrektur programmiert werden muss. XML-Tags, zu denen es keinen Ende-Tag
gibt, müssen zur Unterscheidung davon in der Form <xxx /> oder
<xxx yyy="zzz" ... /> geschrieben werden.
In XML müsssen Start- und Ende-Tags auch immer richtig geschachtelt
werden. Das gilt an sich auch für HTML, aber die HTML-Browser sind recht
fehlertolerant und stellen auch Unsinn noch brauchbar dar. XML-Befehle
definieren eben nicht nur das Layout des Textes, sondern auch die Bedeutung der
Textteile. Falsche Interpretation der Befehle führt daher zu logisch und
inhaltlich falschen Ergebnissen. Im Gegensatz zu HTML wird bei XML-Tags die Groß-
und Kleinschreibung genau unterschieden. Es ist also nicht mehr egal, wie die
Tags geschrieben werden. Auch die Regeln dafür, wann die Werte von Attributen
(also Parametern innerhalb der Befehle) zwischen Quotes-Zeichen eingeschlossen werden
müssen, sind bei XML strenger. Alle Attribut-Werte müssen immer
in Anführungszeichen eingeschlossen werden. Dabei dürfen entweder das doppelte
("...") oder das einfache ('...') Anführungszeichen verwendet werden.
So lassen sich auch Attribute wie name="William 'Billyboy' Gates" bilden.
Wie in SGML (und daher auch in HTML) kann man auch in XML Entities definieren, bei
denen einem Namen ein bestimmter Text zugeordnet wird. Diese Entities kann man dann
überall im Text und auch in Parametern von Befehlen in der Form &name;
verwenden. Typische Beispiele sind:
- < für das Kleiner-Zeichen <
- > für das Größer-Zeichen >
- & für das Und-Zeichen &
Entities können aber nicht nur einzelne Zeichen sondern auch längere Textteile
enthalten, ähnlich wie die Abkürzungs-Makros in der Textverarbeitung.
Kommen wir noch einmal zu den XML-Anwendungen zurück. Sie erinnern sich: Unter
einer XML-Anwendung versteht man die Festlegung (Normierung) von XML-Befehlen für
eine Klasse von XML-Dokumenten gleicher Struktur, also für einen bestimmten Zweck.
Das Format und die Struktur der XML-Dateien sowie die Eigenschaften und die darin
vorkommenden Elemente (XML-Befehle, Tags, Entities) werden für eine XML-Anwendung mit
einer DTD (Document Type Definition) oder einem Schema definiert.
XML-Anwendungen befanden sich
Anfang 2001 oft noch in der Entwicklungsphase. Durch eine starke Verzahnung der
Anwendungen (Sprachen) zu ihrer "Mutter" XML ist jedoch gewährleistet, dass
zukünftige Versionen trotzdem gewisse Rahmenrichtlinien einhalten. So ist es
denkbar, dass ein Browser eine neue Sprache einfach beherrschen kann, indem
einmalig eine spezielle Definitionsdatei (eine DTD) importiert wird. Einige
(wenige) Beispiele für XML-Anwendungen (neue Sprachen) sind:
- XSL (Xtensible Style Language)
zur Festlegung des Layouts einer Darstellung,
- DocBook für gedruckte Texte und Bücher,
- WML (Wireless Application Protocol (WAP) Markup
Language): Online-Informationen für Mobiltelefone,
- XHTML (EXtensible Hypertext Markup
Language): Erweiterung bzw. Nachfolgeversion von HTML,
- MathML (Mathematic Markup Language)
zur Darstellung mathematischer Formeln,
- >CML (Chemical Markup Language)
zur Darstellung chemischer Formeln,
- SMIL (Synchronized Multimedia Integration
Language) zur Synchronisation verschiedener multimedialer
Komponenten einer Webseite (z.B. simultanes Starten eines Videos und einer
Tondatei).
Will man in eigenen Programmen XML verwenden, so kann man auf fertige, für viele
Sprachen frei verfügbare Parser zurückgreifen. Für die Programmierschnittstellen
dieser Parser existieren zwei genormte Schnittstellen: DOM (Document
Object Model) und SAX (Simple API
for XML).
Künftige Browser werden XML-Dateien direkt auf dem Bildschirm darstellen und über
den Drucker ausgeben können, wenn mit einem Style-Sheet definiert ist, wie die
einzelnen XML-Elemente dargestellt werden sollen. Erste Ansätze dafür gibt es im MS
Internet Explorer Version 5 (mit einer Vor-Version von XSL-Style-Sheets oder
mit CSS) sowie in Netscape Navigator ab Version 5 (mit CSS). Zu diesem Zweck
werden auf dem Webserver die XML-Datei mit der Information und die XSL- oder
CSS-Datei mit den Layout-Angaben abgespeichert.
Welche Anwendungsbereiche lassen sich mit XML erschließen?
Für ein normales Homepage-Design ist XML relativ uninteressant. HTML und CSS
sind dafür längst zu leistungsfähig und angesicht ihrer Verbreitung kaum noch
zu verdrängen. Aber im profesionellen Bereich gibt es genügend Fälle, in denen
XML eine bessere Wahl darstellt als HTML. Dazu gehören große
Dokumentationsprojekte, große Werkeditionen oder Lexikonprojekte. Wenn Sie
häufig Formeln, Hierarchien, mathematische und wissenschaftliche Anmerkungen
darstellen müssen, dann macht Ihnen das DTD-Sytem von XML dies möglich. Auch im
Bereich der Datenbanken ist XML eine interessante Alternative zu herkömmlichen
Formaten. XML kommt insbesondere überall da zum Einsatz, wo es Bedarf für einen
strukturierten und genau definierten Austausch von Informationen gibt. Mit XML
erhalten Firmen, Organisationen und ganze Branchen die Möglichkeit, eigene, an
die eigenen Bedürfnisse angepasste Auszeichnungsprachen und
Datenaustauschformate zu schaffen, so dass ohne große Probleme die Daten an
unterschiedlichen Stellen, mit unterschiedlichen Softwaresytemen
weiterverarbeitet werden können. XML stellt damit eine wesentliche Basis für
den Geschäftsverkehr und die firmenübergreifende Zusammenarbeit im Internet
(E-Commerce, E-Business) bereit.
|
|
|