外部キーと相互参照
プロセスは複数ステップのパイプラインであるため、最終XSLTステップの前に1つまたは複数のステップを含めることができます。したがって、FKの解決または相互参照のためにステップを挿入する必要があります。ZIPとしてデプロイされたTalendジョブを使用するか、<parameters>を使用できます。
<CrossRef>
<xrefName>Country</xrefName>
<xrefCluster>crossreferencing</xrefCluster>
<xrefRootElement>/Product</xrefRootElement>
<xrefIn>
<mapping>
<xrefElement>CountryCode</xrefElement>
<xrefPath>Countries/ISO2</xrefPath>
</mapping>
</xrefIn>
<xrefOut>
<mapping>
<xrefElement>CountryName</xrefElement>
<xrefPath>Countries/Name</xrefPath>
</mapping>
</xrefOut>
</CrossRef>
</parameters> step.
最初の例: 最初のサンプル: データモデルがProductFamilyへのFKを持つProductの場合は、次のパラメーターを使用して製品ファミリーを解決します。これは実際のファミリー名に対する生のファミリーコード(たとえば"[1234]")です。
<parameters>
<CrossRef>
<xrefName>FamilyFK</xrefName>
<xrefCluster>Product</xrefCluster>
<xrefRootElement>/Product</xrefRootElement>
<xrefIn>
<mapping>
<xrefElement>Family</xrefElement>
<xrefPath>ProductFamily/Id</xrefPath>
</mapping>
</xrefIn>
<xrefOut>
<mapping>
<xrefElement>Family</xrefElement>
<xrefPath>ProductFamily/Name</xrefPath>
</mapping>
</xrefOut>
</CrossRef>
</parameters>
2番目の例:key = ISO2とvalue = Nameを持つCountries相互参照テーブルがあり、Product/CountryCodeを解決してProduct/CountryNameにする場合は、次のパラメーターを使用します。
<parameters>
<CrossRef>
<xrefName>Country</xrefName>
<xrefCluster>crossreferencing</xrefCluster>
<xrefRootElement>/Product</xrefRootElement>
<xrefIn>
<mapping>
<xrefElement>CountryCode</xrefElement>
<xrefPath>Countries/ISO2</xrefPath>
</mapping>
</xrefIn>
<xrefOut>
<mapping>
<xrefElement>CountryName</xrefElement>
<xrefPath>Countries/Name</xrefPath>
</mapping>
</xrefOut>
</CrossRef>
</parameters>