I don't agree, because unlike an array
with a fixed number of occurrences, it
is a processing error if the value of the expression does not match
any of the dfdl:choiceBranchKey property values for any of the branches.
Which currently causes backtracking because there is a PoU.
I consider direct dispatch as more like the
use of dfdl:initiatedContent when resolving a choice.
This is not a behaviour that can be changed
in DFDL 1.0, it would affect too many existing schemas. For example, IBM's
DFDL schemas for SWIFT make heavy use of direct dispatch.
Regards
Steve Hanson
IBM Hybrid Integration, Hursley, UK
Architect, IBM
DFDL
Co-Chair, OGF
DFDL Working Group
smh@uk.ibm.com
tel:+44-1962-815848
mob:+44-7717-378890
Note: I work Tuesday to Friday
From:
Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:
DFDL-WG <dfdl-wg@ogf.org>
Date:
13/07/2020 14:50
Subject:
[EXTERNAL] [DFDL-WG]
clarification needed: choice with direct dispatch
is/is-not a PoU
Sent by:
"dfdl-wg"
<dfdl-wg-bounces@ogf.org>
Just like an array with a computed number of occurrences,
I believe a choice with direct dispatch should have no PoU.
But the spec has this phrase "An xs:choice is always
a point of uncertainty. It is resolved sequentially, or by direct dispatch."
Which suggests there is a role for asserts/discriminators
in resolving a choice by direct dispatch even though there shouldn't be.
I think we should clarify this to "An xs:choice either
is a point of uncertainty, or uses direct dispatch."
Mike Beckerle | OGF DFDL Workgroup Co-Chair | Owl Cyber
Defense | www.owlcyberdefense.com
Please note: Contributions to the DFDL Workgroup's email
discussions are subject to the OGF
Intellectual Property Policy
--
dfdl-wg mailing list
dfdl-wg@ogf.org
https://www.ogf.org/mailman/listinfo/dfdl-wg
Unless stated otherwise above:
IBM United Kingdom Limited - Registered in England and Wales with number
741598.
Registered office: PO Box 41, North Harbour, Portsmouth, Hampshire PO6
3AU