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

Create extension feature to allow complex type nilValue other than just %ES

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Major
    • Resolution: Unresolved
    • 3.2.1
    • 3.4.0
    • Back End, Front End
    • None

    Description

      Users have complained about the restriction in DFDL where nillable complex types cannot have any nilValue except %ES (empty string). This restriction makes many standard data formats much harder to model in DFDL, and the resulting schemas allow for less polymorphic path expressions, etc. When used with XML conversion, the XML is very unexpected in structure.  

      The DFDL workgroup precluded nilValue other than just %ES for nillable complex types  based on the way the DFDL spec describes parsing as establishing representation and determining known-to-exist and known-not-to-exist.  Which is to say that lifting this restriction may require that documentation within the DFDL spec to change. 

      However, if the feature is compelling to have, which it seems to be, then the documentation of the parsing algorithm can and should be adapted to the reality.

      So this ticket is to add an experimental feature to Apache Daffodil which lifts the restriction of nillable complex types only being %ES. 

      This feature will require an enabling property. The property should be defined in the dfdlx namespace. Suggest dfdlx:enableExtendedComplexTypeNilValues=yes/no. 

      Once we have this prototyped/implemented in Daffodil, the right changes to the description of the parsing algorithm in the DFDL specification should be much easier to formulate. 

       

       

       

      Attachments

        Activity

          People

            Unassigned Unassigned
            mbeckerle Mike Beckerle
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

              Created:
              Updated: