W3C home > Mailing lists > Public > public-qt-comments@w3.org > June 2011

[Bug 13028] New: [XQUF] Error in static typing rules for replace node Expr1 with Expr2

From: <bugzilla@jessica.w3.org>
Date: Thu, 23 Jun 2011 13:04:39 +0000
To: public-qt-comments@w3.org
Message-ID: <bug-13028-523@http.www.w3.org/Bugs/Public/>
http://www.w3.org/Bugs/Public/show_bug.cgi?id=13028

           Summary: [XQUF] Error in static typing rules for replace node
                    Expr1 with Expr2
           Product: XPath / XQuery / XSLT
           Version: Recommendation
          Platform: PC
               URL: http://www.w3.org/TR/xquery-update-10/#id-update-typin
                    g-replace
        OS/Version: Windows NT
            Status: NEW
          Severity: normal
          Priority: P2
         Component: Update Facility
        AssignedTo: jonathan.robie@gmail.com
        ReportedBy: tim@cbcl.co.uk
         QAContact: public-qt-comments@w3.org


Section 2.4.3.2 Replacing the Value of a Node states:

"The expression following the keyword with must be a simple expression;
otherwise a static error is raised [err:XUST0001]. This expression is evaluated
as though it were an enclosed expression in an element constructor (see Rule 1e
in Section 3.7.1.3 ContentXQ). Let $rlist be the node sequence that results
from this evaluation. If $rlist contains a document node, the document node is
replaced in $rlist by its children."

However, in section 4.5.3 Replace, the text states

"An element, text, comment, or processing instruction node can be replaced only
by zero or more element, text, comment, or processing instruction nodes."

statEnv  |- Expr1 : Type1
statEnv |- Type1 <: (element * | text | comment | processing-instruction *)?
statEnv  |- Expr2 : Type2
statEnv |- Type2 <: (element * | text | comment | processing-instruction *)*
-----------------------------------------------------------------------------
statEnv  |- replace node Expr1 with Expr2 : empty

This rule should instead be:

statEnv  |- Expr1 : Type1
statEnv |- Type1 <: (element * | text | comment | processing-instruction *)?
statEnv  |- Expr2 : Type2
statEnv |- Type2 <: (document | element * | text | comment |
processing-instruction *)*
-----------------------------------------------------------------------------
statEnv  |- replace node Expr1 with Expr2 : empty

because Expr2 may evaluate to a sequence including document nodes, but these
document nodes are replaced by their children.

-- 
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 Thursday, 23 June 2011 13:04:41 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Tuesday, 27 March 2012 18:15:13 GMT