Hitachi

Cosminexus V11 アプリケーションサーバ Cosminexus XML Processor ユーザーズガイド


3.2.1 XSLTCトランスフォーマの概要

XSLTCトランスフォーマは,XML Processorが提供しているXSLTトランスフォーマと同じ機能を持ちながら,XML文書の変換処理の性能を向上させたものです。

XSLTCトランスフォーマは,XSLTスタイルシートを解析するコンパイラと,変換処理を行う実行時プロセッサで構成されます。コンパイラは,XSLTスタイルシートを解析して,高速に変換するためのトランスレットと呼ばれるJavaのバイトコードをメモリ上に生成します。実行時プロセッサは,トランスレットを実行することによって,高速な変換処理を実現します。

XSLTCトランスフォーマとXSLTトランスフォーマは,次に示す点で動作に差異がありますのでご注意ください。

  1. XSLTCトランスフォーマはXSLTトランスフォーマよりもエラーチェックが簡略化されています。

  2. XSLT1.0仕様書で規定されていない部分で,XSLTトランスフォーマとXSLTCトランスフォーマの動作に差異がある場合があります。

XSLTCトランスフォーマを使用することで,XSLTトランスフォーマよりも高い変換処理性能を期待できるケースを次に示します。

〈この項の構成〉

(1) 同一のXSLTスタイルシートを使って複数のXML文書を変換する場合

同一のXSLTスタイルシートを使って複数のXML文書を変換する場合は,XSLTトランスフォーマ,XSLTCトランスフォーマの両方とも,次に示す1.の方法よりも2.の方法の方が高い変換性能を期待できます。

  1. スタイルシートからTemplatesオブジェクトやTransformerオブジェクトを毎回生成し,これを用いて変換する。

  2. スタイルシートからTemplatesオブジェクトやTransformerオブジェクトを一度だけ生成し,これを再利用して変換する。

XSLTCトランスフォーマで2.の方法を用いると,時間の掛かるトランスレット作成処理は一度だけで済みます。その後,トランスレットを用いた高速な変換が繰り返し実行されるため,XSLTトランスフォーマで2.の方法を用いるよりも高い性能が期待できます。