Forums » #117 - DFDL v1.0 Revision »
Direct dispatch choice limited to elements
Added by Steve Hanson about 9 years ago
Given that the direct dispatch choice mechanism does not use QNames or anything else which is element specific, I am not sure why all choice branches must be elements. I can't see any issues with allowing local sequence, local choice and group ref to carry dfdl:choiceBranchKey (other than a minor clarity issue if a choice carries both dfdl:choiceBranchKey and dfdl:choiceDispatchKey).
Replies (8)
RE: Direct dispatch choice limited to elements - Added by Michael Beckerle almost 9 years ago
Does the IBM implementation have direct dispatch? Daffodil does not today.
If you are confident there is no issue then I'm not opposed to removing this elements-only restriction.
RE: Direct dispatch choice limited to elements - Added by Steve Hanson almost 9 years ago
IBM DFDL has not implemented direct dispatch choice yet.
RE: Direct dispatch choice limited to elements - Added by Michael Beckerle almost 9 years ago
One reason to keep the restriction, is that we require elements for many other situations, and implementations may want to depend on that to make diagnostics/trace information clearer. In some sense, not having that restriction here is less consistent with the rest of DFDL currently.
Resolved - RE: Direct dispatch choice limited to elements - Added by Michael Beckerle almost 9 years ago
This restriction is unnecessary, and will be removed.
Direct dispatch choices should not be limited only to elements as the children of the choice.
Resolved: Direct dispatch choice limited to elements - Added by Steve Hanson over 8 years ago
Updated erratum 3.15 in experience document 1.
RE: Direct dispatch choice limited to elements - Added by Mark Frost over 8 years ago
A couple of further points relating to direct choice dispatch:
1) There's no statement that every branch must have a choiceBranchKey. Adding something like this to section 15.1.2 could prevent confusion about parsing for branches without a value (eg. should they be tried if no specified keys match?) :
"It is a schema definition error if any choice branch does not specify a dfdl:choiceBranchKey in a choice that carries choiceDispatchKey"
2) Some wording in 15.1.2 could be a little clearer.
gwdrp-dfdl-v1.0.4.docx section 15.1.2 contains :
"It [The dfdl:choiceBranchKey property] must be unique within one choice when placed on element references or local element declarations."
Mentioning what it can be placed on seems redundant (and after changes in this thread would be any member kind allowed by DFDL), I think this is just saying that all values within one choice must be unique.
DONE - RE: Direct dispatch choice limited to elements - Added by Michael Beckerle over 8 years ago
changes in draft-gwdrp-dfdl-v1.0.4-r06.docx
(1-8/8)