[Bug 29170] [XQ31] [editorial] Function and Variable Annotations


Michael Kay <mike@saxonica.com> changed:

           What    |Removed                     |Added
           Severity|minor                       |normal

--- Comment #2 from Michael Kay <mike@saxonica.com> ---

(I) there seems to be confusion between annotations "defined by
implementations" and "created by users". How are we to read:

"Implementations must not define annotations in the following reserved
namespaces; it is an error for users to create annotations in the following
reserved namespaces [err:XQST0045]:"

If I write

declare function %xsi:type local:f() {}

am I "creating an annotation" in the xsi namespace? There are test cases that
suggest error XQST0045 is expected here, so that would seem to be the
implication. The confusion is strongest in where we read:

(a) Implementations may also provide a way for users to create their own
function assertions.

(b) it is an error for users to create function assertions in the following
reserved namespaces [err:XQST0045]:

In (a) "creating an assertion" seems to mean some kind of outside-the-spec
mechanism for attaching a meaning to a particular QName used as an assertion,
while in (b) "creating an assertion" seems to mean the use of a particular
QName as an assertion in a FunctionTest.

(II) For function assertions (, we read:

If a function assertion is not recognized by an implementation, it is ignored,
and has no effect on the semantics of the function test.

while for annotations (4.15) we read:

If the namespace URI of an annotation's expanded QName is not recognized by the
implementation, then the annotation is ignored.

Is the distinction deliberate? What happens in the latter case when the URI is
recognized but the local name is not? And is the behaviour in this case
different if the URI is reserved (i.e., does this constitute "creating an

(These points seem to be more than purely editorial so I am raising the

You are receiving this mail because:
You are the QA Contact for the bug.

Received on Friday, 2 October 2015 10:30:37 UTC