- From: Kay, Michael <Michael.Kay@softwareag.com>
- Date: Sat, 22 Feb 2003 13:31:39 +0100
- To: "Todd A. Mancini" <todd.mancini@daxat.com>, public-qt-comments@w3.org
We have recently established that the language spec and the formal semantics give different answers to these questions, and there is a great debate going on as to what the correct answer should be. Watch this space... Michael Kay > -----Original Message----- > From: Todd A. Mancini [mailto:todd.mancini@daxat.com] > Sent: 21 February 2003 16:01 > To: public-qt-comments@w3.org > Subject: question regarding element types in function > definitions/XQuery > > > > I know this has been answered in one way or another over the > past year or so, but I'm still having trouble understanding > the specifications as the language and semantic specs. don't > seem to exactly agree, and the publicly available issue > resolution is somewhat unreadable. > > If I define a function as follows: > > define function foo($i as element my:elementdef) { 1 } > > does this raise a static type error if I have not imported a > schema defining element my:elementdef ? > > However, if I define a function as follows: > > define function foo($i as element my:elementdef of type > xs:integer) { 1 } > > does this raise a static type error if I have not imported a > schema defining element my:elementdef? Conversely, what if I > have defined an element my:elementdef? Provided xs:integer > is a subtype of the type of the globally defined > my:elementdef, is this acceptable? Or, does this signature > imply that the argument need only have the element name > my:elementdef, with a type xs:integer, regardless of the > existence of my:elementdef as a global element definition? > > Thanks, > -Todd > > PS: Another difference between the language and semantic > specifications relates to untyped function arguments and > function return values. The language spec has them as > xs:anyType whereas the semantic spec has them as item*. > Although the difference is subtle, I believe that item* > matches more values than xs:anyType. (e.g. (element foo, attribute > bar) matches item* but not xs:anyType, whose value space has > all attributes preceding all elements, assuming I'm correctly > interpreting 3.2.4 in semantic spec.) > >
Received on Saturday, 22 February 2003 07:31:48 UTC