[Bug 3669] Type checking of () GeneralOp [value]

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

           Summary: Type checking of () GeneralOp [value]
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Formal Semantics
        AssignedTo: simeon@us.ibm.com
        ReportedBy: tim@cbcl.co.uk
         QAContact: public-qt-comments@w3.org


The formal semantics expansion of:

() eq 1

is

some $v1 in fn:data(()) satisfies
some $v2 in fn:data(1) satisfies
let $u1 := fs:convert-operand($v1, $v2) return
let $u2 := fs:convert-operand($v2, $v1) return
fs:eq ($u1, $u2)

Because:

statEnv |-  data on empty : empty

fn:data(()) is of type empty.

Therefore $u1 must be of type empty.  This is bad news for convert-operand,
since $expected is of type xs:anyAtomicType.

Received on Thursday, 7 September 2006 15:46:23 UTC