[Bug 6677] New: bug in static typing checking for transform expression in XQUF

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

           Summary: bug in static typing checking for  transform expression
                    in XQUF
           Product: XPath / XQuery / XSLT
           Version: Candidate Recommendation
          Platform: PC
        OS/Version: Windows XP
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Update Facility
        AssignedTo: andrew.eisenberg@us.ibm.com
        ReportedBy: zhen.liu@oracle.com
         QAContact: public-qt-comments@w3.org


In section http://www.w3.org/TR/xquery-update-10/#id-update-typing-transform,
the static typing rules is specified for transform expression in XQUF. However,
the rule appears
to be have following issues:

Consider transform expression
copy $var := expr 
modify .... (: some modification on $var ::)
return $var

The semantics of transform expression is that when modify expression is being
evaluated, the
$var's value is not changed, however, when evaluating the return expression,
the $var's value
is changed from the modify expression (that is, snapshot ends and PUL is
applied).

Thus when we do static type analysis for modify expression, the $var's static
type shall be
different from the static type of $var when do static type analysis for return
expression.

Such type distinction before and after modifcation
 does not appear to be reflected in the XQUF static type analysis rule.
That is the statEnv for all the copied variables needs to be recomputed after
analysis of the
modify expression before evaluating the return expression.  Of course, to make
static type analysis easier but sound, the type analysis can assign each
variable's static type as node() after modification is applied.


-- 
Configure bugmail: http://www.w3.org/Bugs/Public/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.

Received on Tuesday, 10 March 2009 16:14:47 UTC