Component family |
Talend |
|
Function |
tMDMReceive receives an MDM |
|
Purpose |
This component decodes a context parameter holding MDM XML data |
|
Basic Settings |
Property Type |
Either Built in or Repository. Since version 5.6, both the Built-In mode and the Repository mode are |
|
|
Built-in: No property data stored |
|
|
Repository: Select the repository |
|
Schema and Edit |
A schema is a row description, it defines the number of fields Click Edit schema to make changes to the schema. If the
|
|
|
Built-in: The schema will be |
|
|
Repository: The schema already |
|
XML Record |
Enter the context parameter allowing to retrieve the last changes |
|
XPath Prefix |
If required, select from the list the looping xpath expression
/item: select this xpath prefix
/exchange/item: select this xpath |
|
Loop XPath query |
Set the XML structure node on which the loop is based. |
|
Mapping |
Column: reflects the schema as
XPath query: Type in the name of
Get Nodes: Select this check box to |
|
Limit |
Maximum number of rows to be processed. If Limit = 0, no row is |
|
Die on error |
This check box is selected by default. Clear the check box to skip |
Advanced settings |
tStatCatcher Statistics |
Select this check box to gather the processing metadata at the Job |
Global Variables |
ERROR_MESSAGE: the error message generated by the NB_LINE: the number of rows processed. This is an After A Flow variable functions during the execution of a component while an After variable To fill up a field or expression with a variable, press Ctrl + For further information about variables, see Talend Studio |
|
Usage |
Use this component as a start component. It needs an output |
The following scenario describes a simple Job which will extract the information of
interest from an MDM record in XML and display it on the console.
A data container Product and a data model
Product are created and deployed to MDM
server. The Product and Store data entities are defined and some data records already exist
in them.
The entities Product and Store are linked by a foreign key which is the
Name of the Store.
This example is designed to obtain the store information for a new product.
Therefore, when you create a new Product record,
make sure that the Store information is also
added for the new Product record.
The entities and their attributes are shown below.
For more information about MDM working principles, see the MDM part in
Talend Studio User Guide.
-
Drop the following components from the Palette onto the design workspace: tMDMReceive, and tLogRow.
-
Connect tMDMReceive to tLogRow using a Row > Main link.
-
Rename the components to better identify their functions.
Defining a context variable
-
From the Contexts tab, click the
[+] button to add one variable and name
it exchangeMessage. -
Fill in the variable value in the Value
field.Note that the XML record must conform to a particular schema. For more
information about the schema, see the description of processes and schemas
used in MDM processes to call Jobs in Talend Studio User
Guide.One sample of XML record from the Update Report is as
follows:12345678910111213141516<exchange xmlns:mdm="java:com.amalto.core.plugin.base.xslt.MdmExtension"><report><Update><UserName>administrator</UserName><Source>genericUI</Source><TimeInMillis>1381486872930</TimeInMillis><OperationType>ACTION</OperationType><RevisionID>null</RevisionID><DataCluster>Product</DataCluster><DataModel>Product</DataModel><Concept>Product</Concept><Key>2</Key></Update></report><item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item></exchange>In this example, the XML record is trimmed like
this:1<exchange><report/><item><Product><Id>001</Id><Name>Computer</Name><Description>Laptop series</Description><Availability>true</Availability><Price>400</Price><OnlineStore>TalendShop@@http://www.cafepress.com/Talend.2</OnlineStore><Stores><Store>[Dell]</Store><Store>[Lenovo]</Store></Stores></Product></item></exchange> -
Press Ctrl+S to save your changes.
Configuring tMDMReceive and tLogRow
-
Double-click the tMDMReceive component to
open its Basic settings view in
theComponent tab. -
Click the […] button next to Edit schema to define the desired data structure.
In this example, three columns are added: Product_ID, Product_Name,
and Store_Name. -
In the XML Record field, fill in the
context variable context.exchangeMessage. -
From the XPath Prefix list, select
“/exchange/item”. -
In the Loop XPath query field, type in
the name of the XML tree root tag. In this example, type in “/Product/Stores/Store”. -
The Column column in the Mapping table is populated with the columns
defined in the schema. In the XPath query
column, enter the XPath query accordingly. In this example, the information
of product ID, product name and store name will be extracted. -
Double-click the tLogRow component to
open its Basic settings view in the
Component tab. -
Select Table (print values in cells of a
table) in the Mode
area.