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
