[February 17, 2001] "A number of EDI software vendors, including Extol, FORESIGHT, Paperfree, Dynamic Web, RTCI, and Washington Publishing are working together to develop a new XML based markup language for the rendition of EDI implementation guidelines and standards. Implementation Guideline Markup Language (igML) will serve many of the same purposes as SEF, and the IMPDEF and DIRDEF EDIFACT messages, with important extensions. igML is not another schema language - under no circumstances does it 'compete' with the myriad schema proposals out there like SOX, XML-Data, or most importantly, W3C's XML Schema for structures and datatyping. Right now we define igML in terms of an XML 1.0 DTD, but as soon as the W3C has elevated the draft of the XML Schema specification to a recommendation, we'll come out with a schema definition of igML, also. Nor is igML a solution for X12 to XML conversion. We're merely using XML markup to encapsulate all the information contained in an EDI guideline -- kind of an XML version of SEF or IMPDEF."
IgML Sample Source Code: "Work is proceeding on 'free' sample igML code which will demonstrate use of igML documents containing either base directories of X12 or EDIFACT standards, or implementation guidelines derived therefrom. The C++ sample code is a standalone utility with a simple Windows front-end, with all source freely available, along with a project file. The code will demonstrate igML traversal and recombination of igML guidelines with base directories. The code can be used freely by any company. Attention should be paid to the ReadMe.txt file; it has some legal verbiage to assure people that they can use the code without contaminating the rest of their product (as the GNU license seems to do) in which the igML code has been incorporated... The igML sample code will take an igML representation of a complete X12 or EDIFACT base directory and produce either the 'legacy' DISA table data output or the R.1023 output format. These were chosen simply to illustrate igML traversal. Version 2 of the C++ code, which uses DOM to traverse igML, is available now by downloading IGMLSourceFiles, which is a 560KB ZIP file containing all needed source and include headers and a project file. Please read the ReadMe.txt file for instructions on installing the sample code. It is suggested that you create a separate directory for the source code on your hard drive. Version 2 of the source code now demonstrates usage of implementation conventions (ICs). The code will traverse an IC, recombining it with the base X12 or EDIFACT directory. It will produce a complete igML XML document with all nodes filled in as a result of the recombination. This recognizable result will show the logic works, better enabling translator companies to see what's going on in the program so they can modify or extend the code for priming maps. All nodes are filled in with all details, resulting in a really huge XML igML document..."
FORESIGHT's EDISIM Professional Suite of EDI productivity tools (Version 4.0) "can import and export EDI guidelines in XML (eXtensible Markup Language) format. EDISIM supports the import of igML and gXML, and export of igML. XML guidelines can be directly imported into EDI translators to significantly reduce mapping time. Another benefit of providing guidelines in XML format is that future browsers will support XSL (the eXtensible Stylesheet Language) which will provide a means for EDISIM customers to customize the format of their EDI implementation guidelines..."
Recombination of igML guidelines with base directories: "igML guidelines are produced on the assumption that the base standard is available for filling in the missing parts of the guideline. igML is intended to be the standard import and export format for our products, and there's no need for us to carry along information which isn't needed and can be inferred from the base standards (X12, EDIFACT). This allows the igML guideline export file to be of manageable size; to carry along all redundant information would cause the files to balloon to enormous and unusable size. Expected igML export file size would probably be around 20 to 50K, depending on how many transaction sets or messages were contained in the guideline. A full standard, by contrast, like the complete ASC X12 004010 standard in igML format, would take a gargantuan 6 megabytes!... The igML guideline as produced by EDISIM will contain the minimum amount of information needed to reconstruct the guideline, assuming the presence of the necessary base standard at the target machine. This is also the approach taken by IMPDEF, in that guidelines are represented as a 'delta' from a base standard. Take a tiny igML guideline from your trading partner, add water (i.e., the base standard), and voilà, you can resurrect the complete implementation guideline looking exactly the same as it did on the partner's machine..." [cache]
Also on normalization/verbosity: "Processing speed certainly has much to do with the size of messages, though it's not so much to do with the 'verbosity of XML.' It's the temptation to be explicit for everything, even that which can be inferred, which vastly adds to bulk and effort to consume. For example, sending all IDs and descriptions in a product order, when a single UPC/EAN code would suffice (assuming catalogs are available). As an extreme example, see http://www.igml.org/, where under recombination of igML guidelines, we discuss why igML renditions of EDI implementation guidelines are maintained as "deltas" rather than as a full copy of a guideline. The missing parts of an EDI guideline can be filled in from the base X12 or EDIFACT standard dictionaries, so there's no need to carry all that bulk in the igML message. This, of course, means that a simple XSLT script would not be able to directly render the igML message as an understandable and readable EDI implementation guideline; instead logic has to be applied to 'recombine' the igML 'delta' with a full EDI standard, whether in a database or in an igML file in it's own right." [ebXML posting]
References:
igML Version 1.0 XML DTD as implemented by EDISIM 4.0. "The igML file will contain all objects necessary to recreate the guideline. Any text information that can be deduced from the base standard will not be included in the igML file. If the igML file is a base standard, then all text will be included." [cache]
ASC X12 sample. Zipped XML file of the complete ASC X12 003030 standard. [cache]
EDIFACT sample. Zipped XML file of the complete EDIFACT D00A Standard. [cache]
William J. Kammerer's post to ebXML list: "igML - the Implementation Guide Markup Language - is used to represent EDI guidelines and standards, at http://www.foresightcorp.com/igmldev/. igML uses recursion to say that a segment group consists of a segment reference (the loop "trigger"), followed by any number of segment references or groups: <!ELEMENT Group ( Text*, SegmentRef, (SegmentRef|Group)* ) >. Duane Nickull questions whether recursion would be needed, and certainly, igML is a meta-language, somewhat different from your run-of-the-mill business messages. But is recursion all that foreign to ordinary EDI? The 856, with its nested HL loop to represent Shipments, orders, tares, packs and items might require a recursive definition, though each of those packing levels might alternatively be defined to avoid recursion (though they'd still be nested). But there are still other X12 transaction sets, like the 816 (Organizational Relationships), where you may have to use a recursive structure (again, using the HL) to show a company's relationship to its subsidiaries. If recursion indeed happens in X12 or EDIFACT (and not just in the artifacts of syntax) to represent real business "stuff" - then we'll have to be prepared to handle it..."
See also [?]: GUIDE Business Transaction Markup The 'Version 0.13, 12 September 2000' draft says: "...the element reference layer is designed to support an extensible list of information reference types, some examples have been included: XForm, SQL, EDI (igML) and MSL (schema)..." refs also "igML.org definitions" and "full igML XML syntax". [to check, cache]
The igML EDI dictionary specifications [live web site?]