This site has moved....
Daffodil is now
This Wiki page is being retained, but please go to the new web site or wiki.
- for users - see the Apache Daffodil (incubator) web site,
- for developers - see the Apache Daffodil (incubator) wiki.
Daffodil is the open source implementation of the Data Format Description Language (DFDL), a specification created by the Open Grid Forum. DFDL is 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. Daffodil uses this description to parse data into an XML infoset for ingestion and validation.
There are really two different kinds of developers. Those that want to embed Daffodil into an application, and those who want to contribute to Daffodil itself. These are not mutually exclusive.
Embedding Daffodil in an Application
If you want to embed Daffodil into some other system so that you can parse data using DFDL schemas to describe the format, then you can develop in Java or in Scala. There are APIs for both.
Please also see Quick projects to get started contributing to Daffodil as there are some very cool projects that really just require you to use Daffodil from its API.
Developing Daffodil Itself
If you want to help in the development of Daffodil itself, then you will need to know or learn Scala, because that's what it is written in.
an Apache Incubator project
For users, see the Apache Daffodil (incubating) web site
For developers, see the Apache Daffodil (incubating) wiki