[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 #16 from tim@cbcl.co.uk  2007-03-14 13:41 -------
Since treat as throws away type information, use of "/" also throws away type
information because:

[/]Expr
==
[(fn:root(self::node()) treat as document-node())]Expr

unless you alter the semantics of "treat as" to:

statEnv |- Expr: T1
statEnv |- T1 <: T2
-------------------------------
statEnv |- Expr treat as T2 : T1


statEnv |- Expr: T1
statEnv |- not(T1 <: T2)
-------------------------------
statEnv |- Expr treat as T2 : T2

Received on Wednesday, 14 March 2007 13:41:25 UTC