This is the home of the Daffodil open source implementation of the Open Grid Forum's Data Format Description Language (DFDL) standard.

There is information here for DFDL Users, as well as for Daffodil Developers.

What is Daffodil?

A program that reads a DFDL Schema, and parses data as described by that schema to create an XML document.

In the future there will be a symmetric data serializer (or unparser as we like to call it.)

For Users:

You can skip this at first, but eventually you will want to understand:

For Developers:

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.

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.

(Under construction, but there will be links here to the pages that show you how to check-out, build, and run Daffodil as a developer using the Scala programming language, some of our project workflow practices, some Scala idioms we use, and so forth.)

Recent Project Activity Highlights:

Navigate space