W3C home > Mailing lists > Public > public-qt-comments@w3.org > February 2004

[XPath] Error Codes

From: Michael Kay <mhk@mhk.me.uk>
Date: Sun, 8 Feb 2004 21:43:03 -0000
To: <public-qt-comments@w3.org>
Message-ID: <001901c3ee8c$892e2240$6401a8c0@pcukmka>

Looking at appendix F of the XPath language book:

Errors XP0001 and XP0002 between them do not cover all cases, because
evaluation of an expression may depend on a value in the static context
(e.g. the base URI).

Error XP0008 includes XP0017 as a subset (and XP0017 starts "It is It
is")

XP0002 includes XP0018 as a subset

XP0007 would appear to belong in F+O

XP0006 includes XP0019 as a subset

XP0055 applies to attribute tests as well as to element tests

Using the namespace axis with a processor that doesn't support it raises
error XP0021, but this is described in appendix F as an casting error.

The error text for XP0019 says that it's an error if the result of a
step expression is not a sequence of nodes. But 17 and "london" are both
step expressions. The context where this error is introduced (in 3.2)
makes it clear that it's referring to both operands of the "/" operator.
But it's not clear why this isn't just a generic type error (XP0006).


There seem to be a number of errors that don't have codes allocated:

- target type of a cast is not atomic

- violation of the consistency constraints in section 2.2.5

- no entry in operator table for the actual types of the operands


There seem to be cases where more specialized error codes would be
useful:

- "unknown types" in sequence type matching (2.4.4) should not give the
same error as an incorrect but known type


The description of casting in the XPath book duplicates the description
of casting in F+O. The two descriptions allocate different error codes
to the same error conditions. Which text is normative?

The distinction between the two casting errors XP0021 and XP0029 isn't
clear. Reading the descriptions in the appendix and the descriptions in
the body of the document gives different impressions as to the
difference between the two cases. In any event, it seems odd to have two
different codes for these two subtly-different cases when other error
codes are much less specialized. 



Note also typo in 3.2.1.1:

"XPath defines a set of full set of axes"


Michael Kay
Received on Sunday, 8 February 2004 16:42:24 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 5 February 2014 07:13:57 UTC