Hi all,

In giving hands-on training on DFDL, I've discovered that the
recommended file-system layout for DFDL schema projects (here:
https://daffodil.apache.org/dfdl-layout/) has been an impediment to
students/users. This is due to the file-tree being quite deep and not
"CLI user" friendly because of the long file path names that must be
typed repeatedly.

Following the standard layout requires typing long tedious CLI command
lines like:

   daffodil parse -s src/main/resources/com/owl/xsd/mySchema.dfdl.xsd
src/test/resources/com/owl/data/myData.dat

What we want to type is more like:

    daffodil parse -s src/mySchema.dfdl.xsd test/myData.dat

I've converted the DFDL CSV schema example (here:
https://github.com/DFDLSchemas/CSV) to use simplified conventions
where this shorter command line works.

This new project layout is nearly flat, with just a "src" and "test"
subdirectory to navigate, yet retains most good properties:
* Schema projects can still contain built-in-self-test (BIST) that is
easy to run via 'sbt test', or 'daffodil test -iii test/mySchema.tdml'
* Schemas are packaged as jar files for reuse via managed dependencies
between DFDL schemas. (via 'sbt package' and/or 'sbt publishLocal')
* Schemas can be readily shared using online hubs like Maven Central
in exactly the same way that software packages are shared.
* Test-related materials are kept separate from the "real" DFDL schema
files, and are not packaged into the jars.
* IDEs like Jetbrains IntelliJ IDEA are able to discover the project
structure and work normally.

So please take a look at CSV here: https://github.com/DFDLSchemas/CSV
and send any feedback about these changes as replies to this message.

Thanks

Mike Beckerle
Apache Daffodil Project

Reply via email to