2009-05-19 17 views
2

私はXSLT 2.0シートに対してXML文書を解析しようとしています。しかし、OSX 10.5.xのライブラリはXSLT 1.0の操作しかサポートしていないと言われています。私はxsltprocのを見たとき、私はこれを取得:xslt 2.0とRuby on OS X

hmasing $ xsltprocの--version のlibxml 20616を使用して、10112をlibxsltはとlibexslt 810 xsltprocのはのlibxml 20616に対して、コンパイルされ、10112をlibxsltは810 libxsltは10112をlibexsltはのlibxmlに対してコンパイルされました810 libexslt 20616 はのlibxmlに対してコンパイルされた20616

誰もが自分の道を渡すためにそれらのlibsに対して動作するXSLT 2.0、XSLTルビーの宝石をインストールするための簡潔なガイド、およびいくつかの良いFUを持っていますか?私はどの指示でも馬鹿だと思います。どんな助けでも大歓迎です!

  • ハンス悲しいこと
+0

saxon(java XSLTパーサー)をコマンドラインから 'system'経由で使用し、出力をキャプチャすることができますが、速度は遅くなります。だから、私はこれが一つの方法だと思うが、パフォーマンスの状況下では理想的ではない。 –

答えて

5

、サクソンは、無料のXSLT 2.0実装と町で唯一のゲームです。ザクセン自体は素晴らしいですが、それはJavaや.NETだけであり、それはすべて意味します。

コマンドラインから、またはシステムコール経由で呼び出すと、毎回JVMの起動コストがかかります。そのようにしたくない可能性があります。

あなたが試すことができますいくつかの点:

1)あなたはXSLT 2.0が必要か? 1.0以外の機能を使用していない限り、XSLTは1.0と互換性があります。次に、xsltprocを使用できます。必要なものがEXSLTにある場合、xsltprocはそれをサポートしています。

2)確実に2.0が必要な場合は、saxon用のラッパーを作成する必要があります。多くは、これをどのような環境で使用したいかによって異なります。したがって、これはWebサービスなのかもしれません。私が作業しているプロジェクトでは、saxonをラップする小さなTCPリスナープログラムを使用します。 http://idp.atlantides.org/svn/idp/idp.contenttool/trunk/epiduke_saxon/コマンドラインのバッチ変換でうまく動作し、非常に高速です。

+0

Javaは技術的にOSX上で問題になるべきではありません。少なくとも速度に役立つはずの、システム上にJavaレイヤーが組み込まれていないのでしょうか? –