Re: XQuery Use Cases remarks

Bas,

I appreciate your careful reading - most of these are indeed errors. I 
apologize for the inconvenience. Some comments below.

Jonathan


At 05:10 PM 1/3/2002 +0100, Bas de Bakker wrote:
>Dear WG,
>
>Some remarks that occurred to me after a first reading of the new (Dec
>2001) use cases document.  I hope they can help in either improving the
>use cases or the language definition.
>
>- The title and intro mention "XML Query".  This should now be "XQuery".

The WG will have to decide which title we prefer. XQuery resulted from the 
analysis done on the use cases, so either title is logically possible.

>- The first sentence of the "Status" section mentions "the W3C XML
>Requirements".  This seems incorrect.

Yes, that is clearly an error.

>- 1.1.9.4. The value-equals function does not exist.

Hmmm....this is an inconsistency between the use cases and the Functions 
and Operators draft. I should have used deep-equals(), which was once 
called value-equals().

>- 1.1.9.8. "ends_with" should be "ends-with".

Yes, this is an error.

>- 1.1.9.8, 1.5.4.7, 1.5.4.8. string() is used on a node, but in F&O it
>is a constructor that takes a string literal.

Interesting - we will have to straighten out this inconsistency among our 
specs. I personally suspect that this is an error in the Functions and 
Operators document, since XPath 1.0 could call string() on nodes, and we 
will probably want to maintain compatibility for this function.

>- 1.1.9.8. The text mentions name(), but this should be local-name().

Nice catch - I fixed that in the example, but not in the text. Ooops!

>- 1.1.9.10. Uses decimal() constructor on something that is not a string
>literal.

Hmmm...I should have used this:

<price>{ min(decimal(string($p)) }</price>

>- 1.1.9.12. The sequence-value-equal function does not exist.

Again, a coordination problem with changes to two documents. The Functions 
and Operators now calls this sequence-deep-equal(). I apologize.

>- 1.3.4.4, 1.3.4.5. The procedure element used in the query does not
>exist in the DTD or in the document.

Thanks.

>- 1.4.4.2, 1.4.4.5, 1.4.4.7, 1.4.4.10, 1.4.4.11. As defined, even though
>it may be used on nodes, the max() function always returns a simple
>value, possibly extracted from the node in the argument sequence.
>
>- 1.4.4.3. '>' is not defined on strings.  (The xf:compare description
>only mentions 'eq' and therefore implicitly '='.)
>
>- 1.4.4.5. The unordered function does not exist.
>
>- 1.4.4.6. The query assumes that bids in max() are compared as
>integers.  I cannot find anything in the draft specs that specifies this
>behavior (considering that no schema is specified for the input data).
>
>- 1.4.4.8. '>=' and '<=' are not defined on dates.
>
>- 1.5.4.6. Contrary to the description, the shorttitle attributes will
>become attributes, not content, of the new elements.
>
>- 1.5.4.9. contains() is used on a sequence of text nodes, this is
>illegal.
>
>- 1.5.4.11. item-at() is no longer a function.
>
>- 1.6.4.4. Uses '!=' on untyped nodes, therefore on strings, which is
>not defined.
>
>- 1.7.4.1. The get-namespace-uri() function will try to extract a QName
>as a typed value from its element, not (as the usage suggests) use the
>name of the element.
>
>- 1.7.4.4. The concatenation mentioned in the text is missing in the
>query, so the attributes will become attributes of the result elements.
>
>- 1.9.4.2. The use of 'union' on nodes just created by shallow() will
>return them in implementation defined order.  This may not be what you
>want.
>
>- 1.9.4.11. The result should use 'nkids' attributes instead of 'kids'.

Thanks - I will fix these errors.

Jonathan

Received on Friday, 11 January 2002 17:05:10 UTC