- From: Daniel Veillard <Daniel.Veillard@w3.org>
- Date: Tue, 12 Sep 2000 23:44:59 +0200
- To: Kay Michael <Michael.Kay@icl.com>
- Cc: "'www-xml-linking-comments@w3.org'" <www-xml-linking-comments@w3.org>, w3c-xsl-wg@w3.org
On Thu, Jun 08, 2000 at 02:56:46PM +0100, Kay Michael wrote: > 9. Section 5.4.1, Note. This extension to XPath syntax needs much more > formal treatment. Exactly how is the BNF modified? Which functions are > allowed after a "/"? What are the semantics? I'm worried that this extension > is "jumping the gun" in terms of how XPath evolves. I think that this kind > of requirement, along with many others, would be much better met by allowing > a function to take an expression (or function) as an argument, so it could > be written say range-to(id("chap1"), function: following::REVEND(1]). (This > concept is needed to do things such as universal and existential > quantifiers, summing an arbitrary expression, etc). -------------------------------------------- the change is a single addition to the production [3] of the XPath specification: [3] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath Basically this is a single exception for the range-to() function. It is not a generic change and not extendable to other functions. This is used to express that a range computation must be made for each of the nodes in the current nodelist. The Modified XPath production becomes: [3xptr] RelativeLocationPath ::= Step | RelativeLocationPath '/' Step | AbbreviatedRelativeLocationPath | 'range-to(' RelativeLocationPath ')' The range-to derivation of the [3xptr] prodution is not allowed from a RelativeLocationPath itself the result of a range-to derivation of [3xptr]. -------------------------------------------- This last rule could also be expressed using productions but would force regenerating a second set of descendant of RelativeLocationPath and use it into the new derivation of production [3xptr]. I doubt it would be more understandable. Changing the syntax at this point would probably force us again to do a Last Call review and would generate considerable delays. While not perfect this is still a workable solution and assuming that the explanations provided before are enclosed in the final version, do you think it is acceptable ? Daniel -- Daniel.Veillard@w3.org | W3C, INRIA Rhone-Alpes | Today's Bookmarks : Tel : +33 476 615 257 | 655, avenue de l'Europe | Linux XML libxml WWW Fax : +33 476 615 207 | 38330 Montbonnot FRANCE | Gnome rpm2html rpmfind http://www.w3.org/People/all#veillard%40w3.org | RPM badminton Kaffe
Received on Tuesday, 12 September 2000 17:45:48 UTC