Re: Initial value of statEnv.elemDecl and the static semantics of constructed elements

Hi Stijn,

Good catch.  When statEnv.elemDecl(ElementName) is not 
defined, i.e., ElementName is not defined in any imported
schema, then the default type should be untypedAny.
There is a subtle difference between untypedAny and AnyType.
untypedAny is the type annotation used for well-formed
elements for which there is no additional type information,
whereas AnyType is actually  the top of the type lattice.

But I don't think that definition is in the current
document.  I will add it to our list of formal-semantics
bug fixes.  

Best,
Mary

On Fri, 2003-11-21 at 10:13, Stijn Vansummeren wrote:
> The static typing rule for constructed elements uses the "... in context ... 
> type lookup ..." judgement to retrieve the content type of an element name. 
> When the valiInitial value of statEnv.elemDecl and the static semantics of 
> constructed elemendation context is empty, this judgement depends on    
> 
>    statEnv.elemDecl(ElementName)
> 
> to retrieve the correct content type. 
> 
> My question is: what is the initial value of statEnv.elemDecl? The Formal 
> Semantics notes that this is the initial value of  the"in-scope element 
> definitions", which can be found at
>    http://www.w3.org/TR/xquery/#id-xq-context-components
> 
> There, the "in-scope element declarations" are defined to have "none" as an 
> initial value.  Does this mean that  statEnv.elemDecl(ElementName) is 
> undefined when no schema is imported (and hence, element construction fails 
> to type-check)? Or is it assumed that statEnv.elemDecl(ElementName) returns 
> AnyType on every ElementName (which gives every constructed element the type 
> AnyType)?
> 
> Best regards,
> --Stijn Vansummeren
> 
> Limburgs Universitair Centrum
> Universitaire Campus 
> Gebouw D
> 3590 Diepenbeek
> Belgium
-- 
Mary Fernandez <mff@research.att.com>
AT&T Labs - Research

Received on Friday, 21 November 2003 12:58:46 UTC