CR-49: XPath subset: Use subset not full XPath for Key and KeyRef

Dear Andy Clark,

The W3C XML Schema Working Group has spent the last several weeks
working through the comments received from the public on the
Candidate Recommendation (CR) of the XML Schema specification. We
thank you for the comments you made on our specification during
our CR comment period, and want to make sure you know that all
comments received during the CR comment period have been recorded
in our CR issues list:

(http://www.w3.org/2000/12/xmlschema-crcomments.html).

You raised the point registered as issue CR-49:
XPath subset: Use subset not full XPath for Key and KeyRef

The Schema Working Group has decided to use a subset of the XPath
language for determining the scope of uniqueness for Keys as you
suggested.  After much discussion of the subset to use the Workgroup
determined one that is different that the one you suggested.  This
subset will be reviewed by a joint task force of the XSL and XML Schema
Working Groups.

This subset will be formally drafted into the XML Schema recomendation
documents by the editors.  To give you an idea of what the subset is,
this description (informal) should suffice until the next set of
documents is available:

---------------------------------------
XPath Sub Set
          axes
          node-tests
          predicates
Multi-field keys


In all the following examples x and y are to be interpreted as
qualified or unqualified names

Allow only the following possibilities for field;
          .             - value of selector
          x             - value of child of selector
          @x            - value of attribute of selector
      x/y           -
          x/y/@         -
      x//y          -
      x//y/@        -
      ancestor::x/@ -

Allow only the following possibilities for selector with respect to
the current context;
          x    - element child
          x/y  - element grandchild of element child ( note only 1 level
)
          .//x - element descendant
          *    - wildcard element as x in any of the above
          [y]  - allowed to qualify any of the above whole path
             ( must appear at far right end )
          [@y] - allowed to qualify any of the above whole path
             ( must appear at far right end )
          |    - disjunction of any of the above whole paths

Only the above forms of XPath are allowed, we do *not* allow the
verbose form.

The above imposes no great burden on implementors as only child,
descendant and attribute axes are allowed no reverse axes, no sibling
axes.
-----------------------------------------------------------------------------

It would be helpful to us to know whether you are satisfied with the
decision taken by the WG on this issue, or wish your dissent from the
WG's decision to be recorded for consideration by the Director of
the W3C.

Regards

Jim Trezzo
XML Schema Working Group

Received on Tuesday, 13 February 2001 12:50:04 UTC