[Bug 29193] [QT3TS] function-call-reserved-function-names-018

https://www.w3.org/Bugs/Public/show_bug.cgi?id=29193

--- Comment #7 from Michael Kay <mike@saxonica.com> ---
I would argue for the widest possible interpretation of the rules here. If a
user writes the query

processing=instruction()

there are two possible interpretations:

(a) they are doing a comparison between an element called "processing" and the
result of a non-existent function called "instruction"

(b) they have mistyped "-" as "="

A processor that reports (b) has probably guessed correctly what the real
problem is, and we should certainly not require it to report the error as (a).
A well-designed processor reports static errors that correctly guess what the
user did wrong.

If we encountered namespace-node(1) in a real query, my guess would be that the
user has made two errors: they have used namespace-node in a dialect of the
language where it isn't allowed, and they have given it a parameter that it
doesn't accept. In an ideal world I would want to report both of those errors.
The first one is more useful to report, because if they correct the second they
still won't have a valid query. The spec allows me, however, to report any
subset.

I don't think we should be making a hard-and-fast distinction here between
syntax errors and semantic errors. From a user perspective, the fact that
text(3) is a syntax error while position(3) is a semantic error is not a
meaningful distinction: we drew the boundary for our convenience, not for the
user's benefit.

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

Received on Tuesday, 13 October 2015 16:35:12 UTC