[Bug 5254] Validate has inconsistent static and dynamic types

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

           Summary: Validate has inconsistent static and dynamic types
           Product: XPath / XQuery / XSLT
           Version: Recommendation
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Formal Semantics
        AssignedTo: jmdyck@ibiblio.org
        ReportedBy: nick@cbcl.co.uk
         QAContact: public-qt-comments@w3.org


In FS 4.13 the static type analysis for validate expressions can only ever be a
union of element types.

But in FS 4.13.2 the validate expression can yield a document rather than an
element.

I think the fix would be to split the static type analysis rule into two. One
for elements, the other for documents.

statEnv |-  Expr : Type
statEnv |-  Type <: (element)
statEnv |-  prime(Type) = ElementType1 | ... | ElementTypen
.
(same as current rule)
.
statEnv |-  validate ValidationMode { Expr } : Type1


statEnv |-  Expr : Type
statEnv |-  Type <: (document {ElementType})
statEnv |-  prime(ElementType) = ElementType1 | ... | ElementTypen
.
(same as current rule)
.
statEnv |-  validate ValidationMode { Expr } : document {Type1}

Received on Tuesday, 6 November 2007 10:48:22 UTC