Parser und Implementationen der wichtigen APIs für XML

Diese Seite gibteinen Überblick über einige zur Zeit (Sommer 2000) wichtige Implentationen von XML-Funktionalitäten. Vollständigere und aktuellere Sammlungen von Links zu Implementationen findet man etwa bei [Ext. Link]XML.org.

Parser

Eine wichtige Anlaufstelle für freie Implementationen von XML-APIs ist das [Ext. Link]Apache XML Project. Dort findet man zum Beispiel validierende Parser mit SAX- und DOM-Interface. Diese sind [Ext. Link]Xerces für Java und [Ext. Link]Xerces-C für C++. Für letzteren gibt es unter dem Namen [Ext. Link]Xerces-P Wrapper für Perl.

Ein in C geschriebener (teilweise) validierender Parser mit DOM- und SAX-artigem Interface ist [Ext. Link]libxml aka gnome-xml, der die Basis der XML-Verarbeitung von [Ext. Link]GNOME ist, aber auch völlig unabhängig davon benutzt werden kann.

Einer der am weitesten verbreiteten nichtvalidierenden Parser mit einem ereignisbasierten Interface in C ist [Ext. Link]expat von James Clark. Er wird u. a. von Mozilla und Apache benutzt und ist auch einer der wichtigsten Parser für die XML-Verarbeitung in Skriptsprachen wie Perl und Python.

Von gleichen Autor stammt auch der in Java geschreibenen Parser [Ext. Link]XP.

Leute mit Vorliebe für exotische Sprachen können es auch mit [Ext. Link]HaXml für Haskell, XMLTeX in TeX oder einem (kommerziellen) [Ext. Link]Parser für COBOL versuchen.

XSLT

Die vollständigsten freien XSLT-Implementationen stammen wieder vom [Ext. Link]Apache XML Project, es sind [Ext. Link]Xalan in Java und die etwas hinterher hinkende Parallelentwicklung [Ext. Link]Xalan-C in C++.

Eine weitere Implementation in C++ ist [Ext. Link]Sablotron, für das es auch einen Perl-Wrapper gibt. In Perl selbst ist das Modul XML::XSLT implementiert, das man auf [Ext. Link]CPAN finden kann.

Web-Applikationsframeworks

Eine wichtige Klasse von Anwendungen, wo XML bereits heute produktiv eingesetzt wird, sind Frameworks für die Publikation von Informationen im Web. Diese integrieren die Verarbeitung von XML in einen Webserver wie Apache und stellen eine wichtige Migrationsstrategie dar, um XML-Daten in HTML zu publizieren. Zwei Beispiele sind [Ext. Link]Cocoon in Java und [Ext. Link]AXKit (Apache XML Delivery Toolkit) in Perl. Sie benutzen Serverseitigt Erzeugung und Transformation vom XML-Dokumenten mit Techniken wie XSL Transformationen und XML Server Pages XSP, um die lokal in XML vorhandenen und gepflegten Daten in ein für die realen Browser verständliches HTML zu übersetzten.

Diese Anwendungen sind von einem konzeptionellen Gesichtspunkt her aber nicht ganz unproblematisch. Man kann ihnen vorwerfen, dass die die Akzeptenz von XML auf Browserseite eher behindern, da sie die Produktion von browserspezifischem HTML befördern. Damit unterlaufen sie eine der Grundideen von XML, nämlich den Austausch von Informationen im Web in einem darstellungsunabhängigen Format durchzuführen.

Florian Hars <florian@hars.de>, 2007-10-15 (orig: 2000-06-14)