Sonntag, 12. Februar 2012 |
Nein, nicht die Schweizer, obgleich das CERN (die Europäische Organisation für Kernforschung), die frühere Arbeitsstelle von Tim Berners-Lee und damit quasi der Geburtsort des W3C, in der Schweiz liegt. Tatsächlich lässt sich gar nicht so genau sagen, wer XML erfunden hat. Manche sagen „Tim Bray“ (derzeit Direktor für Webtechnologien bei Sun Microsystems), doch er selbst sagt in dem Beitrag Celebrate the XML Decade für das Online-Magazin Slashdot (hier ins Deutsche übersetzt):
"Ich muss das einmal im Jahr machen, hier ist die 2006er Iteration: Ich bin nicht der Erfinder von XML. Es waren 150 Leute in der Diskussionsgruppe, 11 Leute im Entscheidungsgremium und 3 Mitherausgeber der Spezifikation. Innerhalb der Kerngruppe war ich (a) der mit dem lautesten Mundwerk, (b) unabhängig, sodass ich kein Einverständnis der PR brauchte, um zu reden, und (c) ich musste mich nicht um Marketingarbeit kümmern."
Happy Birthday, XML?
Er sagt dies anlässlich des inoffizielles Geburtstages von XML. Der offizielle Geburtstag ist der 10. Februar, also jener Tag im Jahr 1998, an dem die Spezifikation „Extensible Markup Language (XML) 1.0“ offiziell vom W3C als Recommendation
verabschiedet wurde. Zwei Jahre zuvor hatte sich die Arbeitsgruppe um XML gegründet und am 14. November 1996 präsentierte sie den ersten Working Draft zur XML.
Mit der Sonderausgabe Celebrating 10 Years of XML des IBM Systems Journals feiert die XML-Gemeinde also weniger das zehnjährige Bestehen von XML, sondern vielmehr ihr eigenes Bestehen als erfolgreiche Zweckehe aus Non-Profit-Organisationen, Unternehmen und Einzelpersonen. Ja, XML entstand aus einer reinen Zweckehe und das ist gut so, denn es bedeutet zweierlei: erstens, das Projekt XML hatte eine klare Zielvorgabe und zweitens, das Produkt XML ist eine Kompromisslösung.
Und das soll gut sein? Ja, denn die Alternativen sehen wie folgt aus: Alle Beteiligten waren derselben Meinung und hatten die gleichen Ziele. Unrealistisch? Stimmt.
Die zweite Alternative: ein Hersteller dominierte den Entwicklungsprozess und heraus kam – genau – eine Insellösung. Sagen wir, Microsoft wäre dieser Hersteller gewesen – so wie es ein Leser in einem Kommentar zu meinem letzten Beitrag behauptet hatte. Hätten Sie dann auf XML gesetzt, um Ihre Daten zu archivieren? Das Office-Versionschaos im Hinterkopf: wahrscheinlich nicht.
Für die Ewigkeit
"Wieso reden wir auf einmal von Archivieren? Ich nutze XML doch nicht zum Archivieren, sondern zum Datenaustausch!"
Sehr wahrscheinlich tun Sie das, doch ursprünglich wurde XML genau dafür geschaffen: für die Ewigkeit. Dokumente sollten unabhängig von der Anwendung, mit der sie erzeugt wurden, auch in tausend Jahren noch lesbar sein – notfalls vom Menschen.
Ganz richtig war das jetzt nicht, denn nicht XML, sondern ihr Vorläufer, die Metasprache SGML, hatte diese Zielsetzung mit auf den Weg bekommen. Doch diese gab den Stab an XML weiter und die XML-Arbeitsgruppe bestimmte die Hürden oder vielmehr die Entwurfsprinzipien, die XML zu meistern hatte:
Die Punkte 1 bis 4 wurden dabei als kritisch definiert, galten demnach als entscheidend für den Erfolg von XML.
It’s a bug, not a feature!
Ich möchte hier nicht jeden einzelnen Punkt aufgreifen – das haben andere bereits ausführlich und in meinen Augen hinreichend objektiv getan, unter anderem Mike Champion vom
Microsoft XML Team Weblog. Stattdessen konzentriere ich mich abschließend auf die vier Kernpunkte und insbesondere auf den Punkt 2, da er auch für den Entwurf eines XML Schemata ein wesentliches Erfolgsprinzip beschreibt. Uche Ogbuji von der englischsprachigen Online-Kolumne Thinking XML, die sich
in dem Beitrag
The XML Decade ebenfalls dem Thema angenommen hat, zitiert Charles Goldfarb, den „Vater“ von SGML wie folgt:
"Wenn irgendein Aspekt des XML-Entwurfes zu sehr an die Applikation gebunden ist, handelt es sich um einen Bug."
Dem ist nicht viel hinzuzufügen. Es ist eine direkte Folgerung aus der Zielsetzung, Dokumente unabhängig von der Anwendung zu machen, mit der sie erzeugt wurden. Diese Unabhängigkeit ist es auch, die XML nicht nur für die Archivierung, sondern eben auch für den Datenaustausch interessant macht, sodass XML heute vor allem für letzteres verwendet wird.
Über Punkt 1 lässt sich schwerlich streiten. XML ist für das Internet gemacht. Web Services und RSS-Feeds belegen dies. Doch obgleich XML im und mit dem World Wide Web erfolgreich wurde, konnte es die Grundlage desselben, namentlich HTML, nicht verdrängen. Die reine Lehre der Wohlgeformtheit hat sich nicht hundertprozentig durchgesetzt.
Punkt 3 war und ist dagegen strittig. Das bewährte Alte im Neuen zu bewahren, mag den Anfang für das Neue erleichtern, doch es sichert keineswegs das Überleben, denn somit bleiben auch die alten Probleme bestehen. Hier seien nur die ungeliebten und unsicheren DTDs genannt, die dank XML Schema, RELAX NG und Schematron heute schon als Altlast gelten.
Punkt 4 ist, in seiner ursprünglichen Form, nicht erfüllt worden. Eine Woche sollte ein Entwickler mit abgeschlossenem Bachelor-Studium brauchen, um einen (nicht-validierenden) XML-Parser zu entwickeln. Die Realität sieht anders aus. XML Namespaces, XML Base und XML Schema gehören heute zum guten Ton und erhöhen die Komplexität drastisch. Folglich verlängert sich auch die Entwicklungszeit und mit der steigenden Komplexität leider auch die Fehlerquote – wer für seine bevorzugte Programmiersprache einen vollständig XML-konformen Parser kennt, darf sich glücklich schätzen!
Dennoch, aber eben auf eine andere Weise, ist Punkt 4 erfüllt worden. Es gibt für viele Programmiersprachen teils dutzende Bibliotheken, die das Lesen und Schreiben von XML-Dokumenten einfach machen – fehlerhafte Programme und unvollständige Dokumentationen mal außer Acht gelassen.
Fazit: Niemand hat XML erfunden. XML ist das Ergebnis einer erfolgreichen Kooperation und damit (neben HTML) auch der Standard für die Kommunikation über das Internet.
Das nächste Jahrzehnt
Die Frage, die sich am Ende eines jeden Rückblicks stellt, ist die des
Ausblicks. Also: Was kommt nach XML? Ich weiß es nicht. Ein XML 2.0 ist erstmal nicht in Sicht.
Eine Alternative zu XML sehe ich ebenso wenig – ich sehe allerdings auch
keine Notwendigkeit hierfür. Also weiter geht es erstmal mit XML und folglich – in zwei Wochen –
auch mit Naked XML. Bis dahin freue ich mich auf Ihre zahlreichen Anregungen und
Anmerkungen,
Ihr Martin Szugat
Martin Szugat war noch in der Schule, als (die Idee zu) XML geboren wurde. Ein Jahr später begann er als Fachautor über Visual Basic zu schreiben. Heute beschäftigt er sich vor allem mit XML und schreibt darüber u.a. bei Naked XML, im dot.net magazin und auf www.aboutxml.de. Fragen und Meinungen zu XML können Sie als Kommentar, per E-Mail oder im Entwickler-Forum hinterlassen.