[DFDL-WG] clarification: fn:exactly-one function

Steve Hanson smh at uk.ibm.com
Wed Nov 12 07:09:52 EST 2014


WG agreed that fn:exactly-one() would have its description updated to 
match XPath 2.0 spec. 

Perhaps also worth updating fn:exists() and fn:empty() so their 
descriptions match XPath 2.0 spec.

http://redmine.ogf.org/issues/239

Regards
 
Steve Hanson
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
IBM SWG, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848



From:   Steve Hanson/UK/IBM
To:     Mike Beckerle <mbeckerle.dfdl at gmail.com>
Cc:     "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>
Date:   03/11/2014 14:08
Subject:        Re: [DFDL-WG] clarification: fn:exactly-one function


The main purpose envisaged for fn:exactly-one() was as a guard around 
off-the-shelf XPath processors. In that scenario, throwing an error is 
probably required, as what would you do otherwise?

If you wanted to return a true/false value could you just use 
fn:count($arg) eq 1 instead of fn:exactly-one() ? 

Regards
 
Steve Hanson
Architect, IBM DFDL
Co-Chair, OGF DFDL Working Group
IBM SWG, Hursley, UK
smh at uk.ibm.com
tel:+44-1962-815848




From:   Mike Beckerle <mbeckerle.dfdl at gmail.com>
To:     "dfdl-wg at ogf.org" <dfdl-wg at ogf.org>
Date:   30/10/2014 10:00
Subject:        [DFDL-WG] clarification: fn:exactly-one function
Sent by:        dfdl-wg-bounces at ogf.org




According to the DFDL spec, fn:exactly-one returns "True if the provided 
sequence contains exactly one node/value," which suggests that the 
function would return false if the sequence contains > or < 1 node/value.
The XPath description states that fn:exactly-one "returns $arg if it 
contains exactly one item. Otherwise, raises an error."
It seems of value to have a true/false result, because something that 
raises an error like this can only be used as an assertion effectively. On 
the other hand, that's not what XPath does.

Mike Beckerle | OGF DFDL Workgroup Co-Chair | Tresys Technology | 
www.tresys.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 at 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

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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.ogf.org/pipermail/dfdl-wg/attachments/20141112/6d0e3257/attachment.html>


More information about the dfdl-wg mailing list