CARVIEW |
Select Language
HTTP/2 200
date: Sat, 11 Oct 2025 07:25:42 GMT
content-type: text/html
content-encoding: gzip
last-modified: Thu, 13 Jul 2023 17:50:21 GMT
cache-control: max-age=2592000, public
expires: Mon, 10 Nov 2025 07:25:41 GMT
vary: Accept-Encoding
access-control-allow-origin: *
x-request-id: 98cc9ffd1d8ec1cc
strict-transport-security: max-age=15552015; preload
x-frame-options: deny
x-xss-protection: 1; mode=block
cf-cache-status: EXPIRED
set-cookie: __cf_bm=IUgYPCJvtUdkW3OxpzHlqqpGgHdaFXTc3e0dlTMkhfM-1760167542-1.0.1.1-gz0ZSdOhVnB6pX8k6grpR5MbYTV9En8k_LAe1YyDMk4FwE.8htqR4bONFtDcHjrRSE7X8_gCZWKEccnvZJUNHuvjuzyTieQRA6wTuCsDZPs; path=/; expires=Sat, 11-Oct-25 07:55:42 GMT; domain=.w3.org; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 98cc9ffd1d8ec1cc-BLR
alt-svc: h3=":443"; ma=86400
Re: [XPath] Legal vaues for a satisfies expression in a quantifier? from Roger L. Costello on 2004-01-29 (public-qt-comments@w3.org from January 2004)
Re: [XPath] Legal vaues for a satisfies expression in a quantifier?
- From: Roger L. Costello <costello@mitre.org>
- Date: Thu, 29 Jan 2004 16:35:57 -0500
- To: scott_boag@us.ibm.com, public-qt-comments@w3.org, "Costello,Roger L." <costello@mitre.org>
- Message-ID: <40197CBD.134AF38A@mitre.org>
Hi Scott, Hmm, I am not sure where you are getting that expansion - where does it say the value of a quantifier's satisfies expression is a "PathExpr"? I am looking at section 3.9 of the latest XPath 2.0 spec and it says that the value of a quantifier's satisfies expression is "ExprSingle", not "PathExpr", i.e., QuantifiedExpr ::= (("some" "$") | ("every" "$")) VarName "in" ExprSingle ("," "$" VarName "in" ExprSingle)* "satisfies" ExprSingle Note the use of "ExprSingle" in three places. That said, PathExpr makes good sense. So, I believe that section 3.9 needs to be corrected to: QuantifiedExpr ::= (("some" "$") | ("every" "$")) VarName "in" PathExpr ("," "$" VarName "in" PathExpr)* "satisfies" PathExpr Agree? /Roger scott_boag@us.ibm.com wrote: > Hi Roger. I may be misunderstanding your question, but I think the answer > is that OrExpr recurses down PathExpr. You can follow the recursion > basically by clicking on the first member of the right hand side of the > BNF productions. This particular cascade is what implements the built-in > precedence. Anyway, I believe the BNF to be correct, and the structure, > dumped from the diagnostics of the test parser, is: > > |XPath > | Expr > | QuantifiedExpr > | Every every $ > | VarName part > | In in > | PathExpr > | RootDescendants // > | StepExpr > | NodeTest > | NameTest > | QName part > | Satisfies satisfies > | PathExpr > | VarName part > | StepExpr > | At @ > | NodeTest > | NameTest > | QName discounted > > Note that the test parser reduces many of the unneeded steps, for instance > for ExprSingle to PathExpr, as I think you would for most ASTs. > > -scott
Received on Thursday, 29 January 2004 16:36:44 UTC