Apache Daffodil is an open-source implementation of the DFDL specification that uses DFDL data descriptions to parse fixed format data into an infoset. This infoset is commonly converted into XML or JSON to enable the use of well-established XML or JSON technologies and libraries to consume, inspect, and manipulate fixed format data in existing solutions. Daffodil is also capable of serializing or “unparsing” data back to the original data format. The DFDL infoset can also be converted directly to/from the data structures carried by data processing frameworks so as to bypass any XML/JSON overheads.
For more information about Daffodil, see https://daffodil.apache.org/.
To execute Daffodil on Linux:
./bin/daffodil [options]
To execute Daffodil on Windows:
.\bin\daffodil.bat [options]
Use the --help
option or see the Command Line Interface documentation for details on its usage.
Daffodil comes with a built-in interactive debugger, allowing the user to pause parse/unparse and inspect various aspects of the state. To enable the interactive debugger, supply the global -d option when parsing or unparsing, for example:
./bin/daffodil -d parse --schema <path/to/schema.dfdl.xsd> input-file
When running the debugger, the user is provided with a command prompt, at which point the user can execute debugger commands to control the debugger and inspect state. Type help
at the command prompt to get information on the debugger commands, or help <command>
to get information about a specific command.
See the Interactive Debugger page for its detailed usage.
For questions, we can be reached at the dev@daffodil.apache.org or users@daffodil.apache.org mailing lists. Bugs can be reported via the Daffodil JIRA.
Daffodil is licensed under the Apache License, v2.0
This product bundles the JavaBeans Activation Framework, which is licensed under the Common Development and Distribution License Version 1.1.
This product bundles the Saxon XSLT and XQuery Processor from Saxonica Limited, which is licensed under the Mozilla Public License Version 2.0.