This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 1467 - [FO] Cleanup of argument cardinality
Summary: [FO] Cleanup of argument cardinality
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: Functions and Operators 1.0 (show other bugs)
Version: Last Call drafts
Hardware: PC Windows XP
: P2 normal
Target Milestone: ---
Assignee: Ashok Malhotra
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
Depends on:
Blocks: 1422 1468 1469 1470 1471 1472 1473 1474 1475 1476 1477
  Show dependency treegraph
Reported: 2005-05-19 19:30 UTC by Michael Rys
Modified: 2005-09-29 11:22 UTC (History)
0 users

See Also:


Description Michael Rys 2005-05-19 19:30:15 UTC
Based on my action item at the F2F to provide a scrub of the FO document 
regarding bug 1422 to look for other places where we may need to consider 
allowing empty sequence to provide static typing implementations the ability 
to call the functions without forcing users through major hoops, I came across 
two categories of functions:

1. Positional arguments being wrong.
2. Recently introduced functions that have inconsistent parameters.

Note that the design has been that we do not allow empty for "steering" 
arguments that are most likely being given with a literal value. For all 
others, we should statically accept empty since the static type for the 
argument expressions will infer a type that allows empty in most cases.

I will file separate dependent bugs for each function.
Comment 1 Mary Holstege 2005-07-21 20:58:38 UTC
The working group considered this comment at its meeting today
and decided not to accept it.

A number of divergent reasons were given for not accepting these changes, 

For some of the specific cases, returning empty sequences instead of 
failing were regarded as unhelpful to users.  Providing errors improves
usability, it was felt, rather than undermining it.

The consistency argument was not compelling, in that consistency with some 
functions would speak to one decision, and consistency with other functions 
would speak to the opposite decision. The spec has a whole range of functions 
and operators, some of which accept empty sequences and some of which don't, so 
full consistency is not achievable.

For the "class B" functions, changing the semantics of well-settled and long-
standing functions in the absense of a compelling argument to change is