XML/Parser

Aus SELFHTML-Wiki
< XML
Wechseln zu: Navigation, Suche

Was man in prozeduralen Sprachen, also in Programmiersprachen, als Interpreter bezeichnet, nennt man in beschreibenden Sprachen wie XML einen Parser (auch: Prozessor). Bei XML ist ein Parser diejenige Software, die XML-Strukturen ausliest, analysiert und nachgeschalteter Software zur Verfügung stellt. Ein XML-fähiger Browser beispielsweise besitzt ein eigenes Software-Modul, das den Parser darstellt. Im Parser wird die Baumstruktur der XML-Daten analysiert. Ein erfolgreiches Analysieren dieser Struktur ist die Voraussetzung für eine korrekte Darstellung/Wiedergabe der Daten.

Ein Parser muss nicht auf der Client-Seite (im Browser) integriert sein. Er kann genauso gut in die Umgebung eines Web-Servers eingebunden sein und Daten, die auf dem Server abgelegt sind und vom Browser über HTTP angefordert werden, schon umwandeln, bevor diese überhaupt übers Internet übertragen werden. Genau dies tut beispielsweise ein server-seitiger XSLT-Parser, der XML-Daten in HTML-Daten übersetzen kann. Ein Browser, der die XML-Daten über HTTP angefordert hat, erhält dann vom Server leicht verdaulichen HTML-Code.

Generell kann man unterscheiden zwischen Parsern, die den Quelltext validieren, und solchen, die das nicht tun. Validierende Parser erwarten zu allen XML-Daten eine DTD und prüfen den gesamten Inhalt der XML-Daten gegen die zugehörige DTD. Ergibt die Prüfung Fehler, geben solche Parser beispielsweise Fehlermeldungen aus und brechen die Verarbeitung ab.

XML und die Browser

Das entscheidende Problem beim Erfolg von XML ist die Fähigkeit von Software, XML-basierte Daten vollständig und adäquat zu repräsentieren. Egal, ob es sich um Textdaten, Grafikdaten, numerische Daten oder Multimediadaten handelt. Web-Browser sind heute der Software-Typ, der am stärksten mit unterschiedlichen Dateiformaten konfrontiert wird und für eine ansprechende Umsetzung dieser Daten am Bildschirm oder an anderen Ausgabegeräten zu sorgen hat. Außerdem sind Web-Browser von vornherein internet-fähig, was für XML ebenfalls wichtig sein kann. Denn XML-fähige Software muss gegebenenfalls auf öffentlich im Internet hinterlegte Dokumenttyp-Definitionen zugreifen können, um eine Datei, die nach den Regeln eines bestimmten Dokumenttyps kodiert ist, interpretieren zu können. Insofern haben die Browser eine gewisse Vorreiterrolle, was die Umsetzung der XML-Philosophie in der Praxis betrifft.

Der Internet Explorer interpretiert beliebige, XML-basierte Auszeichnungssprachen seit der Produktversion 5.0, der Netscape-Browser ab seiner völlig neu programmierten Version 6.0. "Interpretieren" meint dabei, dass diese Browser XML-Daten als solche erkennen und parsen können. Schick darstellen können sie die Daten deshalb noch nicht – dazu sind Formatierungen mit CSS oder XSL oder Übersetzungen mit XSLT in HTML erforderlich.

Da Web-Designer meistens auch auf ältere Produktversionen oder andere Browser Rücksicht nehmen müssen, empfiehlt es sich vorläufig nicht, Web-Design unmittelbar mit XML-basierten Sprachen zu betreiben. Nur wenn XML in Verbindung mit XSLT und dessen serverseitigen Interpretation einsetzbar ist, ist die Verwendung im Web heute unbedenklich.

XML gewinnt auf jeden Fall mehr und mehr Bedeutung bei der Datenhaltung umfangreicher, reich strukturierter Datenbestände. Bei großen Web-Sites mit viel und einheitlich strukturiertem Inhalt werden die Daten immer häufiger in XML-basierten, eigenen Dateiformaten gespeichert. Bis es jedoch problemlos möglich sein wird, XML-Daten direkt an aufrufende Browser zu senden, wird noch einige Zeit vergehen.