XMLレコードを完全に取得する - 7.1

Talend Data Fabric Studio ユーザーガイド

author
Talend Documentation Team
EnrichVersion
7.1
EnrichProdName
Talend Data Fabric
task
ジョブデザインと開発
EnrichPlatform
Talend Studio

手順

  1. 最初のステップをクリックして[Step Specifications] (ステップ仕様)エリアを表示し、そこでステップパラメーターを定義します。
    注: [Step Specification] (ステップ仕様)エリアで[Disable] (無効化)チェックボックスをオンにすれば、開いているプロセスエディターで選択したステップをいつでも無効にできます。
  2. [Plugin name] (プラグイン名)リストからxsltを選択します。
    選択しているプラグインの説明が、[Plugin name] (プラグイン名)フィールドの上にあるボックスに表示されます。
    注: ボタンをクリックすると、プラグインとそのパラメーターの詳細を説明するダイアログボックスが表示されます。
  3. xsltプラグインは最初のステップのため、入力変数を空のままにし、[xml] (XML)入力を選択して、ボタンをクリックし、テーブルに追加します。
    MDMサーバーでは_DEFAULT_というデフォルト変数を使用してパイプラインを開始します。
    ここでは、変数をプラグインの入力パラメーターにマッピングする一方で、プラグインの出力パラメーターを別の変数にマッピングします。
  4. 出力パラメーター[text] (テキスト)を選択し、出力変数item_xmlを定義し、ボタンをクリックしてテーブルに追加します。
    注: ステップごとにデフォルト変数のいずれかを選択するか、または直前のプラグインで定義した変数の1つを定義します。
  5. [Parameters] (パラメーター)エリアで、XSLT定義を次のように入力します。
    <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    xmlns:mdm="java:com.amalto.core.plugin.base.xslt.MdmExtension" version="1.0">
    <xsl:output method="xml" indent="yes" omit-xml-declaration="yes" />
    <xsl:template match="/" priority="1">
    	<exchange>
    		<report> 
    			<xsl:copy-of select="Update"/> 
    		</report>
    		<item>
    			<xsl:copy-of select='mdm:getItemProjection(Update/RevisionID,Update/DataCluster,Update/Concept,Update/Key)'/>
    		</item>
    	</exchange>
    </xsl:template>
    </xsl:stylesheet>
    警告: テキストエディターで入力したテキストは、保存時にデフォルトでインデントされます。これにより、[Smart View] (スマートビュー)プロセスの作成時にHTMLのフォーマットなどで特定の問題が発生することがあります。必要に応じて、[Auto-indent] (オートインデント)チェックボックスをオフにして、プロセスの保存時にテキストのインデントを無効にします。

タスクの結果

最初のステップでプロセスパイプラインが_DEFAULT_変数で開始し、そこには[Update Report] (更新レポート)が含まれています。_DEFAULT_のコンテンツが、text入力パラメーターによってこの最初のXSLTステップに送られます。XSLTステップは、getItemProjectionファンクションを使用して完全なXMLレコードを取得します。これは、XSLTで文字エンコーディングのコンフリクトが発生しないように、XMLサインを全てエスケープすることが目的です。ステップの結果は出力パラメーターからitem_xml変数に送られます。これで、item_xmlをプロセスパイプラインの次のステップに送る準備が整いました。