25.01.2015 Views

DTL 変換の開発

DTL 変換の開発

DTL 変換の開発

SHOW MORE
SHOW LESS

Create successful ePaper yourself

Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.

<strong>DTL</strong> ドキュメント<br />

図 3–1: <strong>DTL</strong> プログラム・リスト<br />

上 の 図 内 の 番 号 (1、2、3 ~ 9) は、 以 下 のリスト 内 の 番 号 に 対 応 しています。<br />

1. この <strong>DTL</strong> ドキュメントは、Demo.HL7.MsgRouter.ORMLastNameTransform というデータ 変 換 を 定 義 します。<br />

2. この <strong>DTL</strong> ドキュメントは Ens.DataTransform<strong>DTL</strong> のサブクラスです。<br />

3. <strong>DTL</strong> ドキュメントは、Ensemble クラスの XDATA (XML メタデータ) セクション 内 に 含 まれます。<br />

含 まれているクラスをコンパイルすると、<strong>DTL</strong> コンパイラでは <strong>DTL</strong> ドキュメントが 検 証 および 解 析 され、データ 変 換<br />

の 実 行 に 必 要 なコードを 含 むクラスが 生 成 されます。このメカニズムは、<strong>DTL</strong> ドキュメントを XML コードとして 開 発<br />

する 場 合 も、データ 変 換 ビルダを 使 用 して 開 発 する 場 合 も 変 わりません。<br />

4. このデータ 変 換 は、targetClass が EnsLib.HL7.Message であるオブジェクトに 記 述 します。このオブジェクトは、<br />

targetDocType で 識 別 されるドキュメント 構 造 に 適 合 する 仮 想 ドキュメントです。<br />

5. このデータ 変 換 は、sourceClass が EnsLib.HL7.Message であるオブジェクトからプロパティ 値 を 取 得 します。このオ<br />

ブジェクトは、sourceDocType で 識 別 されるドキュメント 構 造 に 適 合 する 仮 想 ドキュメントです。<br />

6. ターゲット・オブジェクトの create オプションには、 以 下 の 値 のいずれかを 指 定 できます。<br />

• new — データ 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・タイプの 新 しいオブジェクトを 作 成 します。これがデ<br />

フォルトです。<br />

• copy — 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・オブジェクトとして 使 用 するソース・オブジェクトのコピーを<br />

作 成 します。<br />

• existing — ターゲット・オブジェクトとしてデータ 変 換 の 呼 び 出 し 側 により 指 定 される 既 存 のオブジェクトを 使<br />

用 します。<br />

7. このデータ 変 換 内 の 任 意 の 式 およびコード・ブロックに 使 用 される language は、ObjectScript です。<br />

8. このデータ 変 換 の 主 要 部 分 は、ソース・オブジェクト 内 のプロパティから 値 を 取 得 し、ターゲット・オブジェクト 内 のプ<br />

ロパティに 値 を 割 り 当 てます。このプロセスの 一 部 として、ソース・オブジェクト 内 で 見 つかった 値 に 基 づき、 論 理 的<br />

または 反 復 的 なオペレーションを 実 行 できます。この 章 の 以 降 のトピックで 詳 細 を 説 明 します。<br />

9. 要 素 内 で、 予 約 語 source および target は、データ 変 換 のソース・オブジェクトおよびターゲット・オブ<br />

ジェクトを 参 照 します。<br />

20 <strong>DTL</strong> 変 換 の 開 発

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!