[Bug 3308] Which error to raise for attributes with the same node-name in a direct element constructor?


mike@saxonica.com changed:

           What    |Removed                     |Added
             Status|NEW                         |RESOLVED
         Resolution|                            |WONTFIX

------- Comment #3 from mike@saxonica.com  2006-06-06 16:59 -------
The Working Group discussed this on 2006-06-06 and decided that no change to
the specification is needed.

In a direct element constructor, the presence of two conflicting attributes is
a static error, which means that it can and must be detected statically (which
means it must be reported, using error code XQST0040, even if it occurs in code
that is never executed). 

In a computed element constructor, it's not possible in general to detect the
error statically. It's therefore defined as a dynamic error, and it's only
mandatory to report the error if the code is actually executed. But note that
section 2.3.1 says that dynamic errors "may" be detected during the static
phase: in this case this means that if you use a computed element constructor
and the compiler can work out in advance that the attribute names will
conflict, it is allowed to report the error XQDY0025 statically.

I am closing this as "Won't fix". If you feel there are issues that we haven't
addressed here, please feel free to reopen the bug.

Michael Kay
for the XQuery Working Group

Received on Tuesday, 6 June 2006 17:00:06 UTC