手順
-
以下のコンポーネントを、[Palette] (パレット)からデザインワークスペースのtFileInputXml、tWriteXMLField、tMysqlOutputにドロップします。
[Main] (メイン)リンクを使って、3つのコンポーネントを接続します。
-
tFileInputXmlをダブルクリックして[Basic settings] (基本設定)ビューを開き、プロパティを定義します。
-
[Repository] (リポジトリー)ツリービューに入力スキーマが既に保存されている場合は、まず[Property Type] (プロパティタイプ)リストから、次に[Schema] (スキーマ)リストから[Repository] (リポジトリー)を選択し、[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを表示します。ここで、関連するメタデータを選択します。
[Repository] (リポジトリー)ツリービューにスキーマメタデータを保管する方法は、Talend Studioユーザーガイドをご覧ください。
-
入力スキーマをローカルに保存していない場合は、 [Property Type] (プロパティタイプ)および[Schema] (スキーマ)フィールドで[Built-in] (組み込み)を選択し、手動で続くフィールドに入力します。tFileInputXMLの詳細は、tFileInputXMLをご覧ください。
[Built-in] (組み込み)を選択した場合は、[Edit Schema] (スキーマを編集)フィールドの横にある[...]ボタンをクリックしてダイアログボックスを開くと、ファイルのストラクチャーを手動で定義できます。
-
[Look Xpath query] (ルックXPathクエリー)フィールドに、ループの基になるストラクチャーのノードを入力します。このサンプルでは、ループは[customer] (顧客)ノードに基づいています。[Mapping] (マッピング)テーブルの[Column] (カラム)には、定義されたファイルのコンテンツが自動的に入力されます。
[Xpath query] (XPathクエリー)カラムに、各[Column] (カラム)フィールドに対応するデータを保持するXMLファイルのノードを逆コンマの間に入力します。
-
デザインワークスペースで、tWriteXMLFieldをクリックしてから、[Component] (コンポーネント)ビューで、[Basic settings] (基本設定)をクリックして関連するビューを開き、そこでコンポーネントのプロパティを定義できます。
-
[Edit Schema] (スキーマを編集)フィールドの横にある[...]ボタンをクリックしてダイアログボックスを開くと、プラスボタンをクリックして行を追加できます。
-
行をクリックして、XMLコンテンツを書き込む出力カラムの名前(このサンプルではCustomerDetails)を入力します。
対応するフィールド、このサンプルではString (文字列)と255でタイプと長さを定義します。[OK]をクリックして出力スキーマを検証し、ダイアログボックスを閉じます。[Basic settings] (基本設定)ビューおよび[Output Column] (出力カラム)リストから、XMLコンテンツを書き込む場所として既に定義したカラムを選択します。
-
[Configure XML Tree] (XMLツリーの設定)の横にある[...]ボタンをクリックすると、XMLストラクチャーを作成するインターフェイスが表示されます。
-
[Linker target] (リンクターゲット)エリアで、[rootTag]をクリックしてCustomerDetailsという名前に変更します。
[Linker source] (リンカソース)エリアで、CustomerNameとCustomerAddressをCustomerDetailsにドロップします。どの種類の操作を実行したいかを尋ねるダイアログボックスが表示されます。CustomerDetailsノードのサブエレメントを作成するには、[Create as sub-element of target node] (ターゲットノードのサブエレメントとして作成)を選択します。CustomerNameを右クリックして、コンテキストメニューから[Set As Loop Element] (ループエレメントとして設定)を選択します。[OK]をクリックして、定義したXMLストラクチャーを検証します。
-
tMysqlOutputをダブルクリックして[Basic settings] (基本設定)ビューを開き、プロパティを定義します。
-
[Repository] (リポジトリー)ビューの[DB Connection] (DB接続)ノードにスキーマを既に保存している場合は、[Schema] (スキーマ)リストから[Repository] (リポジトリー)を選択して、関連するメタデータを選択できる[Repository Content] (リポジトリーコンテンツ)ダイアログボックスを表示します。
[Repository] (リポジトリー)ツリービューにスキーマメタデータを保管する方法は、Talend Studioユーザーガイドをご覧ください。スキーマをローカルに保存していない場合は、 [Property Type] (プロパティタイプ)および[Schema] (スキーマ)フィールドで[Built-in] (組み込み)を選択し、データベース接続およびデータ構造情報を手動で入力します。tMysqlOutputプロパティの詳細は、tMysqlOutputをご覧ください。[Table] (テーブル)フィールドに、抽出するXMLデータを書き込むデータベーステーブルの名前を入力します。[Action on table] (テーブルのアクション)リストから[Create table] (テーブルの作成)を選択して、定義済み表を作成します。[Action on data] (データでのアクション)リストから、[Insert] (挿入)を選択してデータを書き込みます。[Sync columns] (カラムを同期)をクリックすると、先行コンポーネントからスキーマが取得されます。[Edit schema] (スキーマを編集)の横にある[...]ボタンをクリックして、スキーマを表示できます。
- ジョブを保存し、F6をクリックして実行します。
タスクの結果
tWriteXMLField は、 CustomerDetails カラムのすべてのフィールドに入力ファイルのXMLストラクチャーを入力します。XMLストラクチャー(XML処理命令<?xml version=""1.0"" encoding=""ISO-8859-15""?>
、各クライアントを分離する最初のノード<CustomerDetails>
、最後に顧客情報<CustomerAddress>
と<CustomerName>
)を入力します。