0

共通のコードを持ついくつかの XSL 変換があります。共通コードは、exslt の関数拡張で作成された関数で構成されています。今、私はこれらの関数をライブラリにアウトソーシングして、より保守しやすくしたいと考えています。

変換は、リソースとして実行可能ファイルにコンパイルされ、必要なときにメモリから読み取られます。私はそれをそのままにして、ライブラリにも同じメカニズムを使用したいと考えています。その理由は、実行可能ファイルがどこにあるかを常に認識しており、パス構成が必要ないためです。今私の質問は次のとおりです: string
として指定され、ファイルとして使用できない外部スタイルシートをインポートするにはどうすればよいですか?

この問題を解決する 1 つの方法は、スタイルシートを一時ファイルに書き出して、これらをインクルードすることです。一時ファイルのファイル名が毎回変わるという問題があるため、メインの変換を操作して一時ファイル名を含める必要があります。この場合、パラメータは機能しません。

この問題を解決する方法についてのアイデアはありますか?

環境: libxml2、libxslt (xslt 1.0)、exslt 拡張機能、Linux。

ありがとう、
ジョスト

4

1 に答える 1

0

私を正しい方向に押してくれたDimitreとMichaelに感謝します。

URIResolver-メカニズムはlibxmlでは「カタログ」と呼ばれ、簡単に機能します(単純なユースケースの場合)。

  1. 「libxml/catalog.h」をインクルードします
  2. 関数「xmlInitializeCatalog」を使用して、システムカタログを初期化します。
  3. 「xmlCatalogAdd」を使用して解像度マッピングを追加します
  4. 「xmlCatalogCleanup」を使用してクリーンアップします

ヒントをありがとう、
Jost

于 2012-12-12T13:22:17.857 に答える