Web-Publishing mit XML
Die eXtensible Markup Language verwirklicht den Cross-Media-Gedanken

von Katharina Lüthke (ZID) & Michael Probst Stuckmann (netconstructions) (Ausgabe 06/3, Oktober 2006)

 

XML ist in aller Munde. Dank XML (Extensible Markup Language, übersetzt: erweiterbare Auszeichnungssprache), so versprechen die Hersteller und Dienstleister, werden Datenformate kompatibler, Daten maschinenlesbarer und Anwender entlastet. Besonders für das Publizieren im Web verspricht die Wandlungsfähigkeit von XML-Daten ein wahrer Segen zu sein: Mit XML als Standard zur Erstellung maschinen- und menschenlesbarer Dokumente könnte endlich der Cross-Media-Gedanke - das Verbreiten der gleichen Information über mehrere Kanäle - technisch so umgesetzt werden, dass beispielsweise Artikel wirklich nur einmal editiert werden müssen, bevor sie sowohl in elektronischen wie in sonstigen Medien im jeweils adäquaten - sprich mediengerechten Format - verfügbar sind.

XML definiert die Regeln für den Aufbau von Dokumenten in Form einer Baumstruktur. Im Gegensatz zu bekannten Auszeichnungssprachen wie beispielsweise HTML (Hypertext Markup Language) oder TeX (bzw. LaTeX)1) ist XML ein Standard zur Definition von beliebigen, in ihrer Grundstruktur jedoch stark verwandten Auszeichnungssprachen und wird daher auch als Metasprache bezeichnet. Zwei Hauptargumente, die für das Publizieren mit XML zumeist genannt werden, sind, dass

  1. Inhalte nur einmal eingegeben werden müssen, um über mehrere Kanäle abrufbar zu sein und

  2. die Kompatibilität zu anderer Software erhöht wird, so dass Importvorgänge erleichtert werden.

Wo macht der Einsatz von XML wirklich Sinn? Wo ist er im Vergleich zu herkömmlichen Technologien besser oder gar schlechter geeignet? Bevor diese Fragen beantwortet werden, soll ein kurzer Überblick gegeben werden, wie Web-Publishing mit nicht XML-basierten Technologien aussieht.

Web-Publishing ohne XML

Zum "herkömmlichen" Web-Publishing zählen das Publizieren von rein statischen Webdokumenten sowie die serverseitig programmierten Ausgabesysteme (dynamische Systeme).

Gerade der Einsatz von serverseitigen Skriptsprachen hat in den letzten Jahren erheblich an Bedeutung gewonnen und lässt sich durchaus als Standardlösung für Webprojekte aller Größenordnungen bezeichnen. Sehr populär ist zum Beispiel der kombinierte Einsatz der Skriptsprache PHP zusammen mit dem MySQL-Datenbank-Managementsystem. Beide sind wichtige Vertreter der Open Source-Gemeinde und stehen somit nicht nur jedem Entwickler frei zur Verfügung, sondern laden auch zu eigenen Verbesserungsansätzen ein.

Statisches Publizieren

Das statische Publizieren ist vom Prinzip her denkbar einfach und schnell erklärt: Die zu publizierenden Dokumente werden in einem Editor (oft ein WYSIWYG2)- oder ein einfacher Texteditor) erstellt bzw. bearbeitet und mit allen gewünschten Funktionen versehen. Das Resultat sind einzelne HTML-Dokumente, von denen jedes einzelne alle notwendigen Daten enthält, das heißt, dass keinerlei Daten gemeinsam verwendet werden. Dann wird eine Kopie dieser Dateien auf dem System gespeichert (meist mit Hilfe von SSH, FTP3) oder WebDAV4)), auf dem auch der Webserverdienst läuft.

Der Webserver liefert dann bei jeder Anfrage eines Clients das gewünschte Dokument aus, und zwar ohne es weiter zu verarbeiten oder sonstige Aktionen zu verrichten. Auch die URLs, die vom Client abgerufen werden, geben exakt die Struktur des Dateisystems wieder: So befindet sich zum Beispiel eine Datei, deren URL auf .../kontakt/index.html endet, auf dem Webserver im Verzeichnis kontakt und hat den Dateinamen index.html.

Vorteile
Der größte Vorteil dieser Art des Publizierens ist die offensichtliche Einfachheit. Dass von Seiten des Webserverdienstes keine weiteren Aktionen notwendig sind, bringt einen zusätzlichen Geschwindigkeitsvorteil, der in der Praxis jedoch nicht spürbar ist. Die Performance von Skriptsprache-Interpretern und vor allem der Server-Hardware ist in den letzten Jahren so gut geworden, dass auf einem gewöhnlichen Mietserversystem bei vernünftiger Programmierung keine Verzögerung wahrnehmbar ist, zumal die Netzwerklaufzeiten5) meist erheblich höher sind.

Ein weiterer Vorteil ist die Möglichkeit, den gesamten Inhalt des Webprojektes auch ohne Webserverdienst erschließen zu können. Wenn ein lokaler Zugang zu den HTML-Dateien besteht, sind diese von jedem beliebigen Browser les- und darstellbar.

Dynamische Systeme

Schon von den ersten Jahren des WWW an gab es immer Systeme, die HTML-Code dynamisch generierten. Der Entwickler programmiert dabei ein System, dessen Aufgabe es ist, bei der Anfrage eines bestimmten URL ein HTML-Dokument ganz oder teilweise neu zu erstellen.

Für die hierzu notwendigen Informationen kommt jede denkbare Datenquelle in Frage: Daten aus dem Dateisystem, aus Datenbanken, von entfernten Rechnern oder auch Daten, die der Besucher innerhalb einer Sitzung dem Server übermittelt, wie etwa durch das Ausfüllen eines Kontaktformulars. Der Server erstellt dann anhand der angefragten Daten ein fertiges HTML-Dokument, das an den Client zurückgesandt wird.

Vorteil
Der Vorteil eines dynamischen Systems liegt auf der Hand: Es können nicht nur, wie beim statischen Publizieren, vorgefertigte Dokumente ausgeliefert werden, sondern auch Antworten, die zur Laufzeit erstellt werden. Zudem können alle redundanten Bestandteile eines Dokuments wie etwa Navigation oder Fußzeile zentral abgelegt und vor allem separat gepflegt werden. Auch wird so eine Integration des Webauftrittes in weitere Geschäftsprozesse überhaupt erst möglich, wenn z.B. das online Abrufen von Lagerbeständen einen Zugriff auf die Lagerdatenbank erfordert.

Statisch oder dynamisch: XML bleibt draußen

Sowohl beim Publizieren von statischen Inhalten als auch bei den dynamischen Systemen kommen bisher in aller Regel keine XML-Technologien zum Einsatz, weder als Datenquelle noch zur Verarbeitung. Gleichwohl ist diese Möglichkeit denkbar, und streng genommen kann auch eine einzelne valide XHTML-Seite als Verwendung von XML verstanden werden. Dieser Fall soll jedoch ausgeschlossen werden, da die Vorteile von XML hier bei weitem nicht ausgenutzt werden, insbesondere weil keine Transformationen von Inhalten erfolgen.

Bei dynamischen Ansätzen sind durchaus Lösungen denkbar, die XML-Datenquellen zur Publikation nutzen. Dennoch ist diese Kombination nicht sonderlich oft anzutreffen, weil in der Regel relationale Datenbankmanagementsysteme als Datenquellen genutzt werden. Ein möglicher Grund hierfür ist bei den Programmiergewohnheiten der jeweiligen Programmierer zu suchen. Da Entwickler von skriptbasierten Systemen sich häufig der schlichteren prozeduralen Programmierung bedienen, ist der Schritt zu den eher objektorientierten Denkmodellen der XML-Verarbeitung oft nicht der nahe liegendste. Zudem erschließt sich das volle Spektrum der Vorteile von XML erst durch einen übergreifenden und konsistenten Workflow (Näheres im Abschnitt Noch mehr Vorteile).

So wird XML beispielsweise in großen kommerziellen Applikationen eingesetzt, die üblicherweise in Java geschrieben sind und einen Application Server verwenden (z.B. den Oracle Application Server). Bei solchen Anwendungen ist die Webschnittstelle oft nur ein kleiner Teil des Gesamtsystems, das noch über zahlreiche weitere Schnittstellen verfügt. Für einen komfortablen Datenaustausch über verschiedene Schnittstellen ist XML hervorragend geeignet.

Die eXtensible Markup Language

XML ist im Laufe der letzten Jahre zu einem echten Schlagwort geworden. Bei einer etwas nüchterneren Betrachtung ist XML selbst zunächst allerdings nicht mehr und nicht weniger als eine standardisierte Weise, Daten abzuspeichern oder zu übertragen. Dabei spielt die Gliederung innerhalb der Dateien eine entscheidende Rolle. Viel konkreter ist XML zunächst nicht erklärbar, denn zu dessen größter Stärke gehört die Flexibilität, was es allerdings auch am Anfang etwas schwer fassbar macht. XML ist aus der bereits 1986 definierten Auszeichnungssprache Standard Generalized Markup Language (SGML) entstanden. XML sollte so einfach zu handhaben sein wie HTML, dabei aber so flexibel wie SGML bleiben.

Ein mit XML beschriebener Datenbestand ist mit so genannten Tags (übersetzbar mit "Markierung") versehen, die das Dokument logisch bzw. semantisch gliedern. Würde man die Gliederung verwerfen, wäre der gesamte Text einfach ein einziges, zusammenhängendes Gebilde, etwa so, als würde man aus einem Theaterstück alle Rollenzuweisungen, Regieanweisungen und Szenenbeschreibungen entfernen oder die Tageszeitung in einem Stück diktieren, ohne eine Unterscheidung zwischen Titel und Text zu machen. Welche Tags verwendet werden und wie sie angeordnet werden, hängt vom Zweck des Dokumentes ab. Für alle Dokumente, die den gleichen Zweck erfüllen, wird eine so genannte XML-Applikation definiert, also ein konkreter Umfang von Tags mit Regeln, die festlegen, wo, wie oft und unter welchen Bedingungen ein Tag gesetzt werden muss. Ein sehr einfaches Beispiel für XML ist etwa eine Einkaufsliste, wie sie in Abb. 1 notiert ist.

Abb. 1: Beispiel eines XML-Dokuments, hier eine Einkaufsliste
Abb. 2: Einkaufsliste aus Abbildung 1, die in ein XHTML-konformes Dokument transformiert wurde
  • Die so transformierte Einkaufsliste kann nun problemlos in jede Website eingebunden werden. Die wichtigste Technologie für Transformationen ist die Extensible Stylesheet Language Transformation (XSLT)12).

  • Document Object Model (DOM): Die geschachtelte Struktur eines XML-Dokumentes lässt sich als Baumstruktur darstellen, in der das oberste Element das Root Element darstellt. Alle weiteren Elemente sind hierarchisch unter diesem Element sortiert, als so genannte Child Elements. Sie sind in dem Root Element enthalten. Bei der Verarbeitung spielt dieser Umstand eine entscheidende Rolle, da viele Schnittstellen zur Programmierung nach diesem Modell arbeiten.

Diese Punkte machen deutlich, warum XML so viele Vorteile in sich vereint, die für sich genommen nicht unbedingt revolutionäre Neuerungen sind, aber hier konsequent und zusammen umgesetzt wurden. Was die Verwendung dieser Technologie allerdings erst so richtig interessant und mächtig macht, ist die umfangreiche Sammlung von Werkzeugen und Schnittstellen zu allen erdenklichen Systemen, Programmen und Plattformen. XML unterliegt als offener Standard nicht der Kontrolle einer einzelnen Firma, und seine Verwendung ist nicht geschützt oder begrenzt.

Auch für Entwickler sind die Gründe nahe liegend: Statt mit viel Aufwand einen Parser13) für ein eigenes Textformat zu programmieren, greift man auf XML zurück - und erntet damit noch alle weiteren Vorteile.

Noch mehr Vorteile ...

Von diesen ausführlich beschriebenen Merkmalen von XML abgesehen ist für den Zweck des Web-Publishing vor allem der folgende Aspekt interessant: Die Datenspeicherung soll möglichst zentral und mit möglichst wenig Redundanz auskommen, besonders sollen aber redundante Arbeitsschritte bei der Verarbeitung der Inhalte vermieden werden. Dieser Aspekt betrifft mehrheitlich Redakteure von Webseiten.

Wenn erreicht werden kann, dass Artikel, Bild- und Grafikmaterial, Adressdaten, Daten zu Geschäftsprozessen (wie z.B. Nutzerstatistiken oder Lagerhaltungsdaten) wirklich nicht mehr isoliert auf den Arbeitsplatzrechnern der einzelnen Mitarbeiter, sondern zentral und direkt auf gemeinsamen Servern gespeichert werden, ist ein sehr großer Schritt nach vorne gelungen.

Wenn hierzu noch die Software der Endanwender, also die Redaktionssysteme, Adressprogramme, Textverarbeitungen und andere Programme, auch über eine einheitliche Schnittstelle auf diese Datenbestände zugreifen kann und die Server-Software keine proprietären Datenformate mehr verarbeiten muss, so werden die positiven Auswirkungen für jeden Mitarbeiter spürbar und offensichtlich sein:

Datenbestände sind dann immer auf dem neuesten Stand, lästiges und fehleranfälliges Abgleichen von Listen entfällt völlig, und Funktionen für komplexere Zugriffe können vom Systemadministrator jederzeit nachgerüstet werden. Vor allem aber kann eine Datei (etwa ein Artikel) nicht nur mit dem Programm verarbeitet werden, in dem die Datei erstellt wurde, sondern jedem anderen Zweck übergeben werden, für den eine Transformationsregel geschrieben wurde. Ein einmal gespeichertes OpenOffice.org-Dokument14) könnte so beispielsweise direkt ohne weitere Arbeitsschritte im Web veröffentlicht werden.

Bei der Veröffentlichung der Daten ist aber nicht nur ein Weg möglich, sondern im Sinne des anfangs bereits erwähnten Cross-Publishing eine Publikation über mehrere Ausgangsformate hinweg denkbar. Üblich wäre es zum Beispiel, einen Artikel im Web über einen Link als Druckversion in Form einer PDF-Datei anzubieten. Ein RSS-Stream15), wie ihn in letzter Zeit immer mehr Websites anbieten, wäre ebenfalls über eine recht einfache Transformation direkt aus den Datenbeständen zu gewinnen. WML-Versionen16) für mobile Endgeräte, Web-Services und proprietäre XML-Formate sind nur Beispiele für eine beinahe beliebig erweiterbare Liste weiterer Ausgabeformate.

Auf Seiten der Programmierer der Website ergibt sich einer der Hauptvorteile allein durch die konsequente Nutzung von XML: Für die verschiedenen Arten von Daten muss nicht für jede Anwendung eine andere Technologie beherrscht werden. Unterschiede der Verarbeitung und der Datenmodelle, wie sie zwischen relationalen Datenbanken, objektorientierten Datenbanken, Spezial-Datenschnittstellen wie LDAP (Lightweight Directory Access Protocol) für die Ablage von Adressdaten etc. existieren, können so auf einen einheitlichen Nenner gebracht werden. Zwar erfordern die XML-Technologien auch aufgrund ihrer Anzahl eine gewisse Einarbeitungszeit, aber schnell wird deutlich, dass sie sich meist eines gemeinsamen Denkmodells bedienen.

... und die Kehrseite

Damit diese Ziele realisiert werden können, ist insbesondere die richtige Planung von entscheidender Wichtigkeit. Nur wenn alle Arbeitsschritte von der Erstellung bis zur Veröffentlichung der Inhalte wirklich konsequent auf den Austausch von XML-Daten ausgelegt werden, ergibt sich aus der Umstellung der Datenspeicherung auch tatsächlich ein arbeitstechnischer und mithin wirtschaftlicher Vorsprung.

Der Grund dafür ist, dass XML als isolierte Lösung in einem Bereich nicht erheblich besser ist als konventionelle Formate, und sich somit der Arbeitsaufwand zur Vereinheitlichung beziehungsweise Umstellung kaum rentieren würde. Die Anforderungen sind nämlich nicht gering: Es müssen die Datenbanken sowie die Programme für Endanwender (insbesondere Redakteure) überarbeitet oder neu angeschafft werden, und die Server-Software muss in aller Regel erneuert werden. Der wichtigste Teil der Arbeit entfällt aber mit Sicherheit auf die Planung einer solchen Konsolidierung auf XML, damit sie über Jahre (und Programmversionen) hin nutzbar und skalierbar bleibt.

Der Selbstversuch

Wer selbst Hand an ein XML-basiertes Publishing-System legen will, ist gut beraten, sich zu Beginn mit den einschlägigen Frameworks zu beschäftigen. Frameworks sind Rahmenanwendungen, deren Module ähnlich einem Baukastensystem zu einem neuen System zusammengesetzt werden können. In X4U beispielsweise kann mit wenig Aufwand eine komplette typische Website mit Navigation, Inhalten, Statistiken und Ähnlichem generiert werden. Cocoon17) hingegen ist Teil des bekannten Apache-Projekts und wahrscheinlich das umfangreichste und mächtigste XML-Publishing-Framework.

Außer den beiden genannten existieren noch unzählige weitere Frameworks und Module, oft auch welche, die für Nischenanwendungen programmiert und dann als Open-Source-Software veröffentlicht wurden. Wie erwähnt, sollte die Einrichtung eines kompletten Systems von langer Hand konzipiert und vor allem auf den Workflow des jeweiligen Einsatzes abgestimmt werden.

Mit ein wenig Probierfreudigkeit und den richtigen Beispielen kann man jedoch bereits in wenigen Tagen ein gutes Gefühl für die Stärken und Tücken der Datenverarbeitung mit XML gewinnen.

XML-Literaturtipps

  • Erik T. Ray: Einführung in XML, O?Reilly 2004

  • Helmut Vonhoegen: Einstieg in XML, Galileo Computing 2005


XML-Webtipp

1) siehe hierzu Artikel LamportTauepsilonXi - Textverarbeitung und mehr in Comment 06/1

2) WYSIWYG ist die Abkürzung für das Prinzip What You See Is What You Get ("was du siehst, ist, was du bekommst"). Bei echtem WYSIWYG wird ein Dokument während der Bearbeitung - z.B. in einem Editor - genauso angezeigt, wie es bei der Ausgabe des fertigen Dokuments aussieht.

3) FTP (File Transfer Protocol) ist ein spezifiziertes Netzwerkprotokoll zur Dateiübertragung und wird benutzt, um Dateien vom Server zum Client (Download), vom Client zum Server (Upload) oder clientgesteuert zwischen zwei Servern zu übertragen. Außerdem können mit FTP Verzeichnisse angelegt und ausgelesen sowie Verzeichnisse und Dateien umbenannt oder gelöscht werden.

4) WebDAV (Web-based Distributed Authoring and Versioning) ist ein offener Standard zur Bereitstellung von Dateien im Internet.

5) Der Begriff Netzwerklaufzeit bezeichnet die Zeitspanne, die eine Information benötigt, um von A nach B zu kommen.

6) Eine Einführung in XML Schema ist unter www.edition-w3c.de/TR/2001/REC-xmlschema-0-20010502/ verfügbar.

7) siehe hierzu http://relaxng.org/ (nur englisch)

8) siehe Artikel Cascading Style Sheets in Comment 03/1

9) Scalable Vector Graphics (übersetzt: "skalierbare Vektorgrafiken") ist ein Standard zur Beschreibung zweidimensionaler Vektorgrafiken in der XML-Syntax.

10) Extensible Stylesheet Language - Formatting Objects ist eine XML-Anwendung, die beschreibt, wie Text, Bilder, Linien und andere grafische Elemente auf einer Seite angeordnet werden.

11) "Generisch" meint in diesem Fall: nur für dieses eine Dokument zutreffend; es handelt sich hierbei nicht um ein Standardformat.

12) Ein Tutorial zu XSLT ist unter www.data2type.de/xml/XML.html verfügbar.

13) Parser bezeichnet ein Computerprogramm zur Verarbeitung von Textdokumenten.

14) OpenOffice.org speichert seine Daten im so genannten OpenDocument-Format, einem XML-Format für Office-Dokumente.

15) siehe hierzu Artikel RSS Enterprise in Comment 06/1

16) WML (Wireless Markup Language) als Teil des Wireless Application Protocol (WAP) dient zur Darstellung von Inhalten im Internet auf Mobiltelefonen.

17) http://cocoon.apache.org/

 

Wie im Beispiel der Einkaufsliste zu sehen ist, wird für jeden einzelnen Posten ein Bereich <posten> eröffnet, in dem wiederum andere Tags geschachtelt enthalten sind. Jedes Tag mit seinem Inhalt stellt ein Element dar. Trotz seiner etwas wiederholenden Natur bleibt das Dokument selbst für ein ungeübtes Auge leicht les- und erfassbar. XML-Dokumente sind immer Textdateien - selbst wenn innerhalb der Tags später auch Binärinformationen erlaubt sind -, was die Handhabung sehr erleichtert. Die strenge Struktur dieses Dokumentes ermöglicht die einfache und flexible Verarbeitung, für die XML steht.

Typische Eigenschaften eines XML-Dokumentes

Ein XML-Dokument hat verschiedene Merkmale. Einige davon sind zwingend notwendig, andere Eigenschaften sind optional, und wieder andere sind logische oder stilistische Richtlinien. Im Folgenden sind die wichtigsten Eigenschaften von XML zusammengefasst:

  • Syntax: Jedes Element wird mit Hilfe eines Tags begonnen und beendet, bei dem der Tagname in spitzen Klammern steht. Dazwischen kann ein Text stehen: <tagname>foobar</tagname>, oder es handelt sich um ein leeres Element: <tagname/>. Innerhalb des Tags können noch weitere Daten gespeichert werden, in Form so genannter Attribute: <tagname attribut="wert">. Das öffnende Tag enthält dabei den Tagnamen und optionale Attribut-Wert-Zuweisungen. Das schließende Tag beginnt mit einem Schrägstrich nach der öffnenden Klammer und darf keine Attribute enthalten. Leere Tags enden mit einem Schrägstrich vor der schließenden Klammer. Bei Tagnamen wird Groß- und Kleinschreibung berücksichtigt.

  • Wohlgeformtheit: Ein Dokument ist wohlgeformt, wenn alle Elemente, die geöffnet werden, auch wieder geschlossen werden (<tag>...</tag>) oder die Elemente leer sind (<tag/>). Außerdem dürfen Elemente zwar geschachtelt werden (<a><b></b></a>), aber nicht über Kreuz geöffnet und geschlossen werden (<a><b></a></b>). Die Einhaltung dieser Regeln ist absolut notwendig, da die meisten Programme die Verarbeitung eines nicht wohlgeformten Dokumentes abbrechen werden.

  • Validierung mittels DTD und anderer Technologien: Wie bereits erwähnt, definiert man für mehrere Dokumente, die dem gleichen Zweck dienen, eine so genannte XML-Applikation. Beispiele hierfür sind etwa MathML zur Notation von mathematischen Formeln oder XHTML für Hypertext-Dokumente im Web. Das Mittel hierzu ist die Beschreibung einer so genannten Document Type Definition (DTD). Hierin wird standardisiert, welche Tags benutzt werden dürfen, welche ineinander geschachtelt werden können, und welche Attribute zugelassen oder zwingend notwendig sind. Die Standardisierung solcher Applikationen ist unerlässlich, damit ein Programm, das Daten aus einem XML-Dokument erhält, sichergeht, dass alle Daten aus dem Dokument im Programm zuordnungsfähig sind und umgekehrt alle für das Programm notwendigen Daten im Dokument vorhanden sind. Braucht z.B. ein Programm zwingend die Information, ob eine Person männlich oder weiblich ist, so wird dies in der DTD festgelegt. Ein entsprechend valides Element könnte etwa so aussehen: <person gender="female">...</person>. Würde hier das gender-Attribut weggelassen werden, wäre das Dokument nicht mehr gegen diese DTD valide.

    Das DTD-Format ist nicht die einzige Sprache, in der die Syntax von XML-Dokumenten festgelegt werden kann. Profiliert haben sich vor allem auch die Sprachen XML Schema6), welche den Vorteil hat, selbst eine XML-Applikation zu sein, und Relax NG7), die für sich beansprucht, besonders leicht erlernbar zu sein.

  • Trennung von Inhalt und Darstellung: XML ist eine Auszeichnungssprache, mit deren Hilfe logische bzw. semantische Strukturen der Daten auf das Dokument übertragen werden sollen. Der Zweck eines Dokuments kann dabei je nach XML-Applikation völlig verschieden sein. Jede Applikation erfüllt genau ihren Zweck und keinen anderen. So sollen zum Beispiel auch XHTML-Elemente nicht zur visuellen Gestaltung verwendet werden, sondern die dafür vorgesehene Sprache CSS (Cascading Style Sheets)8). Andere Applikationen hingegen, wie SVG9) und XSL-FO10), sind genau hierfür gedacht.

  • Portierbarkeit ist einer der meist gepriesenen Vorteile von XML und beschreibt die Fähigkeit, Daten auf anderen Rechnern, auf anderen Betriebssystemen oder mit anderer Anwendungs- oder Server-Software weiter benutzen zu können. Dies verdankt XML einerseits der leichten Verarbeitbarkeit des Datenformats, andererseits sicherlich aber auch einer gewissen Mode, durch die (dankenswerterweise) viele Anwendungen eine Schnittstelle zum XML-Import oder -Export implementiert haben oder sogar gleich konsequenterweise ihre Daten in XML-Formaten speichern.

    Für fast alle Programmiersprachen gibt es Pakete, mit denen Softwareentwickler relativ leicht XML-Funktionen nachrüsten können, allen voran Java und Perl. Unterstützt wird die Portierbarkeit über verschiedene Sprachen und Alphabete hinweg vor allem durch die Verwendung von adäquaten Encodings, nach aller Möglichkeit Unicode (UTF-8).

  • Transformierbarkeit ist ebenfalls eine der Schlüsseltechnologien von XML. Bei Transformationen handelt es sich um Prozesse, die nach einer bestimmten Vorschrift Daten aus einem XML-Dokument extrahieren und sie in ein zweites niederschreiben, wobei sich allerdings das Schema, also die Struktur der Daten, verändert. Auf diese Weise könnte zum Beispiel die Einkaufsliste aus Abbildung 1, die einem generischen11) XML-Schema folgt, in ein XHTML-konformes Dokument transformiert werden: