// the find
xlate/staedi
StAEDI - Streaming API for EDI: Java library featuring a reader/parser, writer/generator, and validation
StAEDI is a Java streaming library for reading, writing, and validating EDI documents — X12, EDIFACT, and TRADACOMS. The API mirrors StAX (the XML streaming API in the JDK), so if you've parsed XML that way, the mental model transfers directly. It's for Java developers who need to process EDI files in supply chain, healthcare (HIPAA 837), or logistics systems without pulling in a full EDI integration platform.
The StAX-style pull API is the right call for EDI — EDI files can be large and segment-oriented, so event-driven streaming beats DOM-style loading. The schema validation layer is genuinely useful: you can supply your own XML schema file to validate against implementation guides (like HIPAA 005010X222), not just the base standard. Supporting JSON output via Jakarta JSON Processing and Jackson adapters is a practical touch — most EDI data eventually ends up in a system that speaks JSON. Test coverage looks solid: there are schema-specific test resources, issue-reproducing fixtures, and wiki-matching integration tests, which signals the maintainer actually fixes bugs rather than closing them.
The schema XML format is the main friction point — you have to write or obtain XML schema files to do anything beyond basic structural parsing, and there's no tooling in this repo to generate them from standard IG PDFs. The built-in control schemas cover only a handful of X12 versions (00200, 00402, 00704) and minimal EDIFACT releases; if you're on a common version like 005010, you're writing your own schema. The StAX-style API is also verbose by design — reading a simple 837 transaction involves a lot of switch-case boilerplate that higher-level APIs could abstract, but none exist here. TRADACOMS support looks thin relative to X12 and EDIFACT based on test resources, so don't rely on it for anything production-grade.