XML/EDIFACT

XML/EDIFACT is an Electronic Data Interchange (EDI) format used in Business-to-business transactions. It allows EDIFACT message types to be used by XML systems.

EDIFACT is a formal machine-readable description of electronic business documents. It uses a syntax close to delimiter separated files. This syntax was invented in the 1980s to keep files as small as possible. Because of the Internet boom around 2000, XML started to become the most widely supported file syntax. But for example, an invoice is still an invoice, containing information about buyer, seller, product, due amount. EDIFACT works perfectly from the content viewpoint, but many software systems struggle to handle its syntax. So combining EDIFACT vocabulary and grammar with XML syntax makes XML/EDIFACT.

The rules for XML/EDIFACT are defined by ISO TS 20625.

Use-cases
XML/EDIFACT is used in B2B scenarios as listed below:


 * 1) Newer EAI or B2B systems often cannot handle EDI (Electronic Data Interchange) syntax directly. Simple syntax converters do a 1:1 conversion before. Their input is an EDIFACT transaction file, their output an XML/EDIFACT instance file.
 * 2) XML/EDIFACT keeps XML B2B transactions relatively small. XML element names derived from EDIFACT tags are much shorter and more formal than those derived from natural language since they are simply expressions of the EDIFACT syntax.
 * 3) A company does not want to invest into new vocabularies from scratch. XML/EDIFACT reuses business content defined in UN/EDIFACT. Since 1987, the UN/EDIFACT library was enriched by global business needs for all sectors of industry, transport and public services.
 * 4) Large companies can order goods from small companies via XML/EDIFACT. The small companies use XSLT stylesheets to browse the message content in human readable forms, as shown in Example 3.

Example 1: EDIFACT source code
A name and address (NAD) segment, containing customer ID and customer address, expressed in EDIFACT syntax:

Example 2: XML/EDIFACT source code
The same information content in an XML/EDIFACT instance file:

Example 3: XML/EDIFACT in a browser
The same XML/EDIFACT instance presented with help of an XSLT stylesheet: