You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@daffodil.apache.org by "Costello, Roger L." <co...@mitre.org> on 2019/11/18 17:15:55 UTC

Version 2: Euclid-like reasoning for why one should use DFDL

Hi Folks,

I updated the Euclid-like list per Mike's comments. See below. All comments are much appreciated.  /Roger

1. Everywhere one turns one sees data being created and consumed.

2. Not only do humans create and consume data, but software and hardware do as well.

3. Data is represented (structured, formatted) in various ways.

4. A data consumer may find one representation more usable (efficient, practical, suitable) than another. For example, the data to be consumed is in a textual Comma Separated Value (CSV) representation but the consumer is a Java application which finds Java objects to be a more useable representation. Another example: the data to be consumed is in a binary representation but the consumer is a human being who finds XML documents to be a more usable representation.

5. Consumers receiving data in a less desirable representation may wish to have it transformed to a more usable representation.

6. Transforming a representation requires first understanding the representation.

7. Understanding a representation requires describing the representation.

8. DFDL is a language for describing representations.

9. A DFDL processor is a tool that understands the DFDL language.

10. A DFDL processor can transform representation A to multiple other representations by using a DFDL description of A.

11. Therefore ... when the data to be consumed is in a less desirable representation, use DFDL to describe the data, provide the DFDL description to a DFDL processor for transforming the representation to a more usable representation, and then consume the data in its usable representation.