- From: <bugzilla@wiggum.w3.org>
- Date: Mon, 22 Oct 2007 11:57:43 +0000
- To: public-qt-comments@w3.org
- CC:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=4273 ------- Comment #11 from tim@cbcl.co.uk 2007-10-22 11:57 ------- What follows is my arguement that data on xs:anyType = xs:anyAtomicType* element(*, xs:anyType) is the most general type of an element. For the type system to work, I argue that: T <: xs:anyType -------------------------------------------- data on T <: data on element(*, xs:anyType) Let's break it down into 3 specific cases of T (covered in FS) which are necessarily always subtypes of element(*, xs:anyType). 1. simple type or complex types of simple content. statEnv |- ElementType type lookup TypeReference statEnv |- TypeReference expands to Type statEnv |- Type <: (attribute*, Type1) statEnv |- Type1 <: xs:anyAtomicType* ---------------------------------------- statEnv |- data on ElementType : Type1 So if the Type1 = xs:anyAtomicType*, we know that data on element(*, xs:anyAtomicType*) = xs:anyAtomicType* and therefore xs:anyAtomicType* must be a subtype of 'data on' applied to element(a, xs:anyType). 2. complex type of mixed content statEnv |- ElementType type lookup of type TypeName statEnv |- TypeName of elem/type expands to expanded-QName statEnv.typeDefn(expanded-QName) = define type TypeName Derivation mixed { Type1 } -------------------------------------------------------------- statEnv |- data on ElementType : xs:untypedAtomic We know that data on applied to such an element is xs:untypedAtomic. 3. The data on filter is not defined on any element type whose type annotation denotes a complex type of complex content and therefore applying data on to such a node raises a static error. So data on applied to element(*, xs:anyType) must be the union of data on applied to elements defined in the above cases. By my reckoning, that's xs:anyAtomicType*. I'm willing to proved wrong though. If you have an example that you think won't work, I'd be happy to give it a whirl. I'm sure it would also be a useful addition to XQTS.
Received on Monday, 22 October 2007 11:57:55 UTC