3 Stimmen

xslt 2.0 und Ruby unter OS X

Ich versuche, ein XML-Dokument anhand eines XSLT 2.0-Sheets zu parsen. Mir wird jedoch gesagt, dass die Bibliotheken unter OSX 10.5.x nur XSLT 1.0 Operationen unterstützen. Wenn ich mir xsltproc ansehe, erhalte ich dies:

hmasing$ xsltproc --version Verwendung von libxml 20616, libxslt 10112 und libexslt 810 xsltproc wurde gegen libxml 20616, libxslt 10112 und libexslt 810 kompiliert libxslt 10112 wurde gegen libxml 20616 kompiliert libexslt 810 wurde gegen libxml 20616 kompiliert

Hat jemand eine prägnante Anleitung zur Installation von XSLT 2.0, die Ruby-Xslt-Gems gegen diese Libs zu arbeiten, und einige gute Fu meinen Weg zu übergeben? Bitte nehmen Sie an, ich bin ein totaler Idiot in allen Anweisungen. Jede Hilfe wird sehr geschätzt!

  • Hans

5voto

hcayless Punkte 1016

Leider ist Saxon der einzige Anbieter in der Stadt mit einer freien XSLT 2.0-Implementierung. Saxon selbst ist brillant, aber es ist nur Java oder .NET, mit allem, was das bedeutet.

Der Aufruf von der Befehlszeile oder über einen Systemaufruf verursacht jedes Mal Kosten für den JVM-Start, so dass Sie dies wahrscheinlich nicht tun möchten.

Einige Dinge können Sie ausprobieren:

1) Sind Sie sicher, dass Sie XSLT 2.0 benötigen? Wenn Sie keine Funktionen verwenden, die nicht in 1.0 enthalten sind, könnte Ihr XSLT mit 1.0 kompatibel sein. Dann könnten Sie xsltproc verwenden. Wenn das, was Sie brauchen, in EXSLT ist, hat xsltproc einige Unterstützung für das.

2) Wenn Sie unbedingt 2.0 benötigen, dann werden Sie eine Art Wrapper für Saxon erstellen wollen. Vieles hängt davon ab, in welcher Umgebung Sie das verwenden wollen, also könnte das ein Webservice oder etwas Ähnliches sein. Für ein Projekt, an dem ich arbeite, verwenden wir ein kleines TCP-Listener-Programm, das Saxon umhüllt. Sie können es hier sehen: http://idp.atlantides.org/svn/idp/idp.contenttool/trunk/epiduke_saxon/ Es eignet sich gut für Batch-Transformationen auf der Befehlszeile und ist sehr schnell.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X