GUIs für XSL-Transformationen unter Windows mit Microsoft-Mitteln.
Microsoft Windows bietet schon lange mächtige XML-Bibliotheken, die unter anderem XSLT-Prozessoren integriert haben. Das Testen eigener XSLT-Stylesheets unabhängig von aufwändiger Programmierung ist aber nur schwer möglich.
Hier zwei Tools, um das Ganze zu erleichtern. Einmal umgesetzt fürs .NET Framework und einmal mit MSXML 6.0 COM-Objekten (als AutoHotKey-Anwendung, siehe unten)
Ein GUI für XSLT-Transformationen mit der XslCompiledTransform-Klasse des .NET Frameworks
Nachdem die erste Variante des Tools als AutoHotKey-Script realisiert war, wollte ich tiefer in das Thema Objektorientierte Programmierung einsteigen. Ich bin mit meinen bestehenden PHP-Kenntnissen in diesem Bereich auch nicht ganz glücklich, was AutoHotKey hier zu bieten hat.
Nachdem es nun eine Community-Edition des Visual Studios gibt, habe ich mir darin neben C# gleich noch etwas XAML beigebracht. Sehr angenehm im Vergleich zum Pixelgeschiebe für AHK-GUIs.
Ein GUI für XSLT-Transformationen mit MSXML 6.0
Gar nicht mal so einfach, XSL-Transformationen mit MSXML 6.0 zu testen. Neben Möglichkeiten im Visual Studio gibt es da zwar das Kommandozeilentool MSXSL, aber das ist alt (2004) und kann wohl nur MSXML 4.0. Nun wäre es zwar relativ einfach, ein Kommandozeilentool selbst zu bauen, wie z.B. hier vorgeschlagen, aber so richtig schön ist das auch nicht. Bei vorgeschlagener stackoverflow-Lösung könnten z.B. keine XSLT-Parameter übergeben werden.
Wer die XSL Launch Configuration im eclipse kennt, der wünscht sich ähnliches für MSXML 6.0. Da ich in einem aktuellen Autohotkey-Projekt viel XSLT mit allem Schnick (Parameter, Dokument-Funktion, eingebundene DTDs, mehrere XSLT-Stylesheets nacheinander angewendet) eingesetzt habe, fühlte ich mich berufen, das fehlende GUI (inspiriert von der entsprechenden eclipse XSL Tools Funktion) hiermit nachzureichen.
Der Quellcode möge dem geneigten Programmierer, der ähnliches einsetzen will, auf die Sprünge helfen. Wenn ich mal zuviel Zeit habe, füge ich vielleicht sogar noch Kommentare ein. Autohotkey mag eine etwas exotische Programmiersprache sein, da hier aber mit MSXML Com-Objekten gearbeitet wird, ist das Ganze gut übertragbar, denn Eigenschaften und Methoden dieser Objekte sind auch in anderen Programmiersprachen identisch.