This is an archived snapshot of W3C's public bugzilla bug tracker, decommissioned in April 2019. Please see the home page for more details.

Bug 29182 - [XQ31] Whitespace rule in StringConstructor
Summary: [XQ31] Whitespace rule in StringConstructor
Status: RESOLVED FIXED
Alias: None
Product: XPath / XQuery / XSLT
Classification: Unclassified
Component: XQuery 3.1 (show other bugs)
Version: Proposed Recommendation
Hardware: PC Windows NT
: P2 normal
Target Milestone: ---
Assignee: Jonathan Robie
QA Contact: Mailing list for public feedback on specs from XSL and XML Query WGs
URL: https://www.w3.org/XML/Group/qtspecs/...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-07 09:44 UTC by Tim Mills
Modified: 2015-10-08 03:54 UTC (History)
1 user (show)

See Also:


Attachments

Description Tim Mills 2015-10-07 09:44:02 UTC
It's not entirely clear from the grammar

[177]   	StringConstructor	   ::=   	"``[" StringConstructorContent "]``"

[178]   	StringConstructorContent	   ::=   	StringConstructorChars (StringConstructorInterpolation StringConstructorChars)*

[179]   	StringConstructorChars	   ::=   	(Char* - (Char* ('`{' | ']``') Char*))  /* ws: explicit */

whether the whitespace in 

``[ ]``

``[ hello ]``

``[ `{ $x }` ]``

forms part of the constructed string, since the ws: explicit rule isn't applying to production [177].

[Definition: Whitespace and Comments function as symbol separators. For the most part, they are not mentioned in the grammar, and may occur between any two terminal symbols mentioned in the grammar, except where that is forbidden by the /* ws: explicit */ annotation in the EBNF, or by the /* xgc: xml-version */ annotation.]

If I'm not mistaken, whitespace or comments may appear between the terminal symbols "``[" and Char.
Comment 1 Michael Dyck 2015-10-08 03:54:13 UTC
Whoops! Fixed. (I've changed the grammar file so that the productions for StringConstructor and StringConstructorContent will be marked "ws:explicit" the next time the XQ31 spec is built.)