XQueryX <-> XQuery

The current (2001-02-15) draft of the XML Query Requirements says nothing
about the relationship between the different syntax bindings of the Query
Language.  Should there be a requirement of equivalence? That is, given a
query in any one syntax, there must exist a semantically equivalent query
in each of the other syntaxes.

On a related note, issue 8 of the current XQueryX spec says:
    Since XQueryX must be able to translate back to the original XQuery
    syntax, we currently use SLASHSLASH to preserve the original operator.

Not only does this appear to assume the requirement of equivalence, but the
phrases "translate back" and "preserve" suggest "roundtrip-invariance".
That is, there must exist equivalence-mappings between the two syntaxes
such that if you take any XQuery query, map it into XQueryX, then map the
result back to XQuery, the final result is not just equivalent to the
original, but the *same* as the original (presumably modulo "unimportant"
changes such as whitespace, case of keywords, and double-vs-single-quotes).
(For example, this issue appears to assert that "//foo" must come back as
"//foo", and not the equivalent "/descendant-or-self::node()/child::foo".)

First, I'm pretty sure there is no requirement to this effect, so the use
of "must" in the issue is unwarranted. Second, I would question the wisdom
of adding such a requirement.

-Michael Dyck

Received on Saturday, 4 August 2001 17:46:50 UTC