- From: <bugzilla@wiggum.w3.org>
- Date: Thu, 07 Apr 2005 10:27:21 +0000
- To: public-qt-comments@w3.org
- Cc:
http://www.w3.org/Bugs/Public/show_bug.cgi?id=1225 Summary: description of / and // (editorial) Product: XPath / XQuery / XSLT Version: Last Call drafts Platform: PC OS/Version: Windows 2000 Status: NEW Severity: normal Priority: P2 Component: XQuery AssignedTo: chamberl@almaden.ibm.com ReportedBy: davidc@nag.co.uk QAContact: public-qt-comments@w3.org http://www.w3.org/TR/xquery/#id-path-expressions describes / as A "/" at the beginning of a path expression is an abbreviation for the initial step fn:root(self::node()) treat as document-node() (this is true even if the "/" is the entire path expression). and // as A "//" at the beginning of a path expression is an abbreviation for the initial steps fn:root(self::node()) treat as document-node()/descendant-or-self::node()/. Note that the expansion of // ends with a trailing / and the expansion of / does not. It would be more correct (I think) if it did end with a trailing slash unless the / was the entire expression. Alternatively (and perhaps better) neither expansion should end with a trailing slash but the text should stress that the expansion is a complete step and in particular a predicate is not allowed to follow. For example fn:root(self::node())[*] is legal and selects root nodes that have a top level element. but fn:root(self::node())/[*] is a syntax error. I believe the intention (and the xquery grammar) is that /[*] is an error rather than selecting a root node that has an element child. One more minor point that I wouldn't have commented on except that I noticed it while pasting in the description of // above, the expanded example ends the sentence and it would help if some indication that the following "." is part of the sentence structure not part of the expression (there is a font change but that's not easy to see on a ".") just inserting a space would probably be enough. David
Received on Thursday, 7 April 2005 10:27:22 UTC