Uploaded image for project: 'Daffodil'
  1. Daffodil
  2. DAFFODIL-2449

DFDLGeneralFormat.dfdl.xsd is not easily accessible for schema tools other than Daffodil

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • DFDL Schemas, Usability
    • None

    Description

      It is not uncommon to have something like the following in a DFDL schema:

        <xs:include schemaLocation="org/apache/daffodil/xsd/DFDLGeneralFormat.dfdl.xsd" />
      

      This is used to reference a DFDL schema distributed in Daffodil jars to provide a reasonable set of defaults for some DFDL properties. Because this schemaLocation is in a Daffodil jar, Daffodil is always able to find and use it when included in DFDL schemas.

      However, XML Schema validators other than Daffodil will not know how to find this file in a Daffodil jar. So if someone wants to use a schema that references this schemaLocation for something other than Daffodil parsing/unparsing (e.g. infoset schema validation), other tools will likely complain about a missing include. The only solution is to either ignore these errors, which might not always be possible, or find and download the file. But the file is only in our github repo, so there isn't an obvious way to find this file for people new to the project.

      One solution would be to upload this DFDL schema to the Daffodil website so it could be referenced like so:

        <xs:include schemaLocation="https://daffodil.apache.org/xsd/DFDLGeneralFormat.dfdl.xsd" />
      

      This way, schema validators that know how to retrieve an external schemaResource can do so. And for those that can't, this makes for an obvious place for users to manually download the resource.

      Note that Daffodil should almost certainly not download this file when included, but should instead see this URL and resolve to the file distributed in the Daffodil jar. There are many situtations where we do not want Daffodil going off box for schema resources (see DAFFODIL-602). For Daffodil, this would simply be a URI that happens to look like a URL that resolves to a file in our jars.

      We should also determine if there are any other schema resources distributed by Daffodil that could benefit from being put on our website for easy access.

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              slawrence Steve Lawrence
              Votes:
              0 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

                Created:
                Updated: