XML to EDIFACT component
The XML to EDIFACT component converts XML messages as produced by the EDIFACT to XML component into UN/EDIFACT.
The EDIFACT to XML component can be used to convert EDIFACT messages to XML in order to, for example, process them with the [XSLT component]({% post_url 2014-01-01-xslt %}). After processing the XML messages, they can be converted back to UN/EDIFACT using the XML to EDIFACT component.
Example input
<env:unEdifact xmlns:env="urn:org.milyn.edi.unedifact.v41">
<env:UNB>
<env:syntaxIdentifier>
<env:id>UNOA</env:id>
<env:versionNum>2</env:versionNum>
</env:syntaxIdentifier>
<env:sender>
<env:id>8714252014808</env:id>
<env:internalId>14</env:internalId>
</env:sender>
<env:recipient>
<env:id>8714252011517</env:id>
<env:internalId>14</env:internalId>
</env:recipient>
<env:dateTime>
<env:date>130402</env:date>
<env:time>1219</env:time>
</env:dateTime>
<env:controlRef>24535</env:controlRef>
</env:UNB>
<env:interchangeMessage xmlns:c="urn:org.milyn.edi.unedifact:un:d96a:common" xmlns:iftmin="urn:org.milyn.edi.unedifact:un:d96a:iftmin">
<env:UNH>
<env:messageRefNum>24546</env:messageRefNum>
<env:messageIdentifier>
<env:id>IFTMIN</env:id>
<env:versionNum>D</env:versionNum>
<env:releaseNum>96A</env:releaseNum>
<env:controllingAgencyCode>UN</env:controllingAgencyCode>
</env:messageIdentifier>
</env:UNH>
<iftmin:IFTMIN>
<iftmin:BGM>
<c:C002>
<c:e1001>340</c:e1001>
</c:C002>
<c:e1004>347605</c:e1004>
<c:e1225>9</c:e1225>
</iftmin:BGM>
<iftmin:DTM>
<c:C507>
<c:e2005>137</c:e2005>
<c:e2380>20130402</c:e2380>
<c:e2379>102</c:e2379>
</c:C507>
</iftmin:DTM>
<iftmin:DTM>
<c:C507>
<c:e2005>2</c:e2005>
<c:e2380>20130404</c:e2380>
<c:e2379>102</c:e2379>
</c:C507>
</iftmin:DTM>
<iftmin:DTM>
<c:C507>
<c:e2005>200</c:e2005>
<c:e2380>20130403</c:e2380>
<c:e2379>102</c:e2379>
</c:C507>
</iftmin:DTM>
<iftmin:TSR>
<c:C536>
<c:e4065>11</c:e4065>
</c:C536>
<c:C537>
<c:e4219>N</c:e4219>
</c:C537>
</iftmin:TSR>
<iftmin:FTX>
<c:e4451>DEL</c:e4451>
<c:C108>
<c:e4440_-_-1>EXACT DONDERDAG 4.4 TUSSEN 8.15-12.00 UUR</c:e4440_-_-1>
<c:e4440_-_-2>AFLEVEREN</c:e4440_-_-2>
</c:C108>
</iftmin:FTX>
<iftmin:Segment_group_2>
<iftmin:TOD>
<c:e4055>6</c:e4055>
<c:C100>
<c:e4053>CIP</c:e4053>
</c:C100>
</iftmin:TOD>
</iftmin:Segment_group_2>
<iftmin:Segment_group_11>
<iftmin:NAD>
<c:e3035>DP</c:e3035>
<c:C080>
<c:e3036_-_-1>DUMMY B.V.</c:e3036_-_-1>
</c:C080>
<c:C059>
<c:e3042_-_-1>VERLENGDE VOORBEELDWEG 123</c:e3042_-_-1>
</c:C059>
<c:e3164>AMSTERDAM</c:e3164>
<c:e3251>1234AB</c:e3251>
<c:e3207>670</c:e3207>
</iftmin:NAD>
</iftmin:Segment_group_11>
<iftmin:Segment_group_11>
<iftmin:NAD>
<c:e3035>CZ</c:e3035>
<c:C080>
<c:e3036_-_-1>DUMMY WIRE & CABLE B.V.</c:e3036_-_-1>
</c:C080>
<c:C059>
<c:e3042_-_-1>INDUSTRIEGEBIED: 1234</c:e3042_-_-1>
<c:e3042_-_-2>VOORBEELDWEG 10</c:e3042_-_-2>
</c:C059>
<c:e3164>AMSTERDAM</c:e3164>
<c:e3251>1234 AB</c:e3251>
<c:e3207>670</c:e3207>
</iftmin:NAD>
<iftmin:Segment_group_12>
<iftmin:CTA>
<c:e3139>IC</c:e3139>
<c:C056>
<c:e3412>JANE DOE</c:e3412>
</c:C056>
</iftmin:CTA>
<iftmin:COM>
<c:C076>
<c:e3148>+31(0)12 3456789</c:e3148>
<c:e3155>TE</c:e3155>
</c:C076>
</iftmin:COM>
</iftmin:Segment_group_12>
</iftmin:Segment_group_11>
<iftmin:Segment_group_11>
<iftmin:NAD>
<c:e3035>SF</c:e3035>
<c:C080>
<c:e3036_-_-1>DUMMY WIRE & CABLE B.V.</c:e3036_-_-1>
</c:C080>
<c:C059>
<c:e3042_-_-1>INDUSTRIEGEBIED: 1234</c:e3042_-_-1>
<c:e3042_-_-2>VOORBEELDWEG 10</c:e3042_-_-2>
</c:C059>
<c:e3164>AMSTERDAM</c:e3164>
<c:e3251>1234 AB</c:e3251>
<c:e3207>670</c:e3207>
</iftmin:NAD>
<iftmin:Segment_group_12>
<iftmin:CTA>
<c:e3139>IC</c:e3139>
<c:C056>
<c:e3412>JANE DOE</c:e3412>
</c:C056>
</iftmin:CTA>
<iftmin:COM>
<c:C076>
<c:e3148>+31(0)12 3456789</c:e3148>
<c:e3155>TE</c:e3155>
</c:C076>
</iftmin:COM>
</iftmin:Segment_group_12>
</iftmin:Segment_group_11>
<iftmin:Segment_group_11>
<iftmin:NAD>
<c:e3035>FW</c:e3035>
<c:C080>
<c:e3036_-_-1>LOGISTICS B.V.</c:e3036_-_-1>
</c:C080>
<c:e3251>1234 AB</c:e3251>
<c:e3207>670</c:e3207>
</iftmin:NAD>
</iftmin:Segment_group_11>
<iftmin:Segment_group_18>
<iftmin:GID>
<c:e1496>1.0</c:e1496>
<c:C213_-_-1>
<c:e7224>1.0</c:e7224>
<c:e7065>E827</c:e7065>
<c:e3055>9</c:e3055>
</c:C213_-_-1>
</iftmin:GID>
<iftmin:HAN>
<c:C524>
<c:e4079>UST</c:e4079>
<c:e3055>9</c:e3055>
</c:C524>
</iftmin:HAN>
<iftmin:Segment_group_20>
<iftmin:MEA>
<c:e6311>AAE</c:e6311>
<c:C502>
<c:e6313>G</c:e6313>
</c:C502>
<c:C174>
<c:e6411>KGM</c:e6411>
<c:e6314>24.0</c:e6314>
</c:C174>
</iftmin:MEA>
</iftmin:Segment_group_20>
<iftmin:Segment_group_20>
<iftmin:MEA>
<c:e6311>AAE</c:e6311>
<c:C502>
<c:e6313>GMC</c:e6313>
</c:C502>
<c:C174>
<c:e6411>MTQ</c:e6411>
<c:e6314>80.0</c:e6314>
</c:C174>
</iftmin:MEA>
</iftmin:Segment_group_20>
<iftmin:Segment_group_21>
<iftmin:DIM>
<c:e6145>1</c:e6145>
<c:C211>
<c:e6411>MTR</c:e6411>
<c:e6168>41.0</c:e6168>
<c:e6140>41.0</c:e6140>
<c:e6008>48.0</c:e6008>
</c:C211>
</iftmin:DIM>
</iftmin:Segment_group_21>
<iftmin:Segment_group_23>
<iftmin:PCI>
<c:e4233>33E</c:e4233>
</iftmin:PCI>
<iftmin:GIN>
<c:e7405>BJ</c:e7405>
<c:C208_-_-1>
<c:e7402_-_-1>00387142520086154710</c:e7402_-_-1>
</c:C208_-_-1>
</iftmin:GIN>
</iftmin:Segment_group_23>
</iftmin:Segment_group_18>
</iftmin:IFTMIN>
<env:UNT>
<env:segmentCount>98126</env:segmentCount>
<env:messageRefNum>24546</env:messageRefNum>
</env:UNT>
</env:interchangeMessage>
<env:UNZ>
<env:controlCount>1</env:controlCount>
<env:controlRef>24535</env:controlRef>
</env:UNZ>
</env:unEdifact>
Example output
UNA:+.? '
UNB+UNOA:2+8714252014808::14+8714252011517::14+130402:1219+24535'UNH+24546+IFTMIN:D:96A:UN'BGM+340+347605+9'DTM+137:20130402:102'DTM+2:20130404:102'DTM+200:20130403:102'TSR+11++N'FTX+DEL+++EXACT DONDERDAG 4.4 TUSSEN 8.15-12.00 UUR:AFLEVEREN'TOD+6++CIP'NAD+DP+++DUMMY B.V.+VERLENGDE VOORBEELDWEG 123+AMSTERDAM++1234AB+670'NAD+CZ+++DUMMY WIRE & CABLE B.V.+INDUSTRIEGEBIED?: 1234:VOORBEELDWEG 10+AMSTERDAM++1234 AB+670'CTA+IC+:JANE DOE'COM+?+31(0)12 3456789:TE'NAD+SF+++DUMMY WIRE & CABLE B.V.+INDUSTRIEGEBIED?: 1234:VOORBEELDWEG 10+AMSTERDAM++1234 AB+670'CTA+IC+:JANE DOE'COM+?+31(0)12 3456789:TE'NAD+FW+++LOGISTICS B.V.++++1234 AB+670'GID+1.0+1.0:E827::9'HAN+UST::9'MEA+AAE+G+KGM:24.0'MEA+AAE+GMC+MTQ:80.0'DIM+1+MTR:41.0:41.0:48.0'PCI+33E'GIN+BJ+00387142520086154710'UNT+24+24546'UNZ+1+24535'