Skip to content

Commit 3cc451d

Browse files
committed
[css2] The letters u, r and l in the url() notation may be escaped, see
http://lists.w3.org/Archives/Public/www-style/2013Jan/0616.html The control characters U+0080 to U+009F may occur in identifiers, see http://lists.w3.org/Archives/Public/www-style/2013Jan/0616.html --HG-- extra : convert_revision : svn%3A73dc7c4b-06e6-40f3-b4f7-9ed1dbc14bfc/trunk%403272
1 parent 3be3395 commit 3cc451d

1 file changed

Lines changed: 13 additions & 9 deletions

File tree

css2/syndata.src

Lines changed: 13 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
22
<html lang="en">
3-
<!-- $Id: syndata.src,v 2.191 2011-10-18 19:25:28 bbos Exp $ -->
3+
<!-- $Id: syndata.src,v 2.192 2013-05-02 12:11:38 bbos Exp $ -->
44
<head>
55
<title>Syntax and basic data types</title>
66
<!--script src="http://www.w3c-test.org/css/harness/annotate.js#CSS21_DEV" type="text/javascript" defer></script-->
@@ -65,8 +65,8 @@ Lex, in case of multiple matches, the longest match determines the token.
6565
<tr><td>NUMBER </td><td><code><var>{num}</var></code></td></tr>
6666
<tr><td>PERCENTAGE </td><td><code><var>{num}</var>%</code></td></tr>
6767
<tr><td>DIMENSION </td><td><code><var>{num}{ident}</var></code></td></tr>
68-
<tr><td>URI </td><td><code>url\(<var>{w}{string}{w}</var>\)<br>
69-
|url\(<var>{w}</var>([!#$%&amp;*-\[\]-~]|<var>{nonascii}</var>|<var>{escape}</var>)*<var>{w}</var>\)</code></td></tr>
68+
<tr><td>URI </td><td><code>{U}{R}{L}\(<var>{w}{string}{w}</var>\)<br>
69+
|{U}{R}{L}\(<var>{w}</var>([!#$%&amp;*-\[\]-~]|<var>{nonascii}</var>|<var>{escape}</var>)*<var>{w}</var>\)</code></td></tr>
7070
<tr><td>UNICODE-RANGE </td><td><code>u\+[0-9a-f?]{1,6}(-[0-9a-f]{1,6})?</code></td></tr>
7171
<tr><td>CDO </td><td><code>&lt;!--</code></td></tr>
7272
<tr><td>CDC </td><td><code>--&gt;</code></td></tr>
@@ -97,7 +97,7 @@ the above rules, and neither a single nor a double quote</var>
9797
<tr><td>ident </td><td><code>[-]?<var>{nmstart}</var><var>{nmchar}*</var></code></td></tr>
9898
<tr><td>name </td><td><code><var>{nmchar}+</var></code></td></tr>
9999
<tr><td>nmstart </td><td><code>[_a-z]|<var>{nonascii}</var>|<var>{escape}</var></code></td></tr>
100-
<tr><td>nonascii</td><td><code>[^\0-\237]</code></td></tr>
100+
<tr><td>nonascii</td><td><code>[^\0-\177]</code></td></tr>
101101
<tr><td>unicode </td><td><code>\\[0-9a-f]{1,6}(\r\n|[ \n\r\t\f])?</code></td></tr>
102102
<tr><td>escape </td><td><code><var>{unicode}</var>|\\[^\n\r\f0-9a-f]</code></td></tr>
103103
<tr><td>nmchar </td><td><code>[_a-z0-9-]|<var>{nonascii}</var>|<var>{escape}</var></code></td></tr>
@@ -112,11 +112,14 @@ the above rules, and neither a single nor a double quote</var>
112112
<tr><td>badcomment1 </td><td><code>\/\*[^*]*\*+([^/*][^*]*\*+)*</code></td></tr>
113113
<tr><td>badcomment2 </td><td><code>\/\*[^*]*(\*+[^/*][^*]*)*</code></td></tr>
114114
<tr><td>baduri </td><td><code><var>{baduri1}</var>|<var>{baduri2}</var>|<var>{baduri3}</var></code></td></tr>
115-
<tr><td>baduri1 </td><td><code>url\(<var>{w}</var>([!#$%&amp;*-~]|<var>{nonascii}</var>|<var>{escape}</var>)*<var>{w}</var></code></td></tr>
116-
<tr><td>baduri2 </td><td><code>url\(<var>{w}</var><var>{string}</var><var>{w}</var></code></td></tr>
117-
<tr><td>baduri3 </td><td><code>url\(<var>{w}</var><var>{badstring}</var></code></td></tr>
115+
<tr><td>baduri1 </td><td><code>{U}{R}{L}\(<var>{w}</var>([!#$%&amp;*-~]|<var>{nonascii}</var>|<var>{escape}</var>)*<var>{w}</var></code></td></tr>
116+
<tr><td>baduri2 </td><td><code>{U}{R}{L}\(<var>{w}</var><var>{string}</var><var>{w}</var></code></td></tr>
117+
<tr><td>baduri3 </td><td><code>{U}{R}{L}\(<var>{w}</var><var>{badstring}</var></code></td></tr>
118118
<tr><td>nl </td><td><code>\n|\r\n|\r|\f</code></td></tr>
119119
<tr><td>w </td><td><code>[ \t\r\n\f]*</code></td></tr>
120+
<tr><td>L <td><code>l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l</code>
121+
<tr><td>R <td><code>r|\\0{0,4}(52|72)(\r\n|[ \t\r\n\f])?|\\r</code>
122+
<tr><td>U <td><code>u|\\0{0,4}(55|75)(\r\n|[ \t\r\n\f])?|\\u</code>
120123
</table>
121124

122125
<div class="example">
@@ -275,7 +278,7 @@ href="#parsing-errors">rules for handling parsing errors</a>. However, because t
275278
name="value-def-identifier"><dfn>identifiers</dfn></a></span>
276279
(including element names, classes, and IDs in <a
277280
href="selector.html">selectors</a>) can contain only the
278-
characters [a-zA-Z0-9] and ISO 10646 characters <!--160--> U+00A0 and higher,
281+
characters [a-zA-Z0-9] and ISO 10646 characters <!--128--> U+0080 and higher,
279282
plus the hyphen (-) and the underscore (_); they cannot start with
280283
a digit, two hyphens, or a hyphen followed by a digit.
281284
Identifiers can also contain escaped characters and any ISO 10646
@@ -1406,9 +1409,10 @@ encoding::default|default::character encoding">character
14061409
encoding</span> (from highest priority to lowest):
14071410
</p>
14081411
<ol>
1412+
<li><span class="index-inst">BOM</span>
14091413
<li>An HTTP "charset" parameter in a "Content-Type" field
14101414
(or similar parameters in other protocols)</li>
1411-
<li><span class="index-inst">BOM</span> and/or <span
1415+
<li><span
14121416
class="index-inst">@charset</span> (see below)</li>
14131417
<li><code>&lt;link charset=""&gt;</code> or other metadata from the linking mechanism (if any)</li>
14141418
<li>charset of referring style sheet or document (if any)</li>

0 commit comments

Comments
 (0)