- From: Dimitre Novatchev <silvan@teleweb.at>
- Date: Mon, 23 Jun 2003 19:43:25 +0200
- To: <public-qt-comments@w3.org>
Functions and operations on sequences, 15.1, zero-or-one,
one-or-more, exactly-one
Class: Editorial, Technical
Section 15.1 Functions and Operators on Sequences defines the
functions zero-or-one, one-or-more, exactly-one.
The names describe properties and suggest that these functions return
boolean result. However, this is not the case.
The function definitions are:
fn:zero-or-one($srcval as item*) as item?
fn:one-or-more($srcval as item*) as item+
fn:exactly-one($srcval as item*) as item
Another issue with this function is that their main purpose seems to
be in raising an error message if the property they name is not true
for the parameter-sequence. Such functions seem strange and their
necessity and potential usage must be explained in detail.
A third issue is that the description for all three functions
contains the sentence: “The type of the result is the type of
$srcval.” This is clearly contradicted by the definitions of the
functions – item* is not the same as item?, item+ or item.
Suggested solution:
1. Change the names to more precisely reflect the meaning of the
functions, e.g: constraint-zero-or-one, etc.
2. Note and explain the very special behaviour of these functions
and its potential usefulness.
3. Correct the description and/or the definition of the functions
so that they would not contradict each other.
Dimitre Novatchev.
Received on Monday, 23 June 2003 13:28:23 UTC