7

いくつかの XML ファイルに対して処理する必要がある XSLT ファイルがたくさんあります。XSLT ファイルはサード パーティから提供されているため、変更できません。XSLT はバージョン 2.0 です。

私は Mac OS X 10.6 を使用していますが、利用可能な XSLT 2.0 プロセッサはSaxon-HEだけのようです。

ほとんどの XSLT は正常に動作しますが、欠落している関数、特にmonth-in-year()日付/時刻関連の関数に関するエラーが発生するものもあります。

EXSLT に関するhttp://www.saxonica.com/documentation/extensions/exslt.xmlによると :

これらの拡張機能は、Saxon-PE および Saxon-EE で「すぐに」利用できます。Saxon-HE では使用できません。

EXSLT 関数を Saxon-HE で使用できる方法はありますか?

それがうまくいくなら、喜んで別のツール/プロセッサに移行します。

4

3 に答える 3

6

Saxon-B 9.1 は、この種の要件を持つユーザー向けに引き続き提供されます。XSLT 2.0 を使用している場合、EXSLT 拡張機能はほとんど必要ありませんが、それらを使用するスタイルシートに出くわすことはあります。オープン ソース ソフトウェアを使い続けたい場合は、Saxon-B をその目的で引き続き使用できます。

于 2011-05-05T14:24:34.227 に答える
1

Saxon9 HE には EXSLT 拡張子がありません。EXSLT を使用するには、Saxon 9.1 に戻すか、Xalan (Java)、MSXML (Windows)、または LibXSLT (C およびスクリプト) など、XSLT と XPath 1.0 のみを実装する別の製品を選択する必要があります。とはいえ、Saxon9 HE と XSLT 2.0 では、なぜ EXSLT が必要なのでしょうか?

さて、返信する前に投稿を読むべきでした。要件は次のようです。

  • XSLT 2.0
  • EXSLT
  • XSLT を変更できません

これがすべて想定される場合、Saxon9 PE または EE が残っているように見えます。(まあ、もちろん、Saxon 9.1 です。)

于 2011-05-05T13:11:18.740 に答える
0

どのプロセッサを選択しても、EXSLT 関数をネイティブにサポートする必要はありません。独自の関数を登録できるように拡張可能である必要があります。これにより、EXSLT 関数を自分で実装できます。

于 2011-05-05T14:48:47.190 に答える