Hi Folks,

The idea behind DFDL is to _describe_ a data format using a formal language 
(the DFDL language). That description is handed off to a tool (a DFDL 
processor) which understands the DFDL language. Also, an instance of the data 
format is provided to the DFDL processor. The DFDL processor uses the 
description to figure out how to parse the instance document. The DFDL 
processor creates an in-memory representation of the instance document. Then, 
depending how you configured the DFDL processor, the in-memory representation 
is serialized (output) as XML. Or JSON. Or EXI. Or some other form. 

The description is declarative. It states _what_ is the structure of the data 
format. (Get a data format SME to help with the description of the data 
format.) The description doesn't say _how_ to parse the data format. The DFDL 
processor figures out how to parse the data format using the description of its 
structure. 

Plus, the same description that is used to _parse_ the data format is used to 
_unparse_ the XML (or JSON or EXI, etc.):

data format --> DFDL (parse) --> XML --> DFDL (unparse) --> data format

That is brilliant!
------------------------------------------------------------
Seek your insights: I am about to send the above message to some internal folks 
to get them excited about DFDL. Is there anything you would add to the above 
message?

/Roger

Reply via email to