Clés étrangères et références croisées
Comme le Processus est un pipeline multi-étape, vous pouvez avoir une ou plusieurs étape(s) avant l'étape XSLT finale. Vous devez donc insérer une étape pour résoudre vos clés étrangères et/ou vos références croisées. Vous pouvez utiliser un Job Talend déployé en tant que fichier ZIP ou vous pouvez utiliser une étape <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>.
Premier exemple : si le modèle de données est Product avec une clé étrangère vers ProductFamily, utilisez les paramètres suivants afin de lier la famille de produit, qui est le code brut de la famille (par exemple "[1234]"), au nom actuel de la famille :
<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>
Deuxième exemple : s'il y a une table de références croisées Countries avec key = ISO2 et value = Name et que vous souhaitez résoudre Product/CountryCode dans Product/CountryName, utilisez les paramètres suivants :
<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>