Tim and I have discussed this and we are ok with making these situations schema definition errors rather than processing errors. We've not been able to find a realistic use case where an expression failing in this manner could legitimately be interpreted as failing to discriminate a point of uncertainty. It almost certainly indicates a problem withe the expression or an ambiguity with the model.  For example, in the sequence case, the modeler can always return a single element by using a predicate in the expression (eg {../count[1]} )

Regards

Steve Hanson
Architect, Data Format Description Language (DFDL)
Co-Chair,
OGF DFDL Working Group
IBM SWG, Hursley, UK

smh@uk.ibm.com
tel:+44-1962-815848




From:        Mike Beckerle <mbeckerle.dfdl@gmail.com>
To:        dfdl-wg@ogf.org
Date:        19/01/2012 01:33
Subject:        [DFDL-WG] Issue 163: Expressions returning ES - type of error when expression returns wrong type.
Sent by:        dfdl-wg-bounces@ogf.org




I reviewed section 23. The last paragraph of 23.3 is inconsistent with the rest of the section.

Suggested revised wording:

The result of evaluating the expression must be a single atomic value of the type expected by the context, and it is a schema definition error otherwise. Some XPath expressions naturally return a sequence of values, and in this case it is also schema definition error if an expression returns a sequence containing more than one item. If the expression returns an empty sequence it will be treated as returning nil.


--
Mike Beckerle | OGF DFDL WG Co-Chair 
Tel: 
781-330-0412
--
 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