Skip to content

Commit d95ff21

Browse files
committed
[css-syntax] Processor fix.
1 parent 1580630 commit d95ff21

2 files changed

Lines changed: 131 additions & 145 deletions

File tree

css-syntax/Overview.html

Lines changed: 70 additions & 84 deletions
Original file line numberDiff line numberDiff line change
@@ -252,8 +252,7 @@ <h2 class="no-num no-toc" id=contents> Table of contents</h2>
252252
</span> Consume an escaped character</a>
253253

254254
<li><a href="#set-the-unicode-ranges-range"><span class=secno>4.4.2.
255-
</span> Set the 〈unicode-range〉‘<code class=css>s
256-
range</code></a>
255+
</span> Set the 〈unicode-range〉’s range</a>
257256

258257
<li><a href="#convert-a-sci-notation-representation-in"><span
259258
class=secno>4.4.3. </span> Convert a sci-notation representation into
@@ -407,8 +406,8 @@ <h3 id=placement><span class=secno>1.1. </span> Module interactions</h3>
407406
<p> This module defines the syntax and parsing of CSS stylesheets. It
408407
supersedes the lexical scanner and grammar defined in CSS 2.1.
409408

410-
<h2 id=syntax-description><span class=secno>2. </span> Description of
411-
CSS’s Syntax</h2>
409+
<h2 id=syntax-description><span class=secno>2. </span> Description of CSS's
410+
Syntax</h2>
412411

413412
<p><em>This section is not normative.</em>
414413

@@ -1789,7 +1788,7 @@ <h4 id=double-quote-string-state><span class=secno>4.3.2. </span> <dfn
17891788
href="#check-if-two-characters-are-a-valid-esca0"><i>starts with a valid
17901789
escape</i></a>, <a href="#consume-an-escaped-character0"><i>consume an
17911790
escaped character</i></a> and append the return value to the
1792-
〈string〉<code class=css>s value. Remain in this state. </code>
1791+
〈string〉s value. Remain in this state.
17931792
<p> Otherwise, if the <a href="#next-input-character"><i>next input
17941793
character</i></a> is a <a href="#newline"><i>newline</i></a>, consume
17951794
it. Remain in this state.
@@ -1835,7 +1834,7 @@ <h4 id=single-quote-string-state><span class=secno>4.3.3. </span> <dfn
18351834
href="#check-if-two-characters-are-a-valid-esca0"><i>starts with a valid
18361835
escape</i></a>, <a href="#consume-an-escaped-character0"><i>consume an
18371836
escaped character</i></a> and append the return value to the
1838-
〈string〉<code class=css>s value. Remain in this state. </code>
1837+
〈string〉s value. Remain in this state.
18391838
<p> Otherwise, if the <a href="#next-input-character"><i>next input
18401839
character</i></a> is a <a href="#newline"><i>newline</i></a>, consume
18411840
it. Remain in this state.
@@ -1860,8 +1859,7 @@ <h4 id=hash-state><span class=secno>4.3.4. </span> <dfn id=hash-state0>Hash
18601859
<dt><a href="#name-character"><i>name character</i></a>
18611860

18621861
<dd> Append the <a href="#current-input-character"><i>current input
1863-
character</i></a> to the 〈hash〉‘<code class=css>s value. Remain in
1864-
this state. </code>
1862+
character</i></a> to the 〈hash〉’s value. Remain in this state.
18651863

18661864
<dt>U+005C REVERSE SOLIDUS (\)
18671865

@@ -1928,8 +1926,8 @@ <h4 id=at-keyword-state><span class=secno>4.3.6. </span> <dfn
19281926
<dt><a href="#name-character"><i>name character</i></a>
19291927

19301928
<dd> Append the <a href="#current-input-character"><i>current input
1931-
character</i></a> to the 〈at-keyword〉<code class=css>s value.
1932-
Remain in this state. </code>
1929+
character</i></a> to the 〈at-keyword〉s value. Remain in this
1930+
state.
19331931

19341932
<dt>U+005C REVERSE SOLIDUS (\)
19351933

@@ -1969,8 +1967,7 @@ <h4 id=ident-state><span class=secno>4.3.7. </span> <dfn
19691967
<dt><a href="#name-character"><i>name character</i></a>
19701968

19711969
<dd> Append the <a href="#current-input-character"><i>current input
1972-
character</i></a> to the 〈ident〉‘<code class=css>s value. Remain in
1973-
this state. </code>
1970+
character</i></a> to the 〈ident〉’s value. Remain in this state.
19741971

19751972
<dt>U+005C REVERSE SOLIDUS (\)
19761973

@@ -1986,10 +1983,9 @@ <h4 id=ident-state><span class=secno>4.3.7. </span> <dfn
19861983

19871984
<dt>U+0028 LEFT PARENTHESIS (()
19881985

1989-
<dd> If the 〈ident〉<code class=css>s value is an <a
1986+
<dd> If the 〈ident〉s value is an <a
19901987
href="#ascii-case-insensitive"><i>ASCII case-insensitive</i></a> match
19911988
for "url", switch to the <a href="#url-state0"><i>url state</i></a>.
1992-
</code>
19931989
<p> Otherwise, emit a 〈function〉 token with its value set to the
19941990
〈ident〉’s value. Switch to the <a href="#data-state0"><i>data
19951991
state</i></a>.
@@ -2017,15 +2013,13 @@ <h4 id=number-state><span class=secno>4.3.8. </span> <dfn
20172013
<dt>U+002D HYPHEN-MINUS (-)
20182014

20192015
<dd> Append the <a href="#current-input-character"><i>current input
2020-
character</i></a> to the 〈number〉‘<code class=css>s representation.
2021-
</code>
2016+
character</i></a> to the 〈number〉’s representation.
20222017
<p> If the <a href="#next-input-character"><i>next input
20232018
character</i></a> is U+002E FULL STOP (.), consume the <a
20242019
href="#next-input-character"><i title="next input character">next two
20252020
input characters</i></a> and append them to the 〈number〉’s
2026-
representation. Set the 〈number〉‘<code class=css>s type flag to
2027-
"number". Switch to the <a href="#number-rest-state0"><i>number-rest
2028-
state</i></a>. </code>
2021+
representation. Set the 〈number〉’s type flag to "number". Switch
2022+
to the <a href="#number-rest-state0"><i>number-rest state</i></a>.
20292023

20302024
<p> Otherwise, consume the <a href="#next-input-character"><i>next input
20312025
character</i></a> and append it to the 〈number〉’s representation.
@@ -2035,12 +2029,11 @@ <h4 id=number-state><span class=secno>4.3.8. </span> <dfn
20352029
<dt>U+002E FULL STOP (.)
20362030

20372031
<dd> Append the <a href="#current-input-character"><i>current input
2038-
character</i></a> to the 〈number〉‘<code class=css>s representation.
2039-
Consume the <a href="#next-input-character"><i>next input
2040-
character</i></a> and append it to the 〈number〉</code>’s
2041-
representation. Set the 〈number〉‘<code class=css>s type flag to
2042-
"number". Switch to the <a href="#number-rest-state0"><i>number-rest
2043-
state</i></a>. </code>
2032+
character</i></a> to the 〈number〉’s representation. Consume the <a
2033+
href="#next-input-character"><i>next input character</i></a> and append
2034+
it to the 〈number〉’s representation. Set the 〈number〉’s type
2035+
flag to "number". Switch to the <a
2036+
href="#number-rest-state0"><i>number-rest state</i></a>.
20442037

20452038
<dt><a href="#digit"><i>digit</i></a>
20462039

@@ -2065,21 +2058,20 @@ <h4 id=number-rest-state><span class=secno>4.3.9. </span> <dfn
20652058
<dt><a href="#digit"><i>digit</i></a>
20662059

20672060
<dd> Append the <a href="#current-input-character"><i>current input
2068-
character</i></a> to the 〈number〉<code class=css>s representation.
2069-
Remain in this state. </code>
2061+
character</i></a> to the 〈number〉s representation. Remain in this
2062+
state.
20702063

20712064
<dt>U+002E FULL STOP (.)
20722065

20732066
<dd> If the 〈number〉’s type flag is currently "integer" and the <a
20742067
href="#next-input-character"><i>next input character</i></a> is a <a
20752068
href="#digit"><i>digit</i></a>, consume it. Append U+002E FULL STOP (.)
2076-
followed by the <a href="#digit"><i>digit</i></a> to the
2077-
〈number〉‘<code class=css>s representation. Set the
2078-
〈number〉</code>’s type flag to "number". Remain in this state.
2079-
<p> Otherwise, set the 〈number〉‘<code class=css>s value to the
2080-
number produced by interpreting the 〈number〉</code>’s
2081-
representation as a base-10 number and emit it. Switch to the <a
2082-
href="#data-state0"><i>data state</i></a>. <a
2069+
followed by the <a href="#digit"><i>digit</i></a> to the 〈number〉’s
2070+
representation. Set the 〈number〉’s type flag to "number". Remain in
2071+
this state.
2072+
<p> Otherwise, set the 〈number〉’s value to the number produced by
2073+
interpreting the 〈number〉’s representation as a base-10 number and
2074+
emit it. Switch to the <a href="#data-state0"><i>data state</i></a>. <a
20832075
href="#reconsume-the-current-input-character"><i>Reconsume the current
20842076
input character</i></a>.
20852077

@@ -2093,8 +2085,8 @@ <h4 id=number-rest-state><span class=secno>4.3.9. </span> <dfn
20932085
characters</i></a> are U+002B PLUS SIGN (+) or U+002D HYPHEN-MINUS (-)
20942086
followed by a <a href="#digit"><i>digit</i></a>, consume them. Append
20952087
U+0065 LATIN SMALL LETTER E (e) and the consumed characters to the
2096-
〈number〉<code class=css>s representation. Switch to the <a
2097-
href="#sci-notation-state0"><i>sci-notation state</i></a>. </code>
2088+
〈number〉s representation. Switch to the <a
2089+
href="#sci-notation-state0"><i>sci-notation state</i></a>.
20982090
<p> Otherwise, switch to the <a href="#number-end-state0"><i>number-end
20992091
state</i></a>. <a
21002092
href="#reconsume-the-current-input-character"><i>Reconsume the current
@@ -2103,10 +2095,10 @@ <h4 id=number-rest-state><span class=secno>4.3.9. </span> <dfn
21032095
<dt>anything else
21042096

21052097
<dd> Set the 〈number〉’s value to the number produced by interpreting
2106-
the 〈number〉<code class=css>s representation as a base-10 number.
2107-
Switch to the <a href="#number-end-state0"><i>number-end state</i></a>.
2108-
<a href="#reconsume-the-current-input-character"><i>Reconsume the current
2109-
input character</i></a>. </code>
2098+
the 〈number〉s representation as a base-10 number. Switch to the <a
2099+
href="#number-end-state0"><i>number-end state</i></a>. <a
2100+
href="#reconsume-the-current-input-character"><i>Reconsume the current
2101+
input character</i></a>.
21102102
</dl>
21112103

21122104
<h4 id=sci-notation-state><span class=secno>4.3.10. </span> <dfn
@@ -2121,16 +2113,16 @@ <h4 id=sci-notation-state><span class=secno>4.3.10. </span> <dfn
21212113
<dt><a href="#digit"><i>digit</i></a>
21222114

21232115
<dd> Append the <a href="#current-input-character"><i>current input
2124-
character</i></a> to the 〈number〉<code class=css>s representation.
2125-
Remain in this state. </code>
2116+
character</i></a> to the 〈number〉s representation. Remain in this
2117+
state.
21262118

21272119
<dt>anything else
21282120

21292121
<dd> Set the 〈number〉’s value to the number produced by <a
21302122
href="#convert-a-sci-notation-representation-in0"><i
2131-
title=sci-not-to-value>converting the 〈number〉<code class=css>s
2132-
representation to a value</code></i></a>. Switch to the <a
2133-
href="#number-end-state0"><i>number-end state</i></a>. <a
2123+
title=sci-not-to-value>converting the 〈number〉’s representation to
2124+
a value</i></a>. Switch to the <a href="#number-end-state0"><i>number-end
2125+
state</i></a>. <a
21342126
href="#reconsume-the-current-input-character"><i>Reconsume the current
21352127
input character</i></a>.
21362128
</dl>
@@ -2156,12 +2148,11 @@ <h4 id=number-end-state><span class=secno>4.3.11. </span> <dfn
21562148
<dd> If the input stream <a
21572149
href="#check-if-three-characters-would-start-an0"><i>starts with an
21582150
identifier</i></a>, create a 〈dimension〉 with its representation set
2159-
to the 〈number〉‘<code class=css>s representation, its value set to
2160-
the 〈number〉</code>’s value, its type flag set to the
2161-
〈number〉‘<code class=css>s type flag, and a unit initially set to
2162-
the <a href="#current-input-character"><i>current input
2163-
character</i></a>. Switch to the <a href="#dimension-state0"><i>dimension
2164-
state</i></a>. </code>
2151+
to the 〈number〉’s representation, its value set to the
2152+
〈number〉’s value, its type flag set to the 〈number〉’s type
2153+
flag, and a unit initially set to the <a
2154+
href="#current-input-character"><i>current input character</i></a>.
2155+
Switch to the <a href="#dimension-state0"><i>dimension state</i></a>.
21652156
<p> Otherwise, emit the 〈number〉. Switch to the <a
21662157
href="#data-state0"><i>data state</i></a>. <a
21672158
href="#reconsume-the-current-input-character"><i>Reconsume the current
@@ -2170,23 +2161,22 @@ <h4 id=number-end-state><span class=secno>4.3.11. </span> <dfn
21702161
<dt><a href="#name-start-character"><i>name-start character</i></a>
21712162

21722163
<dd> Create a 〈dimension〉 with its representation set to the
2173-
〈number〉’s representation, its value set to the
2174-
〈number〉‘<code class=css>s value, its type flag set to the
2175-
〈number〉</code>’s type flag, and a unit initially set to the <a
2176-
href="#current-input-character"><i>current input character</i></a>.
2177-
Switch to the <a href="#dimension-state0"><i>dimension state</i></a>.
2164+
〈number〉’s representation, its value set to the 〈number〉’s
2165+
value, its type flag set to the 〈number〉’s type flag, and a unit
2166+
initially set to the <a href="#current-input-character"><i>current input
2167+
character</i></a>. Switch to the <a href="#dimension-state0"><i>dimension
2168+
state</i></a>.
21782169

21792170
<dt>U+005C REVERSE SOLIDUS (\)
21802171

21812172
<dd> If the input stream <a
21822173
href="#check-if-two-characters-are-a-valid-esca0"><i>starts with a valid
21832174
escape</i></a>, <a href="#consume-an-escaped-character0"><i>consume an
21842175
escaped character</i></a>. Create a 〈dimension〉 with its
2185-
representation set to the 〈number〉‘<code class=css>s
2186-
representation, its value set to the 〈number〉</code>’s value, its
2187-
type flag set to the 〈number〉‘<code class=css>s type flag, and a
2188-
unit initially set to the returned character. Switch to the <a
2189-
href="#dimension-state0"><i>dimension state</i></a>. </code>
2176+
representation set to the 〈number〉’s representation, its value set
2177+
to the 〈number〉’s value, its type flag set to the 〈number〉’s
2178+
type flag, and a unit initially set to the returned character. Switch to
2179+
the <a href="#dimension-state0"><i>dimension state</i></a>.
21902180
<p> Otherwise, emit the 〈number〉. Switch to the <a
21912181
href="#data-state0"><i>data state</i></a>. <a
21922182
href="#reconsume-the-current-input-character"><i>Reconsume the current
@@ -2226,7 +2216,7 @@ <h4 id=dimension-state><span class=secno>4.3.12. </span> <dfn
22262216
href="#check-if-two-characters-are-a-valid-esca0"><i>starts with a valid
22272217
escape</i></a>, <a href="#consume-an-escaped-character0"><i>consume an
22282218
escaped character</i></a>. Append the returned character to the
2229-
〈dimension〉<code class=css>s unit. </code>
2219+
〈dimension〉s unit.
22302220
<p> Otherwise, emit the 〈dimension〉. Switch to the <a
22312221
href="#data-state0"><i>data state</i></a>. <a
22322222
href="#reconsume-the-current-input-character"><i>Reconsume the current
@@ -2323,8 +2313,7 @@ <h4 id=url-double-quote-state><span class=secno>4.3.14. </span> <dfn
23232313
<dt>anything else
23242314

23252315
<dd> Append the <a href="#current-input-character"><i>current input
2326-
character</i></a> to the 〈url〉‘<code class=css>s value. Remain in
2327-
this state. </code>
2316+
character</i></a> to the 〈url〉’s value. Remain in this state.
23282317
</dl>
23292318

23302319
<h4 id=url-single-quote-state><span class=secno>4.3.15. </span> <dfn
@@ -2367,8 +2356,7 @@ <h4 id=url-single-quote-state><span class=secno>4.3.15. </span> <dfn
23672356
<dt>anything else
23682357

23692358
<dd> Append the <a href="#current-input-character"><i>current input
2370-
character</i></a> to the 〈url〉‘<code class=css>s value. Remain in
2371-
this state. </code>
2359+
character</i></a> to the 〈url〉’s value. Remain in this state.
23722360
</dl>
23732361

23742362
<h4 id=url-unquoted-state><span class=secno>4.3.16. </span> <dfn
@@ -2413,8 +2401,7 @@ <h4 id=url-unquoted-state><span class=secno>4.3.16. </span> <dfn
24132401
<dt>anything else
24142402

24152403
<dd> Append the <a href="#current-input-character"><i>current input
2416-
character</i></a> to the 〈url〉‘<code class=css>s value. Remain in
2417-
this state. </code>
2404+
character</i></a> to the 〈url〉’s value. Remain in this state.
24182405
</dl>
24192406

24202407
<h4 id=url-end-state><span class=secno>4.3.17. </span> <dfn
@@ -2511,9 +2498,9 @@ <h4 id=unicode-range-state><span class=secno>4.3.19. </span> <dfn
25112498
as many <a href="#hex-digit"><i>hex digits</i></a> as possible, but no
25122499
more than 6. Interpret the digits as a hexadecimal number. This is the <a
25132500
href="#end-of-the-range"><i>end of the range</i></a>. <a
2514-
href="#set-the-unicode-ranges-range0"><i>Set the
2515-
〈unicode-range〉‘<code class=css>s range</code></i></a>, then emit
2516-
it. Switch to the <a href="#data-state0"><i>data state</i></a>.
2501+
href="#set-the-unicode-ranges-range0"><i>Set the 〈unicode-range〉’s
2502+
range</i></a>, then emit it. Switch to the <a href="#data-state0"><i>data
2503+
state</i></a>.
25172504
<p> Otherwise, <a href="#set-the-unicode-ranges-range0"><i>set the
25182505
〈unicode-range〉’s range</i></a> and emit it. Switch to the <a
25192506
href="#data-state0"><i>data state</i></a>. <a
@@ -2523,8 +2510,8 @@ <h4 id=unicode-range-state><span class=secno>4.3.19. </span> <dfn
25232510
<dt>anything else
25242511

25252512
<dd> <a href="#set-the-unicode-ranges-range0"><i>Set the
2526-
〈unicode-range〉<code class=css>s range</code></i></a> and emit it.
2527-
Switch to the <a href="#data-state0"><i>data state</i></a>. <a
2513+
〈unicode-range〉s range</i></a> and emit it. Switch to the <a
2514+
href="#data-state0"><i>data state</i></a>. <a
25282515
href="#reconsume-the-current-input-character"><i>Reconsume the current
25292516
input character</i></a>.
25302517
</dl>
@@ -2572,9 +2559,9 @@ <h4 id=set-the-unicode-ranges-range><span class=secno>4.4.2. </span> <dfn
25722559
id=set-the-unicode-ranges-range0>Set the 〈unicode-range〉’s
25732560
range</dfn></h4>
25742561

2575-
<p> This section describes how to set a 〈unicode-range〉<code
2576-
class=css>s range so that the range it describes is within the supported
2577-
range of unicode characters. </code>
2562+
<p> This section describes how to set a 〈unicode-range〉’s range so
2563+
that the range it describes is within the supported range of unicode
2564+
characters.
25782565

25792566
<p> It assumes that the <dfn id=start-of-the-range>start of the range</dfn>
25802567
has been defined, the <dfn id=end-of-the-range>end of the range</dfn>
@@ -2586,8 +2573,7 @@ <h4 id=set-the-unicode-ranges-range><span class=secno>4.4.2. </span> <dfn
25862573

25872574
<p> If the <a href="#end-of-the-range"><i>end of the range</i></a> is
25882575
defined, and it is less than the <a href="#start-of-the-range"><i>start of
2589-
the range</i></a>, the 〈unicode-range〉‘<code class=css>s range is
2590-
empty. </code>
2576+
the range</i></a>, the 〈unicode-range〉’s range is empty.
25912577

25922578
<p> If the <a href="#end-of-the-range"><i>end of the range</i></a> is not
25932579
defined, the 〈unicode-range〉’s range is the single character whose
@@ -2598,11 +2584,11 @@ <h4 id=set-the-unicode-ranges-range><span class=secno>4.4.2. </span> <dfn
25982584
range</i></a> is greater than the <a
25992585
href="#maximum-allowed-codepoint"><i>maximum allowed codepoint</i></a>,
26002586
change it to the <a href="#maximum-allowed-codepoint"><i>maximum allowed
2601-
codepoint</i></a>. The 〈unicode-range〉<code class=css>s range is
2602-
all characters between the character whose codepoint is the <a
2587+
codepoint</i></a>. The 〈unicode-range〉s range is all characters
2588+
between the character whose codepoint is the <a
26032589
href="#start-of-the-range"><i>start of the range</i></a> and the character
26042590
whose codepoint is the <a href="#end-of-the-range"><i>end of the
2605-
range</i></a>. </code>
2591+
range</i></a>.
26062592

26072593
<h4 id=convert-a-sci-notation-representation-in><span class=secno>4.4.3.
26082594
</span> <dfn id=convert-a-sci-notation-representation-in0
@@ -2736,9 +2722,9 @@ <h3 id=changes-from-css-2.1-tokenizer><span class=secno>4.5. </span>
27362722

27372723
<p class=note> Note that the point of this spec is to match reality;
27382724
changes from CSS2.1&apos;s tokenizer are nearly always because the
2739-
tokenizer specified something that doesnt match actual browser
2740-
behavior, or left something unspecified. If some detail doesn't match
2741-
browsers, please let me know as it's almost certainly unintentional.
2725+
tokenizer specified something that doesn't match actual browser behavior,
2726+
or left something unspecified. If some detail doesn't match browsers,
2727+
please let me know as it's almost certainly unintentional.
27422728

27432729
<ol>
27442730
<li> The 〈prefix-match〉, 〈suffix-match〉, and 〈substring-match〉

0 commit comments

Comments
 (0)