I think extensibility would be great for DFDL. The DFDL workgroup punted on this as there was no such thing as an extensible format description language to generalize into a standard. We realized that unparsing was already breaking a lot of new ground, but it was a must-have feature.
So we had to draw a line somewhere on the number of untested new concepts in DFDL or it would never get done. It took 20 years as is to become standardized. Some format description languages may have been implemented this extensible way, but that was not a visible user feature in any one that I ever saw. As a research effort this is a good idea. Daffodil is available for use in prototyping if that's useful, and if it turns out to be valuable it could be proposed for inclusion in DFDL in the future. Some years ago I suggested this to someone as a thesis topic for a CS PhD project, but to my knowledge it didn't go anywhere. On Thu, Nov 2, 2023 at 10:20 AM Roger L Costello <coste...@mitre.org> wrote: > Hi Folks, > > Consider this input containing a date time value: > > 20230926T124800Z > > We can design the DFDL, using the xs:datetime datatype and associated DFDL > calendar properties, so that parsing produces this XML: > > <DateTimeIso>2023-09-26T12:48:00+00:00</DateTimeIso> > > That is beautiful XML - concise and precise. > > Next, consider input containing a lat/long value: > > 2006N-05912E > > It would be excellent if we could design the DFDL so that parsing produces > this: > > <OriginOfBearing>20°06′N 059°12′E</OriginOfBearing> > > That is also beautiful XML. > > In fact, it is possible to achieve this! By hiding the input and then > performing a bunch of transformations using dfdl:inputValueCalc. > > However, that's a terrible approach because, as Mike Beckerle often says, > "DFDL is not a transformation language!" > > If only we had a latlong datatype and associated DFDL latlong properties > ..... > > If only we could extend DFDL ....... > > How about making DFDL extensible? How about allowing users of DFDL to > create their own datatypes (actually, XSD already allows this) and allow > users to create their own DFDL properties for the user-defined datatype? > > That is, how about turning DFDL into extensible DFDL? > > Thoughts? > > /Roger >