juls_pro_37: xslt. 1.0 Segment zusammenführen

Beitrag lesen

Hier die Lösung:

<xsl:key name="gtin-group" match="Set_Item" use="GTIN"/>

<xsl:key name="gtin-ref-group" match="Set_Item" use="concat(GTIN, '|', ForwarderReferenceNumber)"/>

<xsl:template match="Set_Item[not(generate-id() = generate-id(key('gtin-group', GTIN)[1]))]"/>

<xsl:template match="ForwarderReferenceNumber">
  <xsl:copy-of select=". | key('gtin-group', ../GTIN)[generate-id() = generate-id(key('gtin-ref-group', concat(GTIN, '|', ForwarderReferenceNumber))[1])]/ForwarderReferenceNumber"/>
</xsl:template>