CARVIEW |
Select Language
HTTP/2 200
date: Sat, 11 Oct 2025 13:19:30 GMT
content-type: text/html
content-encoding: gzip
last-modified: Thu, 13 Jul 2023 17:50:22 GMT
cache-control: max-age=2592000, public
expires: Mon, 10 Nov 2025 13:19:30 GMT
vary: Accept-Encoding
access-control-allow-origin: *
x-request-id: 98cea643aec32ffb
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=UeZ8nUBT4Go4yFSm4LCz7Onechl2tTTa_V8Ez7Zc94g-1760188770-1.0.1.1-Bfl3XVaW90ae44kXMIJTiHk12xf2ebrsGGoft32eQi5cRey0azTaD4C1LRRKhiEiaVXnZuwX4Zsq2lebYrksvmbBOGOtEUDHxuwijDFFu4E; path=/; expires=Sat, 11-Oct-25 13:49:30 GMT; domain=.w3.org; HttpOnly; Secure; SameSite=None
server: cloudflare
cf-ray: 98cea643aec32ffb-BLR
alt-svc: h3=":443"; ma=86400
ORA-XQ-148-E: suggestion: make all whitespace explicit in the EBNF from Stephen Buxton on 2004-02-17 (public-qt-comments@w3.org from February 2004)
ORA-XQ-148-E: suggestion: make all whitespace explicit in the EBNF
- From: Stephen Buxton <Stephen.Buxton@oracle.com>
- Date: 17 Feb 04 08:32:34
- To: public-qt-comments@w3.org
- Cc:
- Message-Id: <200402171632.i1HGWZb25066@rgmgw4.us.oracle.com>
SECTION A.2.1: white space rules Whereas: a) the whitespace rules for XQuery are so complex (What is "ignorable whitespace"? How will the user learn that he can put a comment between a $ and a QName, but not between "for" and "$"? What is the difference between "whitespace: explicit" and "whitespace: significant"? Do the XQuery whitespace rules govern EBNF's that are quoted from other documents that don't have XQuery conventions?) b) there are different whitespace rules for so many different cases (in direct element constructors not nested within an enclosed expression; in other kinds of direct constructors; in comments, pragmas, and must-understand extensions; in keyword phrases that are necessary for disambiguation; in all other contexts -- I think I got them all, but I am not sure). My suggestion is that you give up on implicit whitespace rules in the EBNF, and go with totally explicit whitespace in every EBNF. You already have S to represent spaces, tabs and newlines. To that you can add other symbols. For example IWS might stand for what you call "ignorable whitespace". I think IWS ::= S | Pragma | MUExtension | ExprComment. Now given S and IWS, you can clearly write ForClause ::= "for" S? "$" IWS? Varname IWS? TypeDeclaration? ... etc., which clearly shows that a comment is not allowed between "for" and "$". You can also clear up the nesting possibilities of comments, pragmas and must-understand extensions. E.g., is it Pragma ::= "(::" S? "pragma" S? QName S? ... or is it Pragma ::= "(::" IWS? "pragma" IWS? QName IWS? ... - Steve B.
Received on Tuesday, 17 February 2004 11:35:24 UTC