- From: Stephen Buxton <stephen.buxton@oracle.com>
- Date: Thu, 15 Apr 2004 20:56:39 -0700
- To: public-qt-comments@w3.org
These are Oracle's Formal Semantics Last Call comments, clarification. By "clarification" we mean suggestions to make the text clearer, plus some calrification questions. Each comment has a header, with a number, the section, section title, an internal-to-Oracle comment number, and a 1-line summary. ---------------------------------------------------- C1. SECTION 6.1.1, The arithmetic operator pseudo-functions 433: Consider union types clarification Consider a '+' operation : $x + $y Let's say $x has formal semantic type during static analysis of xs:date, and $y has formal semantic type during static analysis of (xdt:yearMonthDuration |xdt:dayTimeDuration). Then the '+' operator may be mapped to op:add-yearMonthDuration OR op:add-dayTimeDuration, depending on $y's type. So the static type analysis should be normalized into the following xquery expression: if ($y is xdt:yearMonthDuration) then op:add-yearMonthDuration($x, $y) else op:add-dayTimeDuration($x, $y). Whenever there is a union type, all type combinations should be checked. Suggest: FS should make it clear how union types are dealt with by the pseudo-functions. ---------------------------------------------------- C2. SECTION 3.4.4, Sequence Type Matching 459: normalization of processing-instructon() clarification Clarification: 3.4.4 should make a reference to 7.2.3.1.2 for processing-instruction to explain why the normalization of processing-instruction(string) == processing-instruction ? 7.2.3.1.2 seems to say that the target name of the PI is not preserved to the FS type. Why not ? ---------------------------------------------------- C3. SECTION 3.4.1, Predefined Types 463: xs:anyType definition clarification "define type xs:anyType restricts xs:anyType { ... }" Why is xs:anyType a restriction of xs:anyType? ---------------------------------------------------- C4. SECTION 6.2.6, The fn:min, fn:max... functions 440: There is no formal rule to specify how the common target type T is computed clarification The 3rd premise of the 1st inference rule states T is computed as: Type1 can be promoted to T. And T can be one of xs:decimal, xs:float, xs:double, xdt:dayTimeDuration, xdt:yearMonthDuration for fn:max. But it does NOT define how common T is selected in the first place. For example, consider: fn:max(1, 3.4) In this case, the first item is xs:integer and the second is xs:decimal. Then should T be xs:decimal or can T be xs:float or xs:double ? Presumably the intention is to let T be xs:decimal, that is, the smallest common type. But the spec should make this clear. This definition can also be used in 'order by spec'. ----------------------------------------------------
Received on Friday, 16 April 2004 00:00:53 UTC