Parser
Eine wichtige Anlaufstelle für freie Implementationen von XML-APIs ist das Apache XML Project. Dort findet man zum Beispiel validierende Parser mit SAX- und DOM-Interface. Diese sind Xerces für Java und Xerces-C für C++. Für letzteren gibt es unter dem Namen Xerces-P Wrapper für Perl.
Ein in C geschriebener (teilweise) validierender Parser mit DOM- und SAX-artigem Interface ist libxml aka gnome-xml, der die Basis der XML-Verarbeitung von 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 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 XP.
Leute mit Vorliebe für exotische Sprachen können es auch mit HaXml für Haskell, XMLTeX in TeX oder einem (kommerziellen) Parser für COBOL versuchen.
XSLT
Die vollständigsten freien XSLT-Implementationen stammen wieder vom Apache XML Project, es sind Xalan in Java und die etwas hinterher hinkende Parallelentwicklung Xalan-C in C++.
Eine weitere Implementation in C++ ist Sablotron, für das es auch einen Perl-Wrapper gibt. In Perl selbst ist das Modul XML::XSLT implementiert, das man auf 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 Cocoon in Java und 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.