Can you please help me how the below logic can we archived using XSLT
in the below input in the goodsHolders segments, we have different goodsHolderItems with 2 different deliverynotenumber so in this case no need to add netweight and grossweight
in the case 2 input payload there are goodsHolders segment with same deliverynotenumber in the goodsHolderItems so in this case we need to add netweight and gross weight
Input: `
<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
<multimap:Message1>
<VM/>
</multimap:Message1>
<multimap:Message2>
<root>
<event/>
<notification>
<goodsHolders>
<goodsHolderMeasures>
<netWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</netWeight>
<grossWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</grossWeight>
</goodsHolderMeasures>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>456</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>456</deliveryNoteNumber>
</goodsHolderItems>
</goodsHolders>
</notification>
</root>
</multimap:Message2>
</multimap:Messages>
Output:
<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
<multimap:Message1>
<VM/>
</multimap:Message1>
<multimap:Message2>
<root>
<event/>
<notification>
<goodsHolders>
<goodsHolderMeasures>
</goodsHolderMeasures>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>456</deliveryNoteNumber>
</goodsHolderItems>
<goodsHolderItems>
<deliveryNoteNumber>456</deliveryNoteNumber>
</goodsHolderItems>
</goodsHolders>
</notification>
</root>
</multimap:Message2>
</multimap:Messages>
Case 2: Input:
<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
<multimap:Message1>
<VM/>
</multimap:Message1>
<multimap:Message2>
<root>
<event/>
<notification>
<goodsHolders>
<goodsHolderMeasures>
<netWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</netWeight>
<grossWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</grossWeight>
</goodsHolderMeasures>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
</goodsHolders>
<goodsHolders>
<goodsHolderMeasures>
<netWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</netWeight>
<grossWeight>
<measureValue>6.45</measureValue>
<measureUOM>KG</measureUOM>
</grossWeight>
</goodsHolderMeasures>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
</goodsHolders>
</notification>
</root>
</multimap:Message2>
</multimap:Messages>
Output:
<?xml version='1.0' encoding='UTF-8'?>
<multimap:Messages xmlns:multimap="http://sap.com/xi/XI/SplitAndMerge">
<multimap:Message1>
<VM/>
</multimap:Message1>
<multimap:Message2>
<root>
<event/>
<notification>
<goodsHolders>
<goodsHolderMeasures>
<netWeight>
<measureValue>12.9</measureValue>
<measureUOM>KG</measureUOM>
</netWeight>
<grossWeight>
<measureValue>12.9</measureValue>
<measureUOM>KG</measureUOM>
</grossWeight>
</goodsHolderMeasures>
<goodsHolderItems>
<deliveryNoteNumber>123</deliveryNoteNumber>
</goodsHolderItems>
</goodsHolders>
</notification>
</root>
</multimap:Message2>
</multimap:Messages>