Hi Folks,
Long ago I read Euclid. It is a fabulous book. It begins with simple facts and 
then incrementally builds upon them using basic logic to formulate increasingly 
sophisticated concepts.
I want someone who has never heard of DFDL to understand why DFDL is relevant 
to them. I want to follow Euclid's approach: start with simple facts about data 
and then incrementally build upon them using basic logic. Hopefully, by the end 
of a series of steps the person will say, "Ah, yes, I see how DFDL is relevant 
to me." Below is my stab at this. Does each step follow from the previous 
steps? Is each step easy to understand? Are there typos? Am I missing steps? 
Are there flaws in my logic? Am I missing alternative explanations and 
conclusions?  Please help! /Roger
DFDL is relevant to you ... here's why
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. The 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 person who finds XML documents to be a more usable representation.
5. Consumers receiving data in a less desirable representation may wish to have 
it converted to a more usable representation.
6. A DFDL processor is a tool that converts one representation to another.
7. Converting a representation requires first understanding the representation.
8. Understanding a representation requires describing the representation.
9. DFDL is a language for describing data representations.
10. When 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 
converting the representation to a more usable representation, and then consume 
the data in its usable representation.

Reply via email to