[
https://issues.apache.org/jira/browse/DAFFODIL-2636?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Steve Lawrence updated DAFFODIL-2636:
-------------------------------------
Fix Version/s: (was: 3.4.0)
> Create extension feature to allow complex type nilValue other than just %ES
> ----------------------------------------------------------------------------
>
> Key: DAFFODIL-2636
> URL: https://issues.apache.org/jira/browse/DAFFODIL-2636
> Project: Daffodil
> Issue Type: New Feature
> Components: Back End, Front End
> Affects Versions: 3.2.1
> Reporter: Mike Beckerle
> Priority: Major
>
> 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.
>
>
>
--
This message was sent by Atlassian Jira
(v8.20.10#820010)