Everyone using Daffodil with XML wants to use a variety of XML
Schema-oriented tools with that XML.

Unfortunately, experience has taught us that the include/import behavior
for schemaLocation varies across tools. The XSD standard from w3c really
only says schemaLocations are "hints", resulting in very different
interpretations of how they should work.
Only some XML tools allow plugable schema location resolvers, and only Java
based such tools can plug in the Daffodil resolver.

Experiments have shown that the only common denominator that works on every
XSD tool is all files of the schema live in a single directory so that
import/include is always able to find a "peer" file.

So a feature to "flatten" the schema's tree-like directory structure into a
single directory is needed so as to provide a version of the schema that
can be used by XSD validators. This must do renaming of all the files to
avoid collisions and then adjust the include/import statements accordingly.
It also must grab files from all the components that make up the schema, as
many schemas have multiple components now. It also must cope with the
includes of Daffodil-supplied include files.

My employer Owl has developed a stand-alone tool to do this flattening. It
works well, but having it be a separate plugin that is not available to the
entire Daffodil community is problematic when the rest of the things needed
for Daffodil are all open source.

Thoughts? Discussion?

Mike Beckerle
Apache Daffodil PMC | daffodil.apache.org
OGF DFDL Workgroup Co-Chair | www.ogf.org/ogf/doku.php/standards/dfdl/dfdl
Owl Cyber Defense | www.owlcyberdefense.com

Reply via email to