Edival is a simple EDI file parsing and validation library for the EDIFACT and X12 EDI standards. It is a stream-based parser in which an application defines event handlers for structures that the parser will find in a file, e.g. elements and segments.
|Tags||Text Processing General Software Development Libraries|
Release Notes: This cumulative release contains many updates from the past two months. Fixes include X12 repetition handling, an X12 delimiter storage array size bug, and a schema tree initialization bug that caused memory access violations. New features include EDIFACT data parsing, and document start (ISA/UNA/UNB) and end (IEA/UNZ) event handlers, which are required to be set in the parser.
Release Notes: This release contains an API enhancement that allows application programs to receive pre-converted numeric values in the form of a new EDI_DataElement structure. The structure also notifies of the element's type so that the application does not have to worry about consulting the schema once it is loaded. Interchange/Batch standards for X12 data are now rules-based. The standards that were hard-coded several versions ago in the x12 Parser module have been removed. The code was cleaned up throughout the library.
Release Notes: The name of the function used to register binary elements was fixed and now matches the API. Major API changes were made in complextype.[ch], edival.h, and simpletype.[ch]. Multiple functions can now be called without relying on passing a schema pointer as an argument. Internal calls throughout the library were appropriately. The return of EDI_AppendType was changed to be the parent rather than the child.
Release Notes: Parsing support for the X12 binary element (found in transaction 275 for example) was added. This includes a new callback definition in the main library for elements of this type. See the API in edival.h for information on usage. Several code clean-ups and removal of C++ style comments took place as well.
Release Notes: Loop/composite notification handlers were added, and the "composite element" handler was removed. This was done to remove ambiguity in the case where multiple composites are situated in adjacent element locations within a segment. Segment validation code was updated to fix a bug where mandatory elements beyond the final element sent were not checked for usage. scan837 was also changed to print out a pseudo-XML.