0

XSL 変換を確認するために、Maven ビルドの一部としてXSpecを実行したいと考えています。プラグインはGitHubから入手できます。次のように、呼び出し関数に対してチェックする XSL スタイルシートが Saxon-HE で使用できない場合に問題が発生します。

Error at xsl:if on line 194 column 75 of dyxml_table_cals.xsl:
XPST0017 XPath syntax error at char 0 on line 194 near {...table-enumeration-condition...}:
Cannot find a matching 2-argument function named {http://saxon.sf.net/}evaluate().
Saxon extension functions are not available under Saxon-HE

PE のライセンスを所有しています。Saxon のドキュメントによると、ライセンス情報が利用できない場合、エンハンスト エディションはオープン ソースの HE に戻ります。codehausのプラグインを使用するなど、Maven 経由で PE をアクティブ化することは可能ですか? すでに Java を介したアクティベーションの方法を使用していますが、別のより洗練された方法を知っていると、可能であれば役に立ちます。

4

2 に答える 2

0

いくつかの試行錯誤の後、次の解決策が機能していることがわかりました。

  1. 上記のリンクにある XSpec-Maven-Plugin の作成者は、ライセンスのない Saxon-HE の使用をハードコーディングしました。特に、次の行で問題が発生していました。

    private final static Processor processor = new Processor(false);
    

    コードをフォークして、次のように変更しました。

    private final static Processor processor = new Processor(true);
    
  2. ライセンスを有効化するためのカスタム クラスを構築し、それをプラグイン ソース コードに統合しました。(ここにコードを投稿することはできません。)

これにより、ライセンスの問題が解決されました。これで、XSpec テストが開始され、実行されます。ええ私たち!

于 2016-09-26T08:56:46.617 に答える