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.)
- Getting Started for Users
- DFDL Specification
- Getting Daffodil - instructions for downloading the command-line version
- Dependencies & Licenses
- Unsupported Features & Errata Implemented/Not-Implemented by release
- Command Line Interface
- Interactive Debugger
- Eclipse Setup for DFDL Users - setting up an Eclipse development environment to help with authoring DFDL schemas.
- Examples - try these out to get started
- How to Report a Bug
- DFDL Frequently Asked Questions (FAQ)
You can skip this at first, but eventually you will want to understand:
- Daffodil and the DFDL Infoset - shows how Daffodil maps the DFDL Infoset into an XML Document Infoset.
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.
- Getting Daffodil - will download the jars, as well as the command line environment that you may find convenient to use.
- Javadoc for the Daffodil API
- Scaladoc for the Daffodil 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.
(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.)