3

このSaxonコマンドで作成されたコンパイル済みのスタイルシートがあります。

javanet.sf.saxon.Compile[options]スタイルシート出力[params…]

ここで、このスタイルシートをJavaコード内のXMLツリーに適用したいと思います。JAXP APIを使用してこれを行うことは可能ですか?もしそうなら、どのくらい正確ですか?これについて助けてくれてありがとう。

4

1 に答える 1

4

まず、この施設は必ずしも人々が望むことをするわけではないことに注意してください。多くの制限があります-それがコンパイル可能になるのを妨げるあなたのスタイルシートであなたがすることができること。そして、多くの人は、この機能を使用したときに満たされないパフォーマンスの期待を持っています。したがって、Saxon 9.4では、完全に撤回しました。

コンパイルされたスタイルシートを実行する場合の最大の制限は、構成を他のものと共有できないことです。スタンドアロンで実行する必要があります。これは、NamePoolの動作の結果です。したがって、Java APIからこれを実行しようとする場合、それを正しく行うのはユーザーの責任です。

コンパイルされたスタイルシートをロードするための鍵は静的メソッドです

PreparedStylesheet.loadCompiledStylesheet()

これは、JAXPインターフェースを使用して行うことはできません。ただし、これはSaxonによるJAXPテンプレートオブジェクトの実装であるPreparedStylesheetオブジェクトを返します。これを取得したら、JAXPインターフェイスを使用してTransformerを作成し、変換を実行できます。

于 2012-12-20T22:50:55.217 に答える