TEXT id mapping requirement. idoc to edi and edi 2 idoc using template
https://xsltfiddle.liberty-development.net/
IDOC 2 EDI
<?xml version="1.0" encoding="utf-8" ?>
<ZORDERS0502>
<IDOC BEGIN="1">
<E1EDKT1 SEGMENT="1">
<TDID>TX01</TDID>
<TSSPRAS>E</TSSPRAS>
<TSSPRAS_ISO>EN</TSSPRAS_ISO>
<E1EDKT2 SEGMENT="1">
<TDLINE>NAD+SU+7983279846276487264</TDLINE>
<TDFORMAT>*</TDFORMAT>
</E1EDKT2>
<!-- <E1EDKT2 SEGMENT="1">
<TDLINE>NAD+ST+983279846276487264-ABC</TDLINE>
<TDFORMAT>*</TDFORMAT>
</E1EDKT2>-->
<E1EDKT2 SEGMENT="1">
<TDLINE>NAD+BY+79846276487264-123</TDLINE>
<TDFORMAT>*</TDFORMAT>
</E1EDKT2>
<E1EDKT2 SEGMENT="1">
<TDLINE>NAD+BT+79846276487264-123</TDLINE>
<TDFORMAT>*</TDFORMAT>
</E1EDKT2>
</E1EDKT1>
</IDOC>
</ZORDERS0502>
-----------------------
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<!-- Match the root element and transform its child elements -->
<xsl:template match="/">
<xsl:apply-templates select="ZORDERS0502"/>
</xsl:template>
<!-- Transform ZORDERS0502 element -->
<xsl:template match="ZORDERS0502">
<EDIFACT>
<ORDERS>
<xsl:apply-templates select="IDOC/E1EDKT1/E1EDKT2[starts-with(TDLINE, 'NAD+')]"/>
</ORDERS>
</EDIFACT>
</xsl:template>
<!-- Transform E1EDKT2 element -->
<xsl:template match="E1EDKT2">
<GROUP_2>
<NAD>
<NAD01>
<xsl:value-of select="substring(TDLINE, 5, 2)"/>
</NAD01>
<NAD02>
<NAD0201>
<xsl:value-of select="substring(TDLINE, 8)"/>
</NAD0201>
<NAD0203>9</NAD0203>
</NAD02>
</NAD>
</GROUP_2>
</xsl:template>
</xsl:stylesheet>
------------
<?xml version="1.0" encoding="UTF-8"?>
<EDIFACT>
<ORDERS>
<GROUP_2>
<NAD>
<NAD01>SU</NAD01>
<NAD02>
<NAD0201>7983279846276487264</NAD0201>
<NAD0203>9</NAD0203>
</NAD02>
</NAD>
</GROUP_2>
<GROUP_2>
<NAD>
<NAD01>BY</NAD01>
<NAD02>
<NAD0201>79846276487264-123</NAD0201>
<NAD0203>9</NAD0203>
</NAD02>
</NAD>
</GROUP_2>
<GROUP_2>
<NAD>
<NAD01>BT</NAD01>
<NAD02>
<NAD0201>79846276487264-123</NAD0201>
<NAD0203>9</NAD0203>
</NAD02>
</NAD>
</GROUP_2>
</ORDERS>
</EDIFACT>