[Bug 3818] Static typing of $input-context1/works[1]/employee[1]/empnum[1]

http://www.w3.org/Bugs/Public/show_bug.cgi?id=3818





------- Comment #13 from tim@cbcl.co.uk  2007-02-20 14:04 -------
Although your workaround would fix this specific problem, my reading of the FS
document gives me the impression that the static typing
rules for constructs:

some $x as ...
every $x as ...
let $x as ...
treat as ...

ensure that a static-typing implementation _must_ reject perfectly reasonable 
queries whenever the static type can be proven to be a subtype of the
user-specified type declaration.  

In our implementation, we have solved the problem by having type rules such
that
if the computed static type is a subtype of the type declaration, then the
static type is taken as the computed static type.  Otherwise, the static type
is taken as the user-specified type declaration.  In the first specific case I
gave, this gives the same behaviour as your suggested node-sequence function.

I'm convinced that this gives the most usable and consistent behaviour.

Received on Tuesday, 20 February 2007 14:05:07 UTC