XSLT-Prozessoren

(Auszug aus "Python & XML" von Christopher A. Jones & Fred L. Drake, Jr.)

Es sind jede Menge XSLT-Prozessoren auf dem Markt, sowohl freie als auch kommerzielle. Die Bedeutung von XSLT liegt in den Transformationen, die die Sprache erlaubt, aber die eigentliche Arbeit wird vom Prozessor erledigt. Je nach Ihrer Umgebung werden Sie einen Prozessor aufgrund seiner Geschwindigkeit oder seiner Zugänglichkeit aus einer bestimmten Plattform wie Python heraus aussuchen. Alternativ dazu werden Sie vielleicht einen Prozessor auswählen, den Sie programmatisch ansteuern können.

Die Aufgabe des XSLT-Prozessors besteht darin, die Transformationsregeln eines XSL-Stylesheets auf einem existierenden XML-Dokument anzuwenden, um ein neues transformiertes Dokument zu produzieren. Das W3C sagt, daß XSLT für die Transformation von XML nach XML gedacht ist, was auch stimmt, aber man kann damit auch HTML oder andere Formate erzeugen. Es wird oft dazu benutzt, XML in HTML oder XHTML zu transformieren, um es in einem Webbrowser zu betrachten.

XSLT ist eine eigenständige Sprache und hat nichts speziell mit Python zu tun. Insofern können Sie Dokumente für Ihre Python-Programme mit jedem XSLT-Prozessor konvertieren. Wenn Sie jedoch XSLT-Funktionalität in Ihre Python-Programme einbetten wollen, brauchen Sie einen Prozessor, der aus Python heraus zugänglich ist, entweder nativ (z. B. 4XSLT) oder über eine Brücke (so wie man MSXML 3.0 aus Python heraus benutzt, was in Arbeiten mit MSXML 3.0 behandelt wird).

Was Python angeht, ist das 4XSLT-Paket ein Open Source-XSLT-Prozessor, der von der Kommandozeile ebenso wie aus Ihren Python-Programmen angesteuert werden kann – es ist vorwiegend in Python implementiert, enthält aber einige in C geschriebene Module, um die Performanz zu verbessern. 4XSLT ist bei Fourthought, Inc. als Teil des 4Suite-Pakets erhältlich.

Es gibt andere XSLT-Prozessoren für andere Sprachen und Plattformen, die aber dennoch Transformationen im Stapelbetrieb durchführen können, die Sie dann in Ihren Python-Anwendungen verwenden können. Der Internet Explorer von Microsoft enthält einen XSLT-Prozessor und kann im Client-Browser ein XML-Dokument in HTML transformieren (obwohl die Versionen vor 6.0 schrecklich unkonform sind). SAXON ist eine Sammlung von XML-Werkzeugen, inklusive eines Java-basierten XSLT-Prozessors, der in jeder Java Virtual Machine läuft. Sablotron ist ein schneller XSLT-Prozessor in C++. Die XSLT-Site des W3C enthält zahlreiche Verweise auf XSLT-Software.

Für den Rest dieses Abschnitts benutzen wir den 4XSLT-Prozessor, da er vollständig auf Python basiert und seine Funktionalität zur Laufzeit Ihrer Python-Anwendungen zur Verfügung steht.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema Python & XML bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2002 O'Reilly Verlag GmbH & Co. KG
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "Python & XML" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

O’Reilly Verlag GmbH & Co. KG, Balthasarstraße 81, 50670 Köln, kommentar(at)oreilly.de