DTL 変換の開発
DTL 変換の開発
DTL 変換の開発
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
<strong>DTL</strong> 変 換 の 開 発<br />
Version 2012.2<br />
2012 年 09 月 12 日<br />
InterSystems Corporation 1 Memorial Drive Cambridge MA 02142 www.intersystems.com
<strong>DTL</strong> 変 換 の 開 発<br />
Ensemble Version 2012.2 2012 年 09 月 12 日<br />
Copyright © 2012 InterSystems Corporation<br />
All rights reserved.<br />
このドキュメントは、 Sun Microsystems、RenderX Inc.、 アドビ システムズ および ワールドワイド・ウェブ・コンソーシアム(www.w3c.org)のツールと<br />
情 報 を 使 用 して、 Adobe Portable Document Format (PDF)で 作 成 およびフォーマットされました。 主 要 ドキュメント 開 発 ツールは、InterSystemsが 構<br />
築 したCacheéと Javaを 使 用 した 特 別 目 的 のXML 処 理 アプリケーションです。<br />
, ,<br />
Caché WEBLINK, Distributed Cache Protocol, M/SQL, M/NET および M/PACT は InterSystems Corporation の 登 録 商 標 です。<br />
, , and ,<br />
InterSystems TrakCare, InterSystems Jalapeño Technology, Enterprise Cache Protocol, ECP および InterSystems Zen は InterSystems Corporation の<br />
登 録 商 標 です。<br />
ここで 使 われている 他 の 全 てのブランドまたは 製 品 名 は、 各 社 および 各 組 織 の 商 標 または 登 録 商 標 です。<br />
このドキュメントは、インターシステムズ 社 ( 住 所 :One Memorial Drive, Cambridge, MA 02142)あるいはその 子 会 社 が 所 有 する 企 業 秘 密 および 秘 密<br />
情 報 を 含 んでおり、インターシステムズ 社 の 製 品 を 稼 動 および 維 持 するためにのみ 提 供 される。この 発 行 物 のいかなる 部 分 も 他 の 目 的 のために 使<br />
用 してはならない。また、インターシステムズ 社 の 書 面 による 事 前 の 同 意 がない 限 り、 本 発 行 物 を、いかなる 形 式 、いかなる 手 段 で、その 全 てまたは<br />
一 部 を、 再 発 行 、 複 製 、 開 示 、 送 付 、 検 索 可 能 なシステムへの 保 存 、あるいは 人 またはコンピュータ 言 語 への 翻 訳 はしてはならない。<br />
かかるプログラムと 関 連 ドキュメントについて 書 かれているインターシステムズ 社 の 標 準 ライセンス 契 約 に 記 載 されている 範 囲 を 除 き、ここに 記 載 さ<br />
れた 本 ドキュメントとソフトウェアプログラムの 複 製 、 使 用 、 廃 棄 は 禁 じられている。インターシステムズ 社 は、ソフトウェアライセンス 契 約 に 記 載 され<br />
ている 事 項 以 外 にかかるソフトウェアプログラムに 関 する 説 明 と 保 証 をするものではない。さらに、かかるソフトウェアに 関 する、あるいはかかるソフ<br />
トウェアの 使 用 から 起 こるいかなる 損 失 、 損 害 に 対 するインターシステムズ 社 の 責 任 は、ソフトウェアライセンス 契 約 にある 事 項 に 制 限 される。<br />
前 述 は、そのコンピュータソフトウェアの 使 用 およびそれによって 起 こるインターシステムズ 社 の 責 任 の 範 囲 、 制 限 に 関 する 一 般 的 な 概 略 である。 完<br />
全 な 参 照 情 報 は、インターシステムズ 社 の 標 準 ライセンス 契 約 に 記 され、そのコピーは 要 望 によって 入 手 することができる。<br />
インターシステムズ 社 は、 本 ドキュメントにある 誤 りに 対 する 責 任 を 放 棄 する。また、インターシステムズ 社 は、 独 自 の 裁 量 にて 事 前 通 知 なしに、 本 ド<br />
キュメントに 記 載 された 製 品 および 実 行 に 対 する 代 替 と 変 更 を 行 う 権 利 を 有 する。<br />
インターシステムズ 社 の 製 品 に 関 するサポートやご 質 問 は、 以 下 にお 問 い 合 わせください:<br />
Tel:<br />
Fax:<br />
Email:<br />
InterSystems Worldwide Customer Support<br />
+1 617 621-0700<br />
+1 617 374-9391<br />
support@InterSystems.com
目 次<br />
このドキュメントの 概 要 ...................................................................................................... 1<br />
1 <strong>DTL</strong> 変 換 による 作 業 ..................................................................................................... 3<br />
1.1 データ 変 換 ウィザードの 使 用 .................................................................................. 3<br />
1.1.1 <strong>DTL</strong> クラスのパラメータ ................................................................................ 5<br />
1.2 データ 変 換 のテスト .............................................................................................. 5<br />
1.3 データ 変 換 リスト .................................................................................................. 6<br />
2 データ 変 換 ビルダの 使 用 ............................................................................................... 7<br />
2.1 変 換 のプロパティの 編 集 ....................................................................................... 9<br />
2.2 アクションの 追 加 ................................................................................................ 10<br />
2.2.1 Assign 文 の 構 築 ........................................................................................ 11<br />
2.2.2 if 文 の 作 成 ............................................................................................... 14<br />
2.2.3 for each 文 の 構 築 ...................................................................................... 15<br />
2.2.4 ネストされたプロパティでの 作 業 ................................................................... 15<br />
2.3 スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項 ............................................................. 17<br />
2.3.1 <strong>DTL</strong> コードの 編 集 ..................................................................................... 17<br />
2.3.2 <strong>DTL</strong> コードの 表 示 の 切 り 替 え ....................................................................... 17<br />
3 <strong>DTL</strong> ドキュメント .......................................................................................................... 19<br />
3.1 <strong>DTL</strong> ドキュメントの 構 造 ....................................................................................... 19<br />
3.2 <strong>DTL</strong> ドキュメントの 構 文 規 則 ................................................................................. 22<br />
3.2.1 REPORTERRORS パラメータの 使 用 法 .......................................................... 22<br />
3.2.2 検 証 ........................................................................................................ 22<br />
3.2.3 スクリプト 言 語 ............................................................................................ 23<br />
3.2.4 真 と 偽 ...................................................................................................... 23<br />
3.2.5 メッセージ・プロパティ 構 文 .......................................................................... 23<br />
3.2.6 リテラル 文 字 列 .......................................................................................... 25<br />
3.2.7 XML エンティティ ....................................................................................... 25<br />
3.2.8 数 字 のコード ............................................................................................. 25<br />
3.2.9 関 数 ........................................................................................................ 25<br />
3.3 <strong>DTL</strong> 要 素 のタスク 別 リスト ..................................................................................... 26<br />
3.3.1 データ 変 換 ............................................................................................... 26<br />
3.3.2 データ 操 作 ............................................................................................... 26<br />
3.3.3 コントロール・フロー .................................................................................... 26<br />
3.3.4 ユーザ 記 述 コード ...................................................................................... 27<br />
3.3.5 ロギング ................................................................................................... 27<br />
3.4 <strong>DTL</strong> 要 素 の 構 文 規 則 ......................................................................................... 27<br />
索 引 ............................................................................................................................ 29<br />
<strong>DTL</strong> 変 換 の 開 発<br />
iii
図 一 覧<br />
図 1–1: <strong>DTL</strong> 変 換 テスト・ウィンドウ ..................................................................................... 5<br />
図 2–1: データ 変 換 ビルダ — 変 換 ダイアグラムとアクション・リストのビュー ................................. 8<br />
図 2–2: ソースからターゲットに 接 続 するコネクタ .................................................................. 12<br />
図 2–3: リテラル 値 からターゲットのプロパティに 接 続 するコネクタ ........................................... 13<br />
図 2–4: ソース・プロパティから if 文 に 接 続 するコネクタ ........................................................ 14<br />
図 2–5: ソース・プロパティから foreach 文 に 接 続 するコネクタ ................................................ 15<br />
図 2–6: ソースからターゲットの 親 プロパティに 接 続 するコネクタ ............................................. 15<br />
図 2–7: ソースからターゲットのネストされたプロパティに 接 続 するコネクタ ................................ 16<br />
図 2–8: 2 つの 同 じ 親 プロパティ 間 の 接 続 .......................................................................... 17<br />
図 2–9: データ 変 換 ビルダのクラス・コード・ビュー ............................................................... 18<br />
図 2–10: データ 変 換 ビルダの 生 成 コード・ビュー ................................................................. 18<br />
図 3–1: <strong>DTL</strong> プログラム・リスト .......................................................................................... 20<br />
図 3–2: データ 変 換 ビルダ .............................................................................................. 21<br />
iv<br />
<strong>DTL</strong> 変 換 の 開 発
テーブル 一 覧<br />
テーブル 3–1: <strong>DTL</strong> 文 字 列 で 使 用 する XML エンティティ .................................................... 25<br />
<strong>DTL</strong> 変 換 の 開 発<br />
v
このドキュメントの 概 要<br />
このドキュメントでは、データ 変 換 言 語 (<strong>DTL</strong>) を 使 用 して Ensemble データ 変 換 を 記 述 する 方 法 を 説 明 します。<br />
このドキュメントの 内 容 は 次 のとおりです。<br />
• “<strong>DTL</strong> 変 換 による 作 業 ”<br />
• “データ 変 換 ビルダの 使 用 ”<br />
• “<strong>DTL</strong> ドキュメント” では、<strong>DTL</strong> ドキュメントの 構 造 と 構 文 について 説 明 します。<br />
詳 細 な 目 次 も 参 照 してください。<br />
以 下 のドキュメントでは、 関 連 する 情 報 について 説 明 しています。<br />
• "Ensemble プロダクションの 開 発 " では、“プロダクション・データ” の 章 に 背 景 情 報 を 記 載 しています。<br />
• "Ensemble データ 変 換 言 語 リファレンス" では、<strong>DTL</strong> 要 素 について 個 別 に 説 明 します。<br />
• "BPL プロセスの 開 発 " では、ビジネス・プロセス 言 語 (BPL) を 使 用 して Ensemble ビジネス・プロセスを 記 述 する 方<br />
法 を 説 明 します。<br />
• "Ensemble ビジネス・プロセス 言 語 (BPL) リファレンス" では、BPL 要 素 について 個 別 に 説 明 します。<br />
<strong>DTL</strong> 変 換 の 開 発 1
1<br />
<strong>DTL</strong> 変 換 による 作 業<br />
データ 変 換 は、あるメッセージを 別 のメッセージに 変 換 するための 手 段 です。Ensemble データ 変 換 言 語 (<strong>DTL</strong>) を 使 用<br />
すると、この 変 換 をグラフィカルに 実 行 できます。 管 理 ポータルの [[Ensemble] > [データ 変 換 ビルダ]] ページでは、これ<br />
らのデータ 変 換 クラスを 作 成 および 編 集 できます(スタジオで <strong>DTL</strong> クラスを 開 くと、データ 変 換 ビルダが 起 動 します。“ス<br />
タジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項 ” の 節 を 参 照 してください)。<br />
管 理 ポータルの [データ 変 換 ビルダ] ページに 移 動 すると、データ 変 換 ビルダが 開 いて、このネームスペース 内 で 最 後<br />
に 操 作 した 変 換 が 表 示 されます。タイトル・バーの 左 側 にあるタブには、その 変 換 クラスの 名 前 が 表 示 されます。このネー<br />
ムスペース 内 でこのページに 移 動 するのが 初 めての 場 合 は、 作 業 ペインは 空 であり、データ 変 換 ウィザードを 使 用 して<br />
新 しい 変 換 を 作 成 するか、データ 変 換 ビルダを 使 用 して 編 集 対 象 の 既 存 の 変 換 を 開 く 必 要 があります。<br />
[データ 変 換 リスト] ページを 使 用 して、ネームスペース 内 の 特 定 のデータ 変 換 を 検 索 して 開 くこともできます。<br />
1.1 データ 変 換 ウィザードの 使 用<br />
データ 変 換 ウィザードを 使 用 すると、Ens.DataTransform<strong>DTL</strong> クラスから 継 承 した <strong>DTL</strong> データ 変 換 をすばやく 作 成 でき<br />
ます。このウィザードには 以 下 のダイアログが 表 示 され、 作 成 する 変 換 の 予 備 的 特 性 を 定 義 できます。<br />
<strong>DTL</strong> 変 換 の 開 発 3
<strong>DTL</strong> 変 換 による 作 業<br />
以 下 のフィールドの 値 を 入 力 します。<br />
[パッケージ]<br />
[ 名 前 ]<br />
説 明<br />
[ソースタイプ]<br />
パッケージ 名 を 入 力 するか、 矢 印 をクリックしてネームスペース 内 のパッケージのリストから 選 択 します。<br />
このデータ 変 換 クラスの 名 前 を 入 力 します。<br />
(オプション) データ 変 換 の 説 明 を 入 力 します。これはクラスの 説 明 として 使 用 されます。<br />
[メッセージ] オプションをクリックしてメッセージ・クラス 名 を 入 力 するか、[ファインダダイアログ] を 使 用 してメッ<br />
セージ・クラスを 選 択 します。 以 下 のタイプのいずれかをクリックして、 適 切 な [ソースクラス] を 事 前 に 選 択 しま<br />
す。<br />
• [HL7] — EnsLib.HL7.Message<br />
• [X12] — EnsLib.EDI.X12.Document<br />
• [ASTM] — EnsLib.EDI.ASTM.Document<br />
• [EDIFACT] — EnsLib.EDI.EDIFACT.Document<br />
• [XML] — EnsLib.EDI.XML.Document<br />
[ソースクラス]<br />
ソース・メッセージのクラス。このクラスによって、どのドキュメント・タイプが 存 在 するのか、および 何 らかのドキュ<br />
メント・タイプが 存 在 するのかどうかが 特 定 されます。ソース・タイプとして [メッセージ] を 選 択 した 場 合 は、クラス<br />
を 選 択 する 必 要 があります。 特 定 の 仮 想 ドキュメント・ソース・タイプを 選 択 した 場 合 は、ソース・クラスはあらかじ<br />
め 入 力 されます。<br />
[ソース・ドキュメント・タイプ]<br />
該 当 する 場 合 は、ソース・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースにロー<br />
ドされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />
[ターゲットタイプ]<br />
上 記 のソースの 各 フィールドの 説 明 に 従 ってオプションをクリックして、ターゲット・メッセージの 形 式 を 選 択 しま<br />
す。<br />
[ターゲットクラス]<br />
ターゲット・メッセージのクラスを 入 力 または 選 択 します。<br />
[ターゲット・ドキュメント・タイプ]<br />
該 当 する 場 合 は、ターゲット・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースに<br />
ロードされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />
ウィザードを 完 了 すると、 新 しい 変 換 がデータ 変 換 ビルダに 表 示 されて、データ 変 換 の 詳 細 内 容 を 開 発 できるようになり<br />
ます。<br />
4 <strong>DTL</strong> 変 換 の 開 発
データ 変 換 のテスト<br />
1.1.1 <strong>DTL</strong> クラスのパラメータ<br />
デフォルトでは、<strong>DTL</strong> ウィザードによって、 以 下 に 示 すように 2 つのパラメータが 生 成 済 みの <strong>DTL</strong> に 設 定 されます。<br />
• 以 下 のように、REPORTERRORS パラメータを 真 に 設 定 します。<br />
Parameter REPORTERRORS = 1;<br />
このパラメータの 値 によって、 変 換 を 実 行 する 際 に 生 じたエラーが 警 告 としてイベント・ログに 記 録 されます。また、す<br />
べてのエラーを 戻 り 値 として 含 めている 複 合 ステータス・コードが 返 されます。<br />
• 以 下 のように、IGNOREMISSINGSOURCE パラメータを 真 に 設 定 します。<br />
Parameter IGNOREMISSINGSOURCE = 1;<br />
このパラメータ 値 によって、<strong>DTL</strong> は、 存 在 しないソース・セグメントからフィールド 値 を 取 得 しようとすることことが 原 因<br />
で 発 生 するエラーを 抑 制 します。また、<strong>DTL</strong> は、 指 定 されたソース・セグメントが 存 在 しない 場 合 、subtransform の 呼<br />
び 出 しをスキップします。<br />
必 要 に 応 じてテストと 条 件 付 きロジック 分 岐 を 含 めることにより、この 動 作 を 正 確 に 制 御 できます。<br />
このパラメータの 値 を 変 更 するには、データ 変 換 ビルダの [ 変 換 ] タブにある [エラーの 報 告 ] および [ 存 在 しないソース・<br />
セグメントを 無 視 ] の 各 チェックボックスのチェックを 外 すか、またはチェックを 付 けます。これらのチェックボックスについ<br />
ては、チェックを 付 けることによってパラメータに 値 1 ( 真 ) が 設 定 されます。<br />
1.2 データ 変 換 のテスト<br />
データ 変 換 を 編 集 してコンパイルした 後 に、そのデータ 変 換 をテストできます。 変 換 テスト・ウィザードは、 管 理 ポータル<br />
の 以 下 の 場 所 から 起 動 できます。<br />
• データ 変 換 ビルダの [ツール] タブで [テスト] をクリックします。<br />
• 変 換 を 選 択 して、[データ 変 換 リスト] ページで [テスト] をクリックします。<br />
図 1–1: <strong>DTL</strong> 変 換 テスト・ウィンドウ<br />
<strong>DTL</strong> 変 換 の 開 発 5
<strong>DTL</strong> 変 換 による 作 業<br />
初 期 状 態 では [ 出 力 メッセージ] ウィンドウは 空 で、[ 入 力 メッセージ] ウィンドウにはソース・メッセージに 適 した 形 式 のテ<br />
キスト・スケルトンが 入 力 されています。テストするには、 以 下 の 手 順 を 実 行 します。<br />
1. 適 切 なデータが 含 まれるように、[ 入 力 メッセージ] を 編 集 します。この 入 力 ボックスに 表 示 される 内 容 と 入 力 する 内<br />
容 は、 次 のようにソースのタイプとクラスに 応 じて 異 なります。<br />
• HL7 やその 他 の EDI メッセージの 場 合 は、このウィンドウには 生 のテキストが 表 示 されます。したがって、いくつ<br />
かの 保 存 されたテキスト・ファイルを 用 意 し、これらのファイルから [ 入 力 メッセージ] ボックスにテキストをコピー・<br />
アンド・ペーストできるようにします。<br />
• 通 常 の Ensemble メッセージの 場 合 は、このウィンドウには、メッセージ・オブジェクト 内 の 各 プロパティのエントリ<br />
を 持 つ XML スケルトンが 表 示 されます。したがって、 各 プロパティの 値 を 入 力 します。<br />
2. [テスト] をクリックします。<br />
3. [ 出 力 メッセージ] ボックスで 結 果 を 確 認 します。<br />
1.3 データ 変 換 リスト<br />
[[Ensemble] > [データ 変 換 リスト]] ページには、アクティブな Ensemble ネームスペースで 定 義 されているデータ 変 換 ク<br />
ラスのリストが 表 示 されます。このページに 移 動 するには、Ensemble の [リスト] メニューで [データ 変 換 ] 項 目 をクリックし<br />
ます。<br />
<strong>DTL</strong> 変 換 は 青 色 で 表 示 されます。<strong>DTL</strong> 変 換 をダブルクリックすると、その <strong>DTL</strong> 変 換 がデータ 変 換 ビルダ 内 に 開 かれま<br />
す。 黒 色 で 表 示 された 変 換 は、Ens.DataTransform から 派 生 したものです。これらの 変 換 はデータ 変 換 ビルダを 使 用 し<br />
て 編 集 できないため、スタジオで 編 集 する 必 要 があります。<br />
変 換 クラスを 選 択 することで、その 変 換 クラスをリボン・バーにある 以 下 のコマンドのいずれかのターゲットにできます。<br />
• [ 編 集 ] — (<strong>DTL</strong> 変 換 のみ) データ 変 換 ビルダを 使 用 してデータ 変 換 を 変 更 または 表 示 できます。<br />
• [テスト] — 変 換 テスト・ウィザードを 使 用 して 選 択 した 変 換 クラスをテストできます。<br />
• [ 削 除 ] — 選 択 した 変 換 クラスを 削 除 できます。<br />
• [エクスポート] — 選 択 した 変 換 クラスを XML ファイルにエクスポートできます。<br />
• [インポート] — XML ファイルにエクスポートされたデータ 変 換 をインポートできます。<br />
Ensemble の 他 のクラスと 同 じように、データ 変 換 クラスをエクスポートおよびインポートすることもできます。 管 理 ポータル<br />
の [[システム] > [グローバル]] ページを 使 用 することも、スタジオの [ツール] メニューにある [エクスポート] コマンドや<br />
[インポート] コマンドを 使 用 することもできます。<br />
6 <strong>DTL</strong> 変 換 の 開 発
2<br />
データ 変 換 ビルダの 使 用<br />
管 理 ポータルまたはスタジオで <strong>DTL</strong> データ 変 換 を 開 くとき、またはウィザードを 使 用 して 新 しい <strong>DTL</strong> データ 変 換 を 作 成<br />
するときは、データ 変 換 ビルダが 開 きます。<br />
Ensemble の [データ 変 換 ビルダ] ページのリボン・バーには、 以 下 のオプションとコマンドが 表 示 されます。<br />
コマンド<br />
表 示<br />
[ 新 規 作 成 ]<br />
[ 開 く]<br />
[ 保 存 ]<br />
[ 名 前 を 付 けて<br />
保 存 ]<br />
[コンパイル]<br />
100%<br />
[アクション 追<br />
加 ]<br />
説 明<br />
希 望 のビューをクリックします。 変 換 ダイアグラムとアクション・リストの 両 方 をページの 左 ペインに<br />
表 示 することも、 不 要 なセクションを 非 表 示 にすることもできます。<br />
データ 変 換 ウィザードを 起 動 して、 新 しい <strong>DTL</strong> データ 変 換 を 作 成 できます。<br />
[ファインダダイアログ] を 起 動 してロードする 既 存 の <strong>DTL</strong> データ 変 換 クラスを 選 択 し、データ 変 換<br />
ビルダを 使 用 して 編 集 を 開 始 できます。<br />
データ 変 換 に 加 えた 変 更 内 容 を 保 存 できます。<br />
編 集 中 のデータ 変 換 に 加 えた 変 更 内 容 を 新 しい <strong>DTL</strong> データ 変 換 クラスとして 保 存 できます。<br />
<strong>DTL</strong> データ 変 換 をコンパイルできます。<br />
リストからパーセンテージ 値 を 選 択 することで、<strong>DTL</strong> 変 換 ダイアグラムのサイズを 縮 小 または 拡 大<br />
できます。<br />
アクションを 変 換 に 追 加 できます (“アクションの 追 加 ” の 節 を 参 照 )。<br />
選 択 したアクションをアクション・リストから 削 除 できます。<br />
直 前 に 実 行 したアクションを 取 り 消 すことができます。<br />
左 ペインは、ダイアグラム・エディタとその 下 にあるアクション・リストで 構 成 されています。<br />
<strong>DTL</strong> 変 換 の 開 発 7
データ 変 換 ビルダの 使 用<br />
図 2–1: データ 変 換 ビルダ — 変 換 ダイアグラムとアクション・リストのビュー<br />
図 の 中 で、ソース ( 入 力 ) オブジェクトは 左 側 に、ターゲット ( 出 力 ) オブジェクトは 右 側 に 表 示 されます。 各 列 ヘッダには、<br />
関 連 付 けられたメッセージ・クラスが 一 覧 表 示 され、 該 当 する 場 合 はスキーマ・カテゴリとメッセージ 構 造 も 一 覧 表 示 され<br />
ます。<br />
各 列 の 左 にある 位 置 コントローラを 使 用 して、ダイアグラムの 内 容 をスクロールできます。<br />
この 方 法 によって、 各 列 を 個 別 にスクロールできます。コントローラの 2 つ 矢 印 の 間 をクリックして、ダイアグラムのその 側<br />
面 のスクロールをリセットすることもできます。 別 の 方 法 として、 列 の 背 景 をクリックして、マウスを 上 下 にドラッグすることで<br />
ダイアグラムの 内 容 を 移 動 することもできます。この 場 合 は、 列 の 内 容 がドラッグの 方 向 に 移 動 します。<br />
列 の 間 の 線 によって、 中 央 の 仕 切 りをまたいでソース・オブジェクトとターゲット・オブジェクトが 接 続 されます。<strong>DTL</strong> ダイ<br />
アグラムの 各 コネクタは、<strong>DTL</strong> コードの 、、または 文 に 対 応 します。これらの 文 の 全 体 的 な 目 的<br />
は、 以 下 のとおりです。<br />
1. 変 換 するソース・プロパティを 指 定 する<br />
2. ( 必 要 に 応 じて) ソース・プロパティの 演 算 を 実 行 する<br />
3. 結 果 をターゲット・プロパティにコピーする<br />
左 ペインの 下 部 には、アクション・リストが 含 まれています。このリスト 内 のアクションは、 変 換 内 の 実 行 順 序 に 従 って 表 示<br />
されます。アクションを 選 択 すると、そのアクションのプロパティが [アクション] タブに 表 示 されます。 詳 細 は、“アクション<br />
の 追 加 ” の 節 を 参 照 してください。<br />
エディタには、 以 下 のテーブルに 示 すような [アクション] リストを 管 理 するツールが 用 意 されています。<br />
8 <strong>DTL</strong> 変 換 の 開 発
変 換 のプロパティの 編 集<br />
ツール<br />
説 明<br />
選 択 したアクションを 1 つ 上 の 位 置 に 移 動 します。そのアクションが for each ブロックまたは if ブロッ<br />
クで 最 初 の 位 置 にある 場 合 は、 上 に 移 動 してブロックの 外 に 表 示 されます。<br />
選 択 したアクションを 1 つ 下 の 位 置 に 移 動 します。そのアクションが for each ブロックまたは if ブロッ<br />
クで 最 後 の 位 置 にある 場 合 は、endif アクションまたは endeach アクションの 直 後 に 移 動 します。その<br />
アクションが else の 直 前 の if ブロックで 最 後 の 位 置 にある 場 合 は、else ブロックの 最 初 の 位 置 に 移 動<br />
します。<br />
選 択 したアクションを 現 在 の for each ブロックまたは if ブロックの 外 に 移 動 します。これによって、アク<br />
ションは 現 在 のブロックから for each ブロックまたは if ブロックの 直 前 の 位 置 に 移 動 します。( 該 当 する<br />
for each アクションと endeach アクションの 間 にあるアクションのみ、または if アクションと endif アク<br />
ションの 間 にあるアクションのみに 適 用 できます。)<br />
選 択 したアクションを 次 の for each ブロックまたは if ブロックの 中 に 移 動 します。( 現 在 のアクションの<br />
直 後 にあるアクションが for each または if の 場 合 のみ 使 用 可 能 です。)<br />
データ 変 換 のすべてのアクションを 削 除 します。<br />
この 行 のアクションを 削 除 します。<br />
データ 変 換 ビルダの 右 ペインには、 以 下 のタブが 含 まれています。これらのタブは、ペイン 上 部 の 二 重 矢 印 をクリックす<br />
ることで 表 示 または 非 表 示 にできます。<br />
• [ 変 換 ] — このタブでは 変 換 のプロパティを 編 集 できます。<br />
• [アクション] — このタブでは 選 択 したアクションのプロパティを 編 集 できます。<br />
• [ツール] — このタブではデータ 変 換 をテストできます。<br />
次 のいくつかのトピックでは、<strong>DTL</strong> 変 換 の 文 とプロパティを 追 加 および 編 集 する 方 法 を 説 明 します。<br />
2.1 変 換 のプロパティの 編 集<br />
[ 変 換 ] タブでは、データ 変 換 全 体 の 詳 細 を 編 集 できます。<br />
[ 名 前 ]<br />
[ 作 成 ]<br />
<strong>DTL</strong> データ 変 換 クラスの 読 み 取 り 専 用 の 名 前 。<br />
以 下 のいずれかを 選 択 します。<br />
• new — データ 変 換 内 の 要 素 を 実 行 する 前 に、このターゲット・タイプの 新 しいオブジェクトを 作 成 します。こ<br />
れがデフォルトです。<br />
• copy — 変 換 内 の 要 素 を 実 行 する 前 に、ターゲット・オブジェクトとして 使 用 するソース・オブジェクトのコピー<br />
を 作 成 します。<br />
• existing — データ 変 換 の 呼 び 出 し 側 により 指 定 される 既 存 のオブジェクトをターゲット・オブジェクトとし<br />
て 使 用 します。<br />
<strong>DTL</strong> 変 換 の 開 発 9
データ 変 換 ビルダの 使 用<br />
[ソースクラス]<br />
ソース・メッセージのクラス。このクラスによって、どのドキュメント・タイプが 存 在 するのか、および 何 らかのドキュ<br />
メント・タイプが 存 在 するのかどうかが 特 定 されます。<br />
[ソースドキュメントタイプ]<br />
該 当 する 場 合 は、ソース・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースにロー<br />
ドされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />
[ターゲットクラス]<br />
ターゲット・メッセージのクラスを 入 力 または 選 択 します。<br />
[ターゲットドキュメントタイプ]<br />
[ 言 語 ]<br />
[エラーの 報 告 ]<br />
該 当 する 場 合 は、ターゲット・メッセージのドキュメント・タイプを 入 力 または 選 択 します。このネームスペースに<br />
ロードされた 該 当 するスキーマで 定 義 されている 任 意 のタイプを 選 択 できます。<br />
<strong>DTL</strong> の 要 素 内 で 使 用 している 言 語 を 入 力 します。Caché Basic または ObjectScript を 入 力 できます。<br />
デフォルトの 言 語 は ObjectScript です。<br />
前 章 の “<strong>DTL</strong> クラスのパラメータ” を 参 照 してください。<br />
[ 存 在 しないソース・セグメントを 無 視 ]<br />
[ 説 明 ]<br />
前 章 の “<strong>DTL</strong> クラスのパラメータ” を 参 照 してください。<br />
(オプション) 変 換 の 説 明 を 入 力 します。この 入 力 値 は、 タグの 子 である タグの 内 容 と<br />
して 使 用 されます。<br />
2.2 アクションの 追 加<br />
データ 変 換 内 では、さまざまなタイプのアクションの 順 序 付 きセットを 定 義 できます。[アクション 追 加 ] リストは、 以 下 のテー<br />
ブルに 示 すように、 追 加 するアクションのタイプに 分 割 されています。<br />
アクションの 割 り 当 て<br />
最 初 のアクション・セットは 文 の 操 作 です。<br />
アクション<br />
set<br />
clear<br />
remove<br />
append<br />
insert<br />
説 明<br />
ターゲット・プロパティの 値 を 設 定 します。<br />
ターゲット・プロパティの 値 をクリアします。<br />
ターゲット・プロパティからコレクション 項 目 を 削 除 します。<br />
ターゲット・プロパティにコレクション 項 目 を 追 加 します。<br />
ターゲット・プロパティにコレクション 項 目 を 挿 入 します。<br />
10 <strong>DTL</strong> 変 換 の 開 発
アクションの 追 加<br />
これらの 操 作 に 対 応 する [アクション] タブには、 追 加 の 属 性 である property、value、および key が 表 示 され<br />
ます。このタブの 上 部 近 くの [ドキュメントを 参 照 ] をクリックすると、この 要 素 に 関 連 付 けられている 参 照 ページが 表 示 さ<br />
れます。<br />
このタイプのアクションの 追 加 に 関 する 詳 細 な 指 示 は、“Assign 文 の 構 築 ” を 参 照 してください。<br />
コード・ブロック・アクション<br />
以 下 のコード・ブロック・アクションを 変 換 に 追 加 できます。<br />
アクション<br />
if<br />
for each<br />
説 明<br />
条 件 を 評 価 します。 詳 細 は、“If 文 の 構 築 ” を 参 照 してください。<br />
コレクションの 内 容 をループ 処 理 します。 詳 細 は、“For Each 文 の 構 築 ” を 参 照 してください。<br />
追 加 の 文<br />
以 下 の 文 を 変 換 に 追 加 することもできます。<br />
アクション<br />
code<br />
sql<br />
trace<br />
transform<br />
説 明<br />
カスタム・コードを 追 加 します。<br />
SQL 文 を 追 加 します。<br />
trace 文 を 追 加 します。<br />
subtransform 文 を 追 加 します。<br />
[アクション] タブの 上 部 近 くの [ドキュメントを 参 照 ] をクリックすると、この 要 素 に 関 連 付 けられている 参 照 ページが 表 示<br />
されます。<br />
Tipヒン<br />
ト<br />
以 下 に、ダイアグラムでのアクションの 編 集 に 関 するヒントを 示 します。<br />
• ダイアグラムまたはリスト 内 でアクションを 選 択 する 際 、[アクション] タブを 使 用 すると、そのアクションのプロ<br />
パティ・フィールドの 値 が 表 示 されます。[ドキュメントを 参 照 ] をクリックして、アクション 要 素 の 参 照 ページを<br />
表 示 できます。<br />
• データ 変 換 ビルダでアクションを 追 加 する 際 、ダブルクリックを 使 用 して 現 在 のアクションを 更 新 できます。<br />
ソース 内 のフィールドをダブルクリックすると、エディタは 選 択 したアクションの 値 の 設 定 が 必 要 であると 解 釈<br />
します。 同 様 に、ターゲット・フィールドをダブルクリックすると、エディタは 選 択 したアクションのターゲットの<br />
設 定 が 必 要 であると 解 釈 します。<br />
• assign アクションを 追 加 しようとする 前 に、 必 ずターゲット・プロパティを 選 択 してください。if アクションまたは<br />
for each アクションを 追 加 する 前 に、ソース・プロパティを 選 択 してください。<br />
2.2.1 Assign 文 の 構 築<br />
様 々な 方 法 でターゲット・プロパティに 値 を 割 り 当 てることができます。 以 下 の 各 節 では、 使 用 可 能 なオプションと 特 殊 処<br />
理 について 説 明 します。<br />
• ソースからターゲットへの 値 のドラッグ<br />
• ターゲットへのリテラル 値 の 割 り 当 て<br />
• Assign 文 の 式 の 編 集<br />
<strong>DTL</strong> 変 換 の 開 発 11
データ 変 換 ビルダの 使 用<br />
2.2.1.1 ソースからターゲットへの 値 のドラッグ<br />
データ 変 換 は、ソースのプロパティからターゲットのプロパティに 値 をコピーする set 文 でほとんどが 構 成 されま<br />
す。 新 しい 文 を <strong>DTL</strong> データ 変 換 に 追 加 するには、ソースとターゲットとの 間 にコネクタをドラッグ・アンド・ドロッ<br />
プするだけで 簡 単 に 実 行 できます。<br />
1. ソース・プロパティの 右 にある 丸 いタブをクリックします。マウス・ボタンを 押 さえます。 画 面 には 以 下 のように 表 示 され<br />
ます。<br />
2. カーソルを、ターゲット・プロパティの 左 にある 三 角 形 のタブにドラッグします。これにより、ターゲット・プロパティの<br />
ボックスの 色 が 変 化 します。 画 面 には 以 下 のように 表 示 されます。<br />
3. 左 マウス・ボタンを 放 します。 画 面 には 以 下 のように 表 示 されます。<br />
コネクタにより、ソース・プロパティからターゲット・プロパティに 線 が 描 画 され、 中 央 の 仕 切 りに 固 定 ドットが 残 り<br />
ます。 コネクタを 選 択 するには、 線 自 体 に 正 確 に “ 合 わせようと” するよりも、 固 定 ドットをクリックした 方 が 簡 単<br />
です。 固 定 ドットをクリックすると、その 色 が 変 化 し、コネクタの 線 は 太 くなり、ソース・プロパティとターゲット・プロパティは<br />
色 付 きでハイライト 表 示 されます。つまり、 以 下 の 図 のように コネクタが 選 択 されます。<br />
図 2–2: ソースからターゲットに 接 続 するコネクタ<br />
2.2.1.2 ターゲットへのリテラル 値 の 割 り 当 て<br />
ターゲット・プロパティにリテラル 値 を 割 り 当 てることができます。そのためには、ターゲット・プロパティを 選 択 して、[アク<br />
ション 追 加 ] リストで [set] をクリックします。この 操 作 の [アクション] タブが 表 示 されます。[ 値 ] フィールドにリテラルの 数<br />
値 または 文 字 列 値 を 入 力 して、[ 保 存 ] をクリックします。<br />
12 <strong>DTL</strong> 変 換 の 開 発
アクションの 追 加<br />
リテラル 値 の 割 り 当 ては、 中 央 の 仕 切 り 内 の 四 角 形 によって 表 現 されます。 以 下 の 図 に 示 すように、コネクタはこの 四 角<br />
いドットから 始 まりターゲット・プロパティで 終 わります。リテラル 割 り 当 てコネクタを 選 択 するには、この 四 角 形 をクリックし<br />
ます。<br />
図 2–3: リテラル 値 からターゲットのプロパティに 接 続 するコネクタ<br />
2.2.1.3 Assign 文 の 式 の 編 集<br />
データ 変 換 ビルダの [アクション 追 加 ] リストを 使 用 すると、 有 効 な 文 を 簡 単 に 作 成 できます。<br />
重 要<br />
[アクション 追 加 ] リストにある assign のオプションを 使 用 すると、 複 数 のソース・プロパティを 参 照 する 式<br />
を [ 値 ] フィールドに 入 力 できます。これは、ドラッグ・アンド・ドロップを 使 用 して 単 一 のソース・プロパティ<br />
の 値 を 単 一 のターゲット・プロパティに 割 り 当 てた 場 合 はできません。<br />
[アクション] タブにある assign の 操 作 の [ 値 ] フィールドには、 以 下 を 入 力 できます。<br />
• リテラル 値<br />
• 関 数 呼 び 出 し<br />
• ソース・プロパティの 名 前<br />
• 以 上 の 任 意 の 組 み 合 わせ<br />
[ 値 ] フィールドには 1 行 のテキストのみを 入 力 できます。これは、データ 変 換 のネイティブ・スクリプト 言 語 (ObjectScript<br />
または Caché Basic) で 記 述 する 必 要 があります。ネイティブ・スクリプト 言 語 は、[ 変 換 ] タブの [ 言 語 ] フィールドで 指 定<br />
します。<br />
式 で Ensemble 関 数 を 使 用 するには、[ 値 ] フィールドの 横 にある<br />
ます。このウィザードを 以 下 のように 使 用 します。<br />
をクリックして、データ 変 換 関 数 ウィザードを 起 動 し<br />
• ドロップダウン・リストから [ 関 数 ] を 選 択 すると、 関 数 の 定 義 に 必 要 な 詳 細 フィールドが 表 示 されます。このフィール<br />
ドは、ダイアログのコンテキスト 依 存 ヘルプに 従 って 編 集 できます。<br />
• 以 下 の 例 に 示 す ReplaceStr 関 数 は、Ensemble のデータ 変 換 およびビジネス・ルールで 使 用 可 能 ないくつかのユー<br />
ティリティ 関 数 のうちの 1 つです。 詳 細 は、"Ensemble プロダクションの 開 発 " の “Ensemble プロダクション” の 章<br />
の “ユーティリティ 関 数 ” の 節 を 参 照 してください。<br />
• 変 更 内 容 を 保 存 する 場 合 は [OK] を、 保 存 せずにウィザードを 終 了 する 場 合 は [キャンセル] をクリックします。<br />
<strong>DTL</strong> 変 換 の 開 発 13
データ 変 換 ビルダの 使 用<br />
注 釈<br />
これらの 指 示 はすべて、if アクションの [ 条 件 ] フィールドにも 当 てはまります。<br />
2.2.2 if 文 の 作 成<br />
<strong>DTL</strong> の 要 素 は、 論 理 式 で 構 成 される 条 件 を 評 価 します。この 式 の 結 果 は、 真 または 偽 です。 詳 細 は、 リファ<br />
レンスのエントリを 参 照 してください。<br />
データ 変 換 ビルダを 使 用 して if 文 を 構 築 できます。そのためには、ソース・プロパティを 選 択 して、[アクション 追 加 ] リス<br />
トで [if] をクリックします。if 文 が 追 加 されると、<strong>DTL</strong> ダイアグラムには、ソース・プロパティを 始 点 とし、ソース・オブジェク<br />
トとターゲット・オブジェクトの 間 の 中 央 の 仕 切 りにある 菱 形 を 終 点 とするコネクタが 表 示 されます。if アクションを 選 択 す<br />
るには、この 菱 形 をクリックします。<br />
図 2–4: ソース・プロパティから if 文 に 接 続 するコネクタ<br />
if ブロックはアクション・リストの 末 尾 に 表 示 されます。このブロックには、else 文 と endif 文 が 含 まれています。if 文 を 構 築<br />
するには、 以 下 の 手 順 を 実 行 します。<br />
• set アクションの [ 値 ] の 式 を 入 力 する 場 合 と 同 じ 方 法 で、[ 条 件 ] を [アクション] タブに 入 力 します。 詳 細<br />
は、“assign 文 の 式 の 編 集 ” の 節 を 参 照 してください。<br />
• 文 を if ブロックに 追 加 するには ( 条 件 が 真 の 場 合 に 実 行 します)、if 文 をクリックして、 該 当 するアクションを 追 加 しま<br />
す。assign 文 の 追 加 は、ドラッグ・アンド・ドロップ、 式 、リテラル 割 り 当 てなど、アクションの 追 加 のトピックで 説 明 のあ<br />
るテクニックを 使 用 して 行 います。 追 加 の if 文 または for each 文 も 同 様 に 追 加 できます。<br />
文 を 追 加 すると、<strong>DTL</strong> ダイアグラムにコネクタが 表 示 され、アクション・リストの if ブロックの 中 に <strong>DTL</strong> 文 が 表 示 され<br />
ます。<br />
• 文 を else ブロックに 追 加 するには ( 条 件 が 偽 の 場 合 に 実 行 します)、else 文 をクリックします。 追 加 したアクションは<br />
いずれも、else 文 と endif 文 の 間 に 表 示 されます。<br />
14 <strong>DTL</strong> 変 換 の 開 発
アクションの 追 加<br />
2.2.3 for each 文 の 構 築<br />
要 素 により、コレクション 内 の 要 素 ごとに 一 度 ずつ、または HL7 ドキュメントなどにある 繰 り 返 しプロパティに 対<br />
して 繰 り 返 し 実 行 される 一 連 のアクティビティが 定 義 されます。 詳 細 は、 リファレンスのエントリを 参 照 してくださ<br />
い。<br />
データ 変 換 ビルダを 使 用 して for each 文 を 構 築 できます。そのためには、ソース・メッセージでコレクションまたは 繰 り 返<br />
しプロパティを 選 択 して、[アクション 追 加 ] リストで [for each] をクリックします。このコード・ブロックに 対 して [アクション]<br />
タブが 表 示 されます。<br />
for each 文 が 追 加 されると、if コネクタと 同 様 に、ソース・プロパティを 始 点 とし、 菱 形 を 終 点 とするコネクタが <strong>DTL</strong> ダイア<br />
グラムに 表 示 されます。<br />
図 2–5: ソース・プロパティから foreach 文 に 接 続 するコネクタ<br />
[プロパティ] フィールドには、 選 択 したソース・プロパティの 名 前 が 自 動 的 に 入 力 されます。 必 要 に 応 じて、[キー] 変 数<br />
の 名 前 を 変 更 できます。<br />
if ブロックはアクション・リストの 末 尾 に 表 示 されます。このブロックには、else 文 と endif 文 が 含 まれています。if 文 を 構 築<br />
するには、 以 下 の 手 順 を 実 行 します。<br />
for each ブロックは、 選 択 したアクションに 応 じてアクション・リストに 表 示 されます。このブロックは、endeach 文 で 終 了 し<br />
ます。 文 を for each ブロックに 追 加 するには、for each 文 をクリックして、 該 当 するアクションを 追 加 します。assign 文 の<br />
追 加 は、ドラッグ・アンド・ドロップ、 式 、リテラル 割 り 当 てなど、アクションの 追 加 のトピックで 説 明 のあるテクニックを 使 用<br />
して 行 います。 追 加 の if 文 または for each 文 も 同 様 に 追 加 できます。<br />
文 を 追 加 すると、<strong>DTL</strong> ダイアグラムにコネクタが 表 示 され、アクション・リストの for each ブロックの 中 に <strong>DTL</strong> 文 が 表 示 さ<br />
れます。<br />
2.2.4 ネストされたプロパティでの 作 業<br />
ネストされたプロパティ (サブプロパティ) は、 仮 想 ドキュメントの 中 にあります。 仮 想 ドキュメントは、 複 雑 で 構 造 化 された<br />
データ (Electronic Data Interchange (EDI) 形 式 が 典 型 的 ) を 組 み 込 むために 使 用 されるメッセージ 本 文 のタイプです。<br />
この 規 則 についての 詳 細 は、"Ensemble 仮 想 ドキュメント" を 参 照 してください。このトピックでは、データ 変 換 ビルダが<br />
ネストされたプロパティを 処 理 する 方 法 について 説 明 します。<br />
コネクタが 実 線 の 場 合 、そのダイアグラムには 、、または 文 に 含 まれる 実 際 のプロパティが 表 示<br />
されていることを 意 味 します。コネクタの 片 側 または 両 側 が 点 線 の 場 合 、 点 線 が 表 示 されている 側 にネストされたサブプ<br />
ロパティがあることを 意 味 します。<br />
図 2–6: ソースからターゲットの 親 プロパティに 接 続 するコネクタ<br />
このネストされたプロパティは、 親 プロパティ 名 の 横 にある 展 開 アイコンをクリックすると、 表 示 することができます。 親<br />
プロパティが 展 開 されている 場 合 は、 の 収 縮 アイコンが 表 示 されます。このアイコンをクリックすると、サブプロパティ<br />
のリストを 非 表 示 にすることができます。 展 開 していたプロパティを 収 縮 させると、グレー 表 示 の 展 開 アイコン が 表 示<br />
されます。<br />
<strong>DTL</strong> 変 換 の 開 発 15
データ 変 換 ビルダの 使 用<br />
図 2–7: ソースからターゲットのネストされたプロパティに 接 続 するコネクタ<br />
2.2.4.1 すべてのネストされたプロパティの 割 り 当 て<br />
ソースとターゲットの 親 プロパティが 同 じ 場 合 、すべてのネストされたサブプロパティの 値 を 一 度 に 割 り 当 てることができま<br />
す。その 場 合 、 親 プロパティを 展 開 してサブプロパティを 表 示 する 必 要 はありません。ソース 側 の 親 プロパティからター<br />
ゲット 側 の 親 プロパティにカーソルをドラッグするだけです。<br />
以 下 の <strong>DTL</strong> ダイアグラムでは、ソース 側 とターゲット 側 の EVN プロパティ 間 の 1 つのコネクタに 次 の EVN のサブプロ<br />
パティのすべてが 含 まれます。<br />
• EventTypeCode<br />
• RecordedDateTime とそのすべてのサブプロパティ<br />
• DateTimePlannedEvent とそのすべてのサブプロパティ<br />
• EventReasonCode<br />
• OperatorID、そのすべての 反 復 、およびそのすべてのサブプロパティ<br />
• EventOccurred とそのすべてのサブプロパティ<br />
16 <strong>DTL</strong> 変 換 の 開 発
スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項<br />
図 2–8: 2 つの 同 じ 親 プロパティ 間 の 接 続<br />
以 下 の 1 行 の <strong>DTL</strong> コードでこれと 同 じことを 行 います。<br />
<br />
2.3 スタジオでの <strong>DTL</strong> 編 集 に 関 する 注 意 事 項<br />
スタジオでのデータ 変 換 ビルダの 動 作 には、 以 下 の 相 違 点 があります。<br />
2.3.1 <strong>DTL</strong> コードの 編 集<br />
要 素 を 追 加 または 編 集 するには、スタジオ・ツールバーで [ 他 のコードを 表 示 ] をクリックして 表 示 される <strong>DTL</strong> コー<br />
ド・ビューにコード 行 を 入 力 します。<br />
スタジオ・ツールバーで<br />
[コンパイル] を 選 択 した 場 合 も、ダイアグラム・ビューが 更 新 されます。<br />
2.3.2 <strong>DTL</strong> コードの 表 示 の 切 り 替 え<br />
データ 変 換 の <strong>DTL</strong> ダイアグラムを 表 示 しているときに、スタジオ・ツールバーで [ 他 のコードを 表 示 ] を 選 択 すると、<br />
同 じデータ 変 換 の <strong>DTL</strong> クラス・ビューに 変 更 できます。その 結 果 は 以 下 の 図 のとおりです。<strong>DTL</strong> コードが、クラス・コー<br />
ドの XData <strong>DTL</strong> ブロックの 中 に 表 示 されます。<br />
<strong>DTL</strong> 変 換 の 開 発 17
データ 変 換 ビルダの 使 用<br />
図 2–9: データ 変 換 ビルダのクラス・コード・ビュー<br />
スタジオ・ツール・バーで<br />
[コンパイル] を 選 択 すると、データ 変 換 に 対 して 生 成 されたクラス・コードを 表 示 できます。<br />
( 前 の 図 にある) <strong>DTL</strong> クラス・コード・ビューから、 [ 他 を 表 示 ] を 選 択 します。 以 下 の 図 に 示 すように、データ 変 換 で 生<br />
成 されたコードが 表 示 されます。<br />
図 2–10: データ 変 換 ビルダの 生 成 コード・ビュー<br />
注 釈<br />
データ 変 換 ビルダ・ビュー、クラス・コード・ビュー、および 生 成 コード・ビューを 切 り 替 えるには、<br />
ドを 表 示 ] を 繰 り 返 しクリックします。<br />
[ 他 のコー<br />
18 <strong>DTL</strong> 変 換 の 開 発
3<br />
<strong>DTL</strong> ドキュメント<br />
データ 変 換 言 語 (<strong>DTL</strong>) ドキュメントは、データ 変 換 を 定 義 する XML ドキュメントです。<br />
<strong>DTL</strong> データ 変 換 の 主 な 目 的 は、 応 答 メッセージで 受 信 した 項 目 を、 継 続 要 求 メッセージの 発 行 に 必 要 なパラメータに 変<br />
換 することです。つまり、"Ensemble プロダクションの 開 発 " の “Ensemble メッセージ” の 章 で 説 明 されているように、<br />
データ 変 換 のソース・オブジェクトおよびターゲット・オブジェクトは、 通 常 、Ensemble メッセージ・オブジェクトです。<br />
Ensemble メッセージは、メッセージ・ヘッダとメッセージ 本 文 オブジェクトで 構 成 されます。“メッセージを 変 換 ” する 際 、<br />
データ 変 換 によってメッセージに 対 して 実 際 に 行 われることは、 古 いメッセージ 本 文 オブジェクト (ソース) をスワップアウ<br />
トして 新 しいもの (ターゲット) に 交 換 することです。 以 下 の 変 換 は、このプロセス 中 に 行 われます。<br />
• ソースのプロパティからターゲットのプロパティに 値 をコピーします。<br />
• ソースのプロパティの 値 を 使 用 して 計 算 を 行 います。<br />
• 計 算 結 果 をターゲットのプロパティにコピーします。<br />
• ターゲットのプロパティにリテラル 値 を 割 り 当 てます。<br />
• ソースのプロパティのうち、ターゲットに 関 連 がないものを 無 視 します。<br />
この 章 では、<strong>DTL</strong> ドキュメントに 関 する 以 下 の 内 容 について 説 明 します。<br />
• <strong>DTL</strong> ドキュメントの 構 造<br />
• <strong>DTL</strong> ドキュメントの 構 文 規 則<br />
• <strong>DTL</strong> 要 素 のタスク 別 リスト<br />
• <strong>DTL</strong> 要 素 の 構 文 規 則<br />
3.1 <strong>DTL</strong> ドキュメントの 構 造<br />
<strong>DTL</strong> ドキュメントは、Ens.DataTransform<strong>DTL</strong> から 継 承 するクラスの XData <strong>DTL</strong> ブロック 内 に 配 置 する 必 要 があります 次<br />
の 図 は、<strong>DTL</strong> ドキュメントの 簡 単 な 例 です。<br />
<strong>DTL</strong> 変 換 の 開 発 19
<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> 変 換 の 開 発
<strong>DTL</strong> ドキュメントの 構 造<br />
スタジオで <strong>DTL</strong> データ 変 換 を 開 くと、データ 変 換 ビルダに <strong>DTL</strong> ドキュメントのダイアグラム 表 現 が 表 示 されます。ダイア<br />
グラムの 中 で、ソース ( 入 力 ) オブジェクトは 左 側 に、ターゲット ( 出 力 ) オブジェクトは 右 側 に 表 示 されます。ダイアグラム<br />
中 のソース・オブジェクトとターゲット・オブジェクトのプロパティ 間 の 各 コネクタは、ソースのプロパティをターゲットのプロ<br />
パティに 割 り 当 てる <strong>DTL</strong> コード 内 の 文 に 対 応 します。ダイアグラムの 下 には、アクションのリストが 実 行 順 に 表 示 されま<br />
す。<br />
以 下 のダイアグラムは、データ 変 換 クラス Demo.HL7.MsgRouter.ORMLastNameTransform のデータ 変 換 ビルダ・ビュー<br />
を 示 しています。これは、 上 の "<strong>DTL</strong> プログラム・リスト" の 図 で 示 しているデータ 変 換 と 同 じものです。<br />
図 3–2: データ 変 換 ビルダ<br />
各 列 の 左 にある 位 置 コントローラを 使 用 して、ダイアグラムの 内 容 をスクロールできます。<br />
この 方 法 でスクロールすると、 各 列 が 個 別 に 実 行 されます。コントローラの 2 つ 矢 印 の 間 をクリックして、ダイアグラムのそ<br />
の 側 面 のスクロールをリセットすることもできます。また、 列 の 背 景 をクリックし、マウスを 上 下 にドラッグすることによって、<br />
ダイアグラムの 内 容 を 移 動 することもできます。ドラッグした 方 向 に 列 の 内 容 が 移 動 します。<br />
スタジオでデータ 変 換 ビルダを 表 示 しているときに、スタジオ・ツールバーの [ 他 のコードを 表 示 ] をクリックすることによっ<br />
て、 同 じデータ 変 換 の <strong>DTL</strong> クラス・ビューに 変 更 できます。<strong>DTL</strong> クラス・ビューから [ 他 のコードを 表 示 ] を 再 びクリックす<br />
ることによって、 生 成 されたデータ 変 換 後 のクラス・コードを 表 示 できます。<br />
<strong>DTL</strong> 変 換 の 開 発 21
<strong>DTL</strong> ドキュメント<br />
3.2 <strong>DTL</strong> ドキュメントの 構 文 規 則<br />
すべての <strong>DTL</strong> ドキュメントには、 以 下 の 共 通 した 構 文 規 則 があります。<br />
Class MyPackage.My<strong>DTL</strong> Extends Ens.DataTransform<strong>DTL</strong><br />
{<br />
Parameter REPORTERRORS = 1;<br />
XData <strong>DTL</strong> [ XMLNamespace = "http://www.intersystems.com/dtl" ]<br />
{<br />
<br />
<br />
<br />
<br />
<br />
<br />
This is a comment for the assign element<br />
<br />
<br />
}<br />
}<br />
3.2.1 REPORTERRORS パラメータの 使 用 法<br />
Ens.DataTransform<strong>DTL</strong> クラスではパラメータ REPORTERRORS=0 が 宣 言 されるため、Ensemble は 変 換 エラーを 通 知<br />
せずに、xform カテゴリのトレース・メッセージとしてログに 記 録 します。<br />
<strong>DTL</strong> クラスを 作 成 するときには、このパラメータを REPORTERRORS=1 にオーバーライドして、Ensemble での 変 換 の 実<br />
行 中 に 発 生 したすべてのエラーが 警 告 としてイベント・ログに 記 録 され、すべてのエラーを 示 す 複 合 ステータス・コードが<br />
戻 り 値 として 返 されるようにします。 付 属 のウィザードを 使 用 して <strong>DTL</strong> データ 変 換 クラスを 作 成 する 場 合 は、この 設 定 が<br />
自 動 的 に 行 われます。<br />
3.2.2 検 証<br />
<strong>DTL</strong> ドキュメントは、 適 切 に 構 成 され、<strong>DTL</strong> スキーマで 指 定 された 検 証 ルールに 一 致 する 必 要 があります。 一 致 しない<br />
場 合 、そのドキュメントは <strong>DTL</strong> コンパイラによって 拒 否 され、エラー・メッセージが 表 示 されます。<br />
<strong>DTL</strong> 構 文 の 入 力 時 にはスタジオ・アシスト (ワード・コンプリート 機 能 ) が 役 立 ちます。<br />
1. スタジオを 起 動 します。<br />
2. <strong>DTL</strong> データ 変 換 クラスを 開 きます。<br />
3. 以 下 のように、XData <strong>DTL</strong> ブロックに 適 切 な XMLNamespace パラメータが 設 定 されていることを 確 認 します。<br />
XData <strong>DTL</strong> [ XMLNamespace = "http://www.intersystems.com/dtl" ]<br />
{<br />
<br />
}<br />
<br />
<br />
4. XData <strong>DTL</strong> で、 と の 間 にカーソルを 置 きます。<br />
5. 入 力 を 開 始 します。 意 味 のある 最 初 の 文 字 を 入 力 すると、そのコンテキストに 適 した <strong>DTL</strong> 要 素 と 属 性 のリストが 表 示<br />
されます。<br />
6. このリストから 項 目 を 選 択 するには、 目 的 の 項 目 をクリックして Enter キーを 押 します。<br />
22 <strong>DTL</strong> 変 換 の 開 発
<strong>DTL</strong> ドキュメントの 構 文 規 則<br />
7. 完 全 な 単 語 がコードに 自 動 的 に 追 加 されます。<br />
注 釈<br />
XML についての 知 識 のあるユーザは、<strong>DTL</strong> スキーマを 表 示 できます。スタジオを 起 動 して Ensemble ネーム<br />
スペースに 移 動 し、[プロダクション] タブをクリックします。[ファイル] メニューの [ 開 く] オプションを 選 択 して、ク<br />
ラス Ens.Schema.<strong>DTL</strong> を 選 択 してください。<br />
3.2.3 スクリプト 言 語<br />
<strong>DTL</strong> ドキュメントは、1 つの 実 行 可 能 クラスにコンパイルされます。<strong>DTL</strong> 開 発 者 がこのしくみを 意 識 することはほとんどあ<br />
りませんが、 以 下 の 場 合 は 例 外 です。この 場 合 、データ 変 換 の 実 行 に 使 用 する 言 語 を 認 識 する 必 要 があります。<br />
• いずれかの 要 素 に、 実 行 時 に 評 価 される 式 が 含 まれている 場 合 。<br />
• データ 変 換 にユーザ 記 述 のコードを 挿 入 する 要 素 が 使 用 されている 場 合 。<br />
データ 変 換 用 のスクリプト 言 語 は、 要 素 の language 属 性 で 指 定 されます。 値 "basic" は Caché Basic を<br />
表 し、 値 "objectscript" は ObjectScript を 表 します。 指 定 しない 場 合 は、デフォルトの ObjectScript が 使 用 されま<br />
す。MVBasic はサポートされません。データ 変 換 内 のすべての 式 、および 要 素 内 のコード 行 は、 指 定 の 言 語 で<br />
記 述 されている 必 要 があります。<br />
これらの Caché プログラミング 言 語 の 詳 細 は、 以 下 のドキュメントを 参 照 してください。<br />
• Caché ObjectScript の 使 用 法<br />
• Caché ObjectScript リファレンス<br />
• Caché Basicの 使 用 法<br />
• Caché Basic リファレンス<br />
3.2.4 真 と 偽<br />
一 部 の <strong>DTL</strong> 属 性 では、Ensemble の 表 記 規 則 に 従 ってブーリアン 値 を 指 定 できます。つまり、 整 数 値 1 は 真 、 整 数 値<br />
0 は 偽 を 意 味 します。<strong>DTL</strong> ソース・コードで、async などのブーリアン 属 性 を 真 に 設 定 するときは、 以 下 の 2 種 類 の 表 記<br />
法 のいずれかを 使 用 できます。<br />
async='1'<br />
async='true'<br />
同 様 に、async を 偽 に 設 定 するときは、 以 下 の 2 種 類 の 表 記 法 のいずれかを 使 用 できます。<br />
async='0'<br />
async='false'<br />
3.2.5 メッセージ・プロパティ 構 文<br />
"Ensemble プロダクションの 開 発 " の “Ensemble メッセージ” の 章 で 説 明 されているように、データ 変 換 のソース・オブ<br />
ジェクトおよびターゲット・オブジェクトは、 通 常 、Ensemble メッセージ 本 文 オブジェクトです。これらのオブジェクトは、 以<br />
下 のいずれかの 一 般 タイプになります。<br />
• 標 準 の Ensemble メッセージ 本 文 オブジェクト<br />
• 仮 想 ドキュメント<br />
• 永 続 オブジェクト<br />
• シリアル・オブジェクト<br />
<strong>DTL</strong> 変 換 の 開 発 23
<strong>DTL</strong> ドキュメント<br />
このトピックでは、<strong>DTL</strong> データ 変 換 を 使 用 して、さまざまな 種 類 のメッセージ 本 文 オブジェクトのプロパティにアクセスし、<br />
それらを 変 更 する 方 法 を 説 明 します。<br />
3.2.5.1 オブジェクトのプロパティ<br />
標 準 の Ensemble メッセージ 本 文 は、メッセージ・データを 含 むプロパティを 定 義 することで、 組 み 込 みメッセージ 本 文 ク<br />
ラス (Ens.Request または Ens.Response) を 拡 張 します。これらのオブジェクトのプロパティを 参 照 するには、 通 常 のドッ<br />
ト 構 文 を 使 用 します。 以 下 に 例 を 示 します。<br />
<br />
Ensemble メッセージ 本 文 として 使 用 する 永 続 オブジェクトまたはシリアル・オブジェクトのプロパティを 参 照 するときも、 同<br />
じドット 構 文 を 使 用 できます。<br />
3.2.5.2 仮 想 ドキュメントのプロパティ<br />
Ensemble には、 仮 想 ドキュメントと 呼 ばれる 別 の 種 類 のメッセージ 本 文 があります。 仮 想 ドキュメントは、HL7 や X12 な<br />
どの Electronic Data Interchange (EDI) 形 式 で 使 用 するように 設 計 されています。 標 準 メッセージ 本 文 では、メッセージ<br />
のコンテンツ 全 体 を 正 式 なプロパティ・セットとして 記 述 しなければなりませんが、 仮 想 ドキュメントを 使 用 すれば、サイズ<br />
の 大 きい 複 雑 なドキュメントを Ensemble メッセージとして 記 述 できます。 代 わりに、メッセージ 本 文 内 の 単 一 のプロパティ<br />
が、HL7 または X12 スキーマ 定 義 を 指 定 します。<br />
HL7 または X12 スキーマ 定 義 は XML スキーマと 同 じではありませんが、XML 形 式 で 記 述 されるスキーマです。 仮 想<br />
ドキュメントのスキーマ 定 義 は、 目 的 のデータ 項 目 が 含 まれているメッセージ 本 文 を 指 定 します。このデータ 項 目 を 仮 想<br />
プロパティと 呼 びます。 背 景 情 報 は、ドキュメント "Ensemble 仮 想 ドキュメント" を 参 照 してください。<br />
<strong>DTL</strong> データ 変 換 内 から 仮 想 プロパティの 値 を 参 照 するには 2 つの 方 法 があります。 以 下 の 方 法 が 使 用 できます。<br />
• <strong>DTL</strong> 要 素 、、、および で、 中 かっこ {} 構 文 を 使 用 します。 構 文 は 以 下 のとおりです。<br />
myHL7Message.{myVirtualPropertyPath}<br />
以 下 に 例 を 示 します。<br />
<br />
• 、 など、その 他 の <strong>DTL</strong> 要 素 からインスタンス・メソッド GetValueAt または SetValueAt を 呼 び 出 します。<br />
これらのメソッドは、 上 記 の 要 素 から 呼 び 出 すこともできます。 以 下 に 例 を 示 します。<br />
<br />
詳 細 は、ドキュメント Ensemble 仮 想 ドキュメント の “ 仮 想 プロパティの 構 文 ” の 節 を 参 照 してください。<br />
3.2.5.3 永 続 オブジェクトまたはシリアル・オブジェクトのプロパティ<br />
メッセージ 本 文 は、 標 準 のメッセージ 本 文 や 仮 想 ドキュメントだけに 限 定 されているわけではありません。 任 意 の 永 続 オ<br />
ブジェクトまたはシリアル・オブジェクトを 使 用 できます。これらのオブジェクトのプロパティを 参 照 するには、 通 常 のドット<br />
構 文 を 使 用 します。 以 下 に 例 を 示 します。<br />
<br />
注 釈<br />
追 加 の 構 文 情 報 および 例 は、"Caché オブジェクトの 使 用 法 " の “Caché オブジェクト・モデル” の 章 にある<br />
“クラスのタイプ” を 参 照 してください。<br />
24 <strong>DTL</strong> 変 換 の 開 発
<strong>DTL</strong> ドキュメントの 構 文 規 則<br />
3.2.6 リテラル 文 字 列<br />
<strong>DTL</strong> では、 値 全 体 を 囲 む 引 用 符 とは 別 に、リテラル 文 字 列 値 を 別 の 引 用 符 で 囲 む 必 要 があります。 例 えば、 以 下 の 例<br />
では、value='"ULTRA"' と 指 定 しています。したがって、 文 字 列 ULTRA がターゲット・メッセージの ReceivingApplication<br />
フィールドに 挿 入 されます。value='ULTRA' および value="ULTRA" は 有 効 ではありません。<br />
<br />
注 釈<br />
<strong>DTL</strong> を 使 用 して HL7 仮 想 ドキュメントを 変 換 する 場 合 は、 特 別 な 考 慮 が 必 要 となります。"Ensemble 仮 想 ドキュ<br />
メント" の “リテラル 文 字 列 の 構 文 ” の 節 を 参 照 してください。<br />
3.2.7 XML エンティティ<br />
<strong>DTL</strong> は XML を 拡 張 したものなので、<strong>DTL</strong> 文 内 の 一 部 の 文 字 を XML エンティティで 表 す 必 要 があります。 該 当 する 文<br />
字 を 以 下 の 表 に 示 します。<br />
テーブル 3–1: <strong>DTL</strong> 文 字 列 で 使 用 する XML エンティティ<br />
文 字<br />
><br />
<<br />
&<br />
'<br />
"<br />
XML エン<br />
ティティ<br />
><br />
<<br />
&<br />
'<br />
"<br />
説 明<br />
右 山 かっこ ( 大 なり) 記 号 。<br />
左 山 かっこ ( 小 なり) 記 号 。<br />
アンパサンド。<br />
一 重 引 用 符 (アポストロフィ)。 一 重 引 用 符 で 囲 まれた 文 字 列 では、' エンティティを 使<br />
用 して ' 文 字 を 表 す 必 要 があります。<br />
二 重 引 用 符 。 二 重 引 用 符 で 囲 まれた 文 字 列 では、" エンティティを 使 用 して " 文 字 を<br />
表 す 必 要 があります。<br />
「Joe’s "Good Time" Bar & Grill」という 名 前 の 雇 用 者 のリテラル 文 字 列 を するには、<strong>DTL</strong> 文 で 次 の<br />
構 文 を 使 用 する 必 要 があります。<br />
<br />
この 制 約 は、<strong>DTL</strong> の 文 または 文 の 中 には 適 用 されません。<br />
3.2.8 数 字 のコード<br />
<strong>DTL</strong> のリテラル 文 字 列 内 では、 文 字 の 10 進 表 記 または 16 進 表 記 を 使 用 できます。<br />
文 字 列 &#n; は Unicode 文 字 を 表 します (n は Unicode 文 字 の 10 進 数 )。 例 えば、é は、 揚 音 アクセント 符 号 付<br />
きのラテン 文 字 e (é) を 表 します。<br />
また、 文 字 列 &#xh; も Unicode 文 字 を 表 します (h は 16 進 の Unicode 文 字 番 号 )。 例 えば、¿ は 逆 さの 疑 問<br />
符 (¿) を 表 します。<br />
3.2.9 関 数<br />
<strong>DTL</strong> データ 変 換 内 では、 式 には Ensemble ユーティリティ 関 数 の 1 つへの 呼 び 出 しを 含 めることができます。このような<br />
関 数 には、 他 のプログラミング 言 語 で 使 い 慣 れている 数 学 的 な 処 理 関 数 または 文 字 列 処 理 関 数 などがあります。<br />
<strong>DTL</strong> 変 換 の 開 発 25
<strong>DTL</strong> ドキュメント<br />
以 下 の <strong>DTL</strong> 文 では、ユーティリティ 関 数 ToUpper を 使 用 して 文 字 列 をすべて 大 文 字 に 変 換 します。この<br />
文 は、<strong>DTL</strong> データ 変 換 クラス 内 のメソッドのように、ダブルドット 構 文 を 使 用 して ToUpper を 参 照 します。<br />
<br />
利 用 可 能 なユーティリティ 関 数 のリスト、およびビジネス・ルールまたは <strong>DTL</strong> データ 変 換 でそれらの 関 数 を 使 用 するため<br />
の 適 切 な 構 文 は、“Ensemble プロダクションの 開 発 ” の “ 新 しいプロダクションの 作 成 ” の 章 にある “ユーティリティ 関<br />
数 ” を 参 照 してください。この 節 では、カスタム・コードを 追 加 して、 一 連 の 組 み 込 みユーティリティ 関 数 を 拡 張 する 方 法<br />
についても 説 明 します。<br />
3.3 <strong>DTL</strong> 要 素 のタスク 別 リスト<br />
ここでは、<strong>DTL</strong> 要 素 を 機 能 別 にグループ 化 し、 各 要 素 の 目 的 について 説 明 します。<br />
• データ 変 換<br />
• データ 操 作<br />
• 制 御 フロー<br />
• ユーザ 記 述 コード<br />
• ロギング<br />
3.3.1 データ 変 換<br />
<strong>DTL</strong> ドキュメントは、1 つの 要 素 とそのさまざまな 子 要 素 で 構 成 されます。 要 素 は、データ 変<br />
換 のコンテナです。 は、 完 全 なオブジェクトまたはメッセージ 上 で 機 能 します。Electronic Data Interchange<br />
形 式 を 表 す 仮 想 ドキュメントの 場 合 、 はメッセージの 1 つのセグメントだけで 機 能 します。<br />
3.3.2 データ 操 作<br />
<strong>DTL</strong> には、データを 検 索 してそのデータをある 場 所 から 別 の 場 所 に 移 動 できる 要 素 があります。<br />
• 要 素 は、ターゲット・プロパティとそのプロパティに 割 り 当 てる 式 の 指 定 に 使 用 されます。 通 常 、この 式 はソー<br />
ス・オブジェクトのプロパティの 1 つに 対 して 実 行 され、その 結 果 ターゲット・オブジェクトの 1 つのプロパティの 値 が<br />
決 定 されます。<br />
• 要 素 を 使 用 すると、データ 変 換 内 から 埋 め 込 みの SQL SELECT 文 を 実 行 できます。<br />
3.3.3 コントロール・フロー<br />
<strong>DTL</strong> には、<strong>DTL</strong> データ 変 換 内 での 実 行 順 序 を 制 御 する、 制 御 フロー 要 素 があります。<br />
• 要 素 は、 繰 り 返 し 実 行 される 一 連 のアクティビティを 定 義 します。<br />
• 要 素 は、 条 件 を 評 価 し、 真 の 場 合 の 操 作 または 偽 の 場 合 の 操 作 を 実 行 します。<br />
• 要 素 は、 別 のデータ 変 換 を 呼 び 出 します。<br />
26 <strong>DTL</strong> 変 換 の 開 発
<strong>DTL</strong> 要 素 の 構 文 規 則<br />
3.3.4 ユーザ 記 述 コード<br />
<strong>DTL</strong> の 表 現 だけでは 特 定 の 問 題 を 解 決 できない 場 合 のために、Ensemble ではデータ 変 換 内 にユーザ 記 述 コードを 埋<br />
め 込 むしくみが 用 意 されています。この 埋 め 込 みは、 要 素 および 選 択 されたスクリプト 言 語 を 使 用 して 行 われま<br />
す。<br />
3.3.5 ロギング<br />
<strong>DTL</strong> 構 文 では、 要 素 を 使 用 して、コンソール・ウィンドウにテキスト・メッセージを 書 き 込 むことができます。<br />
3.4 <strong>DTL</strong> 要 素 の 構 文 規 則<br />
<strong>DTL</strong> 内 のほとんどの 要 素 は、 を 子 要 素 としてサポートしています。これにより、<strong>DTL</strong> 要 素 に 詳 しいコメント<br />
を 関 連 付 けることができます。すべての 要 素 に 対 して 位 置 属 性 を 提 供 する BPL とは 異 なり、 は、ほとんど<br />
の <strong>DTL</strong> 要 素 が 共 通 して 持 つ、 唯 一 の 子 要 素 または 属 性 です。 要 素 を 使 用 する 場 合 は、 注 釈 の 対 象 とな<br />
る 要 素 の 最 初 の 子 として 挿 入 する 必 要 があります。<br />
<strong>DTL</strong> 変 換 の 開 発 27
索 引<br />
シンボル<br />
エディタ<br />
データ 変 換 ビルダ, 7<br />
ツール<br />
データ 変 換 ビルダ, 7<br />
データ<br />
変 換<br />
ダイアグラム, 7<br />
データ 変 換<br />
インポートとエクスポート, 6<br />
ビルダ<br />
<strong>DTL</strong>, データ 変 換 , 7<br />
D<br />
<strong>DTL</strong><br />
グラフィック 規 則 , 7<br />
ダイアグラム, 7<br />
ビルダ, 7<br />
S<br />
SVG, 7<br />
<strong>DTL</strong> 変 換 の 開 発 29