2017-01-09 9 views
0

私は、カスタムNodeInfo、DocumentInfo、およびExternalObjectModel実装をsaxon 8.7で作成しました。saxon 97でのカスタムnodeinfoの実装 - HE

カスタム機能をほとんどサポートする必要もありません。 サクソン9.7彼はより良いサポートを持っているので、8.7ベースの実装から9.7 HEに移行しようとしています。

  1. xslt機能をオフにする方法はありますか?私は今のところそれを必要としません。

は、次のような特徴を得るためにs9api推奨APIです:

  • カスタム実装を提供するには カスタム関数
  • をサポートするために
  • (私は、XML文書を持っていけない)カスタムdatamodelsで作業するには現在の()について 関数

現在の実装では彼のパターン。今

 XPathEvaluator eval = new XPathEvaluator(docw); 
    eval.setNamespaceContext(new NamespaceContext() { 
     // stripped off 
    }); 
    List<DataNode> res = eval.evaluate(xpath); 

、XPathEvaluatorは、 'ノード情報' 実装を受け付けていません。 評価が文字列を返しています。

9.7に関連する新しいAPI /クラスは何ですか?

また、saxon-xpathはありません。私は機能性がSaxon-HEの一部になったと思う。

答えて

0

ロットが8.7から9.7の間で変更されました。約10年間で2つのリリースが分離され、10のメジャーリリースと100のメンテナンスリリースがあります。いずれの2つのメジャーリリース間でのNodeInfoインターフェースへの変更はごくわずかですが、時間の経過とともに大きな差に累積されます。

Saxon 9.7ではDocumentInfoインターフェイスが変更され、実際には新しいTreeInfoオブジェクトに置き換えられ、ルートノードがドキュメントノードであるかどうかにかかわらずツリーに関する情報が保持されます。

「9.7の新しいAPI /クラスは何ですか?」という質問は非常に広すぎます。各メジャーリリースで詳細な変更情報を公開し、オンラインの対話型ドキュメントには変更履歴があり、選択した2つのリリース間でカテゴリごとの変更をリストすることができます。 8.7と9.7のように離れた2つのリリースでは、非常に長いリストであり、ここで要約を開始することさえありません。

saxon-xpathはかつて別々のJARファイルでしたが、その理由はおそらくJAXPアプリケーションが偶然にそれを拾うのを避けるためにクラスパスから離しておくことができたと思います。この問題を回避するために、SaxonはJAXP XPathプロバイダとして広告を出さないことを除いて、メインJARファイルに機能が追加されました。

一般的に、XSLT、XPath、XSD、XQueryを超越する必要がある場合は、Saxonアプリケーションを作成するすべての人にs9apiインターフェイスを使用することをお勧めします。 JAXPの同等の機能は、ツール間でうまく統合されず、タイプセーフではなく、最新のW3C標準の機能へのアクセスを提供しません。独自のオブジェクトモデルを定義し、システム関数を置き換えると、s9apiの下を内部の下位レベルのAPIに掘り下げる必要があります。

ここでは多くのことが可能ですが、リリースごとに100%安定しているわけではなく、必ずしも十分に文書化されているとは限りません。私たちは技術的な質問にお答えできますが、そのような統合に取り組む場合は、高いレベルの技術的能力が求められます。

+0

わかりました。私はs9 apiを使用して、どれだけ進歩を遂げることができるかを見ていきます。私たちはあなたの貢献に深く感謝し、感謝しています。 – user19937

関連する問題