Mon, 13 Oct 2014 17:29:24 -0700
[css-syntax] Remove the now-extraneous opening steps of 'consume a url token', as they were subsumed by the rest of the algo returning bad-url less.
css-syntax/Overview.bs | file | annotate | diff | comparison | revisions | |
css-syntax/Overview.html | file | annotate | diff | comparison | revisions |
1.1 --- a/css-syntax/Overview.bs Mon Oct 13 20:22:49 2014 -0400 1.2 +++ b/css-syntax/Overview.bs Mon Oct 13 17:29:24 2014 -0700 1.3 @@ -1285,64 +1285,53 @@ 1.4 1.5 Note: This algorithm assumes that the initial "url(" has already been consumed. 1.6 1.7 - <ol> 1.8 - <li> 1.9 - Initially create a <<url-token>> with its value set to the empty string. 1.10 - 1.11 - <li> 1.12 + Initially create a <<url-token>> with its value set to the empty string. 1.13 + 1.14 + Repeatedly consume the <a>next input code point</a> from the stream: 1.15 + 1.16 + <dl> 1.17 + <dt>U+0029 RIGHT PARENTHESIS ()) 1.18 + <dt>EOF 1.19 + <dd> 1.20 + Return the <<url-token>>. 1.21 + 1.22 + <dt><a>whitespace</a> 1.23 + <dd> 1.24 Consume as much <a>whitespace</a> as possible. 1.25 - 1.26 - <li> 1.27 - If the <a>next input code point</a> is EOF, 1.28 - return the <<url-token>>. 1.29 - 1.30 - <li> 1.31 - Repeatedly consume the <a>next input code point</a> from the stream: 1.32 - 1.33 - <dl> 1.34 - <dt>U+0029 RIGHT PARENTHESIS ()) 1.35 - <dt>EOF 1.36 - <dd> 1.37 - Return the <<url-token>>. 1.38 - 1.39 - <dt><a>whitespace</a> 1.40 - <dd> 1.41 - Consume as much <a>whitespace</a> as possible. 1.42 - If the <a>next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF, 1.43 - consume it and return the <<url-token>>; 1.44 - otherwise, 1.45 - <a>consume the remnants of a bad url</a>, 1.46 - create a <<bad-url-token>>, 1.47 - and return it. 1.48 - 1.49 - <dt>U+0022 QUOTATION MARK (") 1.50 - <dt>U+0027 APOSTROPHE (') 1.51 - <dt>U+0028 LEFT PARENTHESIS (() 1.52 - <dt><a>non-printable code point</a> 1.53 - <dd> 1.54 - This is a <a>parse error</a>. 1.55 - <a>Consume the remnants of a bad url</a>, 1.56 - create a <<bad-url-token>>, 1.57 - and return it. 1.58 - 1.59 - <dt>U+005C REVERSE SOLIDUS 1.60 - <dd> 1.61 - If the stream <a>starts with a valid escape</a>, 1.62 - <a>consume an escaped code point</a> 1.63 - and append the returned <a>code point</a> to the <<url-token>>’s value. 1.64 - 1.65 - Otherwise, 1.66 - this is a <a>parse error</a>. 1.67 - <a>Consume the remnants of a bad url</a>, 1.68 - create a <<bad-url-token>>, 1.69 - and return it. 1.70 - 1.71 - <dt>anything else 1.72 - <dd> 1.73 - Append the <a>current input code point</a> 1.74 - to the <<url-token>>’s value. 1.75 - </dl> 1.76 - </ol> 1.77 + If the <a>next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF, 1.78 + consume it and return the <<url-token>>; 1.79 + otherwise, 1.80 + <a>consume the remnants of a bad url</a>, 1.81 + create a <<bad-url-token>>, 1.82 + and return it. 1.83 + 1.84 + <dt>U+0022 QUOTATION MARK (") 1.85 + <dt>U+0027 APOSTROPHE (') 1.86 + <dt>U+0028 LEFT PARENTHESIS (() 1.87 + <dt><a>non-printable code point</a> 1.88 + <dd> 1.89 + This is a <a>parse error</a>. 1.90 + <a>Consume the remnants of a bad url</a>, 1.91 + create a <<bad-url-token>>, 1.92 + and return it. 1.93 + 1.94 + <dt>U+005C REVERSE SOLIDUS 1.95 + <dd> 1.96 + If the stream <a>starts with a valid escape</a>, 1.97 + <a>consume an escaped code point</a> 1.98 + and append the returned <a>code point</a> to the <<url-token>>’s value. 1.99 + 1.100 + Otherwise, 1.101 + this is a <a>parse error</a>. 1.102 + <a>Consume the remnants of a bad url</a>, 1.103 + create a <<bad-url-token>>, 1.104 + and return it. 1.105 + 1.106 + <dt>anything else 1.107 + <dd> 1.108 + Append the <a>current input code point</a> 1.109 + to the <<url-token>>’s value. 1.110 + </dl> 1.111 1.112 1.113 <h4 id="consume-a-unicode-range-token">
2.1 --- a/css-syntax/Overview.html Mon Oct 13 20:22:49 2014 -0400 2.2 +++ b/css-syntax/Overview.html Mon Oct 13 17:29:24 2014 -0700 2.3 @@ -58,25 +58,8 @@ 2.4 </p> 2.5 <h1 class="p-name no-ref" id=title>CSS Syntax Module Level 3</h1> 2.6 <h2 class="no-num no-toc no-ref heading settled" id=subtitle><span class=content>Editor’s Draft, 2.7 - <span class=dt-updated><span class=value-title title=20140905>5 September 2014</span></span></span></h2> 2.8 - <div data-fill-with=spec-metadata><dl> 2.9 - <dt>This version: 2.10 - <dd><a class=u-url href=http://dev.w3.org/csswg/css-syntax/>http://dev.w3.org/csswg/css-syntax/</a> 2.11 - <dt>Latest version: 2.12 - <dd><a href=http://www.w3.org/TR/css-syntax-3/>http://www.w3.org/TR/css-syntax-3/</a> 2.13 - <dt>Previous Versions: 2.14 - <dd><a href=http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/ rel=previous>http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/</a> 2.15 - <dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/</a> 2.16 - <dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/</a> 2.17 - <dt>Feedback: 2.18 - <dd><a href="mailto:www-style@w3.org?subject=%5Bcss-syntax%5D%20feedback">www-style@w3.org</a> 2.19 - with subject line 2.20 - “<kbd>[css-syntax] <var>… message topic …</var></kbd>”(<a href=http://lists.w3.org/Archives/Public/www-style/ rel=discussion>archives</a>) 2.21 - <dt>Editors: 2.22 - <dd><div class="p-author h-card vcard"><a class="p-name fn u-url url" href=http://xanthir.com/contact/>Tab Atkins Jr.</a> (<span class="p-org org">Google</span>)</div> 2.23 - <dd><div class="p-author h-card vcard"><a class="p-name fn u-url url" href=http://exyr.org/about/>Simon Sapin</a> (<span class="p-org org">Mozilla</span>)</div> 2.24 -</dl> 2.25 -</div> 2.26 + <span class=dt-updated><span class=value-title title=20141014>14 October 2014</span></span></span></h2> 2.27 + <div data-fill-with=spec-metadata><dl><dt>This version:<dd><a class=u-url href=http://dev.w3.org/csswg/css-syntax/>http://dev.w3.org/csswg/css-syntax/</a><dt>Latest version:<dd><a href=http://www.w3.org/TR/css-syntax-3/>http://www.w3.org/TR/css-syntax-3/</a><dt>Previous Versions:<dd><a href=http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/ rel=previous>http://www.w3.org/TR/2014/CR-css-syntax-3-20140220/</a><dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20131105/</a><dd><a href=http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/ rel=previous>http://www.w3.org/TR/2013/WD-css-syntax-3-20130919/</a><dt>Feedback:<dd><span><a href="mailto:www-style@w3.org?subject=[css-syntax] feedback">www-style@w3.org</a> with subject line “<kbd>[css-syntax] <var>… message topic …</var></kbd>” (<a href=http://lists.w3.org/Archives/Public/www-style/ rel=discussion>archives</a>)</span><dt>Editors:<dd><div class="p-author h-card vcard"><a class="p-name fn u-url url" href=http://xanthir.com/contact/>Tab Atkins Jr.</a> (<span class="p-org org">Google</span>)</div><dd><div class="p-author h-card vcard"><a class="p-name fn u-url url" href=http://exyr.org/about/>Simon Sapin</a> (<span class="p-org org">Mozilla</span>)</div></dl></div> 2.28 <div data-fill-with=warning></div> 2.29 <p class=copyright data-fill-with=copyright><a href=http://www.w3.org/Consortium/Legal/ipr-notice#Copyright>Copyright</a> © 2014 <a href=http://www.w3.org/><abbr title="World Wide Web Consortium">W3C</abbr></a><sup>®</sup> (<a href=http://www.csail.mit.edu/><abbr title="Massachusetts Institute of Technology">MIT</abbr></a>, <a href=http://www.ercim.eu/><abbr title="European Research Consortium for Informatics and Mathematics">ERCIM</abbr></a>, <a href=http://www.keio.ac.jp/>Keio</a>, <a href=http://ev.buaa.edu.cn/>Beihang</a>), All Rights Reserved. W3C <a href=http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer>liability</a>, <a href=http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks>trademark</a> and <a href=http://www.w3.org/Consortium/Legal/copyright-documents>document use</a> rules apply. 2.30 </p> 2.31 @@ -92,135 +75,119 @@ 2.32 2.33 <h2 class="no-num no-toc no-ref heading settled" id=status><span class=content>Status of this document</span></h2> 2.34 <div data-fill-with=status><p> 2.35 - This is a public copy of the editors’ draft. 2.36 - It is provided for discussion only and may change at any moment. 2.37 - Its publication here does not imply endorsement of its contents by W3C. 2.38 + This is a public copy of the editors’ draft. 2.39 + It is provided for discussion only and may change at any moment. 2.40 + Its publication here does not imply endorsement of its contents by W3C. 2.41 Don’t cite this document other than as work in progress. 2.42 2.43 <p> 2.44 The (<a href=http://lists.w3.org/Archives/Public/www-style/>archived</a>) public mailing list 2.45 - <a href="mailto:www-style@w3.org?Subject=%5Bcss-syntax%5D%20PUT%20SUBJECT%20HERE">www-style@w3.org</a> 2.46 - (see <a href=http://www.w3.org/Mail/Request>instructions</a>) 2.47 - is preferred for discussion of this specification. 2.48 - When sending e-mail, 2.49 - please put the text “css-syntax” in the subject, 2.50 + <a href="mailto:www-style@w3.org?Subject=%5Bcss-syntax%5D%20PUT%20SUBJECT%20HERE">www-style@w3.org</a> 2.51 + (see <a href=http://www.w3.org/Mail/Request>instructions</a>) 2.52 + is preferred for discussion of this specification. 2.53 + When sending e-mail, 2.54 + please put the text “css-syntax” in the subject, 2.55 preferably like this: 2.56 “[css-syntax] <em>…summary of comment…</em>” 2.57 2.58 <p> 2.59 - This document was produced by the <a href=http://www.w3.org/Style/CSS/members>CSS Working Group</a> 2.60 + This document was produced by the <a href=http://www.w3.org/Style/CSS/members>CSS Working Group</a> 2.61 (part of the <a href=http://www.w3.org/Style/>Style Activity</a>). 2.62 2.63 <p> 2.64 - This document was produced by a group operating under 2.65 - the <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/>5 February 2004 W3C Patent Policy</a>. 2.66 - W3C maintains a <a href=http://www.w3.org/2004/01/pp-impl/32061/status rel=disclosure>public list of any patent disclosures</a> 2.67 - made in connection with the deliverables of the group; 2.68 - that page also includes instructions for disclosing a patent. 2.69 - An individual who has actual knowledge of a patent which the individual believes contains <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential>Essential Claim(s)</a> 2.70 - must disclose the information in accordance with <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure>section 6 of the W3C Patent Policy</a>.</div> 2.71 + This document was produced by a group operating under 2.72 + the <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/>5 February 2004 W3C Patent Policy</a>. 2.73 + W3C maintains a <a href=http://www.w3.org/2004/01/pp-impl/32061/status rel=disclosure>public list of any patent disclosures</a> 2.74 + made in connection with the deliverables of the group; 2.75 + that page also includes instructions for disclosing a patent. 2.76 + An individual who has actual knowledge of a patent which the individual believes contains <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential>Essential Claim(s)</a> 2.77 + must disclose the information in accordance with <a href=http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure>section 6 of the W3C Patent Policy</a>. 2.78 + 2.79 +<p> 2.80 + This document is governed by the <a href=http://www.w3.org/2014/Process-20140801/>1 August 2014 W3C Process Document</a>. 2.81 +</div> 2.82 <div data-fill-with=at-risk></div> 2.83 2.84 <h2 class="no-num no-toc no-ref heading settled" id=contents><span class=content>Table of Contents</span></h2> 2.85 -<div data-fill-with=table-of-contents><ul class=toc> 2.86 - <li><a href=#intro><span class=secno>1</span> Introduction</a> 2.87 - <ul class=toc> 2.88 - <li><a href=#placement><span class=secno>1.1</span> Module interactions</a></ul> 2.89 - <li><a href=#syntax-description><span class=secno>2</span> Description of CSS’s Syntax</a> 2.90 - <ul class=toc> 2.91 - <li><a href=#escaping><span class=secno>2.1</span> Escaping</a> 2.92 - <li><a href=#error-handling><span class=secno>2.2</span> Error Handling</a></ul> 2.93 - <li><a href=#tokenizing-and-parsing><span class=secno>3</span> Tokenizing and Parsing CSS</a> 2.94 - <ul class=toc> 2.95 - <li><a href=#parsing-overview><span class=secno>3.1</span> Overview of the Parsing Model</a> 2.96 - <li><a href=#input-byte-stream><span class=secno>3.2</span> The input byte stream</a> 2.97 - <li><a href=#input-preprocessing><span class=secno>3.3</span> Preprocessing the input stream</a></ul> 2.98 - <li><a href=#tokenization><span class=secno>4</span> Tokenization</a> 2.99 - <ul class=toc> 2.100 - <li><a href=#token-diagrams><span class=secno>4.1</span> Token Railroad Diagrams</a> 2.101 - <li><a href=#tokenizer-definitions><span class=secno>4.2</span> Definitions</a> 2.102 - <li><a href=#tokenizer-algorithms><span class=secno>4.3</span> Tokenizer Algorithms</a> 2.103 - <ul class=toc> 2.104 - <li><a href=#consume-a-token><span class=secno>4.3.1</span> Consume a token</a> 2.105 - <li><a href=#consume-comments><span class=secno>4.3.2</span> Consume comments</a> 2.106 - <li><a href=#consume-a-numeric-token><span class=secno>4.3.3</span> Consume a numeric token</a> 2.107 - <li><a href=#consume-an-ident-like-token><span class=secno>4.3.4</span> Consume an ident-like token</a> 2.108 - <li><a href=#consume-a-string-token><span class=secno>4.3.5</span> Consume a string token</a> 2.109 - <li><a href=#consume-a-url-token><span class=secno>4.3.6</span> Consume a url token</a> 2.110 - <li><a href=#consume-a-unicode-range-token><span class=secno>4.3.7</span> Consume a unicode-range token</a> 2.111 - <li><a href=#consume-an-escaped-code-point><span class=secno>4.3.8</span> Consume an escaped code point</a> 2.112 - <li><a href=#starts-with-a-valid-escape><span class=secno>4.3.9</span> Check if two code points are a valid escape</a> 2.113 - <li><a href=#would-start-an-identifier><span class=secno>4.3.10</span> Check if three code points would start an identifier</a> 2.114 - <li><a href=#starts-with-a-number><span class=secno>4.3.11</span> Check if three code points would start a number</a> 2.115 - <li><a href=#consume-a-name><span class=secno>4.3.12</span> Consume a name</a> 2.116 - <li><a href=#consume-a-number><span class=secno>4.3.13</span> Consume a number</a> 2.117 - <li><a href=#convert-a-string-to-a-number><span class=secno>4.3.14</span> Convert a string to a number</a> 2.118 - <li><a href=#consume-the-remnants-of-a-bad-url><span class=secno>4.3.15</span> Consume the remnants of a bad url</a></ul></ul> 2.119 - <li><a href=#parsing><span class=secno>5</span> Parsing</a> 2.120 - <ul class=toc> 2.121 - <li><a href=#parser-diagrams><span class=secno>5.1</span> Parser Railroad Diagrams</a> 2.122 - <li><a href=#parser-definitions><span class=secno>5.2</span> Definitions</a> 2.123 - <li><a href=#parser-entry-points><span class=secno>5.3</span> Parser Entry Points</a> 2.124 - <ul class=toc> 2.125 - <li><a href=#parse-grammar><span class=secno>5.3.1</span> Parse something according to a CSS grammar</a> 2.126 - <li><a href=#parse-a-stylesheet><span class=secno>5.3.2</span> Parse a stylesheet</a> 2.127 - <li><a href=#parse-a-list-of-rules><span class=secno>5.3.3</span> Parse a list of rules</a> 2.128 - <li><a href=#parse-a-rule><span class=secno>5.3.4</span> Parse a rule</a> 2.129 - <li><a href=#parse-a-declaration><span class=secno>5.3.5</span> Parse a declaration</a> 2.130 - <li><a href=#parse-a-list-of-declarations><span class=secno>5.3.6</span> Parse a list of declarations</a> 2.131 - <li><a href=#parse-a-component-value><span class=secno>5.3.7</span> Parse a component value</a> 2.132 - <li><a href=#parse-a-list-of-component-values><span class=secno>5.3.8</span> Parse a list of component values</a> 2.133 - <li><a href=#parse-a-comma-separated-list-of-component-values><span class=secno>5.3.9</span> Parse a comma-separated list of component values</a></ul> 2.134 - <li><a href=#parser-algorithms><span class=secno>5.4</span> Parser Algorithms</a> 2.135 - <ul class=toc> 2.136 - <li><a href=#consume-a-list-of-rules><span class=secno>5.4.1</span> Consume a list of rules</a> 2.137 - <li><a href=#consume-an-at-rule><span class=secno>5.4.2</span> Consume an at-rule</a> 2.138 - <li><a href=#consume-a-qualified-rule><span class=secno>5.4.3</span> Consume a qualified rule</a> 2.139 - <li><a href=#consume-a-list-of-declarations><span class=secno>5.4.4</span> Consume a list of declarations</a> 2.140 - <li><a href=#consume-a-declaration><span class=secno>5.4.5</span> Consume a declaration</a> 2.141 - <li><a href=#consume-a-component-value><span class=secno>5.4.6</span> Consume a component value</a> 2.142 - <li><a href=#consume-a-simple-block><span class=secno>5.4.7</span> Consume a simple block</a> 2.143 - <li><a href=#consume-a-function><span class=secno>5.4.8</span> Consume a function</a></ul></ul> 2.144 - <li><a href=#anb><span class=secno>6</span> The <var>An+B</var> microsyntax</a> 2.145 - <ul class=toc> 2.146 - <li><a href=#anb-syntax><span class=secno>6.1</span> Informal Syntax Description</a> 2.147 - <li><a href=#the-anb-type><span class=secno>6.2</span> The <code><an+b></code> type</a></ul> 2.148 - <li><a href=#rule-defs><span class=secno>7</span> Defining Grammars for Rules and Other Values</a> 2.149 - <ul class=toc> 2.150 - <li><a href=#declaration-rule-list><span class=secno>7.1</span> Defining Block Contents: the <span class=production data-link-type=type title="<declaration-list>"><declaration-list></span>, <span class=production data-link-type=type title="<rule-list>"><rule-list></span>, and <span class=production data-link-type=type title="<stylesheet>"><stylesheet></span> productions</a></ul> 2.151 - <li><a href=#css-stylesheets><span class=secno>8</span> CSS stylesheets</a> 2.152 - <ul class=toc> 2.153 - <li><a href=#style-rules><span class=secno>8.1</span> Style rules</a> 2.154 - <li><a href=#charset-rule><span class=secno>8.2</span> The <span class=css data-link-type=maybe title=@charset>@charset</span> Rule</a></ul> 2.155 - <li><a href=#serialization><span class=secno>9</span> Serialization</a> 2.156 - <ul class=toc> 2.157 - <li><a href=#serializing-anb><span class=secno>9.1</span> Serializing <var><an+b></var></a></ul> 2.158 - <li><a href=#changes0><span class=secno>10</span> Changes</a> 2.159 - <ul class=toc> 2.160 - <li><a href=#changes-CR-20140220><span class=secno>10.1</span> Changes from the 20 February 2014 Candidate Recommendation</a> 2.161 - <li><a href=#changes-WD-20131105><span class=secno>10.2</span> Changes from the 5 November 2013 Last Call Working Draft</a> 2.162 - <li><a href=#changes-WD-20130919><span class=secno>10.3</span> Changes from the 19 September 2013 Working Draft</a> 2.163 - <li><a href=#changes-css21><span class=secno>10.4</span> Changes from CSS 2.1 and Selectors Level 3</a></ul> 2.164 - <li><a href=#acknowledgments><span class=secno></span> Acknowledgments</a> 2.165 - <li><a href=#changes><span class=secno></span> Changes Since the 20 Feb 2014 CR Publication</a> 2.166 - <li><a href=#conformance><span class=secno></span> Conformance</a> 2.167 - <ul class=toc> 2.168 - <li><a href=#conventions><span class=secno></span> Document conventions</a> 2.169 - <li><a href=#conformance-classes><span class=secno></span> Conformance classes</a> 2.170 - <li><a href=#partial><span class=secno></span> Partial implementations</a> 2.171 - <li><a href=#experimental><span class=secno></span> Experimental implementations</a> 2.172 - <li><a href=#testing><span class=secno></span> Non-experimental implementations</a></ul> 2.173 - <li><a href=#references><span class=secno></span> References</a> 2.174 - <ul class=toc> 2.175 - <li><a href=#normative><span class=secno></span> Normative References</a> 2.176 - <li><a href=#informative><span class=secno></span> Informative References</a></ul> 2.177 - <li><a href=#index><span class=secno></span> Index</a> 2.178 - <li><a href=#property-index><span class=secno></span> Property index</a></ul></div> 2.179 - 2.180 - 2.181 - 2.182 - 2.183 -<h2 class="heading settled" data-level=1 id=intro><span class=secno>1 </span><span class=content> 2.184 +<div data-fill-with=table-of-contents><ul class=toc><li><a href=#intro><span class=secno>1</span> <span class=content> 2.185 +Introduction</span></a><ul class=toc><li><a href=#placement><span class=secno>1.1</span> <span class=content> 2.186 +Module interactions</span></a></ul><li><a href=#syntax-description><span class=secno>2</span> <span class=content> 2.187 +Description of CSS’s Syntax</span></a><ul class=toc><li><a href=#escaping><span class=secno>2.1</span> <span class=content> 2.188 +Escaping</span></a><li><a href=#error-handling><span class=secno>2.2</span> <span class=content> 2.189 +Error Handling</span></a></ul><li><a href=#tokenizing-and-parsing><span class=secno>3</span> <span class=content> 2.190 +Tokenizing and Parsing CSS</span></a><ul class=toc><li><a href=#parsing-overview><span class=secno>3.1</span> <span class=content> 2.191 +Overview of the Parsing Model</span></a><li><a href=#input-byte-stream><span class=secno>3.2</span> <span class=content> 2.192 +The input byte stream</span></a><li><a href=#input-preprocessing><span class=secno>3.3</span> <span class=content> 2.193 +Preprocessing the input stream</span></a></ul><li><a href=#tokenization><span class=secno>4</span> <span class=content> 2.194 +Tokenization</span></a><ul class=toc><li><a href=#token-diagrams><span class=secno>4.1</span> <span class=content> 2.195 +Token Railroad Diagrams</span></a><li><a href=#tokenizer-definitions><span class=secno>4.2</span> <span class=content> 2.196 +Definitions</span></a><li><a href=#tokenizer-algorithms><span class=secno>4.3</span> <span class=content> 2.197 +Tokenizer Algorithms</span></a><ul class=toc><li><a href=#consume-a-token><span class=secno>4.3.1</span> <span class=content> 2.198 +Consume a token</span></a><li><a href=#consume-comments><span class=secno>4.3.2</span> <span class=content> 2.199 +Consume comments</span></a><li><a href=#consume-a-numeric-token><span class=secno>4.3.3</span> <span class=content> 2.200 +Consume a numeric token</span></a><li><a href=#consume-an-ident-like-token><span class=secno>4.3.4</span> <span class=content> 2.201 +Consume an ident-like token</span></a><li><a href=#consume-a-string-token><span class=secno>4.3.5</span> <span class=content> 2.202 +Consume a string token</span></a><li><a href=#consume-a-url-token><span class=secno>4.3.6</span> <span class=content> 2.203 +Consume a url token</span></a><li><a href=#consume-a-unicode-range-token><span class=secno>4.3.7</span> <span class=content> 2.204 +Consume a unicode-range token</span></a><li><a href=#consume-an-escaped-code-point><span class=secno>4.3.8</span> <span class=content> 2.205 +Consume an escaped code point</span></a><li><a href=#starts-with-a-valid-escape><span class=secno>4.3.9</span> <span class=content> 2.206 +Check if two code points are a valid escape</span></a><li><a href=#would-start-an-identifier><span class=secno>4.3.10</span> <span class=content> 2.207 +Check if three code points would start an identifier</span></a><li><a href=#starts-with-a-number><span class=secno>4.3.11</span> <span class=content> 2.208 +Check if three code points would start a number</span></a><li><a href=#consume-a-name><span class=secno>4.3.12</span> <span class=content> 2.209 +Consume a name</span></a><li><a href=#consume-a-number><span class=secno>4.3.13</span> <span class=content> 2.210 +Consume a number</span></a><li><a href=#convert-a-string-to-a-number><span class=secno>4.3.14</span> <span class=content> 2.211 +Convert a string to a number</span></a><li><a href=#consume-the-remnants-of-a-bad-url><span class=secno>4.3.15</span> <span class=content> 2.212 +Consume the remnants of a bad url</span></a></ul></ul><li><a href=#parsing><span class=secno>5</span> <span class=content> 2.213 +Parsing</span></a><ul class=toc><li><a href=#parser-diagrams><span class=secno>5.1</span> <span class=content> 2.214 +Parser Railroad Diagrams</span></a><li><a href=#parser-definitions><span class=secno>5.2</span> <span class=content> 2.215 +Definitions</span></a><li><a href=#parser-entry-points><span class=secno>5.3</span> <span class=content> 2.216 +Parser Entry Points</span></a><ul class=toc><li><a href=#parse-grammar><span class=secno>5.3.1</span> <span class=content> 2.217 +Parse something according to a CSS grammar</span></a><li><a href=#parse-a-stylesheet><span class=secno>5.3.2</span> <span class=content> 2.218 +Parse a stylesheet</span></a><li><a href=#parse-a-list-of-rules><span class=secno>5.3.3</span> <span class=content> 2.219 +Parse a list of rules</span></a><li><a href=#parse-a-rule><span class=secno>5.3.4</span> <span class=content> 2.220 +Parse a rule</span></a><li><a href=#parse-a-declaration><span class=secno>5.3.5</span> <span class=content> 2.221 +Parse a declaration</span></a><li><a href=#parse-a-list-of-declarations><span class=secno>5.3.6</span> <span class=content> 2.222 +Parse a list of declarations</span></a><li><a href=#parse-a-component-value><span class=secno>5.3.7</span> <span class=content> 2.223 +Parse a component value</span></a><li><a href=#parse-a-list-of-component-values><span class=secno>5.3.8</span> <span class=content> 2.224 +Parse a list of component values</span></a><li><a href=#parse-a-comma-separated-list-of-component-values><span class=secno>5.3.9</span> <span class=content> 2.225 +Parse a comma-separated list of component values</span></a></ul><li><a href=#parser-algorithms><span class=secno>5.4</span> <span class=content> 2.226 +Parser Algorithms</span></a><ul class=toc><li><a href=#consume-a-list-of-rules><span class=secno>5.4.1</span> <span class=content> 2.227 +Consume a list of rules</span></a><li><a href=#consume-an-at-rule><span class=secno>5.4.2</span> <span class=content> 2.228 +Consume an at-rule</span></a><li><a href=#consume-a-qualified-rule><span class=secno>5.4.3</span> <span class=content> 2.229 +Consume a qualified rule</span></a><li><a href=#consume-a-list-of-declarations><span class=secno>5.4.4</span> <span class=content> 2.230 +Consume a list of declarations</span></a><li><a href=#consume-a-declaration><span class=secno>5.4.5</span> <span class=content> 2.231 +Consume a declaration</span></a><li><a href=#consume-a-component-value><span class=secno>5.4.6</span> <span class=content> 2.232 +Consume a component value</span></a><li><a href=#consume-a-simple-block><span class=secno>5.4.7</span> <span class=content> 2.233 +Consume a simple block</span></a><li><a href=#consume-a-function><span class=secno>5.4.8</span> <span class=content> 2.234 +Consume a function</span></a></ul></ul><li><a href=#anb><span class=secno>6</span> <span class=content> 2.235 +The <var>An+B</var> microsyntax</span></a><ul class=toc><li><a href=#anb-syntax><span class=secno>6.1</span> <span class=content> 2.236 +Informal Syntax Description</span></a><li><a href=#the-anb-type><span class=secno>6.2</span> <span class=content> 2.237 +The <code><an+b></code> type</span></a></ul><li><a href=#rule-defs><span class=secno>7</span> <span class=content> 2.238 +Defining Grammars for Rules and Other Values</span></a><ul class=toc><li><a href=#declaration-rule-list><span class=secno>7.1</span> <span class=content> 2.239 +Defining Block Contents: the <span class=production data-link-type=type title="<declaration-list>"><declaration-list></span>, <span class=production data-link-type=type title="<rule-list>"><rule-list></span>, and <span class=production data-link-type=type title="<stylesheet>"><stylesheet></span> productions</span></a></ul><li><a href=#css-stylesheets><span class=secno>8</span> <span class=content> 2.240 +CSS stylesheets</span></a><ul class=toc><li><a href=#style-rules><span class=secno>8.1</span> <span class=content> 2.241 +Style rules</span></a><li><a href=#charset-rule><span class=secno>8.2</span> <span class=content> 2.242 +The <span class=css data-link-type=maybe title=@charset>@charset</span> Rule</span></a></ul><li><a href=#serialization><span class=secno>9</span> <span class=content> 2.243 +Serialization</span></a><ul class=toc><li><a href=#serializing-anb><span class=secno>9.1</span> <span class=content> 2.244 +Serializing <var><an+b></var></span></a></ul><li><a href=#changes><span class=secno>10</span> <span class=content> 2.245 +Changes</span></a><ul class=toc><li><a href=#changes-CR-20140220><span class=secno>10.1</span> <span class=content> 2.246 +Changes from the 20 February 2014 Candidate Recommendation</span></a><li><a href=#changes-WD-20131105><span class=secno>10.2</span> <span class=content> 2.247 +Changes from the 5 November 2013 Last Call Working Draft</span></a><li><a href=#changes-WD-20130919><span class=secno>10.3</span> <span class=content> 2.248 +Changes from the 19 September 2013 Working Draft</span></a><li><a href=#changes-css21><span class=secno>10.4</span> <span class=content> 2.249 +Changes from CSS 2.1 and Selectors Level 3</span></a></ul><li><a href=#acknowledgments><span class=secno></span> <span class=content> 2.250 +Acknowledgments</span></a><li><a href=#changes><span class=secno></span> <span class=content> 2.251 +Changes Since the 20 Feb 2014 CR Publication</span></a><li><a href=#conformance><span class=secno></span> <span class=content> 2.252 +Conformance</span></a><ul class=toc><li><a href=#conventions><span class=secno></span> <span class=content> 2.253 +Document conventions</span></a><li><a href=#conformance-classes><span class=secno></span> <span class=content> 2.254 +Conformance classes</span></a><li><a href=#partial><span class=secno></span> <span class=content> 2.255 +Partial implementations</span></a><li><a href=#experimental><span class=secno></span> <span class=content> 2.256 +Experimental implementations</span></a><li><a href=#testing><span class=secno></span> <span class=content> 2.257 +Non-experimental implementations</span></a></ul><li><a href=#references><span class=secno></span> <span class=content>References</span></a><ul class=toc><li><a href=#normative><span class=secno></span> <span class=content>Normative References</span></a><li><a href=#informative><span class=secno></span> <span class=content>Informative References</span></a></ul><li><a href=#index><span class=secno></span> <span class=content>Index</span></a></ul></div> 2.258 + 2.259 + 2.260 + 2.261 + 2.262 +<h2 class="heading settled" data-level=1 id=intro><span class=secno>1. </span><span class=content> 2.263 Introduction</span><a class=self-link href=#intro></a></h2> 2.264 2.265 <p><em>This section is not normative.</em></p> 2.266 @@ -235,13 +202,13 @@ 2.267 and then further into CSS objects 2.268 such as stylesheets, rules, and declarations.</p> 2.269 2.270 -<h3 class="heading settled" data-level=1.1 id=placement><span class=secno>1.1 </span><span class=content> 2.271 +<h3 class="heading settled" data-level=1.1 id=placement><span class=secno>1.1. </span><span class=content> 2.272 Module interactions</span><a class=self-link href=#placement></a></h3> 2.273 2.274 <p>This module defines the syntax and parsing of CSS stylesheets. 2.275 It supersedes the lexical scanner and grammar defined in CSS 2.1.</p> 2.276 2.277 -<h2 class="heading settled" data-level=2 id=syntax-description><span class=secno>2 </span><span class=content> 2.278 +<h2 class="heading settled" data-level=2 id=syntax-description><span class=secno>2. </span><span class=content> 2.279 Description of CSS’s Syntax</span><a class=self-link href=#syntax-description></a></h2> 2.280 2.281 <p><em>This section is not normative.</em></p> 2.282 @@ -329,19 +296,19 @@ 2.283 and then can contain letters, numbers, hyphens, or underscores. 2.284 You can include any <a data-link-type=dfn href=#code-point title="code point">code point</a> at all, 2.285 even ones that CSS uses in its syntax, 2.286 - by <a data-link-type=dfn href=#escaping0 title=escaping>escaping</a> it.</p> 2.287 + by <a data-link-type=dfn href=#escaping title=escaping>escaping</a> it.</p> 2.288 2.289 <p>The syntax of selectors is defined in the <a href=http://www.w3.org/TR/selectors/>Selectors spec</a>. 2.290 Similarly, the syntax of the wide variety of CSS values is defined in the <a href=http://www.w3.org/TR/css3-values/>Values & Units spec</a>. 2.291 The special syntaxes of individual <a data-link-type=dfn href=#at-rule title=at-rules>at-rules</a> can be found in the specs that define them.</p> 2.292 2.293 -<h3 class="heading settled" data-level=2.1 id=escaping><span class=secno>2.1 </span><span class=content> 2.294 +<h3 class="heading settled" data-level=2.1 id=escaping><span class=secno>2.1. </span><span class=content> 2.295 Escaping</span><a class=self-link href=#escaping></a></h3> 2.296 2.297 <p><em>This section is not normative.</em></p> 2.298 2.299 <p>Any Unicode <a data-link-type=dfn href=#code-point title="code point">code point</a> can be included in an <a data-link-type=dfn href=#identifier title=identifier>identifier</a> or quoted string 2.300 - by <dfn data-dfn-type=dfn data-noexport="" id=escaping0>escaping<a class=self-link href=#escaping0></a></dfn> it. 2.301 + by <dfn data-dfn-type=dfn data-noexport="" id=escaping>escaping<a class=self-link href=#escaping></a></dfn> it. 2.302 CSS escape sequences start with a backslash (\), and continue with:</p> 2.303 2.304 <ul> 2.305 @@ -363,7 +330,7 @@ 2.306 A "real" space after the escape sequence must be doubled. 2.307 </ul> 2.308 2.309 -<h3 class="heading settled" data-level=2.2 id=error-handling><span class=secno>2.2 </span><span class=content> 2.310 +<h3 class="heading settled" data-level=2.2 id=error-handling><span class=secno>2.2. </span><span class=content> 2.311 Error Handling</span><a class=self-link href=#error-handling></a></h3> 2.312 2.313 <p><em>This section is not normative.</em></p> 2.314 @@ -422,7 +389,7 @@ 2.315 and thus thrown away when they are verified against their grammar. 2.316 </ul> 2.317 2.318 -<h2 class="heading settled" data-level=3 id=tokenizing-and-parsing><span class=secno>3 </span><span class=content> 2.319 +<h2 class="heading settled" data-level=3 id=tokenizing-and-parsing><span class=secno>3. </span><span class=content> 2.320 Tokenizing and Parsing CSS</span><a class=self-link href=#tokenizing-and-parsing></a></h2> 2.321 2.322 <p>User agents must use the parsing rules described in this specification 2.323 @@ -445,7 +412,7 @@ 2.324 but if they do, 2.325 they must recover in the same way as user agents.</p> 2.326 2.327 -<h3 class="heading settled" data-level=3.1 id=parsing-overview><span class=secno>3.1 </span><span class=content> 2.328 +<h3 class="heading settled" data-level=3.1 id=parsing-overview><span class=secno>3.1. </span><span class=content> 2.329 Overview of the Parsing Model</span><a class=self-link href=#parsing-overview></a></h3> 2.330 2.331 <p>The input to the CSS parsing process consists of a stream of Unicode <a data-link-type=dfn href=#code-point title="code points">code points</a>, 2.332 @@ -455,7 +422,7 @@ 2.333 <p class=note>Note: Implementations that do not support scripting do not have to actually create a CSSOM CSSStyleSheet object, 2.334 but the CSSOM tree in such cases is still used as the model for the rest of the specification.</p> 2.335 2.336 -<h3 class="heading settled" data-level=3.2 id=input-byte-stream><span class=secno>3.2 </span><span class=content> 2.337 +<h3 class="heading settled" data-level=3.2 id=input-byte-stream><span class=secno>3.2. </span><span class=content> 2.338 The input byte stream</span><a class=self-link href=#input-byte-stream></a></h3> 2.339 2.340 <p>When parsing a stylesheet, 2.341 @@ -466,7 +433,7 @@ 2.342 2.343 <p>To decode the stream of bytes into a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>, 2.344 UAs must use the <dfn data-dfn-type=dfn data-noexport="" id=decode><a href=http://encoding.spec.whatwg.org/#decode>decode</a><a class=self-link href=#decode></a></dfn> algorithm 2.345 - defined in <a data-biblio-type=normative data-link-type=biblio href=#encoding title=biblio-ENCODING>[ENCODING]</a>, 2.346 + defined in <a data-biblio-type=normative data-link-type=biblio href=#biblio-encoding title=ENCODING>[ENCODING]</a>, 2.347 with the fallback encoding determined as follows.</p> 2.348 2.349 <p class=note>Note: The <a data-link-type=dfn href=#decode title=decode>decode</a> algorithm 2.350 @@ -478,7 +445,7 @@ 2.351 <ol> 2.352 <li> 2.353 If HTTP or equivalent protocol defines an encoding (e.g. via the charset parameter of the Content-Type header), 2.354 - <dfn data-dfn-type=dfn data-export="" id=get-an-encoding><a href=http://encoding.spec.whatwg.org/#concept-encoding-get>get an encoding</a><a class=self-link href=#get-an-encoding></a></dfn> <a data-biblio-type=normative data-link-type=biblio href=#encoding title=biblio-ENCODING>[ENCODING]</a> 2.355 + <dfn data-dfn-type=dfn data-export="" id=get-an-encoding><a href=http://encoding.spec.whatwg.org/#concept-encoding-get>get an encoding</a><a class=self-link href=#get-an-encoding></a></dfn> <a data-biblio-type=normative data-link-type=biblio href=#biblio-encoding title=ENCODING>[ENCODING]</a> 2.356 for the specified value. 2.357 If that does not return failure, 2.358 use the return value as the fallback encoding. 2.359 @@ -567,14 +534,14 @@ 2.360 New formats and new linking mechanisms <b>should not</b> provide an <a data-link-type=dfn href=#environment-encoding title="environment encoding">environment encoding</a>, 2.361 so the stylesheet defaults to UTF-8 instead in the absence of more explicit information.</p> 2.362 2.363 -<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#html title=biblio-HTML>[HTML]</a> defines <a href=http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#link-type-stylesheet>the environment encoding for <code><link rel=stylesheet></code></a>.</p> 2.364 - 2.365 -<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#cssom title=biblio-CSSOM>[CSSOM]</a> defines <a href=http://dev.w3.org/csswg/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction>the environment encoding for <code><xml-stylesheet?></code></a>.</p> 2.366 - 2.367 -<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#css3cascade title=biblio-CSS3CASCADE>[CSS3CASCADE]</a> defines <a href=http://dev.w3.org/csswg/css-cascade/#at-ruledef-import>the environment encoding for <code>@import</code></a>.</p> 2.368 - 2.369 - 2.370 -<h3 class="heading settled" data-level=3.3 id=input-preprocessing><span class=secno>3.3 </span><span class=content> 2.371 +<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#biblio-html title=HTML>[HTML]</a> defines <a href=http://www.whatwg.org/specs/web-apps/current-work/multipage/links.html#link-type-stylesheet>the environment encoding for <code><link rel=stylesheet></code></a>.</p> 2.372 + 2.373 +<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#biblio-cssom title=CSSOM>[CSSOM]</a> defines <a href=http://dev.w3.org/csswg/cssom/#requirements-on-user-agents-implementing-the-xml-stylesheet-processing-instruction>the environment encoding for <code><xml-stylesheet?></code></a>.</p> 2.374 + 2.375 +<p class=note>Note: <a data-biblio-type=informative data-link-type=biblio href=#biblio-css3cascade title=CSS3CASCADE>[CSS3CASCADE]</a> defines <a href=http://dev.w3.org/csswg/css-cascade/#at-ruledef-import>the environment encoding for <code>@import</code></a>.</p> 2.376 + 2.377 + 2.378 +<h3 class="heading settled" data-level=3.3 id=input-preprocessing><span class=secno>3.3. </span><span class=content> 2.379 Preprocessing the input stream</span><a class=self-link href=#input-preprocessing></a></h3> 2.380 2.381 <p>The input stream consists of the <a data-link-type=dfn href=#code-point title="code points">code points</a> 2.382 @@ -595,15 +562,15 @@ 2.383 </ul> 2.384 2.385 2.386 -<h2 class="heading settled" data-level=4 id=tokenization><span class=secno>4 </span><span class=content> 2.387 +<h2 class="heading settled" data-level=4 id=tokenization><span class=secno>4. </span><span class=content> 2.388 Tokenization</span><a class=self-link href=#tokenization></a></h2> 2.389 2.390 <p>Implementations must act as if they used the following algorithms to tokenize CSS. 2.391 To transform a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> into a stream of tokens, 2.392 - repeatedly <a data-link-type=dfn href=#consume-a-token0 title="consume a token">consume a token</a> 2.393 + repeatedly <a data-link-type=dfn href=#consume-a-token title="consume a token">consume a token</a> 2.394 until an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> is reached, 2.395 collecting the returned tokens into a stream. 2.396 - Each call to the <a data-link-type=dfn href=#consume-a-token0 title="consume a token">consume a token</a> algorithm 2.397 + Each call to the <a data-link-type=dfn href=#consume-a-token title="consume a token">consume a token</a> algorithm 2.398 returns a single token, 2.399 so it can also be used "on-demand" to tokenize a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> <em>during</em> parsing, 2.400 if so desired.</p> 2.401 @@ -662,7 +629,7 @@ 2.402 2.403 </ul> 2.404 2.405 -<p class=note>Note: The type flag of hash tokens is used in the Selectors syntax <a data-biblio-type=informative data-link-type=biblio href=#select title=biblio-SELECT>[SELECT]</a>. 2.406 +<p class=note>Note: The type flag of hash tokens is used in the Selectors syntax <a data-biblio-type=informative data-link-type=biblio href=#biblio-select title=SELECT>[SELECT]</a>. 2.407 Only hash tokens with the "id" type are valid <a href=http://www.w3.org/TR/selectors/#id-selectors>ID selectors</a>.</p> 2.408 2.409 <p class=note>Note: As a technical note, 2.410 @@ -671,7 +638,7 @@ 2.411 and additional tokens may be added in the future to maintain this invariant.</p> 2.412 2.413 2.414 -<h3 class="heading settled" data-level=4.1 id=token-diagrams><span class=secno>4.1 </span><span class=content> 2.415 +<h3 class="heading settled" data-level=4.1 id=token-diagrams><span class=secno>4.1. </span><span class=content> 2.416 Token Railroad Diagrams</span><a class=self-link href=#token-diagrams></a></h3> 2.417 2.418 <p><em>This section is non-normative.</em></p> 2.419 @@ -1849,7 +1816,7 @@ 2.420 </path></g></svg></div> 2.421 </dl> 2.422 2.423 -<h3 class="heading settled" data-level=4.2 id=tokenizer-definitions><span class=secno>4.2 </span><span class=content> 2.424 +<h3 class="heading settled" data-level=4.2 id=tokenizer-definitions><span class=secno>4.2. </span><span class=content> 2.425 Definitions</span><a class=self-link href=#tokenizer-definitions></a></h3> 2.426 2.427 <p>This section defines several terms used during the tokenization phase.</p> 2.428 @@ -1857,7 +1824,7 @@ 2.429 <dl data-export=""> 2.430 <dt><dfn data-dfn-type=dfn data-export="" id=code-point>code point<a class=self-link href=#code-point></a></dfn> 2.431 <dd> 2.432 - A <a href=http://unicode.org/glossary/#code_point>Unicode code point</a>. <a data-biblio-type=normative data-link-type=biblio href=#unicode title=biblio-UNICODE>[UNICODE]</a> 2.433 + A <a href=http://unicode.org/glossary/#code_point>Unicode code point</a>. <a data-biblio-type=normative data-link-type=biblio href=#biblio-unicode title=UNICODE>[UNICODE]</a> 2.434 Any value in the Unicode codespace; that is, the range of integers from 0 to (hexadecimal) 10FFFF. 2.435 2.436 <dt><dfn data-dfn-type=dfn data-export="" id=next-input-code-point>next input code point<a class=self-link href=#next-input-code-point></a></dfn> 2.437 @@ -1954,18 +1921,18 @@ 2.438 2.439 </dl> 2.440 2.441 -<h3 class="heading settled" data-level=4.3 id=tokenizer-algorithms><span class=secno>4.3 </span><span class=content> 2.442 +<h3 class="heading settled" data-level=4.3 id=tokenizer-algorithms><span class=secno>4.3. </span><span class=content> 2.443 Tokenizer Algorithms</span><a class=self-link href=#tokenizer-algorithms></a></h3> 2.444 2.445 <p>The algorithms defined in this section transform a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a> into a stream of tokens.</p> 2.446 2.447 -<h4 class="heading settled" data-level=4.3.1 id=consume-a-token><span class=secno>4.3.1 </span><span class=content> 2.448 +<h4 class="heading settled" data-level=4.3.1 id=consume-a-token><span class=secno>4.3.1. </span><span class=content> 2.449 Consume a token</span><a class=self-link href=#consume-a-token></a></h4> 2.450 2.451 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-token0>consume a token<a class=self-link href=#consume-a-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.452 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-token>consume a token<a class=self-link href=#consume-a-token></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.453 It will return a single token of any type.</p> 2.454 2.455 -<p><a data-link-type=dfn href=#consume-comments0 title="Consume comments">Consume comments</a>.</p> 2.456 +<p><a data-link-type=dfn href=#consume-comments title="Consume comments">Consume comments</a>.</p> 2.457 2.458 <p>Consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>.</p> 2.459 2.460 @@ -1977,7 +1944,7 @@ 2.461 2.462 <dt>U+0022 QUOTATION MARK (") 2.463 <dd> 2.464 - <a data-link-type=dfn href=#consume-a-string-token0 title="Consume a string token">Consume a string token</a> 2.465 + <a data-link-type=dfn href=#consume-a-string-token title="Consume a string token">Consume a string token</a> 2.466 and return it. 2.467 2.468 <dt>U+0023 NUMBER SIGN (#) 2.469 @@ -1996,7 +1963,7 @@ 2.470 set the <a class="production css" data-link-type=type href=#typedef-hash-token title="<hash-token>"><hash-token></a>’s type flag to "id". 2.471 2.472 <li> 2.473 - <a data-link-type=dfn href=#consume-a-name0 title="Consume a name">Consume a name</a>, 2.474 + <a data-link-type=dfn href=#consume-a-name title="Consume a name">Consume a name</a>, 2.475 and set the <a class="production css" data-link-type=type href=#typedef-hash-token title="<hash-token>"><hash-token></a>’s value to the returned string. 2.476 2.477 <li> 2.478 @@ -2020,7 +1987,7 @@ 2.479 2.480 <dt>U+0027 APOSTROPHE (') 2.481 <dd> 2.482 - <a data-link-type=dfn href=#consume-a-string-token0 title="Consume a string token">Consume a string token</a> 2.483 + <a data-link-type=dfn href=#consume-a-string-token title="Consume a string token">Consume a string token</a> 2.484 and return it. 2.485 2.486 <dt>U+0028 LEFT PARENTHESIS (() 2.487 @@ -2046,7 +2013,7 @@ 2.488 <dd> 2.489 If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>, 2.490 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.491 - <a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a> 2.492 + <a data-link-type=dfn href=#consume-a-numeric-token title="consume a numeric token">consume a numeric token</a> 2.493 and return it. 2.494 2.495 <p>Otherwise, 2.496 @@ -2061,7 +2028,7 @@ 2.497 <dd> 2.498 If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>, 2.499 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.500 - <a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>, 2.501 + <a data-link-type=dfn href=#consume-a-numeric-token title="consume a numeric token">consume a numeric token</a>, 2.502 and return it. 2.503 2.504 <p>Otherwise, 2.505 @@ -2075,7 +2042,7 @@ 2.506 <p>Otherwise, 2.507 if the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="starts with an identifier">starts with an identifier</a>, 2.508 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.509 - <a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>, 2.510 + <a data-link-type=dfn href=#consume-an-ident-like-token title="consume an ident-like token">consume an ident-like token</a>, 2.511 and return it.</p> 2.512 2.513 <p>Otherwise, 2.514 @@ -2086,7 +2053,7 @@ 2.515 <dd> 2.516 If the input stream <a data-link-type=dfn href=#check-if-three-code-points-would-start-a-number title="starts with a number">starts with a number</a>, 2.517 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.518 - <a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>, 2.519 + <a data-link-type=dfn href=#consume-a-numeric-token title="consume a numeric token">consume a numeric token</a>, 2.520 and return it. 2.521 2.522 <p>Otherwise, 2.523 @@ -2119,7 +2086,7 @@ 2.524 <dd> 2.525 If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> 2.526 <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>, 2.527 - <a data-link-type=dfn href=#consume-a-name0 title="consume a name">consume a name</a>, 2.528 + <a data-link-type=dfn href=#consume-a-name title="consume a name">consume a name</a>, 2.529 create an <a class="production css" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>"><at-keyword-token></a> with its value set to the returned value, 2.530 and return it. 2.531 2.532 @@ -2135,7 +2102,7 @@ 2.533 <dd> 2.534 If the input stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>, 2.535 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.536 - <a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>, 2.537 + <a data-link-type=dfn href=#consume-an-ident-like-token title="consume an ident-like token">consume an ident-like token</a>, 2.538 and return it. 2.539 2.540 <p>Otherwise, 2.541 @@ -2169,7 +2136,7 @@ 2.542 <dt><a data-link-type=dfn href=#digit title=digit>digit</a> 2.543 <dd> 2.544 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="Reconsume the current input code point">Reconsume the current input code point</a>, 2.545 - <a data-link-type=dfn href=#consume-a-numeric-token0 title="consume a numeric token">consume a numeric token</a>, 2.546 + <a data-link-type=dfn href=#consume-a-numeric-token title="consume a numeric token">consume a numeric token</a>, 2.547 and return it. 2.548 2.549 <dt>U+0055 LATIN CAPITAL LETTER U (U) 2.550 @@ -2181,18 +2148,18 @@ 2.551 or U+003F QUESTION MARK (?), 2.552 consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a>. 2.553 <span class=note>Note: don’t consume both of them.</span> 2.554 - <a data-link-type=dfn href=#consume-a-unicode-range-token0 title="Consume a unicode-range token">Consume a unicode-range token</a> 2.555 + <a data-link-type=dfn href=#consume-a-unicode-range-token title="Consume a unicode-range token">Consume a unicode-range token</a> 2.556 and return it. 2.557 2.558 <p>Otherwise, 2.559 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="reconsume the current input code point">reconsume the current input code point</a>, 2.560 - <a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>, 2.561 + <a data-link-type=dfn href=#consume-an-ident-like-token title="consume an ident-like token">consume an ident-like token</a>, 2.562 and return it.</p> 2.563 2.564 <dt><a data-link-type=dfn href=#name-start-code-point title="name-start code point">name-start code point</a> 2.565 <dd> 2.566 <a data-link-type=dfn href=#reconsume-the-current-input-code-point title="Reconsume the current input code point">Reconsume the current input code point</a>, 2.567 - <a data-link-type=dfn href=#consume-an-ident-like-token0 title="consume an ident-like token">consume an ident-like token</a>, 2.568 + <a data-link-type=dfn href=#consume-an-ident-like-token title="consume an ident-like token">consume an ident-like token</a>, 2.569 and return it. 2.570 2.571 <dt>U+007C VERTICAL LINE (|) 2.572 @@ -2234,10 +2201,10 @@ 2.573 </dl> 2.574 2.575 2.576 -<h4 class="heading settled" data-level=4.3.2 id=consume-comments><span class=secno>4.3.2 </span><span class=content> 2.577 +<h4 class="heading settled" data-level=4.3.2 id=consume-comments><span class=secno>4.3.2. </span><span class=content> 2.578 Consume comments</span><a class=self-link href=#consume-comments></a></h4> 2.579 2.580 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-comments0>consume comments<a class=self-link href=#consume-comments0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.581 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-comments>consume comments<a class=self-link href=#consume-comments></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.582 It returns nothing.</p> 2.583 2.584 <p>If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next two input code point</a> are 2.585 @@ -2254,13 +2221,13 @@ 2.586 <p>Return nothing.</p> 2.587 2.588 2.589 -<h4 class="heading settled" data-level=4.3.3 id=consume-a-numeric-token><span class=secno>4.3.3 </span><span class=content> 2.590 +<h4 class="heading settled" data-level=4.3.3 id=consume-a-numeric-token><span class=secno>4.3.3. </span><span class=content> 2.591 Consume a numeric token</span><a class=self-link href=#consume-a-numeric-token></a></h4> 2.592 2.593 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-numeric-token0>consume a numeric token<a class=self-link href=#consume-a-numeric-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.594 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-numeric-token>consume a numeric token<a class=self-link href=#consume-a-numeric-token></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.595 It returns either a <a class="production css" data-link-type=type href=#typedef-number-token title="<number-token>"><number-token></a>, <a class="production css" data-link-type=type href=#typedef-percentage-token title="<percentage-token>"><percentage-token></a>, or <a class="production css" data-link-type=type href=#typedef-dimension-token title="<dimension-token>"><dimension-token></a>.</p> 2.596 2.597 -<p><a data-link-type=dfn href=#consume-a-number0 title="Consume a number">Consume a number</a>.</p> 2.598 +<p><a data-link-type=dfn href=#consume-a-number title="Consume a number">Consume a number</a>.</p> 2.599 2.600 <p>If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next 3 input code points</a> <a data-link-type=dfn href=#check-if-three-code-points-would-start-an-identifier title="would start an identifier">would start an identifier</a>, 2.601 then:</p> 2.602 @@ -2269,7 +2236,7 @@ 2.603 <li>Create a <a class="production css" data-link-type=type href=#typedef-dimension-token title="<dimension-token>"><dimension-token></a> with the same representation, value, and type flag as the returned number, 2.604 and a unit set initially to the empty string. 2.605 2.606 - <li><a data-link-type=dfn href=#consume-a-name0 title="Consume a name">Consume a name</a>. 2.607 + <li><a data-link-type=dfn href=#consume-a-name title="Consume a name">Consume a name</a>. 2.608 Set the <a class="production css" data-link-type=type href=#typedef-dimension-token title="<dimension-token>"><dimension-token></a>’s unit to the returned value. 2.609 2.610 <li>Return the <a class="production css" data-link-type=type href=#typedef-dimension-token title="<dimension-token>"><dimension-token></a>. 2.611 @@ -2286,13 +2253,13 @@ 2.612 and return it.</p> 2.613 2.614 2.615 -<h4 class="heading settled" data-level=4.3.4 id=consume-an-ident-like-token><span class=secno>4.3.4 </span><span class=content> 2.616 +<h4 class="heading settled" data-level=4.3.4 id=consume-an-ident-like-token><span class=secno>4.3.4. </span><span class=content> 2.617 Consume an ident-like token</span><a class=self-link href=#consume-an-ident-like-token></a></h4> 2.618 2.619 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-ident-like-token0>consume an ident-like token<a class=self-link href=#consume-an-ident-like-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.620 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-ident-like-token>consume an ident-like token<a class=self-link href=#consume-an-ident-like-token></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.621 It returns an <a class="production css" data-link-type=type href=#typedef-ident-token title="<ident-token>"><ident-token></a>, <a class="production css" data-link-type=type href=#typedef-function-token title="<function-token>"><function-token></a>, <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>, or <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>.</p> 2.622 2.623 -<p><a data-link-type=dfn href=#consume-a-name0 title="Consume a name">Consume a name</a>.</p> 2.624 +<p><a data-link-type=dfn href=#consume-a-name title="Consume a name">Consume a name</a>.</p> 2.625 2.626 <p>If the returned string’s value is an <a data-link-type=dfn href=#ascii-case-insensitive title="ASCII case-insensitive">ASCII case-insensitive</a> match for "url", 2.627 and the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0028 LEFT PARENTHESIS ((), 2.628 @@ -2306,7 +2273,7 @@ 2.629 with its value set to the returned string 2.630 and return it. 2.631 Otherwise, 2.632 - <a data-link-type=dfn href=#consume-a-url-token0 title="consume a url token">consume a url token</a>, 2.633 + <a data-link-type=dfn href=#consume-a-url-token title="consume a url token">consume a url token</a>, 2.634 and return it.</p> 2.635 2.636 <p>Otherwise, 2.637 @@ -2322,10 +2289,10 @@ 2.638 and return it.</p> 2.639 2.640 2.641 -<h4 class="heading settled" data-level=4.3.5 id=consume-a-string-token><span class=secno>4.3.5 </span><span class=content> 2.642 +<h4 class="heading settled" data-level=4.3.5 id=consume-a-string-token><span class=secno>4.3.5. </span><span class=content> 2.643 Consume a string token</span><a class=self-link href=#consume-a-string-token></a></h4> 2.644 2.645 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-string-token0>consume a string token<a class=self-link href=#consume-a-string-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.646 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-string-token>consume a string token<a class=self-link href=#consume-a-string-token></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.647 It returns either a <a class="production css" data-link-type=type href=#typedef-string-token title="<string-token>"><string-token></a> or <a class="production css" data-link-type=type href=#typedef-bad-string-token title="<bad-string-token>"><bad-string-token></a>.</p> 2.648 2.649 <p>This algorithm may be called with an <var>ending code point</var>, 2.650 @@ -2360,7 +2327,7 @@ 2.651 2.652 <p>Otherwise, 2.653 <span class=note>(the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>)</span> 2.654 - <a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">consume an escaped code point</a> 2.655 + <a data-link-type=dfn href=#consume-an-escaped-code-point title="consume an escaped code point">consume an escaped code point</a> 2.656 and append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to the <a class="production css" data-link-type=type href=#typedef-string-token title="<string-token>"><string-token></a>’s value.</p> 2.657 2.658 <dt>anything else 2.659 @@ -2369,78 +2336,67 @@ 2.660 </dl> 2.661 2.662 2.663 -<h4 class="heading settled" data-level=4.3.6 id=consume-a-url-token><span class=secno>4.3.6 </span><span class=content> 2.664 +<h4 class="heading settled" data-level=4.3.6 id=consume-a-url-token><span class=secno>4.3.6. </span><span class=content> 2.665 Consume a url token</span><a class=self-link href=#consume-a-url-token></a></h4> 2.666 2.667 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-url-token0>consume a url token<a class=self-link href=#consume-a-url-token0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.668 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-url-token>consume a url token<a class=self-link href=#consume-a-url-token></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.669 It returns either a <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a> or a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>.</p> 2.670 2.671 <p class=note>Note: This algorithm assumes that the initial "url(" has already been consumed.</p> 2.672 2.673 - <ol> 2.674 - <li> 2.675 - Initially create a <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a> with its value set to the empty string. 2.676 - 2.677 - <li> 2.678 +<p>Initially create a <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a> with its value set to the empty string.</p> 2.679 + 2.680 +<p>Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream:</p> 2.681 + 2.682 + <dl> 2.683 + <dt>U+0029 RIGHT PARENTHESIS ()) 2.684 + <dt>EOF 2.685 + <dd> 2.686 + Return the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>. 2.687 + 2.688 + <dt><a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> 2.689 + <dd> 2.690 Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible. 2.691 - 2.692 - <li> 2.693 - If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is EOF, 2.694 - return the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>. 2.695 - 2.696 - <li> 2.697 - Repeatedly consume the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> from the stream: 2.698 - 2.699 - <dl> 2.700 - <dt>U+0029 RIGHT PARENTHESIS ()) 2.701 - <dt>EOF 2.702 - <dd> 2.703 - Return the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>. 2.704 - 2.705 - <dt><a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> 2.706 - <dd> 2.707 - Consume as much <a data-link-type=dfn href=#whitespace title=whitespace>whitespace</a> as possible. 2.708 - If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF, 2.709 - consume it and return the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>; 2.710 - otherwise, 2.711 - <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="consume the remnants of a bad url">consume the remnants of a bad url</a>, 2.712 - create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.713 - and return it. 2.714 - 2.715 - <dt>U+0022 QUOTATION MARK (") 2.716 - <dt>U+0027 APOSTROPHE (') 2.717 - <dt>U+0028 LEFT PARENTHESIS (() 2.718 - <dt><a data-link-type=dfn href=#non-printable-code-point title="non-printable code point">non-printable code point</a> 2.719 - <dd> 2.720 - This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.721 - <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="Consume the remnants of a bad url">Consume the remnants of a bad url</a>, 2.722 - create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.723 - and return it. 2.724 - 2.725 - <dt>U+005C REVERSE SOLIDUS 2.726 - <dd> 2.727 - If the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>, 2.728 - <a data-link-type=dfn href=#consume-an-escaped-code-point0 title="consume an escaped code point">consume an escaped code point</a> 2.729 - and append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>’s value. 2.730 + If the <a data-link-type=dfn href=#next-input-code-point title="next input code point">next input code point</a> is U+0029 RIGHT PARENTHESIS ()) or EOF, 2.731 + consume it and return the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>; 2.732 + otherwise, 2.733 + <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url title="consume the remnants of a bad url">consume the remnants of a bad url</a>, 2.734 + create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.735 + and return it. 2.736 + 2.737 + <dt>U+0022 QUOTATION MARK (") 2.738 + <dt>U+0027 APOSTROPHE (') 2.739 + <dt>U+0028 LEFT PARENTHESIS (() 2.740 + <dt><a data-link-type=dfn href=#non-printable-code-point title="non-printable code point">non-printable code point</a> 2.741 + <dd> 2.742 + This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.743 + <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url title="Consume the remnants of a bad url">Consume the remnants of a bad url</a>, 2.744 + create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.745 + and return it. 2.746 + 2.747 + <dt>U+005C REVERSE SOLIDUS 2.748 + <dd> 2.749 + If the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a>, 2.750 + <a data-link-type=dfn href=#consume-an-escaped-code-point title="consume an escaped code point">consume an escaped code point</a> 2.751 + and append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>’s value. 2.752 2.753 <p>Otherwise, 2.754 - this is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.755 - <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url0 title="Consume the remnants of a bad url">Consume the remnants of a bad url</a>, 2.756 - create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.757 - and return it.</p> 2.758 - 2.759 - <dt>anything else 2.760 - <dd> 2.761 - Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> 2.762 - to the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>’s value. 2.763 - </dl> 2.764 - </ol> 2.765 - 2.766 - 2.767 -<h4 class="heading settled" data-level=4.3.7 id=consume-a-unicode-range-token><span class=secno>4.3.7 </span><span class=content> 2.768 + this is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.769 + <a data-link-type=dfn href=#consume-the-remnants-of-a-bad-url title="Consume the remnants of a bad url">Consume the remnants of a bad url</a>, 2.770 + create a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>, 2.771 + and return it.</p> 2.772 + 2.773 + <dt>anything else 2.774 + <dd> 2.775 + Append the <a data-link-type=dfn href=#current-input-code-point title="current input code point">current input code point</a> 2.776 + to the <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>’s value. 2.777 + </dl> 2.778 + 2.779 + 2.780 +<h4 class="heading settled" data-level=4.3.7 id=consume-a-unicode-range-token><span class=secno>4.3.7. </span><span class=content> 2.781 Consume a unicode-range token</span><a class=self-link href=#consume-a-unicode-range-token></a></h4> 2.782 2.783 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-unicode-range-token0>consume a unicode-range token<a class=self-link href=#consume-a-unicode-range-token0></a></dfn>. 2.784 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-unicode-range-token>consume a unicode-range token<a class=self-link href=#consume-a-unicode-range-token></a></dfn>. 2.785 It returns a <a class="production css" data-link-type=type href=#typedef-unicode-range-token title="<unicode-range-token>"><unicode-range-token></a>.</p> 2.786 2.787 <p class=note>Note: This algorithm assumes that the initial "u+" has been consumed, 2.788 @@ -2499,10 +2455,10 @@ 2.789 </ol> 2.790 2.791 2.792 -<h4 class="heading settled" data-level=4.3.8 id=consume-an-escaped-code-point><span class=secno>4.3.8 </span><span class=content> 2.793 +<h4 class="heading settled" data-level=4.3.8 id=consume-an-escaped-code-point><span class=secno>4.3.8. </span><span class=content> 2.794 Consume an escaped code point</span><a class=self-link href=#consume-an-escaped-code-point></a></h4> 2.795 2.796 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-escaped-code-point0>consume an escaped code point<a class=self-link href=#consume-an-escaped-code-point0></a></dfn>. 2.797 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-an-escaped-code-point>consume an escaped code point<a class=self-link href=#consume-an-escaped-code-point></a></dfn>. 2.798 It assumes that the U+005C REVERSE SOLIDUS (\) has already been consumed 2.799 and that the next input code point has already been verified 2.800 to not be a <a data-link-type=dfn href=#newline title=newline>newline</a>. 2.801 @@ -2535,7 +2491,7 @@ 2.802 </dl> 2.803 2.804 2.805 -<h4 class="heading settled" data-level=4.3.9 id=starts-with-a-valid-escape><span class=secno>4.3.9 </span><span class=content> 2.806 +<h4 class="heading settled" data-level=4.3.9 id=starts-with-a-valid-escape><span class=secno>4.3.9. </span><span class=content> 2.807 Check if two code points are a valid escape</span><a class=self-link href=#starts-with-a-valid-escape></a></h4> 2.808 2.809 <p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-two-code-points-are-a-valid-escape title="check if two code points are a valid escape|are a valid escape|starts with a valid escape">check if two code points are a valid escape<a class=self-link href=#check-if-two-code-points-are-a-valid-escape></a></dfn>. 2.810 @@ -2558,7 +2514,7 @@ 2.811 <p>Otherwise, return true.</p> 2.812 2.813 2.814 -<h4 class="heading settled" data-level=4.3.10 id=would-start-an-identifier><span class=secno>4.3.10 </span><span class=content> 2.815 +<h4 class="heading settled" data-level=4.3.10 id=would-start-an-identifier><span class=secno>4.3.10. </span><span class=content> 2.816 Check if three code points would start an identifier</span><a class=self-link href=#would-start-an-identifier></a></h4> 2.817 2.818 <p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-an-identifier title="check if three code points would start an identifier|starts with an identifier|start with an identifier|would start an identifier">check if three code points would start an <a data-link-type=dfn href=#identifier title=identifier>identifier</a><a class=self-link href=#check-if-three-code-points-would-start-an-identifier></a></dfn>. 2.819 @@ -2597,7 +2553,7 @@ 2.820 Return false. 2.821 </dl> 2.822 2.823 -<h4 class="heading settled" data-level=4.3.11 id=starts-with-a-number><span class=secno>4.3.11 </span><span class=content> 2.824 +<h4 class="heading settled" data-level=4.3.11 id=starts-with-a-number><span class=secno>4.3.11. </span><span class=content> 2.825 Check if three code points would start a number</span><a class=self-link href=#starts-with-a-number></a></h4> 2.826 2.827 <p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=check-if-three-code-points-would-start-a-number title="check if three code points would start a number|starts with a number|start with a number|would start a number">check if three code points would start a number<a class=self-link href=#check-if-three-code-points-would-start-a-number></a></dfn>. 2.828 @@ -2646,10 +2602,10 @@ 2.829 </dl> 2.830 2.831 2.832 -<h4 class="heading settled" data-level=4.3.12 id=consume-a-name><span class=secno>4.3.12 </span><span class=content> 2.833 +<h4 class="heading settled" data-level=4.3.12 id=consume-a-name><span class=secno>4.3.12. </span><span class=content> 2.834 Consume a name</span><a class=self-link href=#consume-a-name></a></h4> 2.835 2.836 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-name0>consume a name<a class=self-link href=#consume-a-name0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.837 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-name>consume a name<a class=self-link href=#consume-a-name></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.838 It returns a string containing 2.839 the largest name that can be formed from adjacent <a data-link-type=dfn href=#code-point title="code points">code points</a> in the stream, starting from the first.</p> 2.840 2.841 @@ -2670,7 +2626,7 @@ 2.842 2.843 <dt>the stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a> 2.844 <dd> 2.845 - <a data-link-type=dfn href=#consume-an-escaped-code-point0 title="Consume an escaped code point">Consume an escaped code point</a>. 2.846 + <a data-link-type=dfn href=#consume-an-escaped-code-point title="Consume an escaped code point">Consume an escaped code point</a>. 2.847 Append the returned <a data-link-type=dfn href=#code-point title="code point">code point</a> to <var>result</var>. 2.848 2.849 <dt>anything else 2.850 @@ -2680,10 +2636,10 @@ 2.851 </dl> 2.852 2.853 2.854 -<h4 class="heading settled" data-level=4.3.13 id=consume-a-number><span class=secno>4.3.13 </span><span class=content> 2.855 +<h4 class="heading settled" data-level=4.3.13 id=consume-a-number><span class=secno>4.3.13. </span><span class=content> 2.856 Consume a number</span><a class=self-link href=#consume-a-number></a></h4> 2.857 2.858 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-number0>consume a number<a class=self-link href=#consume-a-number0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.859 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-a-number>consume a number<a class=self-link href=#consume-a-number></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>. 2.860 It returns a 3-tuple of 2.861 a string representation, 2.862 a numeric value, 2.863 @@ -2736,7 +2692,7 @@ 2.864 </ol> 2.865 2.866 <li> 2.867 - <a data-link-type=dfn href=#convert-a-string-to-a-number0 title="convert a string to a number">Convert <var>repr</var> to a number</a>, 2.868 + <a data-link-type=dfn href=#convert-a-string-to-a-number title="convert a string to a number">Convert <var>repr</var> to a number</a>, 2.869 and set the <var>value</var> to the returned value. 2.870 2.871 <li> 2.872 @@ -2744,10 +2700,10 @@ 2.873 </ol> 2.874 2.875 2.876 -<h4 class="heading settled" data-level=4.3.14 id=convert-a-string-to-a-number><span class=secno>4.3.14 </span><span class=content> 2.877 +<h4 class="heading settled" data-level=4.3.14 id=convert-a-string-to-a-number><span class=secno>4.3.14. </span><span class=content> 2.878 Convert a string to a number</span><a class=self-link href=#convert-a-string-to-a-number></a></h4> 2.879 2.880 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=convert-a-string-to-a-number0>convert a string to a number<a class=self-link href=#convert-a-string-to-a-number0></a></dfn>. 2.881 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=convert-a-string-to-a-number>convert a string to a number<a class=self-link href=#convert-a-string-to-a-number></a></dfn>. 2.882 It returns a number.</p> 2.883 2.884 <p class=note>Note: This algorithm does not do any verification to ensure that the string contains only a number. 2.885 @@ -2801,10 +2757,10 @@ 2.886 <p>Return the number <code>s·(i + f·10<sup>-d</sup>)·10<sup>te</sup></code>.</p> 2.887 2.888 2.889 -<h4 class="heading settled" data-level=4.3.15 id=consume-the-remnants-of-a-bad-url><span class=secno>4.3.15 </span><span class=content> 2.890 +<h4 class="heading settled" data-level=4.3.15 id=consume-the-remnants-of-a-bad-url><span class=secno>4.3.15. </span><span class=content> 2.891 Consume the remnants of a bad url</span><a class=self-link href=#consume-the-remnants-of-a-bad-url></a></h4> 2.892 2.893 -<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-the-remnants-of-a-bad-url0>consume the remnants of a bad url<a class=self-link href=#consume-the-remnants-of-a-bad-url0></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>, 2.894 +<p>This section describes how to <dfn data-dfn-type=dfn data-noexport="" id=consume-the-remnants-of-a-bad-url>consume the remnants of a bad url<a class=self-link href=#consume-the-remnants-of-a-bad-url></a></dfn> from a stream of <a data-link-type=dfn href=#code-point title="code points">code points</a>, 2.895 "cleaning up" after the tokenizer realizes that it’s in the middle of a <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a> rather than a <a class="production css" data-link-type=type href=#typedef-url-token title="<url-token>"><url-token></a>. 2.896 It returns nothing; 2.897 its sole use is to consume enough of the input stream to reach a recovery point 2.898 @@ -2820,7 +2776,7 @@ 2.899 2.900 <dt>the input stream <a data-link-type=dfn href=#check-if-two-code-points-are-a-valid-escape title="starts with a valid escape">starts with a valid escape</a> 2.901 <dd> 2.902 - <a data-link-type=dfn href=#consume-an-escaped-code-point0 title="Consume an escaped code point">Consume an escaped code point</a>. 2.903 + <a data-link-type=dfn href=#consume-an-escaped-code-point title="Consume an escaped code point">Consume an escaped code point</a>. 2.904 <span class=note>This allows an escaped right parenthesis ("\)") to be encountered without ending the <a class="production css" data-link-type=type href=#typedef-bad-url-token title="<bad-url-token>"><bad-url-token></a>. 2.905 This is otherwise identical to the "anything else" clause.</span> 2.906 2.907 @@ -2832,7 +2788,7 @@ 2.908 2.909 2.910 2.911 -<h2 class="heading settled" data-level=5 id=parsing><span class=secno>5 </span><span class=content> 2.912 +<h2 class="heading settled" data-level=5 id=parsing><span class=secno>5. </span><span class=content> 2.913 Parsing</span><a class=self-link href=#parsing></a></h2> 2.914 2.915 <p>The input to the parsing stage is a stream or list of tokens from the tokenization stage. 2.916 @@ -2871,8 +2827,8 @@ 2.917 and a block consisting of a simple {} block. 2.918 2.919 <p class=note>Note: Most qualified rules will be style rules, 2.920 - where the prelude is a selector <a data-biblio-type=informative data-link-type=biblio href=#select title=biblio-SELECT>[SELECT]</a> 2.921 - and the block a <a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">list of declarations</a>.</p> 2.922 + where the prelude is a selector <a data-biblio-type=informative data-link-type=biblio href=#biblio-select title=SELECT>[SELECT]</a> 2.923 + and the block a <a data-link-type=dfn href=#parse-a-list-of-declarations title="parse a list of declarations">list of declarations</a>.</p> 2.924 2.925 <dt><dfn data-dfn-type=dfn data-export="" id=declaration>declaration<a class=self-link href=#declaration></a></dfn> 2.926 <dd> 2.927 @@ -2922,7 +2878,7 @@ 2.928 and a value consisting of a list of component values. 2.929 </dl> 2.930 2.931 -<h3 class="heading settled" data-level=5.1 id=parser-diagrams><span class=secno>5.1 </span><span class=content> 2.932 +<h3 class="heading settled" data-level=5.1 id=parser-diagrams><span class=secno>5.1. </span><span class=content> 2.933 Parser Railroad Diagrams</span><a class=self-link href=#parser-diagrams></a></h3> 2.934 2.935 <p><em>This section is non-normative.</em></p> 2.936 @@ -3555,7 +3511,7 @@ 2.937 </path></g></svg></div> 2.938 </dl> 2.939 2.940 -<h3 class="heading settled" data-level=5.2 id=parser-definitions><span class=secno>5.2 </span><span class=content> 2.941 +<h3 class="heading settled" data-level=5.2 id=parser-definitions><span class=secno>5.2. </span><span class=content> 2.942 Definitions</span><a class=self-link href=#parser-definitions></a></h3> 2.943 2.944 <dl> 2.945 @@ -3604,7 +3560,7 @@ 2.946 2.947 2.948 2.949 -<h3 class="heading settled" data-level=5.3 id=parser-entry-points><span class=secno>5.3 </span><span class=content> 2.950 +<h3 class="heading settled" data-level=5.3 id=parser-entry-points><span class=secno>5.3. </span><span class=content> 2.951 Parser Entry Points</span><a class=self-link href=#parser-entry-points></a></h3> 2.952 2.953 <p>The algorithms defined in this section produce high-level CSS objects 2.954 @@ -3617,7 +3573,7 @@ 2.955 then perform <a href=#tokenization>tokenization</a> 2.956 to produce a token stream.</p> 2.957 2.958 -<p>"<a data-link-type=dfn href=#parse-a-stylesheet0 title="Parse a stylesheet">Parse a stylesheet</a>" can also be invoked on a byte stream, 2.959 +<p>"<a data-link-type=dfn href=#parse-a-stylesheet title="Parse a stylesheet">Parse a stylesheet</a>" can also be invoked on a byte stream, 2.960 in which case <a href=#input-byte-stream>The input byte stream</a> 2.961 defines how to decode it into Unicode.</p> 2.962 2.963 @@ -3631,33 +3587,33 @@ 2.964 2.965 <ul> 2.966 <li> 2.967 - "<a data-link-type=dfn href=#parse-a-stylesheet0 title="Parse a stylesheet">Parse a stylesheet</a>" is intended to be the normal parser entry point, 2.968 + "<a data-link-type=dfn href=#parse-a-stylesheet title="Parse a stylesheet">Parse a stylesheet</a>" is intended to be the normal parser entry point, 2.969 for parsing stylesheets. 2.970 2.971 <li> 2.972 - "<a data-link-type=dfn href=#parse-a-list-of-rules0 title="Parse a list of rules">Parse a list of rules</a>" is intended for the content of at-rules such as <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a>. 2.973 - It differs from "<a data-link-type=dfn href=#parse-a-stylesheet0 title="Parse a stylesheet">Parse a stylesheet</a>" in the handling of <a class="production css" data-link-type=type href=#typedef-cdo-token title="<CDO-token>"><CDO-token></a> and <a class="production css" data-link-type=type href=#typedef-cdc-token title="<CDC-token>"><CDC-token></a>. 2.974 + "<a data-link-type=dfn href=#parse-a-list-of-rules title="Parse a list of rules">Parse a list of rules</a>" is intended for the content of at-rules such as <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a>. 2.975 + It differs from "<a data-link-type=dfn href=#parse-a-stylesheet title="Parse a stylesheet">Parse a stylesheet</a>" in the handling of <a class="production css" data-link-type=type href=#typedef-cdo-token title="<CDO-token>"><CDO-token></a> and <a class="production css" data-link-type=type href=#typedef-cdc-token title="<CDC-token>"><CDC-token></a>. 2.976 2.977 <li> 2.978 - "<a data-link-type=dfn href=#parse-a-rule0 title="Parse a rule">Parse a rule</a>" is intended for use by the <code>CSSStyleSheet#insertRule</code> method, 2.979 + "<a data-link-type=dfn href=#parse-a-rule title="Parse a rule">Parse a rule</a>" is intended for use by the <code>CSSStyleSheet#insertRule</code> method, 2.980 and similar functions which might exist, 2.981 which parse text into a single rule. 2.982 2.983 <li> 2.984 - "<a data-link-type=dfn href=#parse-a-declaration0 title="Parse a declaration">Parse a declaration</a>" is used in <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-supports title=@supports>@supports</a> conditions. <a data-biblio-type=informative data-link-type=biblio href=#css3-conditional title=biblio-CSS3-CONDITIONAL>[CSS3-CONDITIONAL]</a> 2.985 + "<a data-link-type=dfn href=#parse-a-declaration title="Parse a declaration">Parse a declaration</a>" is used in <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-supports title=@supports>@supports</a> conditions. <a data-biblio-type=informative data-link-type=biblio href=#biblio-css3-conditional title=CSS3-CONDITIONAL>[CSS3-CONDITIONAL]</a> 2.986 2.987 <li> 2.988 - "<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="Parse a list of declarations">Parse a list of declarations</a>" is for the contents of a <code>style</code> attribute, 2.989 + "<a data-link-type=dfn href=#parse-a-list-of-declarations title="Parse a list of declarations">Parse a list of declarations</a>" is for the contents of a <code>style</code> attribute, 2.990 which parses text into the contents of a single style rule. 2.991 2.992 <li> 2.993 - "<a data-link-type=dfn href=#parse-a-component-value0 title="Parse a component value">Parse a component value</a>" is for things that need to consume a single value, 2.994 + "<a data-link-type=dfn href=#parse-a-component-value title="Parse a component value">Parse a component value</a>" is for things that need to consume a single value, 2.995 like the parsing rules for <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-values-3/#funcdef-attr title=attr()>attr()</a>. 2.996 2.997 <li> 2.998 - "<a data-link-type=dfn href=#parse-a-list-of-component-values0 title="Parse a list of component values">Parse a list of component values</a>" is for the contents of presentational attributes, 2.999 + "<a data-link-type=dfn href=#parse-a-list-of-component-values title="Parse a list of component values">Parse a list of component values</a>" is for the contents of presentational attributes, 2.1000 which parse text into a single declaration’s value, 2.1001 - or for parsing a stand-alone selector <a data-biblio-type=informative data-link-type=biblio href=#select title=biblio-SELECT>[SELECT]</a> or list of Media Queries <a data-biblio-type=informative data-link-type=biblio href=#mediaq title=biblio-MEDIAQ>[MEDIAQ]</a>, 2.1002 + or for parsing a stand-alone selector <a data-biblio-type=informative data-link-type=biblio href=#biblio-select title=SELECT>[SELECT]</a> or list of Media Queries <a data-biblio-type=informative data-link-type=biblio href=#biblio-mediaq title=MEDIAQ>[MEDIAQ]</a>, 2.1003 as in <a href=http://www.w3.org/TR/selectors-api/>Selectors API</a> 2.1004 or the <code>media</code> HTML attribute. 2.1005 </ul> 2.1006 @@ -3666,7 +3622,7 @@ 2.1007 <p>All of the algorithms defined in this spec may be called with either a list of tokens or of component values. 2.1008 Either way produces an identical result.</p> 2.1009 2.1010 -<h4 class="heading settled" data-level=5.3.1 id=parse-grammar><span class=secno>5.3.1 </span><span class=content> 2.1011 +<h4 class="heading settled" data-level=5.3.1 id=parse-grammar><span class=secno>5.3.1. </span><span class=content> 2.1012 Parse something according to a CSS grammar</span><a class=self-link href=#parse-grammar></a></h4> 2.1013 2.1014 <p>It is often desirable to parse a string or token list 2.1015 @@ -3700,7 +3656,7 @@ 2.1016 2.1017 <ol> 2.1018 <li> 2.1019 - <a data-link-type=dfn href=#parse-a-list-of-component-values0 title="Parse a list of component values">Parse a list of component values</a> from the input, 2.1020 + <a data-link-type=dfn href=#parse-a-list-of-component-values title="Parse a list of component values">Parse a list of component values</a> from the input, 2.1021 and let <var>result</var> be the return value. 2.1022 2.1023 <li> 2.1024 @@ -3711,17 +3667,17 @@ 2.1025 </ol> 2.1026 2.1027 2.1028 -<h4 class="heading settled" data-level=5.3.2 id=parse-a-stylesheet><span class=secno>5.3.2 </span><span class=content> 2.1029 +<h4 class="heading settled" data-level=5.3.2 id=parse-a-stylesheet><span class=secno>5.3.2. </span><span class=content> 2.1030 Parse a stylesheet</span><a class=self-link href=#parse-a-stylesheet></a></h4> 2.1031 2.1032 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-stylesheet0>parse a stylesheet<a class=self-link href=#parse-a-stylesheet0></a></dfn> from a stream of tokens:</p> 2.1033 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-stylesheet>parse a stylesheet<a class=self-link href=#parse-a-stylesheet></a></dfn> from a stream of tokens:</p> 2.1034 2.1035 <ol> 2.1036 <li> 2.1037 Create a new stylesheet. 2.1038 2.1039 <li> 2.1040 - <a data-link-type=dfn href=#consume-a-list-of-rules0 title="Consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> set. 2.1041 + <a data-link-type=dfn href=#consume-a-list-of-rules title="Consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> set. 2.1042 2.1043 <li> 2.1044 Assign the returned value to the stylesheet’s value. 2.1045 @@ -3730,23 +3686,23 @@ 2.1046 Return the stylesheet. 2.1047 </ol> 2.1048 2.1049 -<h4 class="heading settled" data-level=5.3.3 id=parse-a-list-of-rules><span class=secno>5.3.3 </span><span class=content> 2.1050 +<h4 class="heading settled" data-level=5.3.3 id=parse-a-list-of-rules><span class=secno>5.3.3. </span><span class=content> 2.1051 Parse a list of rules</span><a class=self-link href=#parse-a-list-of-rules></a></h4> 2.1052 2.1053 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-rules0>parse a list of rules<a class=self-link href=#parse-a-list-of-rules0></a></dfn> from a stream of tokens:</p> 2.1054 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-rules>parse a list of rules<a class=self-link href=#parse-a-list-of-rules></a></dfn> from a stream of tokens:</p> 2.1055 2.1056 <ol> 2.1057 <li> 2.1058 - <a data-link-type=dfn href=#consume-a-list-of-rules0 title="Consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> unset. 2.1059 + <a data-link-type=dfn href=#consume-a-list-of-rules title="Consume a list of rules">Consume a list of rules</a> from the stream of tokens, with the <var>top-level flag</var> unset. 2.1060 2.1061 <li> 2.1062 Return the returned list. 2.1063 </ol> 2.1064 2.1065 -<h4 class="heading settled" data-level=5.3.4 id=parse-a-rule><span class=secno>5.3.4 </span><span class=content> 2.1066 +<h4 class="heading settled" data-level=5.3.4 id=parse-a-rule><span class=secno>5.3.4. </span><span class=content> 2.1067 Parse a rule</span><a class=self-link href=#parse-a-rule></a></h4> 2.1068 2.1069 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-rule0>parse a rule<a class=self-link href=#parse-a-rule0></a></dfn> from a stream of tokens:</p> 2.1070 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-rule>parse a rule<a class=self-link href=#parse-a-rule></a></dfn> from a stream of tokens:</p> 2.1071 2.1072 <ol> 2.1073 <li> 2.1074 @@ -3759,11 +3715,11 @@ 2.1075 2.1076 <p>Otherwise, 2.1077 if the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is an <a class="production css" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>"><at-keyword-token></a>, 2.1078 - <a data-link-type=dfn href=#consume-an-at-rule0 title="consume an at-rule">consume an at-rule</a>, 2.1079 + <a data-link-type=dfn href=#consume-an-at-rule title="consume an at-rule">consume an at-rule</a>, 2.1080 and let <var>rule</var> be the return value.</p> 2.1081 2.1082 <p>Otherwise, 2.1083 - <a data-link-type=dfn href=#consume-a-qualified-rule0 title="consume a qualified rule">consume a qualified rule</a> 2.1084 + <a data-link-type=dfn href=#consume-a-qualified-rule title="consume a qualified rule">consume a qualified rule</a> 2.1085 and let <var>rule</var> be the return value. 2.1086 If nothing was returned, 2.1087 return a syntax error.</p> 2.1088 @@ -3778,13 +3734,13 @@ 2.1089 Otherwise, return a syntax error. 2.1090 </ol> 2.1091 2.1092 -<h4 class="heading settled" data-level=5.3.5 id=parse-a-declaration><span class=secno>5.3.5 </span><span class=content> 2.1093 +<h4 class="heading settled" data-level=5.3.5 id=parse-a-declaration><span class=secno>5.3.5. </span><span class=content> 2.1094 Parse a declaration</span><a class=self-link href=#parse-a-declaration></a></h4> 2.1095 2.1096 -<p class=note>Note: Unlike "<a data-link-type=dfn href=#parse-a-list-of-declarations0 title="Parse a list of declarations">Parse a list of declarations</a>", 2.1097 +<p class=note>Note: Unlike "<a data-link-type=dfn href=#parse-a-list-of-declarations title="Parse a list of declarations">Parse a list of declarations</a>", 2.1098 this parses only a declaration and not an at-rule.</p> 2.1099 2.1100 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-declaration0>parse a declaration<a class=self-link href=#parse-a-declaration0></a></dfn>:</p> 2.1101 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-declaration>parse a declaration<a class=self-link href=#parse-a-declaration></a></dfn>:</p> 2.1102 2.1103 <ol> 2.1104 <li> 2.1105 @@ -3796,12 +3752,12 @@ 2.1106 return a syntax error. 2.1107 2.1108 <li> 2.1109 - <a data-link-type=dfn href=#consume-a-declaration0 title="Consume a declaration">Consume a declaration</a>. 2.1110 + <a data-link-type=dfn href=#consume-a-declaration title="Consume a declaration">Consume a declaration</a>. 2.1111 If anything was returned, return it. 2.1112 Otherwise, return a syntax error. 2.1113 </ol> 2.1114 2.1115 -<h4 class="heading settled" data-level=5.3.6 id=parse-a-list-of-declarations><span class=secno>5.3.6 </span><span class=content> 2.1116 +<h4 class="heading settled" data-level=5.3.6 id=parse-a-list-of-declarations><span class=secno>5.3.6. </span><span class=content> 2.1117 Parse a list of declarations</span><a class=self-link href=#parse-a-list-of-declarations></a></h4> 2.1118 2.1119 <p class=note>Note: Despite the name, 2.1120 @@ -3810,20 +3766,20 @@ 2.1121 Unexpected at-rules (which could be all of them, in a given context) 2.1122 are invalid and should be ignored by the consumer.</p> 2.1123 2.1124 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-declarations0>parse a list of declarations<a class=self-link href=#parse-a-list-of-declarations0></a></dfn>:</p> 2.1125 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-declarations>parse a list of declarations<a class=self-link href=#parse-a-list-of-declarations></a></dfn>:</p> 2.1126 2.1127 <ol> 2.1128 <li> 2.1129 - <a data-link-type=dfn href=#consume-a-list-of-declarations0 title="Consume a list of declarations">Consume a list of declarations</a>. 2.1130 + <a data-link-type=dfn href=#consume-a-list-of-declarations title="Consume a list of declarations">Consume a list of declarations</a>. 2.1131 2.1132 <li> 2.1133 Return the returned list. 2.1134 </ol> 2.1135 2.1136 -<h4 class="heading settled" data-level=5.3.7 id=parse-a-component-value><span class=secno>5.3.7 </span><span class=content> 2.1137 +<h4 class="heading settled" data-level=5.3.7 id=parse-a-component-value><span class=secno>5.3.7. </span><span class=content> 2.1138 Parse a component value</span><a class=self-link href=#parse-a-component-value></a></h4> 2.1139 2.1140 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-component-value0>parse a component value<a class=self-link href=#parse-a-component-value0></a></dfn>:</p> 2.1141 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-component-value>parse a component value<a class=self-link href=#parse-a-component-value></a></dfn>:</p> 2.1142 2.1143 <ol> 2.1144 <li> 2.1145 @@ -3835,7 +3791,7 @@ 2.1146 return a syntax error. 2.1147 2.1148 <li> 2.1149 - <a data-link-type=dfn href=#consume-a-component-value0 title="Consume a component value">Consume a component value</a> 2.1150 + <a data-link-type=dfn href=#consume-a-component-value title="Consume a component value">Consume a component value</a> 2.1151 and let <var>value</var> be the return value. 2.1152 2.1153 <li> 2.1154 @@ -3849,29 +3805,29 @@ 2.1155 return a syntax error. 2.1156 </ol> 2.1157 2.1158 -<h4 class="heading settled" data-level=5.3.8 id=parse-a-list-of-component-values><span class=secno>5.3.8 </span><span class=content> 2.1159 +<h4 class="heading settled" data-level=5.3.8 id=parse-a-list-of-component-values><span class=secno>5.3.8. </span><span class=content> 2.1160 Parse a list of component values</span><a class=self-link href=#parse-a-list-of-component-values></a></h4> 2.1161 2.1162 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-component-values0>parse a list of component values<a class=self-link href=#parse-a-list-of-component-values0></a></dfn>:</p> 2.1163 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-list-of-component-values>parse a list of component values<a class=self-link href=#parse-a-list-of-component-values></a></dfn>:</p> 2.1164 2.1165 <ol> 2.1166 <li> 2.1167 - Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> is returned, 2.1168 + Repeatedly <a data-link-type=dfn href=#consume-a-component-value title="consume a component value">consume a component value</a> until an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> is returned, 2.1169 appending the returned values (except the final <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a>) into a list. 2.1170 Return the list. 2.1171 </ol> 2.1172 2.1173 -<h4 class="heading settled" data-level=5.3.9 id=parse-a-comma-separated-list-of-component-values><span class=secno>5.3.9 </span><span class=content> 2.1174 +<h4 class="heading settled" data-level=5.3.9 id=parse-a-comma-separated-list-of-component-values><span class=secno>5.3.9. </span><span class=content> 2.1175 Parse a comma-separated list of component values</span><a class=self-link href=#parse-a-comma-separated-list-of-component-values></a></h4> 2.1176 2.1177 -<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-comma-separated-list-of-component-values0>parse a comma-separated list of component values<a class=self-link href=#parse-a-comma-separated-list-of-component-values0></a></dfn>:</p> 2.1178 +<p>To <dfn data-dfn-type=dfn data-export="" id=parse-a-comma-separated-list-of-component-values>parse a comma-separated list of component values<a class=self-link href=#parse-a-comma-separated-list-of-component-values></a></dfn>:</p> 2.1179 2.1180 <ol> 2.1181 <li> 2.1182 Let <var>list of cvls</var> be an initially empty list of component value lists. 2.1183 2.1184 <li> 2.1185 - Repeatedly <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> until an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> or <a class="production css" data-link-type=type href=#typedef-comma-token title="<comma-token>"><comma-token></a> is returned, 2.1186 + Repeatedly <a data-link-type=dfn href=#consume-a-component-value title="consume a component value">consume a component value</a> until an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> or <a class="production css" data-link-type=type href=#typedef-comma-token title="<comma-token>"><comma-token></a> is returned, 2.1187 appending the returned values (except the final <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a> or <a class="production css" data-link-type=type href=#typedef-comma-token title="<comma-token>"><comma-token></a>) into a list. 2.1188 Append the list to <var>list of cvls</var>. 2.1189 2.1190 @@ -3883,7 +3839,7 @@ 2.1191 </ol> 2.1192 2.1193 2.1194 -<h3 class="heading settled" data-level=5.4 id=parser-algorithms><span class=secno>5.4 </span><span class=content> 2.1195 +<h3 class="heading settled" data-level=5.4 id=parser-algorithms><span class=secno>5.4. </span><span class=content> 2.1196 Parser Algorithms</span><a class=self-link href=#parser-algorithms></a></h3> 2.1197 2.1198 <p>The following algorithms comprise the parser. 2.1199 @@ -3902,10 +3858,10 @@ 2.1200 it is implicitly invoked with the same list as the invoking algorithm.</p> 2.1201 2.1202 2.1203 -<h4 class="heading settled" data-level=5.4.1 id=consume-a-list-of-rules><span class=secno>5.4.1 </span><span class=content> 2.1204 +<h4 class="heading settled" data-level=5.4.1 id=consume-a-list-of-rules><span class=secno>5.4.1. </span><span class=content> 2.1205 Consume a list of rules</span><a class=self-link href=#consume-a-list-of-rules></a></h4> 2.1206 2.1207 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-rules0>consume a list of rules<a class=self-link href=#consume-a-list-of-rules0></a></dfn>:</p> 2.1208 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-rules>consume a list of rules<a class=self-link href=#consume-a-list-of-rules></a></dfn>:</p> 2.1209 2.1210 <p>Create an initially empty list of rules.</p> 2.1211 2.1212 @@ -3928,30 +3884,30 @@ 2.1213 2.1214 <p>Otherwise, 2.1215 <a data-link-type=dfn href=#reconsume-the-current-input-token title="reconsume the current input token">reconsume the current input token</a>. 2.1216 - <a data-link-type=dfn href=#consume-a-qualified-rule0 title="Consume a qualified rule">Consume a qualified rule</a>. 2.1217 + <a data-link-type=dfn href=#consume-a-qualified-rule title="Consume a qualified rule">Consume a qualified rule</a>. 2.1218 If anything is returned, 2.1219 append it to the list of rules.</p> 2.1220 2.1221 <dt><a class="production css" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>"><at-keyword-token></a> 2.1222 <dd> 2.1223 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1224 - <a data-link-type=dfn href=#consume-an-at-rule0 title="Consume an at-rule">Consume an at-rule</a>. 2.1225 + <a data-link-type=dfn href=#consume-an-at-rule title="Consume an at-rule">Consume an at-rule</a>. 2.1226 If anything is returned, 2.1227 append it to the list of rules. 2.1228 2.1229 <dt>anything else 2.1230 <dd> 2.1231 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1232 - <a data-link-type=dfn href=#consume-a-qualified-rule0 title="Consume a qualified rule">Consume a qualified rule</a>. 2.1233 + <a data-link-type=dfn href=#consume-a-qualified-rule title="Consume a qualified rule">Consume a qualified rule</a>. 2.1234 If anything is returned, 2.1235 append it to the list of rules. 2.1236 </dl> 2.1237 2.1238 2.1239 -<h4 class="heading settled" data-level=5.4.2 id=consume-an-at-rule><span class=secno>5.4.2 </span><span class=content> 2.1240 +<h4 class="heading settled" data-level=5.4.2 id=consume-an-at-rule><span class=secno>5.4.2. </span><span class=content> 2.1241 Consume an at-rule</span><a class=self-link href=#consume-an-at-rule></a></h4> 2.1242 2.1243 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-an-at-rule0>consume an at-rule<a class=self-link href=#consume-an-at-rule0></a></dfn>:</p> 2.1244 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-an-at-rule>consume an at-rule<a class=self-link href=#consume-an-at-rule></a></dfn>:</p> 2.1245 2.1246 <p><a data-link-type=dfn href=#consume-the-next-input-token title="Consume the next input token">Consume the next input token</a>. 2.1247 Create a new at-rule 2.1248 @@ -3969,7 +3925,7 @@ 2.1249 2.1250 <dt><a href=#tokendef-open-curly><{-token></a> 2.1251 <dd> 2.1252 - <a data-link-type=dfn href=#consume-a-simple-block0 title="Consume a simple block">Consume a simple block</a> 2.1253 + <a data-link-type=dfn href=#consume-a-simple-block title="Consume a simple block">Consume a simple block</a> 2.1254 and assign it to the at-rule’s block. 2.1255 Return the at-rule. 2.1256 2.1257 @@ -3981,15 +3937,15 @@ 2.1258 <dt>anything else 2.1259 <dd> 2.1260 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1261 - <a data-link-type=dfn href=#consume-a-component-value0 title="Consume a component value">Consume a component value</a>. 2.1262 + <a data-link-type=dfn href=#consume-a-component-value title="Consume a component value">Consume a component value</a>. 2.1263 Append the returned value to the at-rule’s prelude. 2.1264 </dl> 2.1265 2.1266 2.1267 -<h4 class="heading settled" data-level=5.4.3 id=consume-a-qualified-rule><span class=secno>5.4.3 </span><span class=content> 2.1268 +<h4 class="heading settled" data-level=5.4.3 id=consume-a-qualified-rule><span class=secno>5.4.3. </span><span class=content> 2.1269 Consume a qualified rule</span><a class=self-link href=#consume-a-qualified-rule></a></h4> 2.1270 2.1271 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-qualified-rule0>consume a qualified rule<a class=self-link href=#consume-a-qualified-rule0></a></dfn>:</p> 2.1272 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-qualified-rule>consume a qualified rule<a class=self-link href=#consume-a-qualified-rule></a></dfn>:</p> 2.1273 2.1274 <p>Create a new qualified rule 2.1275 with its prelude initially set to an empty list, 2.1276 @@ -4005,7 +3961,7 @@ 2.1277 2.1278 <dt><a href=#tokendef-open-curly><{-token></a> 2.1279 <dd> 2.1280 - <a data-link-type=dfn href=#consume-a-simple-block0 title="Consume a simple block">Consume a simple block</a> 2.1281 + <a data-link-type=dfn href=#consume-a-simple-block title="Consume a simple block">Consume a simple block</a> 2.1282 and assign it to the qualified rule’s block. 2.1283 Return the qualified rule. 2.1284 2.1285 @@ -4017,15 +3973,15 @@ 2.1286 <dt>anything else 2.1287 <dd> 2.1288 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1289 - <a data-link-type=dfn href=#consume-a-component-value0 title="Consume a component value">Consume a component value</a>. 2.1290 + <a data-link-type=dfn href=#consume-a-component-value title="Consume a component value">Consume a component value</a>. 2.1291 Append the returned value to the qualified rule’s prelude. 2.1292 </dl> 2.1293 2.1294 2.1295 -<h4 class="heading settled" data-level=5.4.4 id=consume-a-list-of-declarations><span class=secno>5.4.4 </span><span class=content> 2.1296 +<h4 class="heading settled" data-level=5.4.4 id=consume-a-list-of-declarations><span class=secno>5.4.4. </span><span class=content> 2.1297 Consume a list of declarations</span><a class=self-link href=#consume-a-list-of-declarations></a></h4> 2.1298 2.1299 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-declarations0>consume a list of declarations<a class=self-link href=#consume-a-list-of-declarations0></a></dfn>:</p> 2.1300 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-list-of-declarations>consume a list of declarations<a class=self-link href=#consume-a-list-of-declarations></a></dfn>:</p> 2.1301 2.1302 <p>Create an initially empty list of declarations.</p> 2.1303 2.1304 @@ -4044,15 +4000,15 @@ 2.1305 <dt><a class="production css" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>"><at-keyword-token></a> 2.1306 <dd> 2.1307 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1308 - <a data-link-type=dfn href=#consume-an-at-rule0 title="Consume an at-rule">Consume an at-rule</a>. 2.1309 + <a data-link-type=dfn href=#consume-an-at-rule title="Consume an at-rule">Consume an at-rule</a>. 2.1310 Append the returned rule to the list of declarations. 2.1311 2.1312 <dt><a class="production css" data-link-type=type href=#typedef-ident-token title="<ident-token>"><ident-token></a> 2.1313 <dd> 2.1314 Initialize a temporary list initially filled with the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>. 2.1315 As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>"><semicolon-token></a> or <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a>, 2.1316 - <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> and append it to the temporary list. 2.1317 - <a data-link-type=dfn href=#consume-a-declaration0 title="Consume a declaration">Consume a declaration</a> from the temporary list. 2.1318 + <a data-link-type=dfn href=#consume-a-component-value title="consume a component value">consume a component value</a> and append it to the temporary list. 2.1319 + <a data-link-type=dfn href=#consume-a-declaration title="Consume a declaration">Consume a declaration</a> from the temporary list. 2.1320 If anything was returned, 2.1321 append it to the list of declarations. 2.1322 2.1323 @@ -4061,17 +4017,17 @@ 2.1324 This is a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.1325 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1326 As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than a <a class="production css" data-link-type=type href=#typedef-semicolon-token title="<semicolon-token>"><semicolon-token></a> or <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a>, 2.1327 - <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> 2.1328 + <a data-link-type=dfn href=#consume-a-component-value title="consume a component value">consume a component value</a> 2.1329 and throw away the returned value. 2.1330 </dl> 2.1331 2.1332 2.1333 -<h4 class="heading settled" data-level=5.4.5 id=consume-a-declaration><span class=secno>5.4.5 </span><span class=content> 2.1334 +<h4 class="heading settled" data-level=5.4.5 id=consume-a-declaration><span class=secno>5.4.5. </span><span class=content> 2.1335 Consume a declaration</span><a class=self-link href=#consume-a-declaration></a></h4> 2.1336 2.1337 <p class=note>Note: This algorithm assumes that the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> has already been checked to be an <a class="production css" data-link-type=type href=#typedef-ident-token title="<ident-token>"><ident-token></a>.</p> 2.1338 2.1339 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-declaration0>consume a declaration<a class=self-link href=#consume-a-declaration0></a></dfn>:</p> 2.1340 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-declaration>consume a declaration<a class=self-link href=#consume-a-declaration></a></dfn>:</p> 2.1341 2.1342 <p><a data-link-type=dfn href=#consume-the-next-input-token title="Consume the next input token">Consume the next input token</a>. 2.1343 Create a new declaration 2.1344 @@ -4092,7 +4048,7 @@ 2.1345 2.1346 <li> 2.1347 As long as the <a data-link-type=dfn href=#next-input-token title="next input token">next input token</a> is anything other than an <a class="production css" data-link-type=type href=#typedef-eof-token title="<EOF-token>"><EOF-token></a>, 2.1348 - <a data-link-type=dfn href=#consume-a-component-value0 title="consume a component value">consume a component value</a> 2.1349 + <a data-link-type=dfn href=#consume-a-component-value title="consume a component value">consume a component value</a> 2.1350 and append it to the declaration’s value. 2.1351 2.1352 <li> 2.1353 @@ -4107,32 +4063,32 @@ 2.1354 </ol> 2.1355 2.1356 2.1357 -<h4 class="heading settled" data-level=5.4.6 id=consume-a-component-value><span class=secno>5.4.6 </span><span class=content> 2.1358 +<h4 class="heading settled" data-level=5.4.6 id=consume-a-component-value><span class=secno>5.4.6. </span><span class=content> 2.1359 Consume a component value</span><a class=self-link href=#consume-a-component-value></a></h4> 2.1360 2.1361 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-component-value0>consume a component value<a class=self-link href=#consume-a-component-value0></a></dfn>:</p> 2.1362 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-component-value>consume a component value<a class=self-link href=#consume-a-component-value></a></dfn>:</p> 2.1363 2.1364 <p><a data-link-type=dfn href=#consume-the-next-input-token title="Consume the next input token">Consume the next input token</a>.</p> 2.1365 2.1366 <p>If the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> 2.1367 is a <a href=#tokendef-open-curly><{-token></a>, <a href=#tokendef-open-square><[-token></a>, or <a href=#tokendef-open-paren><(-token></a>, 2.1368 - <a data-link-type=dfn href=#consume-a-simple-block0 title="consume a simple block">consume a simple block</a> 2.1369 + <a data-link-type=dfn href=#consume-a-simple-block title="consume a simple block">consume a simple block</a> 2.1370 and return it.</p> 2.1371 2.1372 <p>Otherwise, if the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> 2.1373 is a <a class="production css" data-link-type=type href=#typedef-function-token title="<function-token>"><function-token></a>, 2.1374 - <a data-link-type=dfn href=#consume-a-function0 title="consume a function">consume a function</a> 2.1375 + <a data-link-type=dfn href=#consume-a-function title="consume a function">consume a function</a> 2.1376 and return it.</p> 2.1377 2.1378 <p>Otherwise, return the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>.</p> 2.1379 2.1380 2.1381 -<h4 class="heading settled" data-level=5.4.7 id=consume-a-simple-block><span class=secno>5.4.7 </span><span class=content> 2.1382 +<h4 class="heading settled" data-level=5.4.7 id=consume-a-simple-block><span class=secno>5.4.7. </span><span class=content> 2.1383 Consume a simple block</span><a class=self-link href=#consume-a-simple-block></a></h4> 2.1384 2.1385 <p class=note>Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be an <a href=#tokendef-open-curly><{-token></a>, <a href=#tokendef-open-square><[-token></a>, or <a href=#tokendef-open-paren><(-token></a>.</p> 2.1386 2.1387 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-simple-block0>consume a simple block<a class=self-link href=#consume-a-simple-block0></a></dfn>:</p> 2.1388 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-simple-block>consume a simple block<a class=self-link href=#consume-a-simple-block></a></dfn>:</p> 2.1389 2.1390 <p>The <dfn data-dfn-type=dfn data-noexport="" id=ending-token>ending token<a class=self-link href=#ending-token></a></dfn> is the mirror variant of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>. 2.1391 (E.g. if it was called with <a href=#tokendef-open-square><[-token></a>, the <a data-link-type=dfn href=#ending-token title="ending token">ending token</a> is <a href=#tokendef-close-square><]-token></a>.)</p> 2.1392 @@ -4151,17 +4107,17 @@ 2.1393 <dt>anything else 2.1394 <dd> 2.1395 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1396 - <a data-link-type=dfn href=#consume-a-component-value0 title="Consume a component value">Consume a component value</a> 2.1397 + <a data-link-type=dfn href=#consume-a-component-value title="Consume a component value">Consume a component value</a> 2.1398 and append it to the value of the block. 2.1399 </dl> 2.1400 2.1401 2.1402 -<h4 class="heading settled" data-level=5.4.8 id=consume-a-function><span class=secno>5.4.8 </span><span class=content> 2.1403 +<h4 class="heading settled" data-level=5.4.8 id=consume-a-function><span class=secno>5.4.8. </span><span class=content> 2.1404 Consume a function</span><a class=self-link href=#consume-a-function></a></h4> 2.1405 2.1406 <p class=note>Note: This algorithm assumes that the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a> has already been checked to be a <a class="production css" data-link-type=type href=#typedef-function-token title="<function-token>"><function-token></a>.</p> 2.1407 2.1408 -<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-function0>consume a function<a class=self-link href=#consume-a-function0></a></dfn>:</p> 2.1409 +<p>To <dfn data-dfn-type=dfn data-noexport="" id=consume-a-function>consume a function<a class=self-link href=#consume-a-function></a></dfn>:</p> 2.1410 2.1411 <p>Create a function with a name equal to the value of the <a data-link-type=dfn href=#current-input-token title="current input token">current input token</a>, 2.1412 and with a value which is initially an empty list.</p> 2.1413 @@ -4177,24 +4133,24 @@ 2.1414 <dt>anything else 2.1415 <dd> 2.1416 <a data-link-type=dfn href=#reconsume-the-current-input-token title="Reconsume the current input token">Reconsume the current input token</a>. 2.1417 - <a data-link-type=dfn href=#consume-a-component-value0 title="Consume a component value">Consume a component value</a> 2.1418 + <a data-link-type=dfn href=#consume-a-component-value title="Consume a component value">Consume a component value</a> 2.1419 and append the returned value 2.1420 to the function’s value. 2.1421 </dl> 2.1422 2.1423 2.1424 2.1425 -<h2 class="heading settled" data-level=6 id=anb><span class=secno>6 </span><span class=content> 2.1426 +<h2 class="heading settled" data-level=6 id=anb><span class=secno>6. </span><span class=content> 2.1427 The <var>An+B</var> microsyntax</span><a class=self-link href=#anb></a></h2> 2.1428 2.1429 <p>Several things in CSS, 2.1430 - such as the <span class=css>:nth-child()</span> pseudoclass, 2.1431 + such as the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/selectors-4/#nth-child-pseudo title=:nth-child()>:nth-child()</a> pseudoclass, 2.1432 need to indicate indexes in a list. 2.1433 The <var>An+B</var> microsyntax is useful for this, 2.1434 allowing an author to easily indicate single elements 2.1435 or all elements at regularly-spaced intervals in a list.</p> 2.1436 2.1437 -<p>The <dfn data-dfn-type=dfn data-export="" id=anb0>An+B<a class=self-link href=#anb0></a></dfn> notation defines an integer step (<dfn data-dfn-type=dfn data-noexport="" id=a>A<a class=self-link href=#a></a></dfn>) and offset (<dfn data-dfn-type=dfn data-noexport="" id=b>B<a class=self-link href=#b></a></dfn>), 2.1438 +<p>The <dfn data-dfn-type=dfn data-export="" id=anb>An+B<a class=self-link href=#anb></a></dfn> notation defines an integer step (<dfn data-dfn-type=dfn data-noexport="" id=a>A<a class=self-link href=#a></a></dfn>) and offset (<dfn data-dfn-type=dfn data-noexport="" id=b>B<a class=self-link href=#b></a></dfn>), 2.1439 and represents the <var>An+B</var>th elements in a list, 2.1440 for every positive integer or zero value of <var>n</var>, 2.1441 with the first element in the list having index 1 (not 0).</p> 2.1442 @@ -4229,7 +4185,7 @@ 2.1443 <p>If both <var>A</var> and <var>B</var> are 0, 2.1444 the pseudo-class represents no element in the list.</p> 2.1445 2.1446 -<h3 class="heading settled" data-level=6.1 id=anb-syntax><span class=secno>6.1 </span><span class=content> 2.1447 +<h3 class="heading settled" data-level=6.1 id=anb-syntax><span class=secno>6.1. </span><span class=content> 2.1448 Informal Syntax Description</span><a class=self-link href=#anb-syntax></a></h3> 2.1449 2.1450 <p><em>This section is non-normative.</em></p> 2.1451 @@ -4295,7 +4251,7 @@ 2.1452 </div> 2.1453 2.1454 2.1455 -<h3 class="heading settled" data-level=6.2 id=the-anb-type><span class=secno>6.2 </span><span class=content> 2.1456 +<h3 class="heading settled" data-level=6.2 id=the-anb-type><span class=secno>6.2. </span><span class=content> 2.1457 The <code><an+b></code> type</span><a class=self-link href=#the-anb-type></a></h3> 2.1458 2.1459 <p>The <var>An+B</var> notation was originally defined using a slightly different tokenizer than the rest of CSS, 2.1460 @@ -4308,21 +4264,26 @@ 2.1461 (using the <a href=http://www.w3.org/TR/css3-values/#value-defs>Value Definition Syntax in the Values & Units spec</a>) 2.1462 as:</p> 2.1463 2.1464 - <pre class=prod><dfn class=css data-dfn-type=type data-export="" id=anb-production><an<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>b><a class=self-link href=#anb-production></a></dfn> = 2.1465 + <pre class=prod><dfn data-dfn-type=type data-export="" id=anb-production><an<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>b><a class=self-link href=#anb-production></a></dfn> = 2.1466 odd <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> even <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1467 <var><integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1468 + 2.1469 <var><n-dimension></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1470 '<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>'<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-opt title=?>?</a><sup><a href=#anb-plus>†</a></sup> n <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1471 -n <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1472 + 2.1473 <var><ndashdigit-dimension></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1474 '<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>'<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-opt title=?>?</a><sup><a href=#anb-plus>†</a></sup> <var><ndashdigit-ident></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1475 <var><dashndashdigit-ident></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1476 + 2.1477 <var><n-dimension></var> <var><signed-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1478 '<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>'<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-opt title=?>?</a><sup><a href=#anb-plus>†</a></sup> n <var><signed-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1479 -n <var><signed-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1480 + 2.1481 <var><ndash-dimension></var> <var><signless-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1482 '<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>'<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-opt title=?>?</a><sup><a href=#anb-plus>†</a></sup> n- <var><signless-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1483 -n- <var><signless-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1484 + 2.1485 <var><n-dimension></var> ['<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>' <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> '-'] <var><signless-integer></var> 2.1486 '<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>'<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-opt title=?>?</a><sup><a href=#anb-plus>†</a></sup> n ['<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>' <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> '-'] <var><signless-integer></var> <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> 2.1487 -n ['<a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#mult-one-plus title=+>+</a>' <a class=prod-punc data-link-type=grammar href=http://dev.w3.org/csswg/css-values-3/#comb-one title=|>|</a> '-'] <var><signless-integer></var> 2.1488 @@ -4408,7 +4369,7 @@ 2.1489 2.1490 2.1491 2.1492 -<h2 class="heading settled" data-level=7 id=rule-defs><span class=secno>7 </span><span class=content> 2.1493 +<h2 class="heading settled" data-level=7 id=rule-defs><span class=secno>7. </span><span class=content> 2.1494 Defining Grammars for Rules and Other Values</span><a class=self-link href=#rule-defs></a></h2> 2.1495 2.1496 <p>The <a href=http://www.w3.org/TR/css3-values/>Values</a> spec defines how to specify a grammar for properties. 2.1497 @@ -4432,7 +4393,7 @@ 2.1498 for the value defined in the grammar.</p> 2.1499 2.1500 <p class=note> 2.1501 - Although it is possible, with <a data-link-type=dfn href=#escaping0 title=escaping>escaping</a>, 2.1502 + Although it is possible, with <a data-link-type=dfn href=#escaping title=escaping>escaping</a>, 2.1503 to construct an <a class="production css" data-link-type=type href=#typedef-ident-token title="<ident-token>"><ident-token></a> whose value ends with <code>(</code> or starts with <code>@</code>, 2.1504 such a tokens is not a <a class="production css" data-link-type=type href=#typedef-function-token title="<function-token>"><function-token></a> or an <a class="production css" data-link-type=type href=#typedef-at-keyword-token title="<at-keyword-token>"><at-keyword-token></a> 2.1505 and does not match corresponding grammar definitions. 2.1506 @@ -4455,7 +4416,7 @@ 2.1507 <div class=example> 2.1508 For example, the syntax of the <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-transforms-1/#funcdef-translatex title=translateX()>translateX()</a> function is: 2.1509 2.1510 -<pre>translateX( <a class="production css" data-link-type=type href=http://www.w3.org/TR/css3-2d-transforms/#typedef-translation-value title="<translation-value>"><translation-value></a> )</pre> 2.1511 +<pre>translateX( <a class=production data-link-type=type href=http://www.w3.org/TR/css3-2d-transforms/#typedef-translation-value title="<translation-value>"><translation-value></a> )</pre> 2.1512 2.1513 <p>However, the stylesheet may end with the function unclosed, like:</p> 2.1514 2.1515 @@ -4470,7 +4431,7 @@ 2.1516 all you have is the fact that there’s a block and a function.</p> 2.1517 </div> 2.1518 2.1519 -<h3 class="heading settled" data-level=7.1 id=declaration-rule-list><span class=secno>7.1 </span><span class=content> 2.1520 +<h3 class="heading settled" data-level=7.1 id=declaration-rule-list><span class=secno>7.1. </span><span class=content> 2.1521 Defining Block Contents: the <a class="production css" data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a>, <a class="production css" data-link-type=type href=#typedef-rule-list title="<rule-list>"><rule-list></a>, and <a class="production css" data-link-type=type href=#typedef-stylesheet title="<stylesheet>"><stylesheet></a> productions</span><a class=self-link href=#declaration-rule-list></a></h3> 2.1522 2.1523 <p>The CSS parser is agnostic as to the contents of blocks, 2.1524 @@ -4480,11 +4441,11 @@ 2.1525 2.1526 <p>The <dfn class=css data-dfn-type=type data-export="" id=typedef-declaration-list><declaration-list><a class=self-link href=#typedef-declaration-list></a></dfn> production represents a list of declarations. 2.1527 It may only be used in grammars as the sole value in a block, 2.1528 - and represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-declarations0 title="consume a list of declarations">consume a list of declarations</a> algorithm.</p> 2.1529 + and represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-declarations title="consume a list of declarations">consume a list of declarations</a> algorithm.</p> 2.1530 2.1531 <p>Similarly, the <dfn class=css data-dfn-type=type data-export="" id=typedef-rule-list><rule-list><a class=self-link href=#typedef-rule-list></a></dfn> production represents a list of rules, 2.1532 and may only be used in grammars as the sole value in a block. 2.1533 - It represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-rules0 title="consume a list of rules">consume a list of rules</a> algorithm.</p> 2.1534 + It represents that the contents of the block must be parsed using the <a data-link-type=dfn href=#consume-a-list-of-rules title="consume a list of rules">consume a list of rules</a> algorithm.</p> 2.1535 2.1536 <p>Finally, the <dfn class=css data-dfn-type=type data-export="" id=typedef-stylesheet><stylesheet><a class=self-link href=#typedef-stylesheet></a></dfn> production represents a list of rules. 2.1537 It is identical to <a class="production css" data-link-type=type href=#typedef-rule-list title="<rule-list>"><rule-list></a>, 2.1538 @@ -4496,7 +4457,7 @@ 2.1539 and to contain a list of declarations. 2.1540 This is expressed with the following grammar: 2.1541 2.1542 -<pre>@font-face { <a class="production css" data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a> }</pre> 2.1543 +<pre>@font-face { <a class=production data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a> }</pre> 2.1544 2.1545 <p>This is a complete and sufficient definition of the rule’s grammar.</p> 2.1546 2.1547 @@ -4505,7 +4466,7 @@ 2.1548 interpreting their prelude as a name and containing keyframes rules in their block 2.1549 Their grammar is:</p> 2.1550 2.1551 -<pre>@keyframes <a class="production css" data-link-type=type title="<keyframes-name>"><keyframes-name></a> { <a class="production css" data-link-type=type href=#typedef-rule-list title="<rule-list>"><rule-list></a> }</pre> 2.1552 +<pre>@keyframes <a class=production data-link-type=type title="<keyframes-name>"><keyframes-name></a> { <a class=production data-link-type=type href=#typedef-rule-list title="<rule-list>"><rule-list></a> }</pre> 2.1553 </div> 2.1554 2.1555 <p>For rules that use <a class="production css" data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a>, 2.1556 @@ -4541,7 +4502,7 @@ 2.1557 define that the only allowed rules are <a class="production css" data-link-type=type title="<keyframe-rule>"><keyframe-rule></a>s, 2.1558 which are defined as: 2.1559 2.1560 -<pre><a class="production css" data-link-type=type title="<keyframe-rule>"><keyframe-rule></a> = <a class="production css" data-link-type=type title="<keyframe-selector>"><keyframe-selector></a> { <a class="production css" data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a> }</pre> 2.1561 +<pre><a class=production data-link-type=type title="<keyframe-rule>"><keyframe-rule></a> = <a class=production data-link-type=type title="<keyframe-selector>"><keyframe-selector></a> { <a class=production data-link-type=type href=#typedef-declaration-list title="<declaration-list>"><declaration-list></a> }</pre> 2.1562 2.1563 <p>Keyframe rules, then, 2.1564 must further define that they accept as declarations all animatable CSS properties, 2.1565 @@ -4558,18 +4519,18 @@ 2.1566 except more <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules. 2.1567 As such, its grammar is: 2.1568 2.1569 -<pre>@media <a class="production css" data-link-type=type href=http://dev.w3.org/csswg/mediaqueries-4/#typedef-media-query-list title="<media-query-list>"><media-query-list></a> { <a class="production css" data-link-type=type href=#typedef-stylesheet title="<stylesheet>"><stylesheet></a> }</pre> 2.1570 +<pre>@media <a class=production data-link-type=type href=http://dev.w3.org/csswg/mediaqueries-4/#typedef-media-query-list title="<media-query-list>"><media-query-list></a> { <a class=production data-link-type=type href=#typedef-stylesheet title="<stylesheet>"><stylesheet></a> }</pre> 2.1571 2.1572 <p>It additionally defines a restriction that the <a class="production css" data-link-type=type href=#typedef-stylesheet title="<stylesheet>"><stylesheet></a> can not contain <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules, 2.1573 which causes them to be dropped from the outer rule’s value if they appear.</p> 2.1574 </div> 2.1575 2.1576 2.1577 -<h2 class="heading settled" data-level=8 id=css-stylesheets><span class=secno>8 </span><span class=content> 2.1578 +<h2 class="heading settled" data-level=8 id=css-stylesheets><span class=secno>8. </span><span class=content> 2.1579 CSS stylesheets</span><a class=self-link href=#css-stylesheets></a></h2> 2.1580 2.1581 <p>To <dfn data-dfn-type=dfn data-noexport="" id=parse-a-css-stylesheet>parse a CSS stylesheet<a class=self-link href=#parse-a-css-stylesheet></a></dfn>, 2.1582 - first <a data-link-type=dfn href=#parse-a-stylesheet0 title="parse a stylesheet">parse a stylesheet</a>. 2.1583 + first <a data-link-type=dfn href=#parse-a-stylesheet title="parse a stylesheet">parse a stylesheet</a>. 2.1584 Interpret all of the resulting top-level <a data-link-type=dfn href=#qualified-rule title="qualified rules">qualified rules</a> as <a data-link-type=dfn href=#style-rule title="style rules">style rules</a>, defined below.</p> 2.1585 2.1586 <p>If any style rule is invalid, 2.1587 @@ -4577,15 +4538,15 @@ 2.1588 it’s a <a data-link-type=dfn href=#parse-error title="parse error">parse error</a>. 2.1589 Discard that rule.</p> 2.1590 2.1591 -<h3 class="heading settled" data-level=8.1 id=style-rules><span class=secno>8.1 </span><span class=content> 2.1592 +<h3 class="heading settled" data-level=8.1 id=style-rules><span class=secno>8.1. </span><span class=content> 2.1593 Style rules</span><a class=self-link href=#style-rules></a></h3> 2.1594 2.1595 <p>A <dfn data-dfn-type=dfn data-noexport="" id=style-rule>style rule<a class=self-link href=#style-rule></a></dfn> is a <a data-link-type=dfn href=#qualified-rule title="qualified rule">qualified rule</a> 2.1596 - that associates a <a href=http://dev.w3.org/csswg/selectors4/#selector-list>selector list</a> <a data-biblio-type=normative data-link-type=biblio href=#select title=biblio-SELECT>[SELECT]</a> 2.1597 + that associates a <a href=http://dev.w3.org/csswg/selectors4/#selector-list>selector list</a> <a data-biblio-type=normative data-link-type=biblio href=#biblio-select title=SELECT>[SELECT]</a> 2.1598 with a list of property declarations. 2.1599 They are also called 2.1600 - <a href=http://www.w3.org/TR/CSS21/syndata.html#rule-sets>rule sets</a> in <a data-biblio-type=normative data-link-type=biblio href=#css21 title=biblio-CSS21>[CSS21]</a>. 2.1601 - CSS Cascading and Inheritance <a data-biblio-type=normative data-link-type=biblio href=#css3cascade title=biblio-CSS3CASCADE>[CSS3CASCADE]</a> defines how the declarations inside of style rules participate in the cascade.</p> 2.1602 + <a href=http://www.w3.org/TR/CSS21/syndata.html#rule-sets>rule sets</a> in <a data-biblio-type=normative data-link-type=biblio href=#biblio-css21 title=CSS21>[CSS21]</a>. 2.1603 + CSS Cascading and Inheritance <a data-biblio-type=normative data-link-type=biblio href=#biblio-css3cascade title=CSS3CASCADE>[CSS3CASCADE]</a> defines how the declarations inside of style rules participate in the cascade.</p> 2.1604 2.1605 <p>The prelude of the qualified rule is parsed as a 2.1606 <a href=http://dev.w3.org/csswg/selectors4/#selector-list>selector list</a>. 2.1607 @@ -4593,7 +4554,7 @@ 2.1608 the entire style rule is invalid.</p> 2.1609 2.1610 <p>The content of the qualified rule’s block is parsed as a 2.1611 - <a data-link-type=dfn href=#parse-a-list-of-declarations0 title="parse a list of declarations">list of declarations</a>. 2.1612 + <a data-link-type=dfn href=#parse-a-list-of-declarations title="parse a list of declarations">list of declarations</a>. 2.1613 Unless defined otherwise by another specification or a future level of this specification, 2.1614 at-rules in that list are invalid 2.1615 and must be ignored. 2.1616 @@ -4603,17 +4564,17 @@ 2.1617 The validity of the style rule’s contents have no effect on the validity of the style rule itself. 2.1618 Unless otherwise specified, property names are <a data-link-type=dfn href=#ascii-case-insensitive title="ASCII case-insensitive">ASCII case-insensitive</a>.</p> 2.1619 2.1620 -<p class=note>Note: The names of Custom Properties <a data-biblio-type=informative data-link-type=biblio href=#css-variables title=biblio-CSS-VARIABLES>[CSS-VARIABLES]</a> are case-sensitive.</p> 2.1621 +<p class=note>Note: The names of Custom Properties <a data-biblio-type=informative data-link-type=biblio href=#biblio-css-variables title=CSS-VARIABLES>[CSS-VARIABLES]</a> are case-sensitive.</p> 2.1622 2.1623 <p><a data-link-type=dfn href=#qualified-rule title="Qualified rules">Qualified rules</a> at the top-level of a CSS stylesheet are style rules. 2.1624 Qualified rules in other contexts may or may not be style rules, 2.1625 as defined by the context.</p> 2.1626 2.1627 <p class=example> 2.1628 - For example, qualified rules inside <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules <a data-biblio-type=informative data-link-type=biblio href=#css3-conditional title=biblio-CSS3-CONDITIONAL>[CSS3-CONDITIONAL]</a> are style rules, 2.1629 - but qualified rules inside <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-animations-1/#at-ruledef-keyframes title=@keyframes>@keyframes</a> rules are not <a data-biblio-type=informative data-link-type=biblio href=#css3-animations title=biblio-CSS3-ANIMATIONS>[CSS3-ANIMATIONS]</a>. 2.1630 - 2.1631 -<h3 class="heading settled" data-level=8.2 id=charset-rule><span class=secno>8.2 </span><span class=content> 2.1632 + For example, qualified rules inside <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-conditional-3/#at-ruledef-media title=@media>@media</a> rules <a data-biblio-type=informative data-link-type=biblio href=#biblio-css3-conditional title=CSS3-CONDITIONAL>[CSS3-CONDITIONAL]</a> are style rules, 2.1633 + but qualified rules inside <a class=css data-link-type=maybe href=http://dev.w3.org/csswg/css-animations-1/#at-ruledef-keyframes title=@keyframes>@keyframes</a> rules are not <a data-biblio-type=informative data-link-type=biblio href=#biblio-css3-animations title=CSS3-ANIMATIONS>[CSS3-ANIMATIONS]</a>. 2.1634 + 2.1635 +<h3 class="heading settled" data-level=8.2 id=charset-rule><span class=secno>8.2. </span><span class=content> 2.1636 The <a class=css data-link-type=maybe href=#at-ruledef-charset title=@charset>@charset</a> Rule</span><a class=self-link href=#charset-rule></a></h3> 2.1637 2.1638 <p>The @charset rule is an artifact of the algorithm used to <a data-link-type=dfn href=#determine-the-fallback-encoding title="determine the fallback encoding">determine the fallback encoding</a> for the stylesheet. 2.1639 @@ -4624,7 +4585,7 @@ 2.1640 2.1641 <p>Therefore, the stylesheet parser recognizes an @-rule with the general syntax</p> 2.1642 2.1643 -<pre class=prod><dfn class=css data-dfn-type=at-rule data-export="" id=at-ruledef-charset>@charset<a class=self-link href=#at-ruledef-charset></a></dfn> = @charset <a class="production css" data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#string-value title="<string>"><string></a> ;</pre> 2.1644 +<pre class=prod><dfn data-dfn-type=at-rule data-export="" id=at-ruledef-charset>@charset<a class=self-link href=#at-ruledef-charset></a></dfn> = @charset <a class=production data-link-type=type href=http://dev.w3.org/csswg/css-values-3/#string-value title="<string>"><string></a> ;</pre> 2.1645 2.1646 <p>and, for backward compatibility, includes it in the object model for the stylesheet. 2.1647 Modifying, adding, or removing an @charset rule via the object model has no effect 2.1648 @@ -4637,7 +4598,7 @@ 2.1649 2.1650 2.1651 2.1652 -<h2 class="heading settled" data-level=9 id=serialization><span class=secno>9 </span><span class=content> 2.1653 +<h2 class="heading settled" data-level=9 id=serialization><span class=secno>9. </span><span class=content> 2.1654 Serialization</span><a class=self-link href=#serialization></a></h2> 2.1655 2.1656 <p>The tokenizer described in this specification does not produce tokens for comments, 2.1657 @@ -4769,7 +4730,7 @@ 2.1658 </table> 2.1659 </div> 2.1660 2.1661 -<h3 class="heading settled" data-level=9.1 id=serializing-anb><span class=secno>9.1 </span><span class=content> 2.1662 +<h3 class="heading settled" data-level=9.1 id=serializing-anb><span class=secno>9.1. </span><span class=content> 2.1663 Serializing <var><an+b></var></span><a class=self-link href=#serializing-anb></a></h3> 2.1664 2.1665 <p>To serialize an <var><an+b></var> value, 2.1666 @@ -4800,12 +4761,12 @@ 2.1667 2.1668 <p>Return <var>s</var>.</p> 2.1669 2.1670 -<h2 class="heading settled" data-level=10 id=changes0><span class=secno>10 </span><span class=content> 2.1671 -Changes</span><a class=self-link href=#changes0></a></h2> 2.1672 +<h2 class="heading settled" data-level=10 id=changes><span class=secno>10. </span><span class=content> 2.1673 +Changes</span><a class=self-link href=#changes></a></h2> 2.1674 2.1675 <p><em>This section is non-normative.</em></p> 2.1676 2.1677 -<h3 class="heading settled" data-level=10.1 id=changes-CR-20140220><span class=secno>10.1 </span><span class=content> 2.1678 +<h3 class="heading settled" data-level=10.1 id=changes-CR-20140220><span class=secno>10.1. </span><span class=content> 2.1679 Changes from the 20 February 2014 Candidate Recommendation</span><a class=self-link href=#changes-CR-20140220></a></h3> 2.1680 2.1681 <ul> 2.1682 @@ -4814,7 +4775,7 @@ 2.1683 <li>Minor editorial restructuring of algorithms. 2.1684 </ul> 2.1685 2.1686 -<h3 class="heading settled" data-level=10.2 id=changes-WD-20131105><span class=secno>10.2 </span><span class=content> 2.1687 +<h3 class="heading settled" data-level=10.2 id=changes-WD-20131105><span class=secno>10.2. </span><span class=content> 2.1688 Changes from the 5 November 2013 Last Call Working Draft</span><a class=self-link href=#changes-WD-20131105></a></h3> 2.1689 2.1690 <ul> 2.1691 @@ -4824,7 +4785,7 @@ 2.1692 and move the details of how to achieve it into a note. 2.1693 Some corner cases in these details have been fixed. 2.1694 <li> 2.1695 - <a data-biblio-type=informative data-link-type=biblio href=#encoding title=biblio-ENCODING>[ENCODING]</a> has been added to the list of normative references. 2.1696 + <a data-biblio-type=informative data-link-type=biblio href=#biblio-encoding title=ENCODING>[ENCODING]</a> has been added to the list of normative references. 2.1697 It was already referenced in normative text before, 2.1698 just not listed as such. 2.1699 <li> 2.1700 @@ -4838,7 +4799,7 @@ 2.1701 <pre>@charset " <em>(lots of whitespace)</em> utf-8";</pre> 2.1702 </ul> 2.1703 2.1704 -<h3 class="heading settled" data-level=10.3 id=changes-WD-20130919><span class=secno>10.3 </span><span class=content> 2.1705 +<h3 class="heading settled" data-level=10.3 id=changes-WD-20130919><span class=secno>10.3. </span><span class=content> 2.1706 Changes from the 19 September 2013 Working Draft</span><a class=self-link href=#changes-WD-20130919></a></h3> 2.1707 2.1708 <ul> 2.1709 @@ -4848,7 +4809,7 @@ 2.1710 but some of the definitions should be moved to the relevant specs. 2.1711 </ul> 2.1712 2.1713 -<h3 class="heading settled" data-level=10.4 id=changes-css21><span class=secno>10.4 </span><span class=content> 2.1714 +<h3 class="heading settled" data-level=10.4 id=changes-css21><span class=secno>10.4. </span><span class=content> 2.1715 Changes from CSS 2.1 and Selectors Level 3</span><a class=self-link href=#changes-css21></a></h3> 2.1716 2.1717 <p class=note>Note: The point of this spec is to match reality; 2.1718 @@ -4869,7 +4830,7 @@ 2.1719 as that would cause the rule itself to not decode properly. 2.1720 2.1721 <li> 2.1722 - Refer to <a data-biblio-type=normative data-link-type=biblio href=#encoding title=biblio-ENCODING>[ENCODING]</a> 2.1723 + Refer to <a data-biblio-type=normative data-link-type=biblio href=#biblio-encoding title=ENCODING>[ENCODING]</a> 2.1724 rather than the IANA registery for character encodings. 2.1725 2.1726 </ul> 2.1727 @@ -4977,7 +4938,7 @@ 2.1728 2.1729 </ul> 2.1730 2.1731 -<p><var>An+B</var> changes from Selectors Level 3 <a data-biblio-type=informative data-link-type=biblio href=#select title=biblio-SELECT>[SELECT]</a>:</p> 2.1732 +<p><var>An+B</var> changes from Selectors Level 3 <a data-biblio-type=informative data-link-type=biblio href=#biblio-select title=SELECT>[SELECT]</a>:</p> 2.1733 2.1734 <ul> 2.1735 <li> 2.1736 @@ -5046,7 +5007,7 @@ 2.1737 letters in this specification. 2.1738 2.1739 <p>All of the text of this specification is normative except sections 2.1740 - explicitly marked as non-normative, examples, and notes. <a data-biblio-type=normative data-link-type=biblio href=#rfc2119 title=biblio-RFC2119>[RFC2119]</a></p> 2.1741 + explicitly marked as non-normative, examples, and notes. <a data-biblio-type=normative data-link-type=biblio href=#biblio-rfc2119 title=RFC2119>[RFC2119]</a></p> 2.1742 2.1743 <p>Examples in this specification are introduced with the words "for example" 2.1744 or are set apart from the normative text with <code>class="example"</code>, 2.1745 @@ -5159,172 +5120,6 @@ 2.1746 <a href=http://lists.w3.org/Archives/Public/public-css-testsuite>public-css-testsuite@w3.org</a> 2.1747 mailing list. 2.1748 2.1749 -<h2 class="no-num no-ref heading settled" id=references><span class=content> 2.1750 -References</span><a class=self-link href=#references></a></h2> 2.1751 - 2.1752 -<h3 class="no-num no-ref heading settled" id=normative><span class=content> 2.1753 -Normative References</span><a class=self-link href=#normative></a></h3> 2.1754 -<div data-fill-with=normative-references><dl> 2.1755 -<dt id=biblio-css21 title=CSS21><a class=self-link href=#biblio-css21></a>[CSS21]<dd>Bert Bos; et al. <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a>. 7 June 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>http://www.w3.org/TR/2011/REC-CSS2-20110607</a></dd> 2.1756 -<dt id=biblio-css3cascade title=CSS3CASCADE><a class=self-link href=#biblio-css3cascade></a>[CSS3CASCADE]<dd>Håkon Wium Lie; Elika J. Etemad; Tab Atkins Jr.. <a href=http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/>CSS Cascading and Inheritance Level 3</a>. 3 October 2013. W3C Candidate Recommendation. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/>http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/</a></dd> 2.1757 -<dt id=biblio-encoding title=ENCODING><a class=self-link href=#biblio-encoding></a>[ENCODING]<dd>Anne van Kesteren; Joshua Bell. <a href=http://encoding.spec.whatwg.org/>Encoding</a>. Living Standard. URL: <a href=http://encoding.spec.whatwg.org/>http://encoding.spec.whatwg.org/</a></dd> 2.1758 -<dt id=biblio-rfc2119 title=RFC2119><a class=self-link href=#biblio-rfc2119></a>[RFC2119]<dd>S. Bradner. <a href=http://www.ietf.org/rfc/rfc2119.txt>Key words for use in RFCs to Indicate Requirement Levels</a>. URL: <a href=http://www.ietf.org/rfc/rfc2119.txt>http://www.ietf.org/rfc/rfc2119.txt</a></dd> 2.1759 -<dt id=biblio-select title=SELECT><a class=self-link href=#biblio-select></a>[SELECT]<dd>Tantek Çelik; et al. <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>Selectors Level 3</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>http://www.w3.org/TR/2011/REC-css3-selectors-20110929/</a></dd> 2.1760 -<dt id=biblio-unicode title=UNICODE><a class=self-link href=#biblio-unicode></a>[UNICODE]<dd>The Unicode Consortium. <a href=http://www.unicode.org/standard/versions/enumeratedversions.html>The Unicode Standard</a>. 2013. Defined by: The Unicode Standard, Version 6.3.0, (Mountain View, CA: The Unicode Consortium, 2013. ISBN 978-1-936213-08-5), as updated from time to time by the publication of new versions URL: <a href=http://www.unicode.org/standard/versions/enumeratedversions.html>http://www.unicode.org/standard/versions/enumeratedversions.html</a></dd> 2.1761 -</dl></div> 2.1762 - 2.1763 -<h3 class="no-num no-ref heading settled" id=informative><span class=content> 2.1764 -Informative References</span><a class=self-link href=#informative></a></h3> 2.1765 -<div data-fill-with=informative-references><dl> 2.1766 -<dt id=biblio-css-variables title=CSS-VARIABLES><a class=self-link href=#biblio-css-variables></a>[CSS-VARIABLES]<dd>Tab Atkins Jr.; Luke Macpherson; Daniel Glazman. <a href=http://www.w3.org/TR/2013/WD-css-variables-20130620/>CSS Custom Properties for Cascading Variables Module Level 1</a>. 20 June 2013. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/WD-css-variables-20130620/>http://www.w3.org/TR/2013/WD-css-variables-20130620/</a></dd> 2.1767 -<dt id=biblio-css3-animations title=CSS3-ANIMATIONS><a class=self-link href=#biblio-css3-animations></a>[CSS3-ANIMATIONS]<dd>Dean Jackson; et al. <a href=http://www.w3.org/TR/2013/WD-css3-animations-20130219/>CSS Animations</a>. 19 February 2013. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/WD-css3-animations-20130219/>http://www.w3.org/TR/2013/WD-css3-animations-20130219/</a></dd> 2.1768 -<dt id=biblio-css3-conditional title=CSS3-CONDITIONAL><a class=self-link href=#biblio-css3-conditional></a>[CSS3-CONDITIONAL]<dd>L. David Baron. <a href=http://www.w3.org/TR/2013/CR-css3-conditional-20130404/>CSS Conditional Rules Module Level 3</a>. 4 April 2013. W3C Candidate Recommendation. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/CR-css3-conditional-20130404/>http://www.w3.org/TR/2013/CR-css3-conditional-20130404/</a></dd> 2.1769 -<dt id=biblio-cssom title=CSSOM><a class=self-link href=#biblio-cssom></a>[CSSOM]<dd>Anne van Kesteren. <a href=http://www.w3.org/TR/2011/WD-cssom-20110712/>CSSOM</a>. 12 July 2011. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2011/WD-cssom-20110712/>http://www.w3.org/TR/2011/WD-cssom-20110712/</a></dd> 2.1770 -<dt id=biblio-html title=HTML><a class=self-link href=#biblio-html></a>[HTML]<dd>Ian Hickson. <a href=http://whatwg.org/html>HTML</a>. Living Standard. URL: <a href=http://whatwg.org/html>http://whatwg.org/html</a></dd> 2.1771 -<dt id=biblio-mediaq title=MEDIAQ><a class=self-link href=#biblio-mediaq></a>[MEDIAQ]<dd>Florian Rivoal. <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>Media Queries</a>. 19 June 2012. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a></dd> 2.1772 -</dl></div> 2.1773 - 2.1774 -<h2 class="no-num no-ref heading settled" id=index><span class=content> 2.1775 -Index</span><a class=self-link href=#index></a></h2> 2.1776 -<div data-fill-with=index><ul class=indexlist> 2.1777 -<li>A, <a href=#a title="section 6">6</a> 2.1778 -<li>An+B, <a href=#anb0 title="section 6">6</a> 2.1779 -<li><an+b>, <a href=#anb-production title="section 6.2">6.2</a> 2.1780 -<li>are a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a> 2.1781 -<li>ASCII case-insensitive, <a href=#ascii-case-insensitive title="section 5.2">5.2</a> 2.1782 -<li>ASCII case-insensitively, <a href=#ascii-case-insensitive title="section 5.2">5.2</a> 2.1783 -<li><at-keyword-token>, <a href=#typedef-at-keyword-token title="section 4">4</a> 2.1784 -<li>at-rule, <a href=#at-rule title="section 5">5</a> 2.1785 -<li>B, <a href=#b title="section 6">6</a> 2.1786 -<li><bad-string-token>, <a href=#typedef-bad-string-token title="section 4">4</a> 2.1787 -<li><bad-url-token>, <a href=#typedef-bad-url-token title="section 4">4</a> 2.1788 -<li>case-sensitive, <a href=#case-sensitive title="section 5.2">5.2</a> 2.1789 -<li>case-sensitively, <a href=#case-sensitive title="section 5.2">5.2</a> 2.1790 -<li><CDC-token>, <a href=#typedef-cdc-token title="section 4">4</a> 2.1791 -<li><CDO-token>, <a href=#typedef-cdo-token title="section 4">4</a> 2.1792 -<li>@charset, <a href=#at-ruledef-charset title="section 8.2">8.2</a> 2.1793 -<li>check if three code points would start an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a> 2.1794 -<li>check if three code points would start a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a> 2.1795 -<li>check if two code points are a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a> 2.1796 -<li>code point, <a href=#code-point title="section 4.2">4.2</a> 2.1797 -<li><colon-token>, <a href=#typedef-colon-token title="section 4">4</a> 2.1798 -<li><column-token>, <a href=#typedef-column-token title="section 4">4</a> 2.1799 -<li><comma-token>, <a href=#typedef-comma-token title="section 4">4</a> 2.1800 -<li>component value, <a href=#component-value title="section 5">5</a> 2.1801 -<li>consume a component value, <a href=#consume-a-component-value0 title="section 5.4.6">5.4.6</a> 2.1802 -<li>consume a declaration, <a href=#consume-a-declaration0 title="section 5.4.5">5.4.5</a> 2.1803 -<li>consume a function, <a href=#consume-a-function0 title="section 5.4.8">5.4.8</a> 2.1804 -<li>consume a list of declarations, <a href=#consume-a-list-of-declarations0 title="section 5.4.4">5.4.4</a> 2.1805 -<li>consume a list of rules, <a href=#consume-a-list-of-rules0 title="section 5.4.1">5.4.1</a> 2.1806 -<li>consume a name, <a href=#consume-a-name0 title="section 4.3.12">4.3.12</a> 2.1807 -<li>consume an at-rule, <a href=#consume-an-at-rule0 title="section 5.4.2">5.4.2</a> 2.1808 -<li>consume an escaped code point, <a href=#consume-an-escaped-code-point0 title="section 4.3.8">4.3.8</a> 2.1809 -<li>consume an ident-like token, <a href=#consume-an-ident-like-token0 title="section 4.3.4">4.3.4</a> 2.1810 -<li>consume a number, <a href=#consume-a-number0 title="section 4.3.13">4.3.13</a> 2.1811 -<li>consume a numeric token, <a href=#consume-a-numeric-token0 title="section 4.3.3">4.3.3</a> 2.1812 -<li>consume a qualified rule, <a href=#consume-a-qualified-rule0 title="section 5.4.3">5.4.3</a> 2.1813 -<li>consume a simple block, <a href=#consume-a-simple-block0 title="section 5.4.7">5.4.7</a> 2.1814 -<li>consume a string token, <a href=#consume-a-string-token0 title="section 4.3.5">4.3.5</a> 2.1815 -<li>consume a token, <a href=#consume-a-token0 title="section 4.3.1">4.3.1</a> 2.1816 -<li>consume a unicode-range token, <a href=#consume-a-unicode-range-token0 title="section 4.3.7">4.3.7</a> 2.1817 -<li>consume a url token, <a href=#consume-a-url-token0 title="section 4.3.6">4.3.6</a> 2.1818 -<li>consume comments, <a href=#consume-comments0 title="section 4.3.2">4.3.2</a> 2.1819 -<li>consume the next input token, <a href=#consume-the-next-input-token title="section 5.2">5.2</a> 2.1820 -<li>consume the remnants of a bad url, <a href=#consume-the-remnants-of-a-bad-url0 title="section 4.3.15">4.3.15</a> 2.1821 -<li>convert a string to a number, <a href=#convert-a-string-to-a-number0 title="section 4.3.14">4.3.14</a> 2.1822 -<li>current input code point, <a href=#current-input-code-point title="section 4.2">4.2</a> 2.1823 -<li>current input token, <a href=#current-input-token title="section 5.2">5.2</a> 2.1824 -<li><dash-match-token>, <a href=#typedef-dash-match-token title="section 4">4</a> 2.1825 -<li><dashndashdigit-ident>, <a href=#typedef-dashndashdigit-ident title="section 6.2">6.2</a> 2.1826 -<li>declaration, <a href=#declaration title="section 5">5</a> 2.1827 -<li><declaration-list>, <a href=#typedef-declaration-list title="section 7.1">7.1</a> 2.1828 -<li>decode, <a href=#decode title="section 3.2">3.2</a> 2.1829 -<li><delim-token>, <a href=#typedef-delim-token title="section 4">4</a> 2.1830 -<li>determine the fallback encoding, <a href=#determine-the-fallback-encoding title="section 3.2">3.2</a> 2.1831 -<li>digit, <a href=#digit title="section 4.2">4.2</a> 2.1832 -<li><dimension-token>, <a href=#typedef-dimension-token title="section 4">4</a> 2.1833 -<li>ending token, <a href=#ending-token title="section 5.4.7">5.4.7</a> 2.1834 -<li>end of the range, <a href=#unicode-range-end title="section 4">4</a> 2.1835 -<li>environment encoding, <a href=#environment-encoding title="section 3.2">3.2</a> 2.1836 -<li>EOF code point, <a href=#eof-code-point title="section 4.2">4.2</a> 2.1837 -<li><EOF-token>, <a href=#typedef-eof-token title="section 5.2">5.2</a> 2.1838 -<li>escaping, <a href=#escaping0 title="section 2.1">2.1</a> 2.1839 -<li>function, <a href=#function title="section 5">5</a> 2.1840 -<li><function-token>, <a href=#typedef-function-token title="section 4">4</a> 2.1841 -<li>get an encoding, <a href=#get-an-encoding title="section 3.2">3.2</a> 2.1842 -<li><hash-token>, <a href=#typedef-hash-token title="section 4">4</a> 2.1843 -<li>hex digit, <a href=#hex-digit title="section 4.2">4.2</a> 2.1844 -<li>identifier, <a href=#identifier title="section 4.2">4.2</a> 2.1845 -<li><ident-token>, <a href=#typedef-ident-token title="section 4">4</a> 2.1846 -<li><include-match-token>, <a href=#typedef-include-match-token title="section 4">4</a> 2.1847 -<li><integer>, <a href=#typedef-integer title="section 6.2">6.2</a> 2.1848 -<li>letter, <a href=#letter title="section 4.2">4.2</a> 2.1849 -<li>lowercase letter, <a href=#lowercase-letter title="section 4.2">4.2</a> 2.1850 -<li>maximum allowed code point, <a href=#maximum-allowed-code-point title="section 4.2">4.2</a> 2.1851 -<li>name code point, <a href=#name-code-point title="section 4.2">4.2</a> 2.1852 -<li>name-start code point, <a href=#name-start-code-point title="section 4.2">4.2</a> 2.1853 -<li><ndashdigit-dimension>, <a href=#typedef-ndashdigit-dimension title="section 6.2">6.2</a> 2.1854 -<li><ndashdigit-ident>, <a href=#typedef-ndashdigit-ident title="section 6.2">6.2</a> 2.1855 -<li><ndash-dimension>, <a href=#typedef-ndash-dimension title="section 6.2">6.2</a> 2.1856 -<li><n-dimension>, <a href=#typedef-n-dimension title="section 6.2">6.2</a> 2.1857 -<li>newline, <a href=#newline title="section 4.2">4.2</a> 2.1858 -<li>next input code point, <a href=#next-input-code-point title="section 4.2">4.2</a> 2.1859 -<li>next input token, <a href=#next-input-token title="section 5.2">5.2</a> 2.1860 -<li>non-ASCII code point, <a href=#non-ascii-code-point title="section 4.2">4.2</a> 2.1861 -<li>non-printable code point, <a href=#non-printable-code-point title="section 4.2">4.2</a> 2.1862 -<li><number-token>, <a href=#typedef-number-token title="section 4">4</a> 2.1863 -<li>parse a comma-separated list of component values, <a href=#parse-a-comma-separated-list-of-component-values0 title="section 5.3.9">5.3.9</a> 2.1864 -<li>parse a component value, <a href=#parse-a-component-value0 title="section 5.3.7">5.3.7</a> 2.1865 -<li>parse a CSS stylesheet, <a href=#parse-a-css-stylesheet title="section 8">8</a> 2.1866 -<li>parse a declaration, <a href=#parse-a-declaration0 title="section 5.3.5">5.3.5</a> 2.1867 -<li>parse a list of component values, <a href=#parse-a-list-of-component-values0 title="section 5.3.8">5.3.8</a> 2.1868 -<li>parse a list of declarations, <a href=#parse-a-list-of-declarations0 title="section 5.3.6">5.3.6</a> 2.1869 -<li>parse a list of rules, <a href=#parse-a-list-of-rules0 title="section 5.3.3">5.3.3</a> 2.1870 -<li>parse a rule, <a href=#parse-a-rule0 title="section 5.3.4">5.3.4</a> 2.1871 -<li>parse a stylesheet, <a href=#parse-a-stylesheet0 title="section 5.3.2">5.3.2</a> 2.1872 -<li>parse error, <a href=#parse-error title="section 3">3</a> 2.1873 -<li>parse something according to a CSS grammar, <a href=#parse-something-according-to-a-css-grammar title="section 5.3.1">5.3.1</a> 2.1874 -<li><percentage-token>, <a href=#typedef-percentage-token title="section 4">4</a> 2.1875 -<li><prefix-match-token>, <a href=#typedef-prefix-match-token title="section 4">4</a> 2.1876 -<li>preserved tokens, <a href=#preserved-tokens title="section 5">5</a> 2.1877 -<li>qualified rule, <a href=#qualified-rule title="section 5">5</a> 2.1878 -<li>reconsume the current input code point, <a href=#reconsume-the-current-input-code-point title="section 4.2">4.2</a> 2.1879 -<li>reconsume the current input token, <a href=#reconsume-the-current-input-token title="section 5.2">5.2</a> 2.1880 -<li><rule-list>, <a href=#typedef-rule-list title="section 7.1">7.1</a> 2.1881 -<li><semicolon-token>, <a href=#typedef-semicolon-token title="section 4">4</a> 2.1882 -<li><signed-integer>, <a href=#typedef-signed-integer title="section 6.2">6.2</a> 2.1883 -<li><signless-integer>, <a href=#typedef-signless-integer title="section 6.2">6.2</a> 2.1884 -<li>simple block, <a href=#simple-block title="section 5">5</a> 2.1885 -<li>start of the range, <a href=#unicode-range-start title="section 4">4</a> 2.1886 -<li>starts with an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a> 2.1887 -<li>starts with a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a> 2.1888 -<li>starts with a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a> 2.1889 -<li>start with an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a> 2.1890 -<li>start with a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a> 2.1891 -<li><string-token>, <a href=#typedef-string-token title="section 4">4</a> 2.1892 -<li>style rule, <a href=#style-rule title="section 8.1">8.1</a> 2.1893 -<li><stylesheet>, <a href=#typedef-stylesheet title="section 7.1">7.1</a> 2.1894 -<li><substring-match-token>, <a href=#typedef-substring-match-token title="section 4">4</a> 2.1895 -<li><suffix-match-token>, <a href=#typedef-suffix-match-token title="section 4">4</a> 2.1896 -<li>surrogate code point, <a href=#surrogate-code-point title="section 4.2">4.2</a> 2.1897 -<li><{-token>, <a href=#tokendef-open-curly title="section 4">4</a> 2.1898 -<li><)-token>, <a href=#tokendef-close-paren title="section 4">4</a> 2.1899 -<li><}-token>, <a href=#tokendef-close-curly title="section 4">4</a> 2.1900 -<li><]-token>, <a href=#tokendef-close-square title="section 4">4</a> 2.1901 -<li><(-token>, <a href=#tokendef-open-paren title="section 4">4</a> 2.1902 -<li><[-token>, <a href=#tokendef-open-square title="section 4">4</a> 2.1903 -<li>top-level flag, <a href=#top-level-flag title="section 5.4.1">5.4.1</a> 2.1904 -<li><unicode-range-token>, <a href=#typedef-unicode-range-token title="section 4">4</a> 2.1905 -<li>uppercase letter, <a href=#uppercase-letter title="section 4.2">4.2</a> 2.1906 -<li><url-token>, <a href=#typedef-url-token title="section 4">4</a> 2.1907 -<li>whitespace, <a href=#whitespace title="section 4.2">4.2</a> 2.1908 -<li><whitespace-token>, <a href=#typedef-whitespace-token title="section 4">4</a> 2.1909 -<li>would start an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a> 2.1910 -<li>would start a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a> 2.1911 -</ul></div> 2.1912 - 2.1913 -<h2 class="no-num no-ref heading settled" id=property-index><span class=content> 2.1914 -Property index</span><a class=self-link href=#property-index></a></h2> 2.1915 -<div data-fill-with=property-index><p>No properties defined.</div> 2.1916 - 2.1917 - 2.1918 + 2.1919 + 2.1920 +<h2 class="no-num heading settled" id=references><span class=content>References</span><a class=self-link href=#references></a></h2><h3 class="no-num heading settled" id=normative><span class=content>Normative References</span><a class=self-link href=#normative></a></h3><dl><dt id=biblio-css21 title=CSS21><a class=self-link href=#biblio-css21></a>[CSS21]<dd>Bert Bos; et al. <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification</a>. 7 June 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-CSS2-20110607>http://www.w3.org/TR/2011/REC-CSS2-20110607</a><dt id=biblio-css3cascade title=CSS3CASCADE><a class=self-link href=#biblio-css3cascade></a>[CSS3CASCADE]<dd>Håkon Wium Lie; Elika J. Etemad; Tab Atkins Jr.. <a href=http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/>CSS Cascading and Inheritance Level 3</a>. 3 October 2013. W3C Candidate Recommendation. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/>http://www.w3.org/TR/2013/CR-css-cascade-3-20131003/</a><dt id=biblio-select title=SELECT><a class=self-link href=#biblio-select></a>[SELECT]<dd>Tantek Çelik; et al. <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>Selectors Level 3</a>. 29 September 2011. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2011/REC-css3-selectors-20110929/>http://www.w3.org/TR/2011/REC-css3-selectors-20110929/</a><dt id=biblio-unicode title=UNICODE><a class=self-link href=#biblio-unicode></a>[UNICODE]<dd>???. <a href=http://www.unicode.org/versions/latest/>The Unicode Standard</a>. URL: <a href=http://www.unicode.org/versions/latest/>http://www.unicode.org/versions/latest/</a><dt id=biblio-encoding title=encoding><a class=self-link href=#biblio-encoding></a>[encoding]<dd>Anne van Kesteren; Joshua Bell; Addison Phillips. <a href=http://www.w3.org/TR/encoding/>Encoding</a>. 16 September 2014. CR. URL: <a href=http://www.w3.org/TR/encoding/>http://www.w3.org/TR/encoding/</a><dt id=biblio-rfc2119 title=rfc2119><a class=self-link href=#biblio-rfc2119></a>[rfc2119]<dd>S. Bradner. <a href=http://www.ietf.org/rfc/rfc2119.txt>Key words for use in RFCs to Indicate Requirement Levels</a>. March 1997. Best Current Practice. URL: <a href=http://www.ietf.org/rfc/rfc2119.txt>http://www.ietf.org/rfc/rfc2119.txt</a></dl><h3 class="no-num heading settled" id=informative><span class=content>Informative References</span><a class=self-link href=#informative></a></h3><dl><dt id=biblio-css-variables title=CSS-VARIABLES><a class=self-link href=#biblio-css-variables></a>[CSS-VARIABLES]<dd>Tab Atkins Jr.; Luke Macpherson; Daniel Glazman. <a href=http://www.w3.org/TR/2013/WD-css-variables-20130620/>CSS Custom Properties for Cascading Variables Module Level 1</a>. 20 June 2013. W3C Working Draft. (Work in progress.) URL: <a href=http://www.w3.org/TR/2013/WD-css-variables-20130620/>http://www.w3.org/TR/2013/WD-css-variables-20130620/</a><dt id=biblio-html title=HTML><a class=self-link href=#biblio-html></a>[HTML]<dd>Ian Hickson. <a href=http://whatwg.org/html>HTML</a>. Living Standard. URL: <a href=http://whatwg.org/html>http://whatwg.org/html</a><dt id=biblio-mediaq title=MEDIAQ><a class=self-link href=#biblio-mediaq></a>[MEDIAQ]<dd>Florian Rivoal. <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>Media Queries</a>. 19 June 2012. W3C Recommendation. URL: <a href=http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/>http://www.w3.org/TR/2012/REC-css3-mediaqueries-20120619/</a><dt id=biblio-css3-animations title=css3-animations><a class=self-link href=#biblio-css3-animations></a>[css3-animations]<dd>Dean Jackson; et al. <a href=http://www.w3.org/TR/css3-animations/>CSS Animations</a>. 19 February 2013. WD. URL: <a href=http://www.w3.org/TR/css3-animations/>http://www.w3.org/TR/css3-animations/</a><dt id=biblio-css3-conditional title=css3-conditional><a class=self-link href=#biblio-css3-conditional></a>[css3-conditional]<dd>David Baron. <a href=http://www.w3.org/TR/css3-conditional/>CSS Conditional Rules Module Level 3</a>. 4 April 2013. CR. URL: <a href=http://www.w3.org/TR/css3-conditional/>http://www.w3.org/TR/css3-conditional/</a><dt id=biblio-cssom title=cssom><a class=self-link href=#biblio-cssom></a>[cssom]<dd>Simon Pieters; Glenn Adams. <a href=http://www.w3.org/TR/cssom/>CSS Object Model (CSSOM)</a>. 5 December 2013. WD. URL: <a href=http://www.w3.org/TR/cssom/>http://www.w3.org/TR/cssom/</a></dl><h2 class="no-num heading settled" id=index><span class=content>Index</span><a class=self-link href=#index></a></h2><ul class=indexlist><li>A, <a href=#a title="section 6">6</a><li>An+B, <a href=#anb title="section 6">6</a><li><an+b>, <a href=#anb-production title="section 6.2">6.2</a><li>are a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a><li>ASCII case-insensitive, <a href=#ascii-case-insensitive title="section 5.2">5.2</a><li>ASCII case-insensitively, <a href=#ascii-case-insensitive title="section 5.2">5.2</a><li><at-keyword-token>, <a href=#typedef-at-keyword-token title="section 4">4</a><li>at-rule, <a href=#at-rule title="section 5">5</a><li>B, <a href=#b title="section 6">6</a><li><bad-string-token>, <a href=#typedef-bad-string-token title="section 4">4</a><li><bad-url-token>, <a href=#typedef-bad-url-token title="section 4">4</a><li>case-sensitive, <a href=#case-sensitive title="section 5.2">5.2</a><li>case-sensitively, <a href=#case-sensitive title="section 5.2">5.2</a><li><CDC-token>, <a href=#typedef-cdc-token title="section 4">4</a><li><CDO-token>, <a href=#typedef-cdo-token title="section 4">4</a><li>@charset, <a href=#at-ruledef-charset title="section 8.2">8.2</a><li>check if three code points would start an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a><li>check if three code points would start a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a><li>check if two code points are a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a><li>code point, <a href=#code-point title="section 4.2">4.2</a><li><colon-token>, <a href=#typedef-colon-token title="section 4">4</a><li><column-token>, <a href=#typedef-column-token title="section 4">4</a><li><comma-token>, <a href=#typedef-comma-token title="section 4">4</a><li>component value, <a href=#component-value title="section 5">5</a><li>consume a component value, <a href=#consume-a-component-value title="section 5.4.6">5.4.6</a><li>consume a declaration, <a href=#consume-a-declaration title="section 5.4.5">5.4.5</a><li>consume a function, <a href=#consume-a-function title="section 5.4.8">5.4.8</a><li>consume a list of declarations, <a href=#consume-a-list-of-declarations title="section 5.4.4">5.4.4</a><li>consume a list of rules, <a href=#consume-a-list-of-rules title="section 5.4.1">5.4.1</a><li>consume a name, <a href=#consume-a-name title="section 4.3.12">4.3.12</a><li>consume an at-rule, <a href=#consume-an-at-rule title="section 5.4.2">5.4.2</a><li>consume an escaped code point, <a href=#consume-an-escaped-code-point title="section 4.3.8">4.3.8</a><li>consume an ident-like token, <a href=#consume-an-ident-like-token title="section 4.3.4">4.3.4</a><li>consume a number, <a href=#consume-a-number title="section 4.3.13">4.3.13</a><li>consume a numeric token, <a href=#consume-a-numeric-token title="section 4.3.3">4.3.3</a><li>consume a qualified rule, <a href=#consume-a-qualified-rule title="section 5.4.3">5.4.3</a><li>consume a simple block, <a href=#consume-a-simple-block title="section 5.4.7">5.4.7</a><li>consume a string token, <a href=#consume-a-string-token title="section 4.3.5">4.3.5</a><li>consume a token, <a href=#consume-a-token title="section 4.3.1">4.3.1</a><li>consume a unicode-range token, <a href=#consume-a-unicode-range-token title="section 4.3.7">4.3.7</a><li>consume a url token, <a href=#consume-a-url-token title="section 4.3.6">4.3.6</a><li>consume comments, <a href=#consume-comments title="section 4.3.2">4.3.2</a><li>consume the next input token, <a href=#consume-the-next-input-token title="section 5.2">5.2</a><li>consume the remnants of a bad url, <a href=#consume-the-remnants-of-a-bad-url title="section 4.3.15">4.3.15</a><li>convert a string to a number, <a href=#convert-a-string-to-a-number title="section 4.3.14">4.3.14</a><li>current input code point, <a href=#current-input-code-point title="section 4.2">4.2</a><li>current input token, <a href=#current-input-token title="section 5.2">5.2</a><li><dash-match-token>, <a href=#typedef-dash-match-token title="section 4">4</a><li><dashndashdigit-ident>, <a href=#typedef-dashndashdigit-ident title="section 6.2">6.2</a><li>declaration, <a href=#declaration title="section 5">5</a><li><declaration-list>, <a href=#typedef-declaration-list title="section 7.1">7.1</a><li>decode, <a href=#decode title="section 3.2">3.2</a><li><delim-token>, <a href=#typedef-delim-token title="section 4">4</a><li>determine the fallback encoding, <a href=#determine-the-fallback-encoding title="section 3.2">3.2</a><li>digit, <a href=#digit title="section 4.2">4.2</a><li><dimension-token>, <a href=#typedef-dimension-token title="section 4">4</a><li>ending token, <a href=#ending-token title="section 5.4.7">5.4.7</a><li>end of the range, <a href=#unicode-range-end title="section 4">4</a><li>environment encoding, <a href=#environment-encoding title="section 3.2">3.2</a><li>EOF code point, <a href=#eof-code-point title="section 4.2">4.2</a><li><EOF-token>, <a href=#typedef-eof-token title="section 5.2">5.2</a><li>escaping, <a href=#escaping title="section 2.1">2.1</a><li>function, <a href=#function title="section 5">5</a><li><function-token>, <a href=#typedef-function-token title="section 4">4</a><li>get an encoding, <a href=#get-an-encoding title="section 3.2">3.2</a><li><hash-token>, <a href=#typedef-hash-token title="section 4">4</a><li>hex digit, <a href=#hex-digit title="section 4.2">4.2</a><li>identifier, <a href=#identifier title="section 4.2">4.2</a><li><ident-token>, <a href=#typedef-ident-token title="section 4">4</a><li><include-match-token>, <a href=#typedef-include-match-token title="section 4">4</a><li><integer>, <a href=#typedef-integer title="section 6.2">6.2</a><li>letter, <a href=#letter title="section 4.2">4.2</a><li>lowercase letter, <a href=#lowercase-letter title="section 4.2">4.2</a><li>maximum allowed code point, <a href=#maximum-allowed-code-point title="section 4.2">4.2</a><li>name code point, <a href=#name-code-point title="section 4.2">4.2</a><li>name-start code point, <a href=#name-start-code-point title="section 4.2">4.2</a><li><ndashdigit-dimension>, <a href=#typedef-ndashdigit-dimension title="section 6.2">6.2</a><li><ndashdigit-ident>, <a href=#typedef-ndashdigit-ident title="section 6.2">6.2</a><li><ndash-dimension>, <a href=#typedef-ndash-dimension title="section 6.2">6.2</a><li><n-dimension>, <a href=#typedef-n-dimension title="section 6.2">6.2</a><li>newline, <a href=#newline title="section 4.2">4.2</a><li>next input code point, <a href=#next-input-code-point title="section 4.2">4.2</a><li>next input token, <a href=#next-input-token title="section 5.2">5.2</a><li>non-ASCII code point, <a href=#non-ascii-code-point title="section 4.2">4.2</a><li>non-printable code point, <a href=#non-printable-code-point title="section 4.2">4.2</a><li><number-token>, <a href=#typedef-number-token title="section 4">4</a><li>parse a comma-separated list of component values, <a href=#parse-a-comma-separated-list-of-component-values title="section 5.3.9">5.3.9</a><li>parse a component value, <a href=#parse-a-component-value title="section 5.3.7">5.3.7</a><li>parse a CSS stylesheet, <a href=#parse-a-css-stylesheet title="section 8">8</a><li>parse a declaration, <a href=#parse-a-declaration title="section 5.3.5">5.3.5</a><li>parse a list of component values, <a href=#parse-a-list-of-component-values title="section 5.3.8">5.3.8</a><li>parse a list of declarations, <a href=#parse-a-list-of-declarations title="section 5.3.6">5.3.6</a><li>parse a list of rules, <a href=#parse-a-list-of-rules title="section 5.3.3">5.3.3</a><li>parse a rule, <a href=#parse-a-rule title="section 5.3.4">5.3.4</a><li>parse a stylesheet, <a href=#parse-a-stylesheet title="section 5.3.2">5.3.2</a><li>parse error, <a href=#parse-error title="section 3">3</a><li>parse something according to a CSS grammar, <a href=#parse-something-according-to-a-css-grammar title="section 5.3.1">5.3.1</a><li><percentage-token>, <a href=#typedef-percentage-token title="section 4">4</a><li><prefix-match-token>, <a href=#typedef-prefix-match-token title="section 4">4</a><li>preserved tokens, <a href=#preserved-tokens title="section 5">5</a><li>qualified rule, <a href=#qualified-rule title="section 5">5</a><li>reconsume the current input code point, <a href=#reconsume-the-current-input-code-point title="section 4.2">4.2</a><li>reconsume the current input token, <a href=#reconsume-the-current-input-token title="section 5.2">5.2</a><li><rule-list>, <a href=#typedef-rule-list title="section 7.1">7.1</a><li><semicolon-token>, <a href=#typedef-semicolon-token title="section 4">4</a><li><signed-integer>, <a href=#typedef-signed-integer title="section 6.2">6.2</a><li><signless-integer>, <a href=#typedef-signless-integer title="section 6.2">6.2</a><li>simple block, <a href=#simple-block title="section 5">5</a><li>start of the range, <a href=#unicode-range-start title="section 4">4</a><li>starts with an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a><li>starts with a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a><li>starts with a valid escape, <a href=#check-if-two-code-points-are-a-valid-escape title="section 4.3.9">4.3.9</a><li>start with an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a><li>start with a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a><li><string-token>, <a href=#typedef-string-token title="section 4">4</a><li>style rule, <a href=#style-rule title="section 8.1">8.1</a><li><stylesheet>, <a href=#typedef-stylesheet title="section 7.1">7.1</a><li><substring-match-token>, <a href=#typedef-substring-match-token title="section 4">4</a><li><suffix-match-token>, <a href=#typedef-suffix-match-token title="section 4">4</a><li>surrogate code point, <a href=#surrogate-code-point title="section 4.2">4.2</a><li><{-token>, <a href=#tokendef-open-curly title="section 4">4</a><li><)-token>, <a href=#tokendef-close-paren title="section 4">4</a><li><}-token>, <a href=#tokendef-close-curly title="section 4">4</a><li><]-token>, <a href=#tokendef-close-square title="section 4">4</a><li><(-token>, <a href=#tokendef-open-paren title="section 4">4</a><li><[-token>, <a href=#tokendef-open-square title="section 4">4</a><li>top-level flag, <a href=#top-level-flag title="section 5.4.1">5.4.1</a><li><unicode-range-token>, <a href=#typedef-unicode-range-token title="section 4">4</a><li>uppercase letter, <a href=#uppercase-letter title="section 4.2">4.2</a><li><url-token>, <a href=#typedef-url-token title="section 4">4</a><li>whitespace, <a href=#whitespace title="section 4.2">4.2</a><li><whitespace-token>, <a href=#typedef-whitespace-token title="section 4">4</a><li>would start an identifier, <a href=#check-if-three-code-points-would-start-an-identifier title="section 4.3.10">4.3.10</a><li>would start a number, <a href=#check-if-three-code-points-would-start-a-number title="section 4.3.11">4.3.11</a></ul> 2.1921 \ No newline at end of file