- From: Liam Quin <liam@w3.org>
- Date: Sat, 26 Sep 2015 18:26:15 -0400
- To: "Robie, Jonathan" <jonathan.robie@emc.com>
- Cc: Public Joint XSLT XQuery XPath <public-xsl-query@w3.org>
On 2015-09-23 14:34, Liam Quin wrote:
> [...]
Michael Dyck pointed out that the start-interpolation string must also
not be one that occurs often in the wild.
> A search in the 9,600 JavaScript files on my local computer found
> 456 >>> (it's a JavaScript operator along with <<< and ===)
<<< 12 matches
> 6 ]>> (array reference followed by bitshift operator)
<<[ 1 match (in a syntax highlighter, unlikely to be a problem)
> 0 }>>
<<{ 1 match, in a URL
> 27 }> (Josh found this more common on symbolhound)
<{ 12 matches - if we were continuing to work on XQuery I'd want to
reserve
<{...}...> for e.g. Clark Notation, or for computed element names.
> 213 ]> (e.g. array ref followed by comparison)
<[ 190 matches
> 24 "]> (e.g. constructing an MSIE HTML "if" as a string)
<[" had zero matches for me in JavaScript
> 1257 }} (e.g. almost any use of jQuery will contain this)
{{ 91 matches (+ 1 more in a JSON file) but I really don't think {{...}}
will fly.
> 213 ]> (e.g. constructing a CDATA section by string manipulation)
(this was an accidental duplicate; <[ had 190 matchinf JavaScript files)
> 0 }@@
> 0 ]@@
> Josh found 7 @@{ results on symbolhound; four of these
> were mail messages from someone writing a preprocessor that
> used @@{....}; looks like it's playframework.org, which is
> the subject of the other 3 matches on symbolhound.
> There were no matches for }@@ or ]@@ which is what matters for
> us.
@@{ 0
@@[ 0
Liam
> So of the ones "not likely to be included accidentally",
>
> @@{...]@@ and @@{...}@@ passes the "highly visible" test.
>
> <<[...]>> and <<{....}>> fail "highly visible" in an XQuery context
> but might be OK in the middle of Jav
> aScript and JSON and CSS.
>
> {{...}} won't fly at all, neither will <[...]>
>
> The importance of "highly visible" is increased if you take e.g. 200
> lines of CSS with substitution, immediately followed by another 100
> lines of CSS with substitution, followed by 300 lines of JSON, and
> want to check the boundaries between them. It's not important with the
> one to three line examples we've been using on the list, but you could
> use concat() just as well for those.
>
> I could live with either <<[...]>> <<{...}>> or @@.
>
> A possible advantage of << is that Perl (and bash) uses it:
>
> my $css = <<EOF;
> @page normal {
> width: 11in;
> }
> EOF
>
> (where EOF is any word, single-quoted to inhibit interpolation).
>
> Liam
--
Liam Quin, W3C
XML Activity Lead;
Digital publishing; HTML Accessibility
Received on Saturday, 26 September 2015 22:26:18 UTC