チュートリアルガイド > XMLからリレーショナルへの変換チュートリアル > SchoolXML2Rel変換の作成
 
SchoolXML2Rel変換の作成
XMLをリレーショナルデータに変換するには
1.Transformationsというフォルダーを作成します。
2.Transformationsフォルダーを右クリックして[New Transformation(新しい変換)]を選択します。
3.[Any-AnyTransform(Any-Any変換)]を選択し、[Next(次へ)]をクリックします。
4.「SchoolXML2Rel」と入力して[Finish(終了)]を選択します。
変換エディターが開いて空の変換が表示されます。
5.File_SchoolXMLデータソースを展開し、school.xmlを変換設計領域にドラッグします。
6.school_xmlオブジェクトのデータノード(school:Class[1-*]の右側にある小さな三角形)を完全に展開して、構造全体を表示します。
7.[Transformation Editor(変換エディター)]パレットから設計領域にloopオブジェクトをドラッグします。
loopリンクを使用して、入力シーケンスschool:Class[1-*]をloopのソースに接続します。
8.ツールバーで[Loop Link Mode(loopリンクモード)]を選択します。
9.クリックしてドラッグし、school_xmlファイルのschool:Class [1-*]要素の出力をloopオブジェクトのソース入力タブに接続します。
10.別のloopリンクを入力シーケンスschool:Student[1-*]からloopにドラッグします。「insert source(ソースの挿入)」と表示されたときにマウスボタンを離すと、新しいloopのソースが作成されます。
11.出力カーソルを作成します。outブロックを右クリックし、[Add Parameter(パラメーターの追加)]をクリックします。
12.[Complex(複合)] > [CURSOR]を選択します。
outブロックにカーソルが追加されます。
13.カーソルの名前をClassListに変更します。
14.loopリンクを使用して、loopオブジェクトのStudent出力ハンドルをoutオブジェクトのClassList入力ハンドルに接続します。
これにより、XML入力階層の最下層に基づいた出力行が確保されます。ClassListハンドルに接続する際は、マウスを離すときにClassList[]が強調表示され、「insert param(パラメーターの挿入)」と表示されないことを確認してください。「insert param(パラメーターの挿入)」が表示された場合は、ClassListではなく新しく作成されたパラメーターに接続することになります。
15.loopのschool:Teacherノードを展開して、すべての列を表示します。
16.ツールバーのボタンをクリックして、[Assign Link Mode(リンク割り当てモード)]を選択します。
17.loopの各データ項目から[Assign Link(リンクの割り当て)]線をoutボックスにドラッグします。「insert param(パラメーターの挿入)」が表示されたときにマウスボタンを離すと、新しいパラメーターが作成されます。
接続線は赤です。以降の手順でその変更を行います。
18.ClassList[]がリストの一番上に表示されていることを確認します。ClassList[]を選択し、ツールバーの矢印を使用して上部に移動します。
19.ClassList[]の下の各フィールドを選択し、ツールバーの[Move In(移動)]ボタンを使用してインデントします。
新しくインデントされた列はClassList[]カーソルに属する別のカテゴリーのデータになるため、赤い接続線は消えます。列の名前と種類が定義されます。フィールドを再接続します。
20.すべての最下位loopフィールドを対応するoutフィールドに接続すれば、設計は完了です。
21.変換を保存して実行します。