Hi Folks,

DFDL is a language for describing data formats, right?

Well, it is that. But, I will argue, it is not purely that. It is muddied by 
other stuff. Here's how so.

Consider DFDL's sub-language for describing how data formats escape data. With 
that sub-language you can describe what a data format's escape character(s) are 
and what character(s) escape the escape characters. Good. That is pure 
descriptive.

But, as Steve pointed out this morning, DFDL also has dfdl:encodingErrorPolicy 
which is most definitely not describing any aspect of data formats. In fact, 
look at what Steve wrote:

The dfdl:encodingErrorPolicy determines the behavior of Daffodil when there's 
an encoding problem. Unfortunately, Daffodil currently only supports "replace" 
and not "error".

Note what I highlighted in yellow ... the behavior of Daffodil. That's not 
descriptive. It's an instruction to Daffodil.

One could imagine a description of a data format being used in some other way, 
by some tool other than Daffodil, and in which behavioral instructions are 
meaningless.

Assert:  mixing instructions to a tool into a description language is bad. 
Surely, at a minimum, it destroys the beauty of the descriptive language.

Do you agree?

I welcome your comments.

/Roger

Reply via email to