xpointer range-to description

The XPointer working draft at
http://www.w3.org/TR/2001/WD-xptr-20010108/ contains this description
of the range-to function:

	location-set range-to(location-set)

	For each location in the context, range-to returns a range. The start
	of the range is the start-point of the context location, and the end
	of the range is the end-point of the location found by evaluating the
	expression argument with respect to that context location.

1) The description states that the "start of the range is the
start-point of the context location" and does not refer to the concept
of covering ranges.  It would be clearer to say "the start point of
the range is the start point of the covering range of the context
location, and end point of the range is the end point of the covering
range of the first location in the location-set argument."

2) The phrase "...the location found by evaluating the expression
argument" is misleading and incomplete.  The expression evaluates to a
location-set, not a location.  If the location-set contains more than
one location, how should this function behave?  Should the resulting
location-set contain a single range, or should it contain a range for
each location in the specified location-set argument?

3) While it's clearly stated in section 5.3.2 Definition of Range
Location that "The start point must not appear after the end point in
document order", the description of the range-to function does not
indicate how it behaves in such a case.  For example:

	xpointer(/p[2]/range-to(/p[1]))

Does this expression produce some sort of collapsed range, or does it
result in a resource error?

4) Technically, there is only one location in an XPath evaluation
context, so the phrase "For each location in the context" makes no
sense.

-Ray

Received on Monday, 23 July 2001 04:06:53 UTC