- From: <bugzilla@jessica.w3.org>
- Date: Fri, 11 Nov 2016 10:25:21 +0000
- To: public-qt-comments@w3.org
https://www.w3.org/Bugs/Public/show_bug.cgi?id=29983 --- Comment #4 from Abel Braaksma <abel.braaksma@xs4all.nl> --- This is a very clear explanation and I believe helps a lot in understanding scanning expressions, thanks. I'd be interested in your thoughts to add one more line, something like: "One might be tempted to extend scanning expressions to ordinary expressions, and certain processors may be able to do so by rewriting ordinary expressions into scanning expressions, but these particular rules are deliberately limited to path expressions where each step is itself a step, filter or union expression." I know we normally don't show counter-examples, but I think it wouldn't hurt to add one or two scanning expressions that are either not valid scanning expressions or that are not streamable (we presently have one such example). I also think it wouldn't hurt to add a union and filter expression: * f:deep-descent(book)/author, if f:deep-descent is a streamable function with streamability of deep-descent, its posture is crawling. The step expression /child:author is striding. This is not a scanning expression and according to the rules in *Axis Steps* this expression is roaming and free-ranging. * .//account | .//ACCOUNT is a union expression that is a scanning expression with resulting posture crawling. * (list/person except list/person[@age > 12])[@state='NY'] is a filter expression with an embedded except expression that is a scanning expression and the expression as a whole is a scanning expression with crawling result posture. * catalog//author[name = 'Tolkien'] is roaming and free-ranging, because the predicate is not motionless. Here, the expression catalog//author would be a scanning expression, but with the predicate it becomes free-ranging. -- You are receiving this mail because: You are the QA Contact for the bug.
Received on Friday, 11 November 2016 10:25:28 UTC