2013-05-09 12 views
5

現在、Xalan 2.7.0をXMLで使用していますが、XSLT変換用にSaxon 9に切り替えることを考えています。だから誰かが私にSaxonをXalanよりも使っているという主な賛否両論を挙げることができます。私はSaxonがXSLT 2.0やその他の大きな変更をサポートしていることを知っていますが、代わりにSaxon 9の個人的な経験やその疑惑や短所、その他の利点について知りたいと思います。Saxon 9 XSLTトランスとXalan 2.7

答えて

18

私は10年前にXalanを使用しました。私は過去10年間ほぼSaxonを使ってきました。

SaxonはXSLT 2.0とXSLT 3.0プロセッサだけでなく、非常に積極的に開発され、維持されています。

Saxon 9.xxは、最も高速なXSLTプロセッサの1つです。その開発者であるMichael Kay博士は、W3C XSLT WG(Working Group)の編集者であり、XSLTの仕様をよく理解している可能性があります。これはSaxonで公開されています。どんな言語機能も厳密かつ正確に実装されています。通常、他のベンダーよりもはるかに優れています。

Kay博士は、W3C XSLTおよびXQuery WGsテストスイートを実行することによって示されたコンプライアンスのレベルを報告することがあります。これは数万のテストから成ります。

サクソンは、いくつかのIDEによってサポートされています。最も重要なのはoXygenです。 Saxonには非常にアクティブなユーザーメーリングリストがあり、一般的な応答時間は通常時間単位で測定されます。

私は約11台のXSLTプロセッサをインストールしていますが、私の時間の99%を使っているものは、サクソンです。

12

XalanとSaxon(6.5と9)の両方をoXygen XMLエディタに統合するので、基本的にSaxonとXalanの両方を使用するXSLT開発者をサポートします。

私たちの経験から、サクソン9は積極的に開発されていますが、何年にもわたってXalanの開発が停止しています。これはSaxon 9がXSLT 2プロセッサーであり、XalanがXSLT 1プロセッサーであり、XSLT 1にはあまりないことがあるからです。

最近のXSLT開発者のほとんどは、XSLT 2.0を使用しています。 Saxon 9を選んだのはXSLT 2.0エンジンだけで十分です。XSLT 1との苦労はありませんが、XSLT 2はすでに数年前から利用可能です。

XalanはApache 2.0でライセンスされており、SaxonはMozilla Public License(MPL)の下でライセンスされています。使用の観点からは、実際には違いはありません。プロセッサーコードを自分で変更する場合にのみ違いがあります.MPLの場合は、コードに変更を加える必要があります。

Saxon 9の小さな問題点は、拡張機能を直接サポートしていないことですが、APIを使用して統合拡張機能を登録したり、コマンドラインでこれらの拡張機能を登録するInitializerクラスを渡すことができます。ただし、XSLT 2.0には多くの新しい関数と命令が標準で用意されているため、拡張機能が必要になる可能性は低くなります。

サクソン9もXSLT 3.0のサポートが含まれ(現在はこれがワーキングドラフトである)が、サクソンとあなたは、ほぼすべての私たちが使用する社内XSLTタスクのためのXSLTでの新機能が追加3.

の一部への早期アクセスを持っていますサクソン9時。

私はこれが助けてくれることを願っています!

敬具、 ジョージ

+0

私はそれが古いスレッドを少し知っています。マルチスレッド環境でのXalanの実装では、ロックの問題に直面しています(ブロックされた問題)。 https://stackoverflow.com/questions/46194800/converting-xmlxsl-in-html-using-java –

+0

これら2つのパフォーマンス関連の比較はありますか? –

2

はちょうどジョージが言うに追加する:あなたはXalanの/ Wよりサクソン/ Wより多くの機能を取得しますが、あなたが大幅に向上した性能(少ないメモリ、より高速に実行)を取得するだけでなく、多くの場合同様に。

+0

おかげさまで@mikeとgeorgeがあなたの意見を大変ありがとうございます – Aditya

+0

Xalanで得られないSaxonの特定の機能についてコメントしていただけますか?私は提示するのに使うことができる特定のポイントのリストを探しています。ありがとう。 – gtcharlie

+0

@gtcharlie XSLT 2.0と1.0の違いは、SOのコメントで言及するにはあまりにも多くの改良方法があります。グループ分けは大きなものです。改善された基礎となるデータモデルが別のものです。組み込みのXPath 2.0文字列処理関数は、私たちのために巨大でした。等 –

関連する問題