XPath関数を使用したファイル・システムへの大規模なXSLT/XQuery出力の書込み

次の関数を使用して、大規模なXSLT/XQuery操作の結果をディレクトリ・システム内の一時ファイルに書き込むことができます。その後、ドキュメントは必要なときに一時ファイルからロードされます。これにより、ドキュメント全体をバイナリXMLとしてメモリーにキャッシュする必要がなくなります。

  • ora:processXSLT

  • ora:doXSLTransformForDoc

この機能を有効化にするには、ora:processXSLT関数でproperties引数を使用します。

ora:processXSLT('template','input','properties'?)

この引数の値は、XSLT内で、XSL変数からデータを抽出するのと同様な方法で取得します。properties引数は、次の例に示されているような構造のXML要素です。大きいペイロードの結果(10MBを超えるなど)に対しては、streamResultToTempFileyesに設定します。一時ファイルに書き込む必要のない小さいペイロードの結果には、このプロパティをデフォルト値のnoの設定のままにしておきます。

<propertiesXMLVar>
  <common:item  xmlns:common="http://schemas.oracle.com/service/bpel/common">
    <common:name>streamResultToTempFile</common:name>
    <common:value>yes</common:value>
  </common:item>
</propertiesXMLVar>

XSLT内で、名前streamResultToTempFileおよびその値yesを介して、このパラメータにアクセスできます。

Oracle BPEL Process Managerでは、ora:processXSLT('template','input','properties'?)にプロパティを移入するためにリテラルのassignが実行されます。

この関数の使用の詳細は、「processXSLT」を参照してください。

ora:doXSLTransformForDoc関数では、この機能を有効にするために、nameおよびvalueプロパティを設定します。

ora:doXSLTransformForDoc('template','input','name', 'value')

この関数では、namestreamResultToTempFileおよびvalueyesが渡されます。

この関数の使用の詳細は、「doXSLTransformForDoc」を参照してください。