Daffodil 1.0 DFDL Implementation Released
Daffodil 1.0 is a monumental milestone that denotes stability and usability, and is ready for general availability.
Tresys Technology, LLC is pleased to announce the release of Daffodil
1.0! Binaries are available at:
https://opensource.ncsa.illinois.edu/projects/artifacts.php?key=DFDL
Daffodil is the open source implementation of the Open Grid Forum's
Data Format Description Language (DFDL) specification.
http://www.ogf.org/dfdl
DFDL is a language capable of describing many data formats, including
textual and binary, commercial record-oriented, scientific and numeric,
modern and legacy, and many industry standards. It leverages XML
technology and concepts, using a subset of W3C XML schema type system
and annotations to describe such data formats. Daffodil uses this
description to parse data into an XML infoset for ingestion and validation.
Daffodil 1.0 is a monumental milestone that denotes stability and
usability, and is ready for general availability. Major features
that make up this release include:
- Command line interface available for Linux, Windows, and Mac
- API available in both Java and Scala
- Interactive debugger to incrementally step through a parse
- Test harness using Test Data Markup Language (TDML)
- Ability to save and reload Daffodil parsers
- Support for parsing both textual and binary data
- Unbounded lookahead with backtracking guided by asserts and
discriminators
- Numeric representations in text and two's complement binary
- Reusable definitions of formats and escape schemes
- DFDL expressions and variables for dynamic formats
- Delimited text with initiators, terminators, and separators
- Text justification (left, right, or center) with padding
- Binary data alignment, byte order, and bit order
- Fixed and variable data lengths
- Simple types like string, integer, floating point, hexBinary, date,
and time
- Ordered sequences and choices
- Arrays with fixed or variable repetitions
- XSD facets and restrictions for validation
Although Daffodil has reached this milestone, Daffodil continues active
development, with some features not yet available. Changes planned for
the future include:
- Unparsing support
- Performance improvements
- Unordered sequences
- New variable instances
- Boolean and binary calendar types
- Fixed and default XSD attributes
- IBM Mainframe numeric representations, including packed and zoned
binary
- Bi-directional text
- Floating elements
For a more detailed list of unsupported features, visit the unsupported
features and errata pages:
https://opensource.ncsa.illinois.edu/confluence/display/DFDL/Unsupported+Features
https://opensource.ncsa.illinois.edu/confluence/display/DFDL/Unsupported+Errata
For a complete list of all open tickets, visit the Daffodil bug tracker:
https://opensource.ncsa.illinois.edu/jira/browse/DFDL/
For more information on Daffodil, visit the Daffodil wiki:
https://opensource.ncsa.illinois.edu/confluence/display/DFDL/
For questions and support, the development team is available on the
Daffodil mailing list:
http://oss.tresys.com/mailman/listinfo/daffodil-users
as well as XMPP HipChat:
http://hipchat.ncsa.illinois.edu/gvZdmJHmq
If you are interested in becoming a Daffodil contributor, visit the
daffodil wiki or the developers mailing list:
https://opensource.ncsa.illinois.edu/confluence/display/DFDL/
http://oss.tresys.com/mailman/listinfo/daffodil-dev
Thanks to everyone that has helped to make this milestone possible!
Comments