Skip to content

Commit cda46be

Browse files
committed
SPARQL String. Unicode escapes exclude surrogates
1 parent 16f8a7a commit cda46be

File tree

1 file changed

+44
-18
lines changed

1 file changed

+44
-18
lines changed

spec/index.html

+44-18
Original file line numberDiff line numberDiff line change
@@ -10510,30 +10510,49 @@ <h4>Notes</h4>
1051010510
<h2>SPARQL Grammar</h2>
1051110511
<p>The SPARQL grammar covers both SPARQL Query and [[[SPARQL11-UPDATE]]].</p>
1051210512
<section id="queryString">
10513-
<h3>SPARQL Request String</h3>
10513+
<h3>SPARQL String</h3>
1051410514
<p>
10515-
A <dfn data-lt="SPARQLRequestString">SPARQL Request String</dfn> is
10516-
a <a>SPARQL Query String</a> or <a>SPARQL Update String</a> and is a Unicode character string
10517-
(c.f. section 6.1 String concepts of [[CHARMOD]]) in the language defined by the following
10518-
grammar.</p>
10515+
<span id="defn_SPARQLRequestString"></span>
10516+
A <dfn>SPARQL string</dfn> is an
10517+
<a data-cite="RDF12-CONCEPTS#dfn-rdf-string">RDF string</a> that
10518+
conforms to the grammar given in this section.
10519+
</p>
10520+
<p class="note">
10521+
An <a data-cite="RDF12-CONCEPTS#dfn-rdf-string">RDF string</a> is
10522+
a sequence of
10523+
<a data-cite="I18N-GLOSSARY#dfn-code-point" class="lint-ignore">Unicode code points</a>
10524+
which are <a data-cite="I18N-GLOSSARY#dfn-scalar-value" class="lint-ignore">Unicode scalar values</a>.
10525+
Unicode scalar values do not include the
10526+
<a data-cite="I18N-GLOSSARY#dfn-surrogate" class="lint-ignore">surrogate code points</a>.
10527+
</p>
1051910528
<p>
10520-
A <dfn data-lt="SPARQLQueryString">SPARQL Query String</dfn> starts
10521-
at the <a href="#rQueryUnit">QueryUnit</a> production.</p>
10529+
<span id="defn_SPARQLQueryString"></span>
10530+
A <dfn>SPARQL query string</dfn> is a
10531+
<a>SPARQL String</a> that conforms to the grammar starting at
10532+
the <a href="#rQueryUnit">QueryUnit</a> production.
10533+
</p>
1052210534
<p>
10523-
A <dfn data-lt="SPARQLUpdateString">SPARQL Update String</dfn> starts
10524-
at the <a href="#rUpdateUnit">UpdateUnit</a> production.</p>
10525-
<p>For compatibility with future versions of Unicode, the characters in this string may
10535+
<span id="defn_SPARQLUpdateString"></span>
10536+
A <dfn>SPARQL update string</dfn> is a
10537+
<a>SPARQL String</a> that conforms to the grammar starting at
10538+
the <a href="#rUpdateUnit">UpdateUnit</a> production.
10539+
</p>
10540+
<p>
10541+
For compatibility with future versions of Unicode, the characters in this string may
1052610542
include Unicode codepoints that are unassigned as of the date of this publication (see
1052710543
[[[UAX31]]] [[UAX31]] section 4 Pattern Syntax). For productions with excluded character
1052810544
classes (for example <code>[^&lt;&gt;'{}|^`]</code>), the characters are excluded from the
10529-
range <code>#x0 - #x10FFFF</code>.</p>
10545+
range <code>#x0 - #x10FFFF</code>.
10546+
</p>
1053010547
</section>
1053110548

1053210549
<section id="codepointEscape">
1053310550
<h3>Codepoint Escape Sequences</h3>
10534-
<p>A SPARQL Query String is processed for codepoint escape sequences before parsing by the
10551+
<p>
10552+
A <a>SPARQL string</a> is processed for codepoint escape sequences before parsing by the
1053510553
grammar defined in EBNF below. The codepoint escape sequences for a SPARQL query string
10536-
are:</p>
10554+
are:
10555+
</p>
1053710556
<span class="doc-ref" id="table68"></span>
1053810557
<table title="Codepoint escapes">
1053910558
<colgroup>
@@ -10551,15 +10570,19 @@ <h3>Codepoint Escape Sequences</h3>
1055110570
<a href="#HEX">HEX</a> <a href="#HEX">HEX</a>
1055210571
</td>
1055310572
<td>A Unicode code point in the range U+0 to U+FFFF inclusive corresponding to the
10554-
encoded hexadecimal value.</td>
10573+
encoded hexadecimal value, excluding U+D800 to U+DFFF, the
10574+
<a data-cite="I18N-GLOSSARY#dfn-surrogate">surrogate code points</a>.
10575+
</td>
1055510576
</tr>
1055610577
<tr>
1055710578
<td>
1055810579
<span class="token">'\U'</span> <a href="#HEX">HEX</a> <a href="#HEX">HEX</a>
1055910580
<a href="#HEX">HEX</a> <a href="#HEX">HEX</a> <a href="#HEX">HEX</a> <a href="#HEX">HEX</a> <a href="#HEX">HEX</a> <a href="#HEX">HEX</a>
1056010581
</td>
1056110582
<td>A Unicode code point in the range U+0 to U+10FFFF inclusive corresponding to the
10562-
encoded hexadecimal value.</td>
10583+
encoded hexadecimal value, excluding U+D800 to U+DFFF, the
10584+
<a data-cite="I18N-GLOSSARY#dfn-surrogate">surrogate code points</a>.
10585+
1056310586
</tr>
1056410587
</tbody>
1056510588
</table>
@@ -10572,13 +10595,16 @@ <h3>Codepoint Escape Sequences</h3>
1057210595
&lt;ab\u00E9xy&gt; # Codepoint 00E9 is Latin small e with acute - é
1057310596
\u03B1:a # Codepoint x03B1 is Greek small alpha - α
1057410597
a\u003Ab # a:b -- codepoint x3A is colon</pre>
10575-
<p>Codepoint escape sequences can appear anywhere in the query string. They are processed
10598+
<p>
10599+
Codepoint escape sequences can appear anywhere in the query string. They are processed
1057610600
before parsing based on the grammar rules and so may be replaced by codepoints with
10577-
significance in the grammar, such as "<code>:</code>" marking a prefixed name.</p>
10601+
significance in the grammar, such as "<code>:</code>" marking a prefixed name.
10602+
</p>
1057810603
<p>These escape sequences are not included in the grammar below. Only escape sequences for
1057910604
characters that would be legal at that point in the grammar may be given. For example, the
1058010605
variable "<code>?x\u0020y</code>" is not legal (<code>\u0020</code> is a space and is not
10581-
permitted in a variable name).</p>
10606+
permitted in a variable name).
10607+
</p>
1058210608
</section>
1058310609
<section id="whitespace">
1058410610
<h3>White Space</h3>

0 commit comments

Comments
 (0)