- From: Xavier Franc <xavier@xmlmind.com>
- Date: Mon, 18 Jan 2010 21:02:28 +0100
- To: public-xqts-comments@w3.org, www-ql@w3.org
- Message-ID: <4B54BE54.4010204@xmlmind.com>
Andrew Eisenberg wrote:
> We are still looking for implementations that support the
> Update Facility Static Typing Feature and implementations that support
> XQueryX. We'd like to encourage implementors of these features to submit
> their results to us, so that we can advance XQuery Update Facility to W3C
> Recommendation.
Dear Andrew,
contemplating the test group "Update Facility Static Typing Feature",
I think there are some reasons why no implementations so far can
pass the related tests:
IMHO, there are no more than 10 tests in 27 that really belong to this
category
and are correct.
As far as I understand the static typing feature, an implementation
supporting it is supposed to raise an error when the static analysis can
determine that an expression will *certainly* raise an error at runtime:
[XQ 5.2.3 Static Typing Feature]
/If an implementation does not support the Static Typing Feature, but
can nevertheless determine during the static analysis phase that an
expression, if evaluated, will *necessarily raise a type error* at run
time, the implementation MAY raise that error during the static analysis
phase./
It is also stated [XQ 2.2.3.1 Static Analysis Phase]:
/[Definition: The static analysis phase depends on the expression
itself and on the static context. The static analysis phase *does not
depend on input data* (other than schemas).] /
* tests of the kind "ST is too vague" are wrong IMO:
a static type node()* can perfectly correspond to correct node types
at runtime.
* tests of the kind "ST of Target/Source has cardinality greater than one"
- either involve the knowledge of input data (through $input-context),
- or assume that the path-expression will always return several
nodes, which cannot be asserted during static analysis (and BTW it
returns exactly one node).
* Test "stf-insert-02: insert: ST of SourceExpr has non-attribute before
attribute.":
although this error can indeed be detected by static analysis, that
seems far too complex, and looks more like "formal proof of program"
than like what a compiler can achieve.
Best regards
Received on Monday, 18 January 2010 20:03:39 UTC