- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 11 May 2006 08:08:39 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=3273 Summary: [FS] technical: 2.3.1 Formal values: () in Values Product: XPath / XQuery / XSLT Version: Candidate Recommendation Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Formal Semantics AssignedTo: simeon@us.ibm.com ReportedBy: jmdyck@ibiblio.org QAContact: public-qt-comments@w3.org 2.3.1 Formal values [7 (Formal)] Value ::= Item | (Value "," Value) | ("(" ")") Presumably, the Value () represents the empty sequence. (I don't think the FS actually says so; maybe it should.) The odd thing is that this production allows Values with () *within* them. E.g., Value derives 1 of type xs:integer, (), (), "a" of type xs:string Since an item (in a sequence) can't be the empty sequence, what is the point of such a Value? (Please note that I'm talking about Values, not Exprs.) At first, I thought it was just a mistake in the production, so I was going to suggest an (editorial) change to: Value ::= "(" ")" | Item ("," Item)* But then I noticed the example in 8.2.3.2, which actually shows a Value with embedded ()'s. The following Note ("while preserving the structure of the sequence") appears to indicate that the embedded ()'s are essential to the workings of the 'test' judgment (though as far as I can tell, they aren't). Moreover, the inference rule 4.3.1 / DEv / rule 1 appears happy to construct such values. E.g., I can use it to conclude that dynEnv |- 1, () => 1 of type xs:integer, () I would have expected the resulting Value to be just 1 of type xs:integer So maybe it's more than an editorial matter. (On a related note, the corresponding STA rule allows me to conclude: statEnv |- 1, () : xs:integer, empty but presumably the Type should be just xs:integer.)
Received on Thursday, 11 May 2006 08:08:49 UTC