core:itemMatcher (Identifying a list entry by rule)
Print
Copy page Copy as Markdown for LLMs View as Markdown View the page as plain text
Open in ChatGPT Ask ChatGPT about this page Open in Claude Ask Claude about this page Prev Next Structure
XML
Description
Input XML
<?xml version="1.0" encoding="UTF-8"?>
<shp:Shipment xmlns:shp="SCM.SHIPMENT" creatorId="1"
ownerId="1" lastModifierId="1">
<lineItems>
<lineItem lineItemId="1" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4711"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>TMS</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="2" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4712"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster_pro</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="3" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4713"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>ERP</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>The data of a ‘Shipment’ entity (see Shipments ) with 3 line items and 2 attributes each (reference attribute ORDER_NUMBER and text attribute COMMENT) should be updated.
Objective:
An Import should update the comment (COMMENT) for an line item identified by its order number (ORDER_NUMBER).
Import XML
[...]
<shp:Shipment [...]
<lineItems>
<lineItem>
<core:itemMatcher>
<core:EntityPropertyRule>
<core:EqualsMatcher deepCompare="false">
<core:LiteralValueResolver>
<value xsi:type="xsd:string">4712</value>
</core:LiteralValueResolver>
</core:EqualsMatcher>
<core:ChainedResolver>
<core:TypedAttributeResolver typedAttribute="base:ReferenceAttribute"
type="base:ReferenceType#ORDER_NUMBER" />
<core:PropertyResolver property="reference" />
</core:ChainedResolver>
</core:EntityPropertyRule>
</core:itemMatcher>
<attributes>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster Data Platform / Orchestration</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>
[...]
The text value of the text attribute COMMENT of the line item with the text ‘4712’ for the reference property of its reference attribute ORDER_NUMBER should be updated to the text ‘Lobster Data Platform / Orchestration’.
The structure to the left shows an excerpt of the target structure of an Import . The core:itemMatcher node within its lineItem node defines, how the line item to update should be identified. This example defines an Entity property rule , which specifies a match of the reference property of the reference attribute ORDER_NUMBER with a static text (‘4712’).
The following attributes node defines the data to apply to a matching line item as an update.
Output XML
<?xml version="1.0" encoding="UTF-8"?>
<shp:Shipment xmlns:shp="SCM.SHIPMENT" creatorId="1"
ownerId="1" lastModifierId="1">
<lineItems>
<lineItem lineItemId="1" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4711"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>TMS</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="2" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4712"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>Lobster Data Platform</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
<lineItem lineItemId="3" parentLineItemId="">
<attributes>
<shp:ShipmentLineItemReference>
<value referenceType="ORDER_NUMBER" reference="4713"/>
</shp:ShipmentLineItemReference>
<shp:ShipmentLineItemText>
<value textType="COMMENT">
<textValue>ERP</textValue>
</value>
</shp:ShipmentLineItemText>
</attributes>
</lineItem>
</lineItems>
</shp:Shipment>Result: The second line item (with ORDER_NUMBER ‘4712’) was updated.
Was this article helpful?
Yes No
Related articles
Orchestration > Orchestration integration > Import > Control attributes
Orchestration > Orchestration integration > Import > Control attributes
Orchestration > Orchestration integration > Import > Control attributes