- From: Paul Duffin <pduffin@volantis.com>
- Date: Tue, 15 Jul 2003 17:18:03 +0100
- To: Torsten Grust <grust@inf.uni-konstanz.de>
- CC: www-ql@w3.org

Torsten, It does a little. I am more interested in the usage of this within XPath than in XQuery. I am not sure whether this mailing list is the right one to use it is just it is referred to from the same page that refers to the XPath/XQuery model and functions / operators. I cannot find anything within the XPath specifications that relate to this. The closest I found was the SequenceType but that does not appear to match what you describe below. Torsten Grust wrote: > Paul, > > does the following help? > > On July 15 (11:03 +0100), Paul Duffin wrote with possible deletions: > | > | The section on sequences > | (http://www.w3.org/TR/xpath-datamodel/#sequences) states that a sequence > | that contains a single item is indistinguishable from the item itself. > | Among other things this means that a sequence with one item in it has > | the same type as that item. Therefore sequences must have types. > | > | This raises a couple of questions. > | > | What is the type of a sequence with two (or more) items in it which are > | potentially different ? > | > | Is it just a generic sequence type, is it the type which is the closest > | ancestor of all the item types, or something else ? > > For two items x and y of types s and t, respectively, the sequence > value (x,y) has type s,t. Note that (.,.) (the ``comma'') is used as > a binary type constructor in forming the type s,t. > > As a derivation rule: > > E |- x:s E |- y:t > --------------------- > E |- (x,y) : s,t > > > What you refer to above (``closest ancestor'') might be related to > approximations of such sequence types: > > The XQuery Formal Semantics sometimes compute (more or less rough) > approximations of these types (e.g., during the typing of a for-bound > variable). An approximation of the type s,t is > > (s | t)+ > > computed as > > prime (s,t) quantifier (s,t) > \_________/ \______________/ > = s | t = + > > Note that information about the order of s and t in the original type > as well as information about the exact number of occurrences of s and > t in the original type are lost. We do however have > > s,t <: (s | t)+ > > which ensures that typing the rest of program using the approximation > is safe. > > | What is the type of an empty sequence ? > > The type of the empty sequence is the special type empty. > > > Greetings, > --Torsten > > -- > | Dr. Torsten Grust Torsten.Grust@uni-konstanz.de | > | http://www.inf.uni-konstanz.de/~grust/ | > | Database Research Group, University of Konstanz (Lake Constance/Germany) | > | (Please avoid sending me MS Word or PowerPoint attachments.) |

Received on Tuesday, 15 July 2003 12:18:32 UTC