[html5] r7490 - [e] (0) Use some new predefined terms for common character ranges. Fixing https: [...]
whatwg at whatwg.org
whatwg at whatwg.org
Tue Oct 30 15:15:49 PDT 2012
Author: ianh
Date: 2012-10-30 15:15:48 -0700 (Tue, 30 Oct 2012)
New Revision: 7490
Modified:
complete.html
index
source
Log:
[e] (0) Use some new predefined terms for common character ranges.
Fixing https://www.w3.org/Bugs/Public/show_bug.cgi?id=18670
Affected topics: Canvas, DOM APIs, HTML, HTML Syntax and Parsing, Microdata, Rendering, Server-Sent Events, Video Text Tracks
Modified: complete.html
===================================================================
--- complete.html 2012-10-30 00:03:15 UTC (rev 7489)
+++ complete.html 2012-10-30 22:15:48 UTC (rev 7490)
@@ -4775,13 +4775,31 @@
<p class=note>This should not be confused with the "White_Space"
value (abbreviated "WS") of the "Bidi_Class" property in the <code title="">Unicode.txt</code> data file.</p>
- <div class=impl>
+ <p>The <dfn id=uppercase-ascii-letters>uppercase ASCII letters</dfn> are the characters in the range U+0041 LATIN CAPITAL
+ LETTER A to U+005A LATIN CAPITAL LETTER Z.</p>
- <p>The <dfn id=alphanumeric-ascii-characters>alphanumeric ASCII characters</dfn> are those in the
- ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z, U+0061 LATIN
- SMALL LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn id=lowercase-ascii-letters>lowercase ASCII letters</dfn> are the characters in the range U+0061 LATIN SMALL
+ LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn id=ascii-digits>ASCII digits</dfn> are the characters in the range U+0030 DIGIT ZERO (0) to U+0039
+ DIGIT NINE (9).</p>
+
+ <p>The <dfn id=alphanumeric-ascii-characters>alphanumeric ASCII characters</dfn> are those that are either <a href=#uppercase-ascii-letters>uppercase ASCII
+ letters</a>, <a href=#lowercase-ascii-letters>lowercase ASCII letters</a>, or <a href=#ascii-digits>ASCII digits</a>.</p>
+
+ <p>The <dfn id=ascii-hex-digits>ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and U+0061
+ LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F.</p>
+
+ <p>The <dfn id=uppercase-ascii-hex-digits>uppercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F only.</p>
+
+ <p>The <dfn id=lowercase-ascii-hex-digits>lowercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO
+ (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F
+ only.</p>
+
+ <div class=impl>
+
<p>Some of the micro-parsers described below follow the pattern of
having an <var title="">input</var> variable that holds the string
being parsed, and having a <var title="">position</var> variable
@@ -4931,10 +4949,8 @@
<h5 id=signed-integers><span class=secno>2.5.4.1 </span>Signed integers</h5>
- <p>A string is a <dfn id=valid-integer>valid integer</dfn> if it consists of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), optionally prefixed with a U+002D HYPHEN-MINUS character
- (-).</p>
+ <p>A string is a <dfn id=valid-integer>valid integer</dfn> if it consists of one or more <a href=#ascii-digits>ASCII digits</a>,
+ optionally prefixed with a U+002D HYPHEN-MINUS character (-).</p>
<p>A <a href=#valid-integer>valid integer</a> without a U+002D HYPHEN-MINUS (-)
prefix represents the number that is represented in base ten by that
@@ -4986,17 +5002,16 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then return an error.</li>
<!-- Ok. At this point we know we have a number. It might have
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var title="">value</var> be that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ integer.</li>
<li><p>If <var title="">sign</var> is "positive", return <var title="">value</var>, otherwise return the result of subtracting
<var title="">value</var> from zero.</li>
@@ -5007,8 +5022,7 @@
<h5 id=non-negative-integers><span class=secno>2.5.4.2 </span>Non-negative integers</h5>
<p>A string is a <dfn id=valid-non-negative-integer>valid non-negative integer</dfn> if it
- consists of one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9).</p>
+ consists of one or more <a href=#ascii-digits>ASCII digits</a>.</p>
<p>A <a href=#valid-non-negative-integer>valid non-negative integer</a> represents the number
that is represented in base ten by that string of digits.</p>
@@ -5047,15 +5061,13 @@
<li>One or both of the following, in the given order:
- <ol><li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <ol><li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>
<ol><li>A single U+002E FULL STOP character (.).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -5069,8 +5081,7 @@
<li>Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B
PLUS SIGN character (+).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -5147,21 +5158,19 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is a U+002E FULL STOP (.), and that is not the last character in
- <var title="">input</var>, and the character after the character
- indicated by <var title="">position</var> is one of U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9), then set <var title="">value</var> to zero and jump to the step labeled
- <i>fraction</i>.</p> <!-- we have to check there's a number so that
- ".e1" fails to parse but ".0" does not -->
+ <li><p>If the character indicated by <var title="">position</var> is a U+002E FULL STOP (.), and
+ that is not the last character in <var title="">input</var>, and the character after the
+ character indicated by <var title="">position</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then set <var title="">value</var> to zero and jump to the step labeled
+ <i>fraction</i>.</p> <!-- we have to check there's a number so that ".e1" fails to parse but ".0"
+ does not -->
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then return an error.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var title="">value</var> by that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">value</var> by
+ that integer.</li>
<li>If <var title="">position</var> is past the end of <var title="">input</var>, jump to the step labeled
<i>conversion</i>.</li>
@@ -5172,10 +5181,10 @@
<ol><li><p>Advance <var title="">position</var> to the next
character.</li>
- <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
- LATIN CAPITAL LETTER E (E), then jump to the step labeled
- <i>conversion</i>.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, U+0065 LATIN SMALL LETTER E (e), or U+0045 LATIN CAPITAL LETTER E (E), then jump
+ to the step labeled <i>conversion</i>.</li>
<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
@@ -5194,9 +5203,8 @@
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then jump to the step labeled
<i>conversion</i>.</li>
- <li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), jump
- back to the step labeled <i>fraction loop</i> in these
+ <li><p>If the character indicated by <var title="">position</var> is an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, jump back to the step labeled <i>fraction loop</i> in these
substeps.</li>
</ol></li>
@@ -5234,13 +5242,12 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- then jump to the step labeled <i>conversion</i>.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then jump to the step labeled <i>conversion</i>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var title="">exponent</var> by that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">exponent</var>
+ by that integer.</li>
<li><p>Multiply <var title="">value</var> by ten raised to the
<var title="">exponent</var>th power.</li>
@@ -5267,13 +5274,10 @@
<div class=impl>
<h5 id=percentages-and-dimensions><span class=secno>2.5.4.4 </span>Percentages and lengths</h5>
<!--(percentages are not used in valid html anymore)
- <p>A string is a <dfn>valid dimension value</dfn> if it consists of
- a character in the range U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE
- (9), optionally followed by zero of more characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), optionally followed
- by a U+002E FULL STOP character (.) and one or more characters in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and
- optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
+ <p>A string is a <dfn>valid dimension value</dfn> if it consists of a character in the range
+ U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE (9), optionally followed by zero of more <span>ASCII
+ digits</span>, optionally followed by a U+002E FULL STOP character (.) and one or more <span>ASCII
+ digits</span>, and optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
<p>A <span>valid dimension value</span> represents the number that
is represented in base ten by that string of digits, optionally with
@@ -5317,9 +5321,9 @@
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var title="">value</var> be that number.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ number.</li>
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return <var title="">value</var> as a
length.</li>
@@ -5332,9 +5336,9 @@
<ol><li><p>Advance <var title="">position</var> to the next
character.</li>
- <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), then return <var title="">value</var> as a
- length.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then return <var title="">value</var> as a length.</li>
<li><p>Let <var title="">divisor</var> have the value 1.</li>
@@ -5351,7 +5355,7 @@
length.</li>
<li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), return
+ is an <a href=#ascii-digits title="ASCII digits">ASCII digit</a>, return
to the step labeled <i>fraction loop</i> in these
substeps.</li>
@@ -5443,10 +5447,8 @@
</ol></dd>
+ <dt>An <a href=#ascii-digits title="ASCII digits">ASCII digit</a></dt>
- <dt>A character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9)</dt>
-
<dd>
<p>Follow these substeps:</p>
@@ -5678,22 +5680,18 @@
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, set <var title="">unit</var> to
<i>relative</i> and jump to the last substep.</li>
- <li><p>If the character at <var title="">position</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), interpret the
- resulting sequence as an integer in base ten, and increment <var title="">value</var> by that integer.</li>
+ <li><p>If the character at <var title="">position</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>,
+ interpret the resulting sequence as an integer in base ten, and increment <var title="">value</var> by that integer.</li>
<li>
<p>If the character at <var title="">position</var> is a U+002E
FULL STOP character (.), run these substeps:</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> consisting
- of <a href=#space-character title="space character">space characters</a> and
- characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9). Let <var title="">s</var> be the resulting
- sequence.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> consisting of <a href=#space-character title="space
+ character">space characters</a> and <a href=#ascii-digits>ASCII digits</a>. Let <var title="">s</var>
+ be the resulting sequence.</li>
<li><p>Remove all <a href=#space-character title="space character">space
characters</a> in <var title="">s</var>.</li>
@@ -5752,10 +5750,8 @@
<em>28</em> otherwise. This takes into account leap years in the
Gregorian calendar. <a href=#refsGREGORIAN>[GREGORIAN]</a></p>
- <p>The <dfn id=concept-datetime-digit title=concept-datetime-digit>digits</dfn> in the date
- and time syntaxes defined in this section must be characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), used to
- express numbers in base ten.</p>
+ <p>When <a href=#ascii-digits>ASCII digits</a> are used in the date and time syntaxes defined in this section,
+ they express numbers in base ten.</p>
<div class=impl>
@@ -5780,12 +5776,11 @@
<var title="">year</var> and month <var title="">month</var> if it
consists of the following components in the given order:</p>
- <ol><li>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
+ <ol><li>Four or more <a href=#ascii-digits>ASCII digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the month <var title="">month</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the month <var title="">month</var>, in the range
1 ≤ <var title="">month</var> ≤ 12</li>
</ol><div class=impl>
@@ -5814,11 +5809,9 @@
nothing. If at any point the algorithm says that it "fails", this
means that it is aborted at that point and returns nothing.</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">year</var>.</li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</li>
@@ -5827,11 +5820,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">month</var>.</li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5857,10 +5848,9 @@
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">day</var>, in the range
- 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of days
- in the month <var title="">month</var> and year <var title="">year</var></a></li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">day</var>, in the range
+ 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of
+ days in the month <var title="">month</var> and year <var title="">year</var></a></li>
</ol><div class=impl>
@@ -5899,11 +5889,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">day</var>.</li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var>, then fail.</li>
@@ -5926,17 +5914,15 @@
<ol><li>Optionally, two U+002D HYPHEN-MINUS characters (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the month <var title="">month</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the month <var title="">month</var>, in the range
1 ≤ <var title="">month</var> ≤ 12</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">day</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">day</var>, in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of
- days</a> in the month <var title="">month</var> and any
- arbitrary leap year (e.g. 4 or 2000)</li>
+ days</a> in the month <var title="">month</var> and any arbitrary leap year (e.g. 4 or
+ 2000)</li>
</ol><p class=note>In other words, if the <var title="">month</var> is
"<code title="">02</code>", meaning February, then the day can be
@@ -5973,11 +5959,9 @@
U+002D HYPHEN-MINUS characters (-). If the collected sequence is
not exactly zero or two characters long, then fail.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">month</var>.</li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5992,11 +5976,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">day</var>.</li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var>, then fail.</li>
@@ -6017,14 +5999,12 @@
second <var title="">second</var> if it consists of the following
components in the given order:</p>
- <ol><li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">hour</var>, in the range
+ <ol><li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">hour</var>, in the range
0 ≤ <var title="">hour</var> ≤ 23</li>
<li>A U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">minute</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">minute</var>, in the range
0 ≤ <var title="">minute</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is
@@ -6032,17 +6012,15 @@
<ol><li>A U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the integer part of <var title="">second</var>, in
- the range 0 ≤ <var title="">s</var> ≤ 59</li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the integer part of <var title="">second</var>,
+ in the range 0 ≤ <var title="">s</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is not an
integer):
<ol><li>A 002E FULL STOP character (.)</li>
- <li>One, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing the
- fractional part of <var title="">second</var></li>
+ <li>One, two, or three <a href=#ascii-digits>ASCII digits</a>, representing the fractional part of <var title="">second</var></li>
</ol></li>
@@ -6079,11 +6057,9 @@
or nothing. If at any point the algorithm says that it "fails", this
means that it is aborted at that point and returns nothing.</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">hour</var>.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">hour</var>.</li>
<li>If <var title="">hour</var> is not a number in the range
0 ≤ <var title="">hour</var> ≤ 23, then
@@ -6093,11 +6069,9 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">minute</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">minute</var>.</li>
<li>If <var title="">minute</var> is not a number in the range
0 ≤ <var title="">minute</var> ≤ 59, then
@@ -6115,18 +6089,15 @@
<ol><li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</li>
- <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var>, or at the last character in <var title="">input</var>, or if the next <em>two</em> characters in
- <var title="">input</var> starting at <var title="">position</var> are not two characters both in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- fail.</li>
+ <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var>, or at
+ the last character in <var title="">input</var>, or if the next <em>two</em> characters in <var title="">input</var> starting at <var title="">position</var> are not both <a href=#ascii-digits>ASCII
+ digits</a>, then fail.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are
- either characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) or U+002E FULL STOP characters. If the collected
- sequence is three characters long, or if it is longer than three
- characters long and the third character is not a U+002E FULL STOP
- character, or if it has more than one U+002E FULL STOP character,
- then fail. Otherwise, let the collected string be <var title="">second</var> instead of its previous value.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are either <a href=#ascii-digits>ASCII digits</a>
+ or U+002E FULL STOP characters. If the collected sequence is three characters long, or if it is
+ longer than three characters long and the third character is not a U+002E FULL STOP character,
+ or if it has more than one U+002E FULL STOP character, then fail. Otherwise, let the collected
+ string be <var title="">second</var> instead of its previous value.</li>
</ol></li>
@@ -6228,15 +6199,12 @@
<!-- the -00:00 offset is disallowed because RFC3339 gives it a
special semantic -->
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the hours component <var title="">hour</var> of
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the hours component <var title="">hour</var> of
the time-zone offset, in the range 0 ≤ <var title="">hour</var> ≤ 23</li>
<li>Optionally, a U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the minutes component <var title="">minute</var>
- of the time-zone offset, in the range 0 ≤ <var title="">minute</var> ≤ 59</li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the minutes component <var title="">minute</var> of the time-zone offset, in the range 0 ≤ <var title="">minute</var> ≤ 59</li>
</ol></li>
@@ -6305,8 +6273,8 @@
<li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var title="">s</var> be the collected sequence.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. Let
+ <var title="">s</var> be the collected sequence.</li>
<li>
@@ -6321,11 +6289,9 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">timezone<sub title="">minutes</sub></var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If
+ the collected sequence is not exactly two characters long, then fail. Otherwise, interpret
+ the resulting sequence as a base-ten integer. Let that number be the <var title="">timezone<sub title="">minutes</sub></var>.</li>
</ol><p>If <var title="">s</var> is exactly four characters long,
then run these substeps:</p>
@@ -6544,16 +6510,14 @@
week-year <var title="">year</var> and week <var title="">week</var>
if it consists of the following components in the given order:</p>
- <ol><li>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
+ <ol><li>Four or more <a href=#ascii-digits>ASCII digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
<li>A U+0057 LATIN CAPITAL LETTER W character (W)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the week <var title="">week</var>, in the range
- 1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var title="">maxweek</var> is the
- <a href=#week-number-of-the-last-day>week number of the last day</a> of week-year <var title="">year</var></li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the week <var title="">week</var>, in the range
+ 1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var title="">maxweek</var> is the <a href=#week-number-of-the-last-day>week number of the last day</a> of week-year <var title="">year</var></li>
</ol><div class=impl>
@@ -6568,11 +6532,9 @@
<li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
string.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">year</var>.</li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</li>
@@ -6584,11 +6546,9 @@
<li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+0057 LATIN CAPITAL LETTER W
character (W), then fail. Otherwise, move <var title="">position</var> forwards one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">week</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">week</var>.</li>
<li><p>Let <var title="">maxweek</var> be the <a href=#week-number-of-the-last-day>week number of
the last day</a> of year <var title="">year</var>.</li>
@@ -6649,42 +6609,33 @@
corresponds to the same number of seconds as in <var title="">t</var>:</p>
<ol><!--MONTHS:
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+0059
- LATIN CAPITAL LETTER Y character, representing a number of
- years.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+0059 LATIN CAPITAL LETTER Y
+ character, representing a number of years.</p></li>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+004D
- LATIN CAPITAL LETTER M character, representing a number of
- months.</p></li>
---><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a U+0044
- LATIN CAPITAL LETTER D character, representing a number of
- days.</li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of months.</p></li>
+--><li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+0044 LATIN CAPITAL LETTER D
+ character, representing a number of days.</li>
<li>
<p>A U+0054 LATIN CAPITAL LETTER T character followed by one or
more of the following subcomponents, in the order given:</p>
- <ol><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a
- U+0048 LATIN CAPITAL LETTER H character, representing a number
- of hours.</li>
+ <ol><li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+0048 LATIN CAPITAL LETTER H
+ character, representing a number of hours.</li>
- <li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a
- U+004D LATIN CAPITAL LETTER M character, representing a number
- of minutes.</li>
+ <li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of minutes.</li>
<li>
<p>The following components:</p>
- <ol><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- number of seconds.</li>
+ <ol><li><p>One or more <a href=#ascii-digits>ASCII digits</a>, representing a number of seconds.</li>
- <li><p>Optionally, a U+002E FULL STOP character (.) followed
- by one, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- fraction of a second.</li>
+ <li><p>Optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <a href=#ascii-digits>ASCII digits</a>, representing a fraction of a second.</li>
<li><p>A U+0053 LATIN CAPITAL LETTER S character.</li>
@@ -6711,15 +6662,13 @@
<ol><li><p>Zero or more <a href=#space-character title="space character">space
characters</a>.</li>
- <li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- number of time units, scaled by the <a href=#duration-time-component-scale>duration time component
- scale</a> specified (see below) to represent a number of
+ <li><p>One or more <a href=#ascii-digits>ASCII digits</a>, representing a number of time units, scaled by
+ the <a href=#duration-time-component-scale>duration time component scale</a> specified (see below) to represent a number of
seconds.</li>
- <li><p>If the <a href=#duration-time-component-scale>duration time component scale</a>
- specified is 1 (i.e. the units are seconds), then, optionally, a
- U+002E FULL STOP character (.) followed by one, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- fraction of a second.</li>
+ <li><p>If the <a href=#duration-time-component-scale>duration time component scale</a> specified is 1 (i.e. the units are
+ seconds), then, optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <a href=#ascii-digits>ASCII digits</a>, representing a fraction of a second.</li>
<li><p>Zero or more <a href=#space-character title="space character">space
characters</a>.</li>
@@ -6841,12 +6790,9 @@
not advance <var title="">position</var>. That is taken care of
below.)</p>
- <p>Otherwise, if <var title="">next character</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), then <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- interpret the resulting sequence as a base-ten integer, and let
- <var title="">N</var> be that number.</p>
+ <p>Otherwise, if <var title="">next character</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII
+ digits</a>, interpret the resulting sequence as a base-ten integer, and let <var title="">N</var> be that number.</p>
<p>Otherwise <var title="">next character</var> is not part of a
number; fail.</p>
@@ -6864,8 +6810,7 @@
<p>If <var title="">next character</var> is a U+002E FULL STOP
character (.), then run these substeps:</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var title="">s</var> be the resulting sequence.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. Let <var title="">s</var> be the resulting sequence.</li>
<li><p>If <var title="">s</var> is the empty string, then
fail.</li>
@@ -7085,15 +7030,11 @@
range 0..255, representing the red, green, and blue components of
the color respectively, in the sRGB color space. <a href=#refsSRGB>[SRGB]</a></p>
- <p>A string is a <dfn id=valid-simple-color>valid simple color</dfn> if it is exactly
- seven characters long, and the first character is a U+0023 NUMBER
- SIGN character (#), and the remaining six characters are all in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, with the first two
- digits representing the red component, the middle two digits
- representing the green component, and the last two digits
- representing the blue component, in hexadecimal.</p>
+ <p>A string is a <dfn id=valid-simple-color>valid simple color</dfn> if it is exactly seven characters long, and the
+ first character is a U+0023 NUMBER SIGN character (#), and the remaining six characters are all
+ <a href=#ascii-hex-digits>ASCII hex digits</a>, with the first two digits representing the red component, the
+ middle two digits representing the green component, and the last two digits representing the blue
+ component, in hexadecimal.</p>
<p>A string is a <dfn id=valid-lowercase-simple-color>valid lowercase simple color</dfn> if it is a
<a href=#valid-simple-color>valid simple color</a> and doesn't use any characters in
@@ -7117,11 +7058,8 @@
<li><p>If the first character in <var title="">input</var> is not a
U+0023 NUMBER SIGN character (#), then return an error.</li>
- <li><p>If the last six characters of <var title="">input</var> are
- not all in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER
- F, U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, then
- return an error.</li>
+ <li><p>If the last six characters of <var title="">input</var> are not all <a href=#ascii-hex-digits>ASCII hex
+ digits</a>, then return an error.</li>
<li><p>Let <var title="">result</var> be a <a href=#simple-color>simple
color</a>.</p>
@@ -7144,12 +7082,9 @@
<ol><li><p>Let <var title="">result</var> be a string consisting of a
single U+0023 NUMBER SIGN character (#).</li>
- <li><p>Convert the red, green, and blue components in turn to
- two-digit hexadecimal numbers using the digits U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A
- to U+0066 LATIN SMALL LETTER F, zero-padding if necessary, and
- append these numbers to <var title="">result</var>, in the order
- red, green, blue.</p>
+ <li><p>Convert the red, green, and blue components in turn to two-digit hexadecimal numbers using
+ <a href=#lowercase-ascii-hex-digits>lowercase ASCII hex digits</a>, zero-padding if necessary, and append these numbers to
+ <var title="">result</var>, in the order red, green, blue.</p>
<li><p>Return <var title="">result</var>, which will be a
<a href=#valid-lowercase-simple-color>valid lowercase simple color</a>.</li>
@@ -7190,12 +7125,8 @@
<li>
- <p>If <var title="">input</var> is four characters long, and the
- first character in <var title="">input</var> is a U+0023 NUMBER
- SIGN character (#), and the last three characters of <var title="">input</var> are all in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046
- LATIN CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F, then run these substeps:</p>
+ <p>If <var title="">input</var> is four characters long, and the first character in <var title="">input</var> is a U+0023 NUMBER SIGN character (#), and the last three characters of
+ <var title="">input</var> are all <a href=#ascii-hex-digits>ASCII hex digits</a>, then run these substeps:</p>
<ol><li><p>Let <var title="">result</var> be a <a href=#simple-color>simple
color</a>.</p>
@@ -7228,11 +7159,8 @@
<li><p>If the first character in <var title="">input</var> is a
U+0023 NUMBER SIGN character (#), remove it.</li>
- <li><p>Replace any character in <var title="">input</var> that is
- not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and
- U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F with the
- character U+0030 DIGIT ZERO (0).</li>
+ <li><p>Replace any character in <var title="">input</var> that is not an <a href=#ascii-hex-digits title="ASCII hex
+ digits">ASCII hex digit</a> with the character U+0030 DIGIT ZERO (0).</li>
<li><p>While <var title="">input</var>'s length is zero or not a
multiple of three, append a U+0030 DIGIT ZERO (0) character to <var title="">input</var>.</li>
@@ -8224,7 +8152,7 @@
<td><a href=#concept-uda-input title=concept-uda-input>input</a> is an <a href=#authority-based-url>authority-based URL</a>, and contained a <a href=#url-port title=url-port><port></a> component (possibly an empty one)
<td>—
<td>—
- <td>Remove all characters in the new value from the first that is not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), if any.
+ <td>Remove all characters in the new value from the first that is not an <a href=#ascii-digits title="ASCII digits">ASCII digit</a>, if any.
Remove any leading U+0030 DIGIT ZERO characters (0) in the new value.
If the resulting string is empty, set it to a single U+0030 DIGIT ZERO character (0).
<td><a href=#concept-uda-input title=concept-uda-input>input</a> is an <a href=#authority-based-url>authority-based URL</a>,
@@ -10432,13 +10360,10 @@
<li> The seconds component of the time. </li>
- </ol><p>All the numeric components above, other than the year, must be
- given as two digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary. The year must be given as the shortest possible string of
- four or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary.</p>
+ </ol><p>All the numeric components above, other than the year, must be given as two <a href=#ascii-digits>ASCII
+ digits</a> representing the number in base ten, zero-padded if necessary. The year must be
+ given as the shortest possible string of four or more <a href=#ascii-digits>ASCII digits</a> representing the
+ number in base ten, zero-padded if necessary.</p>
<p>The <code><a href=#document>Document</a></code>'s source file's last modification date
and time must be derived from relevant features of the networking
@@ -12113,8 +12038,7 @@
<p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no
namespace whose name starts with the string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one
character after the hyphen, is <a href=#xml-compatible>XML-compatible</a>, and
- contains no characters in the range U+0041 to U+005A (LATIN CAPITAL
- LETTER A to LATIN CAPITAL LETTER Z).</p>
+ contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
<p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in
<a href=#html-documents>HTML documents</a> get ASCII-lowercased automatically, so
@@ -12182,19 +12106,14 @@
<li>For each content attribute on the element whose first five
characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any characters in
- the range U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN
- CAPITAL LETTER Z), add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
+ remaining characters (if any) do not include any <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
first five characters removed and whose value is the attribute's
value.</li>
- <li>For each name <var title="">list</var>, for each U+002D
- HYPHEN-MINUS character (-) in the name that is followed by a
- character in the range U+0061 to U+007A (U+0061 LATIN SMALL
- LETTER A to U+007A LATIN SMALL LETTER Z), remove the U+002D
- HYPHEN-MINUS character (-) and replace the character that
- followed it by the same character <a href=#converted-to-ascii-uppercase>converted to ASCII
- uppercase</a>.</li>
+ <li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
+ name that is followed by a <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>,
+ remove the U+002D HYPHEN-MINUS character (-) and replace the character that followed it by the
+ same character <a href=#converted-to-ascii-uppercase>converted to ASCII uppercase</a>.</li>
<li>Return <var title="">list</var>.</li>
@@ -12209,14 +12128,11 @@
<li>Let <var title="">value</var> be the value passed to the
algorithm.</li>
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>, throw a
+ <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these steps.</li>
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
@@ -12237,14 +12153,11 @@
<ol><li>Let <var title="">name</var> be the name passed to the
algorithm.</li>
<!--(can't happen while the DOMStringMap deleter has no name)
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code>SyntaxError</code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
+ <code>SyntaxError</code> exception and abort these steps.</li>
-->
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
@@ -15677,8 +15590,7 @@
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> that are not<!--neither--> <a href=#space-character title="space character">space characters</a><!-- nor a U+002C
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are not<!--neither--> <a href=#space-character title="space character">space characters</a><!-- nor a U+002C
COMMA character (,)-->.</li>
<li><p>Set the <a href=#pragma-set-default-language>pragma-set default language</a> to the
@@ -15768,18 +15680,13 @@
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), and parse the resulting string using
- the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a>. If the
- sequence of characters collected is the empty string, then no
- number will have been parsed; abort these steps. Otherwise, let
- <var title="">time</var> be the parsed number.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ parse the resulting string using the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a>. If
+ the sequence of characters collected is the empty string, then no number will have been parsed;
+ abort these steps. Otherwise, let <var title="">time</var> be the parsed number.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) and U+002E FULL STOP (.). Ignore any collected
- characters.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a> and
+ U+002E FULL STOP characters (.). Ignore any collected characters.</li>
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
@@ -21250,10 +21157,9 @@
Otherwise, let <var title="">x</var> and <var title="">y</var> be zero.</li>
<li>Let the <dfn id=hyperlink-suffix><var>hyperlink suffix</var></dfn> be a U+003F QUESTION MARK character, the
- value of <var title="">x</var> expressed as a base-ten integer using ASCII digits, a U+002C
- COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten integer
- using ASCII digits. ASCII digits are the characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ value of <var title="">x</var> expressed as a base-ten integer using <a href=#ascii-digits>ASCII digits</a>,
+ a U+002C COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten
+ integer using <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -22230,7 +22136,7 @@
</dd>
- <dt>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
+ <dt>Four or more <a href=#ascii-digits>ASCII digits</a>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
<dd>
@@ -22298,12 +22204,9 @@
returns a <a href=#concept-week title=concept-week>week</a>, that is the
machine-readable equivalent; abort these steps.</li>
- <li><p>If the element's <a href=#datetime-value>datetime value</a> consists of
- only characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), at least one of which is not U+0030 DIGIT ZERO (0),
- then the machine-readable equivalent is the base-ten
- interpretation of those digits, representing a year; abort these
- steps.</li>
+ <li><p>If the element's <a href=#datetime-value>datetime value</a> consists of only <a href=#ascii-digits>ASCII digits</a>,
+ at least one of which is not U+0030 DIGIT ZERO (0), then the machine-readable equivalent is the
+ base-ten interpretation of those digits, representing a year; abort these steps.</li>
<li><p>If <a href=#parse-a-duration-string title="parse a duration string">parsing a duration
string</a> from the element's <a href=#datetime-value>datetime value</a>
@@ -27310,8 +27213,7 @@
<p>Any namespace-less attribute other than <code title=attr-embed-name><a href=#attr-embed-name>name</a></code>, <code title=attr-embed-align><a href=#attr-embed-align>align</a></code>, <code title=attr-embed-hspace><a href=#attr-embed-hspace>hspace</a></code>, and <code title=attr-embed-vspace><a href=#attr-embed-vspace>vspace</a></code> <!-- when editing, see also
note below --> may be specified on the <code><a href=#the-embed-element>embed</a></code> element,
so long as its name is <a href=#xml-compatible>XML-compatible</a> and contains no
- characters in the range U+0041 to U+005A (LATIN CAPITAL LETTER A to
- LATIN CAPITAL LETTER Z). These attributes are then passed as
+ <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>. These attributes are then passed as
parameters to the <a href=#plugin>plugin</a>.</p>
<p class=note>All attributes in <a href=#html-documents>HTML documents</a> get
@@ -34202,9 +34104,7 @@
track dispatch type</a> must be set to the concatenation of
the <var title="">stream type</var> byte and the zero or more
<var title="">descriptor bytes</var> bytes, expressed in
- hexadecimal using characters in the ranges U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to
- U+0046 LATIN CAPITAL LETTER F.
+ hexadecimal using <a href=#uppercase-ascii-hex-digits>uppercase ASCII hex digits</a>.
<a href=#refsMPEG2>[MPEG2]</a>
</dd>
@@ -39053,31 +38953,24 @@
therefore only useful for assigning to other attributes or for
comparison to other gradients or patterns.)</p>
- <p>The <dfn id=serialization-of-a-color>serialization of a color</dfn> for a color value is a
- string, computed as follows: if it has alpha equal to 1.0, then the
- string is a lowercase six-digit hex value, prefixed with a "#"
- character (U+0023 NUMBER SIGN), with the first two digits
- representing the red component, the next two digits representing the
- green component, and the last two digits representing the blue
- component, the digits being in the range 0-9 a-f (U+0030 to U+0039
- and U+0061 to U+0066). Otherwise, the color value has alpha less
- than 1.0, and the string is the color value in the CSS <code title="">rgba()</code> functional-notation format: the literal
- string <code title="">rgba</code> (U+0072 U+0067 U+0062 U+0061)
- followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the
- range 0-255 representing the red component (using digits 0-9, U+0030
- to U+0039, in the shortest form possible), a literal U+002C COMMA
- and U+0020 SPACE, an integer for the green component, a comma and a
- space, an integer for the blue component, another comma and space, a
- U+0030 DIGIT ZERO, if the alpha value is greater than zero then a
- U+002E FULL STOP (representing the decimal point), if the alpha
- value is greater than zero then one or more digits in the range 0-9
- (U+0030 to U+0039) representing the fractional part of the alpha<!--
- value with no trailing zeros (implied by next sentence)-->, and
- finally a U+0029 RIGHT PARENTHESIS. User agents must express the
- fractional part of the alpha value, if any, with the level of
- precision necessary for the alpha value, when reparsed, to be
- interpreted as the same alpha value.</p> <!-- if people complain
- this is unreadable, expand it into a <dl> with two nested <ol>s -->
+ <p>The <dfn id=serialization-of-a-color>serialization of a color</dfn> for a color value is a string, computed as follows: if
+ it has alpha equal to 1.0, then the string is a lowercase six-digit hex value, prefixed with a "#"
+ character (U+0023 NUMBER SIGN), with the first two digits representing the red component, the next
+ two digits representing the green component, and the last two digits representing the blue
+ component, the digits being <a href=#lowercase-ascii-hex-digits>lowercase ASCII hex digits</a>. Otherwise, the color value
+ has alpha less than 1.0, and the string is the color value in the CSS <code title="">rgba()</code>
+ functional-notation format: the literal string <code title="">rgba</code> (U+0072 U+0067 U+0062
+ U+0061) followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the range 0-255 representing
+ the red component (using <a href=#ascii-digits>ASCII digits</a> in the shortest form possible), a literal
+ U+002C COMMA and U+0020 SPACE, an integer for the green component, a comma and a space, an integer
+ for the blue component, another comma and space, a U+0030 DIGIT ZERO, if the alpha value is
+ greater than zero then a U+002E FULL STOP (representing the decimal point), if the alpha value is
+ greater than zero then one or more <a href=#ascii-digits>ASCII digits</a> representing the fractional part of
+ the alpha<!-- value with no trailing zeros (implied by next sentence)-->, and finally a U+0029
+ RIGHT PARENTHESIS. User agents must express the fractional part of the alpha value, if any, with
+ the level of precision necessary for the alpha value, when reparsed, to be interpreted as the same
+ alpha value.</p> <!-- if people complain this is unreadable, expand it into a <dl> with two nested
+ <ol>s -->
<p>When the context is created, the <code title=dom-context-2d-fillStyle><a href=#dom-context-2d-fillstyle>fillStyle</a></code> and <code title=dom-context-2d-strokeStyle><a href=#dom-context-2d-strokestyle>strokeStyle</a></code> attributes
must initially have the string value <code title="">#000000</code>.</p>
@@ -57922,17 +57815,10 @@
<p>If there isn't one, do nothing. Otherwise, proceed as
follows:</p>
- <p>If <var title="">submitter</var> is an <code><a href=#the-input-element>input</a></code>
- element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
- attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image
- Button</a> state, then let <var title="">result</var> be the
- string formed by concatenating the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
- coordinate</a>'s <var title="">x</var>-component, expressed
- as a base-ten number using the characters U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) to represent the digits 0 to 9, a
+ <p>If <var title="">submitter</var> is an <code><a href=#the-input-element>input</a></code> element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then let <var title="">result</var>
+ be the string formed by concatenating the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</a>'s <var title="">x</var>-component, expressed as a base-ten number using <a href=#ascii-digits>ASCII digits</a>, a
U+002C COMMA character (,), and the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
- coordinate</a>'s <var title="">y</var>-component, expressed
- in the same way as the <var title="">x</var>-component.</p>
+ coordinate</a>'s <var title="">y</var>-component, expressed in the same way as the <var title="">x</var>-component.</p>
<p>Otherwise, if <var title="">submitter</var> has a <a href=#concept-fe-value title=concept-fe-value>value</a>, then let <var title="">result</var> be that <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
@@ -58224,8 +58110,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <a href=#ascii-digits>ASCII digits</a> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -58264,12 +58149,9 @@
<dd>
- <ol><li><p>Let <var title="">s</var> be a string consisting of a
- U+0025 PERCENT SIGN character (%) followed by two characters
- in the ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL
- LETTER F representing the hexadecimal value of the byte in
- question (zero-padded if necessary).</li>
+ <ol><li><p>Let <var title="">s</var> be a string consisting of a U+0025 PERCENT SIGN character
+ (%) followed by <a href=#uppercase-ascii-hex-digits>uppercase ASCII hex digits</a> representing the hexadecimal value
+ of the byte in question (zero-padded if necessary).</li>
<li><p>Encode the string <var title="">s</var> as US-ASCII,
so that it is now a byte string.</p>
@@ -58369,10 +58251,7 @@
escape. This replacement most not be recursive.</p>
<p>An escape is a U+0025 PERCENT SIGN character (%) followed by
- two characters in the ranges U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN
- CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F.</p>
+ two <a href=#ascii-hex-digits>ASCII hex digits</a>.</p>
<p>The character represented by an escape is the Unicode
character whose code point is equal to the value of the two
@@ -58466,8 +58345,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <a href=#ascii-digits>ASCII digits</a> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -61606,8 +61484,7 @@
the "<code title="">x</code>" or "<code title="">X</code>".</li>
<li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
- character or contain any characters other than characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+ character or contain any characters other than <a href=#ascii-digits>ASCII digits</a>, then this
keyword doesn't represent anything. Abort these steps for that
keyword.</li>
@@ -65160,24 +65037,20 @@
<ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol><p>The optional components marked with an asterisk (*) should be
included, and should have six digits each.</p>
@@ -66270,24 +66143,20 @@
<ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol><p>The optional components marked with an asterisk (*) should be
included, and should have six digits each.</p> <!-- iCalendar
@@ -76036,9 +75905,7 @@
<ul class=brief><li>U+002B PLUS SIGN (+)
<li>U+002F SOLIDUS (/)
- <li>U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- <li>U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z
- <li>U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z
+ <li><a href=#alphanumeric-ascii-characters>Alphanumeric ASCII characters</a>
</ul></li>
<li><p>Let <var title="">output</var> be a string, initially
@@ -77229,12 +77096,10 @@
schemes don't contain colons.</p>
<p>If the <code title=dom-navigator-registerProtocolHandler><a href=#dom-navigator-registerprotocolhandler>registerProtocolHandler()</a></code>
- method is invoked with a scheme that is neither a
- <a href=#whitelisted-scheme>whitelisted scheme</a> nor a scheme whose value starts
- with the substring "<code title="">web+</code>" and otherwise
- contains only characters in the range U+0061 LATIN SMALL LETTER A
- to U+007A LATIN SMALL LETTER Z, the user agent must throw a
- <code><a href=#securityerror>SecurityError</a></code> exception.</p>
+ method is invoked with a scheme that is neither a <a href=#whitelisted-scheme>whitelisted scheme</a> nor a scheme
+ whose value starts with the substring "<code title="">web+</code>" and otherwise contains only
+ <span>lowercase ASCII characters</span>, the user agent must throw a <code><a href=#securityerror>SecurityError</a></code>
+ exception.</p>
<p>The following schemes are the <dfn id=whitelisted-scheme title="whitelisted
scheme">whitelisted schemes</dfn>:</p>
@@ -84582,8 +84447,7 @@
<dt>If the field name is "retry"</dt>
- <dd><p>If the field value consists of only characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then interpret the
+ <dd><p>If the field value consists of only <a href=#ascii-digits>ASCII digits</a>, then interpret the
field value as an integer in base ten, and set the event stream's
<a href=#concept-event-stream-reconnection-time title=concept-event-stream-reconnection-time>reconnection
time</a> to that integer. Otherwise, ignore the field.</dd>
@@ -87609,12 +87473,10 @@
</div>
- <p>Many strings in the HTML syntax (e.g. the names of elements and
- their attributes) are case-insensitive, but only for characters in
- the ranges U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN CAPITAL
- LETTER Z) and U+0061 to U+007A (LATIN SMALL LETTER A to LATIN SMALL
- LETTER Z). For convenience, in this section this is just referred to
- as "case-insensitive".</p>
+ <p>Many strings in the HTML syntax (e.g. the names of elements and their attributes) are
+ case-insensitive, but only for <a href=#uppercase-ascii-letters>uppercase ASCII letters</a> and <a href=#lowercase-ascii-letters>lowercase ASCII
+ letters</a>. For convenience, in this section this is just referred to as
+ "case-insensitive".</p>
<h4 id=the-doctype><span class=secno>12.1.1 </span>The DOCTYPE</h4>
@@ -87812,15 +87674,11 @@
the content model and those described in this paragraph. Those
restrictions are described below.</p>
- <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>,
- giving the element's name. HTML elements all have names that only
- use characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER
- Z. In the HTML syntax, tag names, even those for <a href=#foreign-elements>foreign
- elements</a>, may be written with any mix of lower- and uppercase
- letters that, when converted to all-lowercase, matches the element's
- tag name; tag names are case-insensitive.</p>
+ <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>, giving the element's name. HTML
+ elements all have names that only use <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>. In the HTML
+ syntax, tag names, even those for <a href=#foreign-elements>foreign elements</a>, may be written with any mix of
+ lower- and uppercase letters that, when converted to all-lowercase, matches the element's tag
+ name; tag names are case-insensitive.</p>
<h5 id=start-tags><span class=secno>12.1.2.1 </span>Start tags</h5>
@@ -88335,27 +88193,20 @@
<dt>Decimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), followed by one or more digits in the range U+0030
- DIGIT ZERO (0) to U+0039 DIGIT NINE (9), representing a base-ten
- integer that corresponds to a Unicode code point that is allowed
- according to the definition below. The digits must then be followed
- by a U+003B SEMICOLON character (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), followed by one or more
+ <a href=#ascii-digits>ASCII digits</a>, representing a base-ten integer that corresponds to a Unicode code
+ point that is allowed according to the definition below. The digits must then be followed by a
+ U+003B SEMICOLON character (;).</dd>
<dt>Hexadecimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), which must be followed by either a U+0078 LATIN
- SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
- character (X), which must then be followed by one or more digits in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061
- LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041
- LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F,
- representing a base-sixteen integer that corresponds to a Unicode
- code point that is allowed according to the definition below. The
- digits must then be followed by a U+003B SEMICOLON character
- (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), which must be followed
+ by either a U+0078 LATIN SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
+ character (X), which must then be followed by one or more <a href=#ascii-hex-digits>ASCII hex digits</a>,
+ representing a base-sixteen integer that corresponds to a Unicode code point that is allowed
+ according to the definition below. The digits must then be followed by a U+003B SEMICOLON
+ character (;).</dd>
</dl><p>The numeric character reference forms described above are allowed
to reference any Unicode code point other than U+0000, U+000D,
@@ -88363,14 +88214,10 @@
control characters other than <a href=#space-character title="space character">space
characters</a>.</p>
- <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous
- ampersand</dfn> is a U+0026 AMPERSAND character (&) that is
- followed by one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9), U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, and U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, followed by a U+003B SEMICOLON character
- (;), where these characters do not match any of the names given in
- the <a href=#named-character-references>named character references</a> section.</p>
+ <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</dfn> is a U+0026 AMPERSAND
+ character (&) that is followed by one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>,
+ followed by a U+003B SEMICOLON character (;), where these characters do not match any of the names
+ given in the <a href=#named-character-references>named character references</a> section.</p>
<h4 id=cdata-sections><span class=secno>12.1.5 </span>CDATA sections</h4>
@@ -90063,14 +89910,14 @@
<dt>U+002F SOLIDUS (/)</dt>
<dd>Switch to the <a href=#end-tag-open-state>end tag open state</a>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new start tag token, set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add 0x0020 to the
character's code point), then switch to the <a href=#tag-name-state>tag name
state</a>. (Don't emit the token yet; further details will
be filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new start tag token, set its tag name to the
<a href=#current-input-character>current input character</a>, then switch to the <a href=#tag-name-state>tag
name state</a>. (Don't emit the token yet; further details will
@@ -90089,14 +89936,14 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, set its tag name to the lowercase
version of the <a href=#current-input-character>current input character</a> (add 0x0020 to
the character's code point), then switch to the <a href=#tag-name-state>tag name
state</a>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, set its tag name to the
<a href=#current-input-character>current input character</a>, then switch to the <a href=#tag-name-state>tag
name state</a>. (Don't emit the token yet; further details will
@@ -90133,7 +89980,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name.</dd>
@@ -90169,7 +90016,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90178,7 +90025,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90218,13 +90065,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90255,7 +90102,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90264,7 +90111,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90304,13 +90151,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90345,7 +90192,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90354,7 +90201,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90394,13 +90241,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90521,7 +90368,7 @@
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
to the <a href=#script-data-escaped-end-tag-open-state>script data escaped end tag open state</a>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
the lowercase version of the <a href=#current-input-character>current input character</a>
(add 0x0020 to the character's code point) to the <var><a href=#temporary-buffer>temporary
@@ -90529,7 +90376,7 @@
state</a>. Emit a U+003C LESS-THAN SIGN character token and the
<a href=#current-input-character>current input character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
the <a href=#current-input-character>current input character</a> to the <var><a href=#temporary-buffer>temporary
buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
@@ -90545,7 +90392,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90554,7 +90401,7 @@
state</a>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90594,13 +90441,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90628,13 +90475,13 @@
data escaped state</a>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
@@ -90754,13 +90601,13 @@
double escaped state</a>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
@@ -90787,7 +90634,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point), and its
@@ -90838,7 +90685,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current attribute's name.</dd>
@@ -90891,7 +90738,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <a href=#current-input-character>current
input character</a> (add 0x0020 to the character's code point),
@@ -91350,7 +91197,7 @@
<dt>U+0020 SPACE</dt>
<dd>Ignore the character.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new DOCTYPE token. Set the token's name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add 0x0020 to the
character's code point). Switch to the <a href=#doctype-name-state>DOCTYPE name
@@ -91392,7 +91239,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current DOCTYPE
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current DOCTYPE token's name.</dd>
@@ -91869,14 +91716,9 @@
<p>Consume the X.</p>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F (in other
- words, 0-9, A-F, a-f).</p>
+ <p>Follow the steps below, but using <a href=#ascii-hex-digits>ASCII hex digits</a>.</p>
- <p>When it comes to interpreting the number, interpret it as a
- hexadecimal number.</p>
+ <p>When it comes to interpreting the number, interpret it as a hexadecimal number.</p>
</dd>
@@ -91885,16 +91727,15 @@
<dd>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</p>
+ <p>Follow the steps below, but using <a href=#ascii-digits>ASCII digits</a>.</p>
<p>When it comes to interpreting the number, interpret it as a
decimal number.</p>
</dd>
- </dl><p>Consume as many characters as match the range of characters
- given above.</p>
+ </dl><p>Consume as many characters as match the range of characters given above (<a href=#ascii-hex-digits>ASCII hex
+ digits</a> or <a href=#ascii-digits>ASCII digits</a>).</p>
<p>If no characters match the range, then don't consume any
characters (and unconsume the U+0023 NUMBER SIGN character and, if
@@ -91984,25 +91825,18 @@
column of the <a href=#named-character-references>named character references</a> table (in a
<a href=#case-sensitive>case-sensitive</a> manner).</p>
- <p>If no match can be made, then no characters are consumed, and
- nothing is returned. In this case, if the characters after the
- U+0026 AMPERSAND character (&) consist of a sequence of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL
- LETTER Z, followed by a U+003B SEMICOLON character (;), then this
- is a <a href=#parse-error>parse error</a>.</p>
+ <p>If no match can be made, then no characters are consumed, and nothing is returned. In this
+ case, if the characters after the U+0026 AMPERSAND character (&) consist of a sequence of
+ one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a> followed by a U+003B SEMICOLON character
+ (;), then this is a <a href=#parse-error>parse error</a>.</p>
- <p>If the character reference is being consumed <a href=#character-reference-in-attribute-value-state title="character reference in attribute value state">as part of an
- attribute</a>, and the last character matched is not a U+003B
- SEMICOLON character (;), and the next character is either a U+003D
- EQUALS SIGN character (=) or in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, or U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, then, for historical reasons, all the
- characters that were matched after the U+0026 AMPERSAND character
- (&) must be unconsumed, and nothing is returned.</p>
- <!-- "=" added because of http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
+ <p>If the character reference is being consumed <a href=#character-reference-in-attribute-value-state title="character reference in attribute
+ value state">as part of an attribute</a>, and the last character matched is not a U+003B
+ SEMICOLON character (;), and the next character is either a U+003D EQUALS SIGN character (=) or
+ an <a href=#alphanumeric-ascii-characters title="alphanumeric ASCII characters">alphanumeric ASCII character</a>, then, for
+ historical reasons, all the characters that were matched after the U+0026 AMPERSAND character
+ (&) must be unconsumed, and nothing is returned.</p> <!-- "=" added because of
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
<p>Otherwise, a character reference is parsed. If the last
character matched is not a U+003B SEMICOLON character (;), there
@@ -97614,8 +97448,7 @@
character. Otherwise, let <var title="">mode</var> be
<i>absolute</i>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let the
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and let the
resulting sequence be <var title="">digits</var>.</li>
<li><p>If <var title="">digits</var> is the empty string, there is
Modified: index
===================================================================
--- index 2012-10-30 00:03:15 UTC (rev 7489)
+++ index 2012-10-30 22:15:48 UTC (rev 7490)
@@ -4775,13 +4775,31 @@
<p class=note>This should not be confused with the "White_Space"
value (abbreviated "WS") of the "Bidi_Class" property in the <code title="">Unicode.txt</code> data file.</p>
- <div class=impl>
+ <p>The <dfn id=uppercase-ascii-letters>uppercase ASCII letters</dfn> are the characters in the range U+0041 LATIN CAPITAL
+ LETTER A to U+005A LATIN CAPITAL LETTER Z.</p>
- <p>The <dfn id=alphanumeric-ascii-characters>alphanumeric ASCII characters</dfn> are those in the
- ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z, U+0061 LATIN
- SMALL LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn id=lowercase-ascii-letters>lowercase ASCII letters</dfn> are the characters in the range U+0061 LATIN SMALL
+ LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn id=ascii-digits>ASCII digits</dfn> are the characters in the range U+0030 DIGIT ZERO (0) to U+0039
+ DIGIT NINE (9).</p>
+
+ <p>The <dfn id=alphanumeric-ascii-characters>alphanumeric ASCII characters</dfn> are those that are either <a href=#uppercase-ascii-letters>uppercase ASCII
+ letters</a>, <a href=#lowercase-ascii-letters>lowercase ASCII letters</a>, or <a href=#ascii-digits>ASCII digits</a>.</p>
+
+ <p>The <dfn id=ascii-hex-digits>ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and U+0061
+ LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F.</p>
+
+ <p>The <dfn id=uppercase-ascii-hex-digits>uppercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F only.</p>
+
+ <p>The <dfn id=lowercase-ascii-hex-digits>lowercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO
+ (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F
+ only.</p>
+
+ <div class=impl>
+
<p>Some of the micro-parsers described below follow the pattern of
having an <var title="">input</var> variable that holds the string
being parsed, and having a <var title="">position</var> variable
@@ -4931,10 +4949,8 @@
<h5 id=signed-integers><span class=secno>2.5.4.1 </span>Signed integers</h5>
- <p>A string is a <dfn id=valid-integer>valid integer</dfn> if it consists of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), optionally prefixed with a U+002D HYPHEN-MINUS character
- (-).</p>
+ <p>A string is a <dfn id=valid-integer>valid integer</dfn> if it consists of one or more <a href=#ascii-digits>ASCII digits</a>,
+ optionally prefixed with a U+002D HYPHEN-MINUS character (-).</p>
<p>A <a href=#valid-integer>valid integer</a> without a U+002D HYPHEN-MINUS (-)
prefix represents the number that is represented in base ten by that
@@ -4986,17 +5002,16 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then return an error.</li>
<!-- Ok. At this point we know we have a number. It might have
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var title="">value</var> be that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ integer.</li>
<li><p>If <var title="">sign</var> is "positive", return <var title="">value</var>, otherwise return the result of subtracting
<var title="">value</var> from zero.</li>
@@ -5007,8 +5022,7 @@
<h5 id=non-negative-integers><span class=secno>2.5.4.2 </span>Non-negative integers</h5>
<p>A string is a <dfn id=valid-non-negative-integer>valid non-negative integer</dfn> if it
- consists of one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9).</p>
+ consists of one or more <a href=#ascii-digits>ASCII digits</a>.</p>
<p>A <a href=#valid-non-negative-integer>valid non-negative integer</a> represents the number
that is represented in base ten by that string of digits.</p>
@@ -5047,15 +5061,13 @@
<li>One or both of the following, in the given order:
- <ol><li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <ol><li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>
<ol><li>A single U+002E FULL STOP character (.).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -5069,8 +5081,7 @@
<li>Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B
PLUS SIGN character (+).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -5147,21 +5158,19 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is a U+002E FULL STOP (.), and that is not the last character in
- <var title="">input</var>, and the character after the character
- indicated by <var title="">position</var> is one of U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9), then set <var title="">value</var> to zero and jump to the step labeled
- <i>fraction</i>.</p> <!-- we have to check there's a number so that
- ".e1" fails to parse but ".0" does not -->
+ <li><p>If the character indicated by <var title="">position</var> is a U+002E FULL STOP (.), and
+ that is not the last character in <var title="">input</var>, and the character after the
+ character indicated by <var title="">position</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then set <var title="">value</var> to zero and jump to the step labeled
+ <i>fraction</i>.</p> <!-- we have to check there's a number so that ".e1" fails to parse but ".0"
+ does not -->
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then return an error.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var title="">value</var> by that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">value</var> by
+ that integer.</li>
<li>If <var title="">position</var> is past the end of <var title="">input</var>, jump to the step labeled
<i>conversion</i>.</li>
@@ -5172,10 +5181,10 @@
<ol><li><p>Advance <var title="">position</var> to the next
character.</li>
- <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
- LATIN CAPITAL LETTER E (E), then jump to the step labeled
- <i>conversion</i>.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, U+0065 LATIN SMALL LETTER E (e), or U+0045 LATIN CAPITAL LETTER E (E), then jump
+ to the step labeled <i>conversion</i>.</li>
<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
@@ -5194,9 +5203,8 @@
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, then jump to the step labeled
<i>conversion</i>.</li>
- <li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), jump
- back to the step labeled <i>fraction loop</i> in these
+ <li><p>If the character indicated by <var title="">position</var> is an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, jump back to the step labeled <i>fraction loop</i> in these
substeps.</li>
</ol></li>
@@ -5234,13 +5242,12 @@
</ol></li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- then jump to the step labeled <i>conversion</i>.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII
+ digits">ASCII digit</a>, then jump to the step labeled <i>conversion</i>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var title="">exponent</var> by that integer.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">exponent</var>
+ by that integer.</li>
<li><p>Multiply <var title="">value</var> by ten raised to the
<var title="">exponent</var>th power.</li>
@@ -5267,13 +5274,10 @@
<div class=impl>
<h5 id=percentages-and-dimensions><span class=secno>2.5.4.4 </span>Percentages and lengths</h5>
<!--(percentages are not used in valid html anymore)
- <p>A string is a <dfn>valid dimension value</dfn> if it consists of
- a character in the range U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE
- (9), optionally followed by zero of more characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), optionally followed
- by a U+002E FULL STOP character (.) and one or more characters in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and
- optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
+ <p>A string is a <dfn>valid dimension value</dfn> if it consists of a character in the range
+ U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE (9), optionally followed by zero of more <span>ASCII
+ digits</span>, optionally followed by a U+002E FULL STOP character (.) and one or more <span>ASCII
+ digits</span>, and optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
<p>A <span>valid dimension value</span> represents the number that
is represented in base ten by that string of digits, optionally with
@@ -5317,9 +5321,9 @@
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var title="">value</var> be that number.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ number.</li>
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return <var title="">value</var> as a
length.</li>
@@ -5332,9 +5336,9 @@
<ol><li><p>Advance <var title="">position</var> to the next
character.</li>
- <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the character indicated by <var title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), then return <var title="">value</var> as a
- length.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then return <var title="">value</var> as a length.</li>
<li><p>Let <var title="">divisor</var> have the value 1.</li>
@@ -5351,7 +5355,7 @@
length.</li>
<li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), return
+ is an <a href=#ascii-digits title="ASCII digits">ASCII digit</a>, return
to the step labeled <i>fraction loop</i> in these
substeps.</li>
@@ -5443,10 +5447,8 @@
</ol></dd>
+ <dt>An <a href=#ascii-digits title="ASCII digits">ASCII digit</a></dt>
- <dt>A character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9)</dt>
-
<dd>
<p>Follow these substeps:</p>
@@ -5678,22 +5680,18 @@
<li><p>If <var title="">position</var> is past the end of <var title="">input</var>, set <var title="">unit</var> to
<i>relative</i> and jump to the last substep.</li>
- <li><p>If the character at <var title="">position</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), interpret the
- resulting sequence as an integer in base ten, and increment <var title="">value</var> by that integer.</li>
+ <li><p>If the character at <var title="">position</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>,
+ interpret the resulting sequence as an integer in base ten, and increment <var title="">value</var> by that integer.</li>
<li>
<p>If the character at <var title="">position</var> is a U+002E
FULL STOP character (.), run these substeps:</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> consisting
- of <a href=#space-character title="space character">space characters</a> and
- characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9). Let <var title="">s</var> be the resulting
- sequence.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> consisting of <a href=#space-character title="space
+ character">space characters</a> and <a href=#ascii-digits>ASCII digits</a>. Let <var title="">s</var>
+ be the resulting sequence.</li>
<li><p>Remove all <a href=#space-character title="space character">space
characters</a> in <var title="">s</var>.</li>
@@ -5752,10 +5750,8 @@
<em>28</em> otherwise. This takes into account leap years in the
Gregorian calendar. <a href=#refsGREGORIAN>[GREGORIAN]</a></p>
- <p>The <dfn id=concept-datetime-digit title=concept-datetime-digit>digits</dfn> in the date
- and time syntaxes defined in this section must be characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), used to
- express numbers in base ten.</p>
+ <p>When <a href=#ascii-digits>ASCII digits</a> are used in the date and time syntaxes defined in this section,
+ they express numbers in base ten.</p>
<div class=impl>
@@ -5780,12 +5776,11 @@
<var title="">year</var> and month <var title="">month</var> if it
consists of the following components in the given order:</p>
- <ol><li>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
+ <ol><li>Four or more <a href=#ascii-digits>ASCII digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the month <var title="">month</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the month <var title="">month</var>, in the range
1 ≤ <var title="">month</var> ≤ 12</li>
</ol><div class=impl>
@@ -5814,11 +5809,9 @@
nothing. If at any point the algorithm says that it "fails", this
means that it is aborted at that point and returns nothing.</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">year</var>.</li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</li>
@@ -5827,11 +5820,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">month</var>.</li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5857,10 +5848,9 @@
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">day</var>, in the range
- 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of days
- in the month <var title="">month</var> and year <var title="">year</var></a></li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">day</var>, in the range
+ 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of
+ days in the month <var title="">month</var> and year <var title="">year</var></a></li>
</ol><div class=impl>
@@ -5899,11 +5889,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">day</var>.</li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var>, then fail.</li>
@@ -5926,17 +5914,15 @@
<ol><li>Optionally, two U+002D HYPHEN-MINUS characters (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the month <var title="">month</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the month <var title="">month</var>, in the range
1 ≤ <var title="">month</var> ≤ 12</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">day</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">day</var>, in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var title="">maxday</var> is the <a href=#number-of-days-in-month-month-of-year-year title="number of days in month month of year year">number of
- days</a> in the month <var title="">month</var> and any
- arbitrary leap year (e.g. 4 or 2000)</li>
+ days</a> in the month <var title="">month</var> and any arbitrary leap year (e.g. 4 or
+ 2000)</li>
</ol><p class=note>In other words, if the <var title="">month</var> is
"<code title="">02</code>", meaning February, then the day can be
@@ -5973,11 +5959,9 @@
U+002D HYPHEN-MINUS characters (-). If the collected sequence is
not exactly zero or two characters long, then fail.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">month</var>.</li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5992,11 +5976,9 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">day</var>.</li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var title="">maxday</var>, then fail.</li>
@@ -6017,14 +5999,12 @@
second <var title="">second</var> if it consists of the following
components in the given order:</p>
- <ol><li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">hour</var>, in the range
+ <ol><li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">hour</var>, in the range
0 ≤ <var title="">hour</var> ≤ 23</li>
<li>A U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing <var title="">minute</var>, in the range
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing <var title="">minute</var>, in the range
0 ≤ <var title="">minute</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is
@@ -6032,17 +6012,15 @@
<ol><li>A U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the integer part of <var title="">second</var>, in
- the range 0 ≤ <var title="">s</var> ≤ 59</li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the integer part of <var title="">second</var>,
+ in the range 0 ≤ <var title="">s</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is not an
integer):
<ol><li>A 002E FULL STOP character (.)</li>
- <li>One, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing the
- fractional part of <var title="">second</var></li>
+ <li>One, two, or three <a href=#ascii-digits>ASCII digits</a>, representing the fractional part of <var title="">second</var></li>
</ol></li>
@@ -6079,11 +6057,9 @@
or nothing. If at any point the algorithm says that it "fails", this
means that it is aborted at that point and returns nothing.</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">hour</var>.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">hour</var>.</li>
<li>If <var title="">hour</var> is not a number in the range
0 ≤ <var title="">hour</var> ≤ 23, then
@@ -6093,11 +6069,9 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">minute</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">minute</var>.</li>
<li>If <var title="">minute</var> is not a number in the range
0 ≤ <var title="">minute</var> ≤ 59, then
@@ -6115,18 +6089,15 @@
<ol><li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</li>
- <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var>, or at the last character in <var title="">input</var>, or if the next <em>two</em> characters in
- <var title="">input</var> starting at <var title="">position</var> are not two characters both in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- fail.</li>
+ <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var>, or at
+ the last character in <var title="">input</var>, or if the next <em>two</em> characters in <var title="">input</var> starting at <var title="">position</var> are not both <a href=#ascii-digits>ASCII
+ digits</a>, then fail.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are
- either characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) or U+002E FULL STOP characters. If the collected
- sequence is three characters long, or if it is longer than three
- characters long and the third character is not a U+002E FULL STOP
- character, or if it has more than one U+002E FULL STOP character,
- then fail. Otherwise, let the collected string be <var title="">second</var> instead of its previous value.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are either <a href=#ascii-digits>ASCII digits</a>
+ or U+002E FULL STOP characters. If the collected sequence is three characters long, or if it is
+ longer than three characters long and the third character is not a U+002E FULL STOP character,
+ or if it has more than one U+002E FULL STOP character, then fail. Otherwise, let the collected
+ string be <var title="">second</var> instead of its previous value.</li>
</ol></li>
@@ -6228,15 +6199,12 @@
<!-- the -00:00 offset is disallowed because RFC3339 gives it a
special semantic -->
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the hours component <var title="">hour</var> of
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the hours component <var title="">hour</var> of
the time-zone offset, in the range 0 ≤ <var title="">hour</var> ≤ 23</li>
<li>Optionally, a U+003A COLON character (:)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the minutes component <var title="">minute</var>
- of the time-zone offset, in the range 0 ≤ <var title="">minute</var> ≤ 59</li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the minutes component <var title="">minute</var> of the time-zone offset, in the range 0 ≤ <var title="">minute</var> ≤ 59</li>
</ol></li>
@@ -6305,8 +6273,8 @@
<li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var title="">s</var> be the collected sequence.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. Let
+ <var title="">s</var> be the collected sequence.</li>
<li>
@@ -6321,11 +6289,9 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">timezone<sub title="">minutes</sub></var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If
+ the collected sequence is not exactly two characters long, then fail. Otherwise, interpret
+ the resulting sequence as a base-ten integer. Let that number be the <var title="">timezone<sub title="">minutes</sub></var>.</li>
</ol><p>If <var title="">s</var> is exactly four characters long,
then run these substeps:</p>
@@ -6544,16 +6510,14 @@
week-year <var title="">year</var> and week <var title="">week</var>
if it consists of the following components in the given order:</p>
- <ol><li>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
+ <ol><li>Four or more <a href=#ascii-digits>ASCII digits</a>, representing <var title="">year</var>, where <var title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
<li>A U+0057 LATIN CAPITAL LETTER W character (W)</li>
- <li>Two <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>,
- representing the week <var title="">week</var>, in the range
- 1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var title="">maxweek</var> is the
- <a href=#week-number-of-the-last-day>week number of the last day</a> of week-year <var title="">year</var></li>
+ <li>Two <a href=#ascii-digits>ASCII digits</a>, representing the week <var title="">week</var>, in the range
+ 1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var title="">maxweek</var> is the <a href=#week-number-of-the-last-day>week number of the last day</a> of week-year <var title="">year</var></li>
</ol><div class=impl>
@@ -6568,11 +6532,9 @@
<li><p>Let <var title="">position</var> be a pointer into <var title="">input</var>, initially pointing at the start of the
string.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">year</var>.</li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</li>
@@ -6584,11 +6546,9 @@
<li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+0057 LATIN CAPITAL LETTER W
character (W), then fail. Otherwise, move <var title="">position</var> forwards one character.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">week</var>.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var title="">week</var>.</li>
<li><p>Let <var title="">maxweek</var> be the <a href=#week-number-of-the-last-day>week number of
the last day</a> of year <var title="">year</var>.</li>
@@ -6649,42 +6609,33 @@
corresponds to the same number of seconds as in <var title="">t</var>:</p>
<ol><!--MONTHS:
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+0059
- LATIN CAPITAL LETTER Y character, representing a number of
- years.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+0059 LATIN CAPITAL LETTER Y
+ character, representing a number of years.</p></li>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+004D
- LATIN CAPITAL LETTER M character, representing a number of
- months.</p></li>
---><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a U+0044
- LATIN CAPITAL LETTER D character, representing a number of
- days.</li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of months.</p></li>
+--><li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+0044 LATIN CAPITAL LETTER D
+ character, representing a number of days.</li>
<li>
<p>A U+0054 LATIN CAPITAL LETTER T character followed by one or
more of the following subcomponents, in the order given:</p>
- <ol><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a
- U+0048 LATIN CAPITAL LETTER H character, representing a number
- of hours.</li>
+ <ol><li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+0048 LATIN CAPITAL LETTER H
+ character, representing a number of hours.</li>
- <li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a> followed by a
- U+004D LATIN CAPITAL LETTER M character, representing a number
- of minutes.</li>
+ <li><p>One or more <a href=#ascii-digits>ASCII digits</a> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of minutes.</li>
<li>
<p>The following components:</p>
- <ol><li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- number of seconds.</li>
+ <ol><li><p>One or more <a href=#ascii-digits>ASCII digits</a>, representing a number of seconds.</li>
- <li><p>Optionally, a U+002E FULL STOP character (.) followed
- by one, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- fraction of a second.</li>
+ <li><p>Optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <a href=#ascii-digits>ASCII digits</a>, representing a fraction of a second.</li>
<li><p>A U+0053 LATIN CAPITAL LETTER S character.</li>
@@ -6711,15 +6662,13 @@
<ol><li><p>Zero or more <a href=#space-character title="space character">space
characters</a>.</li>
- <li><p>One or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- number of time units, scaled by the <a href=#duration-time-component-scale>duration time component
- scale</a> specified (see below) to represent a number of
+ <li><p>One or more <a href=#ascii-digits>ASCII digits</a>, representing a number of time units, scaled by
+ the <a href=#duration-time-component-scale>duration time component scale</a> specified (see below) to represent a number of
seconds.</li>
- <li><p>If the <a href=#duration-time-component-scale>duration time component scale</a>
- specified is 1 (i.e. the units are seconds), then, optionally, a
- U+002E FULL STOP character (.) followed by one, two, or three <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, representing a
- fraction of a second.</li>
+ <li><p>If the <a href=#duration-time-component-scale>duration time component scale</a> specified is 1 (i.e. the units are
+ seconds), then, optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <a href=#ascii-digits>ASCII digits</a>, representing a fraction of a second.</li>
<li><p>Zero or more <a href=#space-character title="space character">space
characters</a>.</li>
@@ -6841,12 +6790,9 @@
not advance <var title="">position</var>. That is taken care of
below.)</p>
- <p>Otherwise, if <var title="">next character</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), then <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- interpret the resulting sequence as a base-ten integer, and let
- <var title="">N</var> be that number.</p>
+ <p>Otherwise, if <var title="">next character</var> is an <a href=#ascii-digits title="ASCII digits">ASCII
+ digit</a>, then <a href=#collect-a-sequence-of-characters>collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII
+ digits</a>, interpret the resulting sequence as a base-ten integer, and let <var title="">N</var> be that number.</p>
<p>Otherwise <var title="">next character</var> is not part of a
number; fail.</p>
@@ -6864,8 +6810,7 @@
<p>If <var title="">next character</var> is a U+002E FULL STOP
character (.), then run these substeps:</p>
- <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var title="">s</var> be the resulting sequence.</li>
+ <ol><li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>. Let <var title="">s</var> be the resulting sequence.</li>
<li><p>If <var title="">s</var> is the empty string, then
fail.</li>
@@ -7085,15 +7030,11 @@
range 0..255, representing the red, green, and blue components of
the color respectively, in the sRGB color space. <a href=#refsSRGB>[SRGB]</a></p>
- <p>A string is a <dfn id=valid-simple-color>valid simple color</dfn> if it is exactly
- seven characters long, and the first character is a U+0023 NUMBER
- SIGN character (#), and the remaining six characters are all in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, with the first two
- digits representing the red component, the middle two digits
- representing the green component, and the last two digits
- representing the blue component, in hexadecimal.</p>
+ <p>A string is a <dfn id=valid-simple-color>valid simple color</dfn> if it is exactly seven characters long, and the
+ first character is a U+0023 NUMBER SIGN character (#), and the remaining six characters are all
+ <a href=#ascii-hex-digits>ASCII hex digits</a>, with the first two digits representing the red component, the
+ middle two digits representing the green component, and the last two digits representing the blue
+ component, in hexadecimal.</p>
<p>A string is a <dfn id=valid-lowercase-simple-color>valid lowercase simple color</dfn> if it is a
<a href=#valid-simple-color>valid simple color</a> and doesn't use any characters in
@@ -7117,11 +7058,8 @@
<li><p>If the first character in <var title="">input</var> is not a
U+0023 NUMBER SIGN character (#), then return an error.</li>
- <li><p>If the last six characters of <var title="">input</var> are
- not all in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER
- F, U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, then
- return an error.</li>
+ <li><p>If the last six characters of <var title="">input</var> are not all <a href=#ascii-hex-digits>ASCII hex
+ digits</a>, then return an error.</li>
<li><p>Let <var title="">result</var> be a <a href=#simple-color>simple
color</a>.</p>
@@ -7144,12 +7082,9 @@
<ol><li><p>Let <var title="">result</var> be a string consisting of a
single U+0023 NUMBER SIGN character (#).</li>
- <li><p>Convert the red, green, and blue components in turn to
- two-digit hexadecimal numbers using the digits U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A
- to U+0066 LATIN SMALL LETTER F, zero-padding if necessary, and
- append these numbers to <var title="">result</var>, in the order
- red, green, blue.</p>
+ <li><p>Convert the red, green, and blue components in turn to two-digit hexadecimal numbers using
+ <a href=#lowercase-ascii-hex-digits>lowercase ASCII hex digits</a>, zero-padding if necessary, and append these numbers to
+ <var title="">result</var>, in the order red, green, blue.</p>
<li><p>Return <var title="">result</var>, which will be a
<a href=#valid-lowercase-simple-color>valid lowercase simple color</a>.</li>
@@ -7190,12 +7125,8 @@
<li>
- <p>If <var title="">input</var> is four characters long, and the
- first character in <var title="">input</var> is a U+0023 NUMBER
- SIGN character (#), and the last three characters of <var title="">input</var> are all in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046
- LATIN CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F, then run these substeps:</p>
+ <p>If <var title="">input</var> is four characters long, and the first character in <var title="">input</var> is a U+0023 NUMBER SIGN character (#), and the last three characters of
+ <var title="">input</var> are all <a href=#ascii-hex-digits>ASCII hex digits</a>, then run these substeps:</p>
<ol><li><p>Let <var title="">result</var> be a <a href=#simple-color>simple
color</a>.</p>
@@ -7228,11 +7159,8 @@
<li><p>If the first character in <var title="">input</var> is a
U+0023 NUMBER SIGN character (#), remove it.</li>
- <li><p>Replace any character in <var title="">input</var> that is
- not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and
- U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F with the
- character U+0030 DIGIT ZERO (0).</li>
+ <li><p>Replace any character in <var title="">input</var> that is not an <a href=#ascii-hex-digits title="ASCII hex
+ digits">ASCII hex digit</a> with the character U+0030 DIGIT ZERO (0).</li>
<li><p>While <var title="">input</var>'s length is zero or not a
multiple of three, append a U+0030 DIGIT ZERO (0) character to <var title="">input</var>.</li>
@@ -8224,7 +8152,7 @@
<td><a href=#concept-uda-input title=concept-uda-input>input</a> is an <a href=#authority-based-url>authority-based URL</a>, and contained a <a href=#url-port title=url-port><port></a> component (possibly an empty one)
<td>—
<td>—
- <td>Remove all characters in the new value from the first that is not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), if any.
+ <td>Remove all characters in the new value from the first that is not an <a href=#ascii-digits title="ASCII digits">ASCII digit</a>, if any.
Remove any leading U+0030 DIGIT ZERO characters (0) in the new value.
If the resulting string is empty, set it to a single U+0030 DIGIT ZERO character (0).
<td><a href=#concept-uda-input title=concept-uda-input>input</a> is an <a href=#authority-based-url>authority-based URL</a>,
@@ -10432,13 +10360,10 @@
<li> The seconds component of the time. </li>
- </ol><p>All the numeric components above, other than the year, must be
- given as two digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary. The year must be given as the shortest possible string of
- four or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary.</p>
+ </ol><p>All the numeric components above, other than the year, must be given as two <a href=#ascii-digits>ASCII
+ digits</a> representing the number in base ten, zero-padded if necessary. The year must be
+ given as the shortest possible string of four or more <a href=#ascii-digits>ASCII digits</a> representing the
+ number in base ten, zero-padded if necessary.</p>
<p>The <code><a href=#document>Document</a></code>'s source file's last modification date
and time must be derived from relevant features of the networking
@@ -12113,8 +12038,7 @@
<p>A <dfn id=custom-data-attribute>custom data attribute</dfn> is an attribute in no
namespace whose name starts with the string "<dfn id=attr-data-* title=attr-data-*><code>data-</code></dfn>", has at least one
character after the hyphen, is <a href=#xml-compatible>XML-compatible</a>, and
- contains no characters in the range U+0041 to U+005A (LATIN CAPITAL
- LETTER A to LATIN CAPITAL LETTER Z).</p>
+ contains no <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>.</p>
<p class=note>All attribute names on <a href=#html-elements>HTML elements</a> in
<a href=#html-documents>HTML documents</a> get ASCII-lowercased automatically, so
@@ -12182,19 +12106,14 @@
<li>For each content attribute on the element whose first five
characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any characters in
- the range U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN
- CAPITAL LETTER Z), add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
+ remaining characters (if any) do not include any <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>, add a name-value pair to <var title="">list</var> whose name is the attribute's name with the
first five characters removed and whose value is the attribute's
value.</li>
- <li>For each name <var title="">list</var>, for each U+002D
- HYPHEN-MINUS character (-) in the name that is followed by a
- character in the range U+0061 to U+007A (U+0061 LATIN SMALL
- LETTER A to U+007A LATIN SMALL LETTER Z), remove the U+002D
- HYPHEN-MINUS character (-) and replace the character that
- followed it by the same character <a href=#converted-to-ascii-uppercase>converted to ASCII
- uppercase</a>.</li>
+ <li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
+ name that is followed by a <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>,
+ remove the U+002D HYPHEN-MINUS character (-) and replace the character that followed it by the
+ same character <a href=#converted-to-ascii-uppercase>converted to ASCII uppercase</a>.</li>
<li>Return <var title="">list</var>.</li>
@@ -12209,14 +12128,11 @@
<li>Let <var title="">value</var> be the value passed to the
algorithm.</li>
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <a href=#lowercase-ascii-letters title="lowercase ASCII letters">lowercase ASCII letter</a>, throw a
+ <code><a href=#syntaxerror>SyntaxError</a></code> exception and abort these steps.</li>
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
@@ -12237,14 +12153,11 @@
<ol><li>Let <var title="">name</var> be the name passed to the
algorithm.</li>
<!--(can't happen while the DOMStringMap deleter has no name)
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code>SyntaxError</code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
+ <code>SyntaxError</code> exception and abort these steps.</li>
-->
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
+ <li>For each <a href=#uppercase-ascii-letters title="uppercase ASCII letters">uppercase ASCII letter</a> in <var title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <a href=#converted-to-ascii-lowercase>converted to ASCII lowercase</a>.</li>
@@ -15677,8 +15590,7 @@
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> that are not<!--neither--> <a href=#space-character title="space character">space characters</a><!-- nor a U+002C
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are not<!--neither--> <a href=#space-character title="space character">space characters</a><!-- nor a U+002C
COMMA character (,)-->.</li>
<li><p>Set the <a href=#pragma-set-default-language>pragma-set default language</a> to the
@@ -15768,18 +15680,13 @@
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), and parse the resulting string using
- the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a>. If the
- sequence of characters collected is the empty string, then no
- number will have been parsed; abort these steps. Otherwise, let
- <var title="">time</var> be the parsed number.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and
+ parse the resulting string using the <a href=#rules-for-parsing-non-negative-integers>rules for parsing non-negative integers</a>. If
+ the sequence of characters collected is the empty string, then no number will have been parsed;
+ abort these steps. Otherwise, let <var title="">time</var> be the parsed number.</li>
- <li><p><a href=#collect-a-sequence-of-characters title="collect a sequence of characters">Collect a
- sequence of characters</a> in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) and U+002E FULL STOP (.). Ignore any collected
- characters.</li>
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a> and
+ U+002E FULL STOP characters (.). Ignore any collected characters.</li>
<li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
@@ -21250,10 +21157,9 @@
Otherwise, let <var title="">x</var> and <var title="">y</var> be zero.</li>
<li>Let the <dfn id=hyperlink-suffix><var>hyperlink suffix</var></dfn> be a U+003F QUESTION MARK character, the
- value of <var title="">x</var> expressed as a base-ten integer using ASCII digits, a U+002C
- COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten integer
- using ASCII digits. ASCII digits are the characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ value of <var title="">x</var> expressed as a base-ten integer using <a href=#ascii-digits>ASCII digits</a>,
+ a U+002C COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten
+ integer using <a href=#ascii-digits>ASCII digits</a>.</li>
</ol></li>
@@ -22230,7 +22136,7 @@
</dd>
- <dt>Four or more <a href=#concept-datetime-digit title=concept-datetime-digit>digits</a>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
+ <dt>Four or more <a href=#ascii-digits>ASCII digits</a>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
<dd>
@@ -22298,12 +22204,9 @@
returns a <a href=#concept-week title=concept-week>week</a>, that is the
machine-readable equivalent; abort these steps.</li>
- <li><p>If the element's <a href=#datetime-value>datetime value</a> consists of
- only characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), at least one of which is not U+0030 DIGIT ZERO (0),
- then the machine-readable equivalent is the base-ten
- interpretation of those digits, representing a year; abort these
- steps.</li>
+ <li><p>If the element's <a href=#datetime-value>datetime value</a> consists of only <a href=#ascii-digits>ASCII digits</a>,
+ at least one of which is not U+0030 DIGIT ZERO (0), then the machine-readable equivalent is the
+ base-ten interpretation of those digits, representing a year; abort these steps.</li>
<li><p>If <a href=#parse-a-duration-string title="parse a duration string">parsing a duration
string</a> from the element's <a href=#datetime-value>datetime value</a>
@@ -27310,8 +27213,7 @@
<p>Any namespace-less attribute other than <code title=attr-embed-name><a href=#attr-embed-name>name</a></code>, <code title=attr-embed-align><a href=#attr-embed-align>align</a></code>, <code title=attr-embed-hspace><a href=#attr-embed-hspace>hspace</a></code>, and <code title=attr-embed-vspace><a href=#attr-embed-vspace>vspace</a></code> <!-- when editing, see also
note below --> may be specified on the <code><a href=#the-embed-element>embed</a></code> element,
so long as its name is <a href=#xml-compatible>XML-compatible</a> and contains no
- characters in the range U+0041 to U+005A (LATIN CAPITAL LETTER A to
- LATIN CAPITAL LETTER Z). These attributes are then passed as
+ <a href=#uppercase-ascii-letters>uppercase ASCII letters</a>. These attributes are then passed as
parameters to the <a href=#plugin>plugin</a>.</p>
<p class=note>All attributes in <a href=#html-documents>HTML documents</a> get
@@ -34202,9 +34104,7 @@
track dispatch type</a> must be set to the concatenation of
the <var title="">stream type</var> byte and the zero or more
<var title="">descriptor bytes</var> bytes, expressed in
- hexadecimal using characters in the ranges U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to
- U+0046 LATIN CAPITAL LETTER F.
+ hexadecimal using <a href=#uppercase-ascii-hex-digits>uppercase ASCII hex digits</a>.
<a href=#refsMPEG2>[MPEG2]</a>
</dd>
@@ -39053,31 +38953,24 @@
therefore only useful for assigning to other attributes or for
comparison to other gradients or patterns.)</p>
- <p>The <dfn id=serialization-of-a-color>serialization of a color</dfn> for a color value is a
- string, computed as follows: if it has alpha equal to 1.0, then the
- string is a lowercase six-digit hex value, prefixed with a "#"
- character (U+0023 NUMBER SIGN), with the first two digits
- representing the red component, the next two digits representing the
- green component, and the last two digits representing the blue
- component, the digits being in the range 0-9 a-f (U+0030 to U+0039
- and U+0061 to U+0066). Otherwise, the color value has alpha less
- than 1.0, and the string is the color value in the CSS <code title="">rgba()</code> functional-notation format: the literal
- string <code title="">rgba</code> (U+0072 U+0067 U+0062 U+0061)
- followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the
- range 0-255 representing the red component (using digits 0-9, U+0030
- to U+0039, in the shortest form possible), a literal U+002C COMMA
- and U+0020 SPACE, an integer for the green component, a comma and a
- space, an integer for the blue component, another comma and space, a
- U+0030 DIGIT ZERO, if the alpha value is greater than zero then a
- U+002E FULL STOP (representing the decimal point), if the alpha
- value is greater than zero then one or more digits in the range 0-9
- (U+0030 to U+0039) representing the fractional part of the alpha<!--
- value with no trailing zeros (implied by next sentence)-->, and
- finally a U+0029 RIGHT PARENTHESIS. User agents must express the
- fractional part of the alpha value, if any, with the level of
- precision necessary for the alpha value, when reparsed, to be
- interpreted as the same alpha value.</p> <!-- if people complain
- this is unreadable, expand it into a <dl> with two nested <ol>s -->
+ <p>The <dfn id=serialization-of-a-color>serialization of a color</dfn> for a color value is a string, computed as follows: if
+ it has alpha equal to 1.0, then the string is a lowercase six-digit hex value, prefixed with a "#"
+ character (U+0023 NUMBER SIGN), with the first two digits representing the red component, the next
+ two digits representing the green component, and the last two digits representing the blue
+ component, the digits being <a href=#lowercase-ascii-hex-digits>lowercase ASCII hex digits</a>. Otherwise, the color value
+ has alpha less than 1.0, and the string is the color value in the CSS <code title="">rgba()</code>
+ functional-notation format: the literal string <code title="">rgba</code> (U+0072 U+0067 U+0062
+ U+0061) followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the range 0-255 representing
+ the red component (using <a href=#ascii-digits>ASCII digits</a> in the shortest form possible), a literal
+ U+002C COMMA and U+0020 SPACE, an integer for the green component, a comma and a space, an integer
+ for the blue component, another comma and space, a U+0030 DIGIT ZERO, if the alpha value is
+ greater than zero then a U+002E FULL STOP (representing the decimal point), if the alpha value is
+ greater than zero then one or more <a href=#ascii-digits>ASCII digits</a> representing the fractional part of
+ the alpha<!-- value with no trailing zeros (implied by next sentence)-->, and finally a U+0029
+ RIGHT PARENTHESIS. User agents must express the fractional part of the alpha value, if any, with
+ the level of precision necessary for the alpha value, when reparsed, to be interpreted as the same
+ alpha value.</p> <!-- if people complain this is unreadable, expand it into a <dl> with two nested
+ <ol>s -->
<p>When the context is created, the <code title=dom-context-2d-fillStyle><a href=#dom-context-2d-fillstyle>fillStyle</a></code> and <code title=dom-context-2d-strokeStyle><a href=#dom-context-2d-strokestyle>strokeStyle</a></code> attributes
must initially have the string value <code title="">#000000</code>.</p>
@@ -57922,17 +57815,10 @@
<p>If there isn't one, do nothing. Otherwise, proceed as
follows:</p>
- <p>If <var title="">submitter</var> is an <code><a href=#the-input-element>input</a></code>
- element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code>
- attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image
- Button</a> state, then let <var title="">result</var> be the
- string formed by concatenating the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
- coordinate</a>'s <var title="">x</var>-component, expressed
- as a base-ten number using the characters U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) to represent the digits 0 to 9, a
+ <p>If <var title="">submitter</var> is an <code><a href=#the-input-element>input</a></code> element whose <code title=attr-input-type><a href=#attr-input-type>type</a></code> attribute is in the <a href="#image-button-state-(type=image)" title=attr-input-type-image>Image Button</a> state, then let <var title="">result</var>
+ be the string formed by concatenating the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected coordinate</a>'s <var title="">x</var>-component, expressed as a base-ten number using <a href=#ascii-digits>ASCII digits</a>, a
U+002C COMMA character (,), and the <a href=#concept-input-type-image-coordinate title=concept-input-type-image-coordinate>selected
- coordinate</a>'s <var title="">y</var>-component, expressed
- in the same way as the <var title="">x</var>-component.</p>
+ coordinate</a>'s <var title="">y</var>-component, expressed in the same way as the <var title="">x</var>-component.</p>
<p>Otherwise, if <var title="">submitter</var> has a <a href=#concept-fe-value title=concept-fe-value>value</a>, then let <var title="">result</var> be that <a href=#concept-fe-value title=concept-fe-value>value</a>.</p>
@@ -58224,8 +58110,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <a href=#ascii-digits>ASCII digits</a> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -58264,12 +58149,9 @@
<dd>
- <ol><li><p>Let <var title="">s</var> be a string consisting of a
- U+0025 PERCENT SIGN character (%) followed by two characters
- in the ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL
- LETTER F representing the hexadecimal value of the byte in
- question (zero-padded if necessary).</li>
+ <ol><li><p>Let <var title="">s</var> be a string consisting of a U+0025 PERCENT SIGN character
+ (%) followed by <a href=#uppercase-ascii-hex-digits>uppercase ASCII hex digits</a> representing the hexadecimal value
+ of the byte in question (zero-padded if necessary).</li>
<li><p>Encode the string <var title="">s</var> as US-ASCII,
so that it is now a byte string.</p>
@@ -58369,10 +58251,7 @@
escape. This replacement most not be recursive.</p>
<p>An escape is a U+0025 PERCENT SIGN character (%) followed by
- two characters in the ranges U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN
- CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F.</p>
+ two <a href=#ascii-hex-digits>ASCII hex digits</a>.</p>
<p>The character represented by an escape is the Unicode
character whose code point is equal to the value of the two
@@ -58466,8 +58345,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <a href=#ascii-digits>ASCII digits</a> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -61606,8 +61484,7 @@
the "<code title="">x</code>" or "<code title="">X</code>".</li>
<li><p>If either <var title="">width string</var> or <var title="">height string</var> start with a U+0030 DIGIT ZERO (0)
- character or contain any characters other than characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+ character or contain any characters other than <a href=#ascii-digits>ASCII digits</a>, then this
keyword doesn't represent anything. Abort these steps for that
keyword.</li>
@@ -65160,24 +65037,20 @@
<ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol><p>The optional components marked with an asterisk (*) should be
included, and should have six digits each.</p>
@@ -66270,24 +66143,20 @@
<ol><li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <a href=#ascii-digits>ASCII digits</a>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <a href=#ascii-digits>ASCII digits</a>.</li>
</ol><p>The optional components marked with an asterisk (*) should be
included, and should have six digits each.</p> <!-- iCalendar
@@ -76036,9 +75905,7 @@
<ul class=brief><li>U+002B PLUS SIGN (+)
<li>U+002F SOLIDUS (/)
- <li>U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- <li>U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z
- <li>U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z
+ <li><a href=#alphanumeric-ascii-characters>Alphanumeric ASCII characters</a>
</ul></li>
<li><p>Let <var title="">output</var> be a string, initially
@@ -77229,12 +77096,10 @@
schemes don't contain colons.</p>
<p>If the <code title=dom-navigator-registerProtocolHandler><a href=#dom-navigator-registerprotocolhandler>registerProtocolHandler()</a></code>
- method is invoked with a scheme that is neither a
- <a href=#whitelisted-scheme>whitelisted scheme</a> nor a scheme whose value starts
- with the substring "<code title="">web+</code>" and otherwise
- contains only characters in the range U+0061 LATIN SMALL LETTER A
- to U+007A LATIN SMALL LETTER Z, the user agent must throw a
- <code><a href=#securityerror>SecurityError</a></code> exception.</p>
+ method is invoked with a scheme that is neither a <a href=#whitelisted-scheme>whitelisted scheme</a> nor a scheme
+ whose value starts with the substring "<code title="">web+</code>" and otherwise contains only
+ <span>lowercase ASCII characters</span>, the user agent must throw a <code><a href=#securityerror>SecurityError</a></code>
+ exception.</p>
<p>The following schemes are the <dfn id=whitelisted-scheme title="whitelisted
scheme">whitelisted schemes</dfn>:</p>
@@ -84582,8 +84447,7 @@
<dt>If the field name is "retry"</dt>
- <dd><p>If the field value consists of only characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then interpret the
+ <dd><p>If the field value consists of only <a href=#ascii-digits>ASCII digits</a>, then interpret the
field value as an integer in base ten, and set the event stream's
<a href=#concept-event-stream-reconnection-time title=concept-event-stream-reconnection-time>reconnection
time</a> to that integer. Otherwise, ignore the field.</dd>
@@ -87609,12 +87473,10 @@
</div>
- <p>Many strings in the HTML syntax (e.g. the names of elements and
- their attributes) are case-insensitive, but only for characters in
- the ranges U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN CAPITAL
- LETTER Z) and U+0061 to U+007A (LATIN SMALL LETTER A to LATIN SMALL
- LETTER Z). For convenience, in this section this is just referred to
- as "case-insensitive".</p>
+ <p>Many strings in the HTML syntax (e.g. the names of elements and their attributes) are
+ case-insensitive, but only for <a href=#uppercase-ascii-letters>uppercase ASCII letters</a> and <a href=#lowercase-ascii-letters>lowercase ASCII
+ letters</a>. For convenience, in this section this is just referred to as
+ "case-insensitive".</p>
<h4 id=the-doctype><span class=secno>12.1.1 </span>The DOCTYPE</h4>
@@ -87812,15 +87674,11 @@
the content model and those described in this paragraph. Those
restrictions are described below.</p>
- <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>,
- giving the element's name. HTML elements all have names that only
- use characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER
- Z. In the HTML syntax, tag names, even those for <a href=#foreign-elements>foreign
- elements</a>, may be written with any mix of lower- and uppercase
- letters that, when converted to all-lowercase, matches the element's
- tag name; tag names are case-insensitive.</p>
+ <p>Tags contain a <dfn id=syntax-tag-name title=syntax-tag-name>tag name</dfn>, giving the element's name. HTML
+ elements all have names that only use <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>. In the HTML
+ syntax, tag names, even those for <a href=#foreign-elements>foreign elements</a>, may be written with any mix of
+ lower- and uppercase letters that, when converted to all-lowercase, matches the element's tag
+ name; tag names are case-insensitive.</p>
<h5 id=start-tags><span class=secno>12.1.2.1 </span>Start tags</h5>
@@ -88335,27 +88193,20 @@
<dt>Decimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), followed by one or more digits in the range U+0030
- DIGIT ZERO (0) to U+0039 DIGIT NINE (9), representing a base-ten
- integer that corresponds to a Unicode code point that is allowed
- according to the definition below. The digits must then be followed
- by a U+003B SEMICOLON character (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), followed by one or more
+ <a href=#ascii-digits>ASCII digits</a>, representing a base-ten integer that corresponds to a Unicode code
+ point that is allowed according to the definition below. The digits must then be followed by a
+ U+003B SEMICOLON character (;).</dd>
<dt>Hexadecimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), which must be followed by either a U+0078 LATIN
- SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
- character (X), which must then be followed by one or more digits in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061
- LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041
- LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F,
- representing a base-sixteen integer that corresponds to a Unicode
- code point that is allowed according to the definition below. The
- digits must then be followed by a U+003B SEMICOLON character
- (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), which must be followed
+ by either a U+0078 LATIN SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
+ character (X), which must then be followed by one or more <a href=#ascii-hex-digits>ASCII hex digits</a>,
+ representing a base-sixteen integer that corresponds to a Unicode code point that is allowed
+ according to the definition below. The digits must then be followed by a U+003B SEMICOLON
+ character (;).</dd>
</dl><p>The numeric character reference forms described above are allowed
to reference any Unicode code point other than U+0000, U+000D,
@@ -88363,14 +88214,10 @@
control characters other than <a href=#space-character title="space character">space
characters</a>.</p>
- <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous
- ampersand</dfn> is a U+0026 AMPERSAND character (&) that is
- followed by one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9), U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, and U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, followed by a U+003B SEMICOLON character
- (;), where these characters do not match any of the names given in
- the <a href=#named-character-references>named character references</a> section.</p>
+ <p>An <dfn id=syntax-ambiguous-ampersand title=syntax-ambiguous-ampersand>ambiguous ampersand</dfn> is a U+0026 AMPERSAND
+ character (&) that is followed by one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a>,
+ followed by a U+003B SEMICOLON character (;), where these characters do not match any of the names
+ given in the <a href=#named-character-references>named character references</a> section.</p>
<h4 id=cdata-sections><span class=secno>12.1.5 </span>CDATA sections</h4>
@@ -90063,14 +89910,14 @@
<dt>U+002F SOLIDUS (/)</dt>
<dd>Switch to the <a href=#end-tag-open-state>end tag open state</a>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new start tag token, set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add 0x0020 to the
character's code point), then switch to the <a href=#tag-name-state>tag name
state</a>. (Don't emit the token yet; further details will
be filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new start tag token, set its tag name to the
<a href=#current-input-character>current input character</a>, then switch to the <a href=#tag-name-state>tag
name state</a>. (Don't emit the token yet; further details will
@@ -90089,14 +89936,14 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, set its tag name to the lowercase
version of the <a href=#current-input-character>current input character</a> (add 0x0020 to
the character's code point), then switch to the <a href=#tag-name-state>tag name
state</a>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, set its tag name to the
<a href=#current-input-character>current input character</a>, then switch to the <a href=#tag-name-state>tag
name state</a>. (Don't emit the token yet; further details will
@@ -90133,7 +89980,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name.</dd>
@@ -90169,7 +90016,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90178,7 +90025,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90218,13 +90065,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90255,7 +90102,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90264,7 +90111,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90304,13 +90151,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90345,7 +90192,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90354,7 +90201,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90394,13 +90241,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90521,7 +90368,7 @@
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Switch
to the <a href=#script-data-escaped-end-tag-open-state>script data escaped end tag open state</a>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
the lowercase version of the <a href=#current-input-character>current input character</a>
(add 0x0020 to the character's code point) to the <var><a href=#temporary-buffer>temporary
@@ -90529,7 +90376,7 @@
state</a>. Emit a U+003C LESS-THAN SIGN character token and the
<a href=#current-input-character>current input character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Set the <var><a href=#temporary-buffer>temporary buffer</a></var> to the empty string. Append
the <a href=#current-input-character>current input character</a> to the <var><a href=#temporary-buffer>temporary
buffer</a></var>. Switch to the <a href=#script-data-double-escape-start-state>script data double escape start
@@ -90545,7 +90392,7 @@
<p>Consume the <a href=#next-input-character>next input character</a>:</p>
- <dl class=switch><dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dl class=switch><dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add
0x0020 to the character's code point). Append the <a href=#current-input-character>current
@@ -90554,7 +90401,7 @@
state</a>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Create a new end tag token, and set its tag name to the
<a href=#current-input-character>current input character</a>. Append the <a href=#current-input-character>current
input character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>. Finally,
@@ -90594,13 +90441,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the current
tag token's tag name. Append the <a href=#current-input-character>current input
character</a> to the <var><a href=#temporary-buffer>temporary buffer</a></var>.</dd>
@@ -90628,13 +90475,13 @@
data escaped state</a>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
@@ -90754,13 +90601,13 @@
double escaped state</a>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><a href=#lowercase-ascii-letters title="lowercase ASCII letters">Lowercase ASCII letter</a></dt>
<dd>Append the <a href=#current-input-character>current input character</a> to the
<var><a href=#temporary-buffer>temporary buffer</a></var>. Emit the <a href=#current-input-character>current input
character</a> as a character token.</dd>
@@ -90787,7 +90634,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point), and its
@@ -90838,7 +90685,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current attribute's name.</dd>
@@ -90891,7 +90738,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <a href=#current-input-character>current
input character</a> (add 0x0020 to the character's code point),
@@ -91350,7 +91197,7 @@
<dt>U+0020 SPACE</dt>
<dd>Ignore the character.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Create a new DOCTYPE token. Set the token's name to the
lowercase version of the <a href=#current-input-character>current input character</a> (add 0x0020 to the
character's code point). Switch to the <a href=#doctype-name-state>DOCTYPE name
@@ -91392,7 +91239,7 @@
<dd>Switch to the <a href=#data-state>data state</a>. Emit the current DOCTYPE
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><a href=#uppercase-ascii-letters title="uppercase ASCII letters">Uppercase ASCII letter</a></dt>
<dd>Append the lowercase version of the <a href=#current-input-character>current input
character</a> (add 0x0020 to the character's code point) to the
current DOCTYPE token's name.</dd>
@@ -91869,14 +91716,9 @@
<p>Consume the X.</p>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F (in other
- words, 0-9, A-F, a-f).</p>
+ <p>Follow the steps below, but using <a href=#ascii-hex-digits>ASCII hex digits</a>.</p>
- <p>When it comes to interpreting the number, interpret it as a
- hexadecimal number.</p>
+ <p>When it comes to interpreting the number, interpret it as a hexadecimal number.</p>
</dd>
@@ -91885,16 +91727,15 @@
<dd>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</p>
+ <p>Follow the steps below, but using <a href=#ascii-digits>ASCII digits</a>.</p>
<p>When it comes to interpreting the number, interpret it as a
decimal number.</p>
</dd>
- </dl><p>Consume as many characters as match the range of characters
- given above.</p>
+ </dl><p>Consume as many characters as match the range of characters given above (<a href=#ascii-hex-digits>ASCII hex
+ digits</a> or <a href=#ascii-digits>ASCII digits</a>).</p>
<p>If no characters match the range, then don't consume any
characters (and unconsume the U+0023 NUMBER SIGN character and, if
@@ -91984,25 +91825,18 @@
column of the <a href=#named-character-references>named character references</a> table (in a
<a href=#case-sensitive>case-sensitive</a> manner).</p>
- <p>If no match can be made, then no characters are consumed, and
- nothing is returned. In this case, if the characters after the
- U+0026 AMPERSAND character (&) consist of a sequence of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL
- LETTER Z, followed by a U+003B SEMICOLON character (;), then this
- is a <a href=#parse-error>parse error</a>.</p>
+ <p>If no match can be made, then no characters are consumed, and nothing is returned. In this
+ case, if the characters after the U+0026 AMPERSAND character (&) consist of a sequence of
+ one or more <a href=#alphanumeric-ascii-characters>alphanumeric ASCII characters</a> followed by a U+003B SEMICOLON character
+ (;), then this is a <a href=#parse-error>parse error</a>.</p>
- <p>If the character reference is being consumed <a href=#character-reference-in-attribute-value-state title="character reference in attribute value state">as part of an
- attribute</a>, and the last character matched is not a U+003B
- SEMICOLON character (;), and the next character is either a U+003D
- EQUALS SIGN character (=) or in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, or U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, then, for historical reasons, all the
- characters that were matched after the U+0026 AMPERSAND character
- (&) must be unconsumed, and nothing is returned.</p>
- <!-- "=" added because of http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
+ <p>If the character reference is being consumed <a href=#character-reference-in-attribute-value-state title="character reference in attribute
+ value state">as part of an attribute</a>, and the last character matched is not a U+003B
+ SEMICOLON character (;), and the next character is either a U+003D EQUALS SIGN character (=) or
+ an <a href=#alphanumeric-ascii-characters title="alphanumeric ASCII characters">alphanumeric ASCII character</a>, then, for
+ historical reasons, all the characters that were matched after the U+0026 AMPERSAND character
+ (&) must be unconsumed, and nothing is returned.</p> <!-- "=" added because of
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
<p>Otherwise, a character reference is parsed. If the last
character matched is not a U+003B SEMICOLON character (;), there
@@ -97614,8 +97448,7 @@
character. Otherwise, let <var title="">mode</var> be
<i>absolute</i>.</li>
- <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let the
+ <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> that are <a href=#ascii-digits>ASCII digits</a>, and let the
resulting sequence be <var title="">digits</var>.</li>
<li><p>If <var title="">digits</var> is the empty string, there is
Modified: source
===================================================================
--- source 2012-10-30 00:03:15 UTC (rev 7489)
+++ source 2012-10-30 22:15:48 UTC (rev 7490)
@@ -3858,13 +3858,31 @@
value (abbreviated "WS") of the "Bidi_Class" property in the <code
title="">Unicode.txt</code> data file.</p>
- <div class="impl">
+ <p>The <dfn>uppercase ASCII letters</dfn> are the characters in the range U+0041 LATIN CAPITAL
+ LETTER A to U+005A LATIN CAPITAL LETTER Z.</p>
- <p>The <dfn>alphanumeric ASCII characters</dfn> are those in the
- ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z, U+0061 LATIN
- SMALL LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn>lowercase ASCII letters</dfn> are the characters in the range U+0061 LATIN SMALL
+ LETTER A to U+007A LATIN SMALL LETTER Z.</p>
+ <p>The <dfn>ASCII digits</dfn> are the characters in the range U+0030 DIGIT ZERO (0) to U+0039
+ DIGIT NINE (9).</p>
+
+ <p>The <dfn>alphanumeric ASCII characters</dfn> are those that are either <span>uppercase ASCII
+ letters</span>, <span>lowercase ASCII letters</span>, or <span>ASCII digits</span>.</p>
+
+ <p>The <dfn>ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and U+0061
+ LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F.</p>
+
+ <p>The <dfn>uppercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO (0) to
+ U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F only.</p>
+
+ <p>The <dfn>lowercase ASCII hex digits</dfn> are the characters in the ranges U+0030 DIGIT ZERO
+ (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F
+ only.</p>
+
+ <div class="impl">
+
<p>Some of the micro-parsers described below follow the pattern of
having an <var title="">input</var> variable that holds the string
being parsed, and having a <var title="">position</var> variable
@@ -4038,10 +4056,8 @@
<h5>Signed integers</h5>
- <p>A string is a <dfn>valid integer</dfn> if it consists of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), optionally prefixed with a U+002D HYPHEN-MINUS character
- (-).</p>
+ <p>A string is a <dfn>valid integer</dfn> if it consists of one or more <span>ASCII digits</span>,
+ optionally prefixed with a U+002D HYPHEN-MINUS character (-).</p>
<p>A <span>valid integer</span> without a U+002D HYPHEN-MINUS (-)
prefix represents the number that is represented in base ten by that
@@ -4108,18 +4124,16 @@
</li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</p></li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <span title="ASCII
+ digits">ASCII digit</span>, then return an error.</p></li>
<!-- Ok. At this point we know we have a number. It might have
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var
- title="">value</var> be that integer.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ integer.</p></li>
<li><p>If <var title="">sign</var> is "positive", return <var
title="">value</var>, otherwise return the result of subtracting
@@ -4133,8 +4147,7 @@
<h5>Non-negative integers</h5>
<p>A string is a <dfn>valid non-negative integer</dfn> if it
- consists of one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9).</p>
+ consists of one or more <span>ASCII digits</span>.</p>
<p>A <span>valid non-negative integer</span> represents the number
that is represented in base ten by that string of digits.</p>
@@ -4184,8 +4197,7 @@
<ol>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <span>ASCII digits</span>.</li>
<li>
@@ -4193,8 +4205,7 @@
<li>A single U+002E FULL STOP character (.).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <span>ASCII digits</span>.</li>
</ol>
@@ -4214,8 +4225,7 @@
<li>Optionally, a U+002D HYPHEN-MINUS character (-) or U+002B
PLUS SIGN character (+).</li>
- <li>A series of one or more characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>A series of one or more <span>ASCII digits</span>.</li>
</ol>
@@ -4314,23 +4324,19 @@
</li>
- <li><p>If the character indicated by <var title="">position</var>
- is a U+002E FULL STOP (.), and that is not the last character in
- <var title="">input</var>, and the character after the character
- indicated by <var title="">position</var> is one of U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9), then set <var
- title="">value</var> to zero and jump to the step labeled
- <i>fraction</i>.</p> <!-- we have to check there's a number so that
- ".e1" fails to parse but ".0" does not -->
+ <li><p>If the character indicated by <var title="">position</var> is a U+002E FULL STOP (.), and
+ that is not the last character in <var title="">input</var>, and the character after the
+ character indicated by <var title="">position</var> is an <span title="ASCII digits">ASCII
+ digit</span>, then set <var title="">value</var> to zero and jump to the step labeled
+ <i>fraction</i>.</p> <!-- we have to check there's a number so that ".e1" fails to parse but ".0"
+ does not -->
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- return an error.</p></li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <span title="ASCII
+ digits">ASCII digit</span>, then return an error.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var
- title="">value</var> by that integer.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">value</var> by
+ that integer.</p></li>
<li>If <var title="">position</var> is past the end of <var
title="">input</var>, jump to the step labeled
@@ -4345,12 +4351,10 @@
<li><p>Advance <var title="">position</var> to the next
character.</p></li>
- <li><p>If <var title="">position</var> is past the end of <var
- title="">input</var>, or if the character indicated by <var
- title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0065 LATIN SMALL LETTER E (e), or U+0045
- LATIN CAPITAL LETTER E (E), then jump to the step labeled
- <i>conversion</i>.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <span title="ASCII digits">ASCII
+ digit</span>, U+0065 LATIN SMALL LETTER E (e), or U+0045 LATIN CAPITAL LETTER E (E), then jump
+ to the step labeled <i>conversion</i>.</li>
<li><p>If the character indicated by <var title="">position</var>
is a U+0065 LATIN SMALL LETTER E character (e) or a U+0045 LATIN
@@ -4372,9 +4376,8 @@
title="">input</var>, then jump to the step labeled
<i>conversion</i>.</li>
- <li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), jump
- back to the step labeled <i>fraction loop</i> in these
+ <li><p>If the character indicated by <var title="">position</var> is an <span title="ASCII
+ digits">ASCII digit</span>, jump back to the step labeled <i>fraction loop</i> in these
substeps.</p></li>
</ol>
@@ -4428,14 +4431,12 @@
</li>
- <li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- then jump to the step labeled <i>conversion</i>.</li>
+ <li><p>If the character indicated by <var title="">position</var> is not an <span title="ASCII
+ digits">ASCII digit</span>, then jump to the step labeled <i>conversion</i>.</li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Multiply <var
- title="">exponent</var> by that integer.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ interpret the resulting sequence as a base-ten integer. Multiply <var title="">exponent</var>
+ by that integer.</p></li>
<li><p>Multiply <var title="">value</var> by ten raised to the
<var title="">exponent</var>th power.</p></li>
@@ -4470,13 +4471,10 @@
<div class="impl">
<h5 id="percentages-and-dimensions">Percentages and lengths</h5>
<!--(percentages are not used in valid html anymore)
- <p>A string is a <dfn>valid dimension value</dfn> if it consists of
- a character in the range U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE
- (9), optionally followed by zero of more characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), optionally followed
- by a U+002E FULL STOP character (.) and one or more characters in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and
- optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
+ <p>A string is a <dfn>valid dimension value</dfn> if it consists of a character in the range
+ U+0031 DIGIT ONE (1) to U+0039 DIGIT NINE (9), optionally followed by zero of more <span>ASCII
+ digits</span>, optionally followed by a U+002E FULL STOP character (.) and one or more <span>ASCII
+ digits</span>, and optionally suffixed by a U+0025 PERCENT SIGN character (%).</p>
<p>A <span>valid dimension value</span> represents the number that
is represented in base ten by that string of digits, optionally with
@@ -4526,10 +4524,9 @@
trailing garbage which we'll ignore, but it's a number, and we
won't return an error. -->
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and interpret the
- resulting sequence as a base-ten integer. Let <var
- title="">value</var> be that number.</li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ interpret the resulting sequence as a base-ten integer. Let <var title="">value</var> be that
+ number.</li>
<li><p>If <var title="">position</var> is past the end of <var
title="">input</var>, return <var title="">value</var> as a
@@ -4545,11 +4542,9 @@
<li><p>Advance <var title="">position</var> to the next
character.</p></li>
- <li><p>If <var title="">position</var> is past the end of <var
- title="">input</var>, or if the character indicated by <var
- title="">position</var> is not one of U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), then return <var title="">value</var> as a
- length.</li>
+ <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, or if the
+ character indicated by <var title="">position</var> is not an <span title="ASCII digits">ASCII
+ digit</span>, then return <var title="">value</var> as a length.</li>
<li><p>Let <var title="">divisor</var> have the value 1.</p></li>
@@ -4569,7 +4564,7 @@
length.</li>
<li><p>If the character indicated by <var title="">position</var>
- is one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), return
+ is an <span title="ASCII digits">ASCII digit</span>, return
to the step labeled <i>fraction loop</i> in these
substeps.</p></li>
@@ -4683,10 +4678,8 @@
</dd>
+ <dt>An <span title="ASCII digits">ASCII digit</span></dt>
- <dt>A character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9)</dt>
-
<dd>
<p>Follow these substeps:</p>
@@ -4954,11 +4947,9 @@
title="">input</var>, set <var title="">unit</var> to
<i>relative</i> and jump to the last substep.</p></li>
- <li><p>If the character at <var title="">position</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), <span>collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), interpret the
- resulting sequence as an integer in base ten, and increment <var
+ <li><p>If the character at <var title="">position</var> is an <span title="ASCII digits">ASCII
+ digit</span>, <span>collect a sequence of characters</span> that are <span>ASCII digits</span>,
+ interpret the resulting sequence as an integer in base ten, and increment <var
title="">value</var> by that integer.</p></li>
<li>
@@ -4968,11 +4959,9 @@
<ol>
- <li><p><span>Collect a sequence of characters</span> consisting
- of <span title="space character">space characters</span> and
- characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9). Let <var title="">s</var> be the resulting
- sequence.</p></li>
+ <li><p><span>Collect a sequence of characters</span> consisting of <span title="space
+ character">space characters</span> and <span>ASCII digits</span>. Let <var title="">s</var>
+ be the resulting sequence.</p></li>
<li><p>Remove all <span title="space character">space
characters</span> in <var title="">s</var>.</p></li>
@@ -5048,10 +5037,8 @@
Gregorian calendar. <a
href="#refsGREGORIAN">[GREGORIAN]</a></p>
- <p>The <dfn title="concept-datetime-digit">digits</dfn> in the date
- and time syntaxes defined in this section must be characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), used to
- express numbers in base ten.</p>
+ <p>When <span>ASCII digits</span> are used in the date and time syntaxes defined in this section,
+ they express numbers in base ten.</p>
<div class="impl">
@@ -5079,17 +5066,13 @@
<ol>
- <li>Four or more <span
- title="concept-datetime-digit">digits</span>, representing <var
- title="">year</var>, where <var
+ <li>Four or more <span>ASCII digits</span>, representing <var title="">year</var>, where <var
title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the month <var title="">month</var>, in the range
- 1 ≤ <var
- title="">month</var> ≤ 12</li>
+ <li>Two <span>ASCII digits</span>, representing the month <var title="">month</var>, in the range
+ 1 ≤ <var title="">month</var> ≤ 12</li>
</ol>
@@ -5129,11 +5112,10 @@
<ol>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">year</var>.</p></li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</p></li>
@@ -5144,11 +5126,10 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">month</var>.</p></li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5181,13 +5162,10 @@
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing <var title="">day</var>, in the range
- 1 ≤ <var title="">day</var> ≤ <var
- title="">maxday</var> where <var title="">maxday</var> is the <span
- title="number of days in month month of year year">number of days
- in the month <var title="">month</var> and year <var
- title="">year</var></span></li>
+ <li>Two <span>ASCII digits</span>, representing <var title="">day</var>, in the range
+ 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var
+ title="">maxday</var> is the <span title="number of days in month month of year year">number of
+ days in the month <var title="">month</var> and year <var title="">year</var></span></li>
</ol>
@@ -5244,11 +5222,10 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">day</var>.</p></li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var
@@ -5276,20 +5253,16 @@
<li>Optionally, two U+002D HYPHEN-MINUS characters (-)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the month <var title="">month</var>, in the range
- 1 ≤ <var
- title="">month</var> ≤ 12</li>
+ <li>Two <span>ASCII digits</span>, representing the month <var title="">month</var>, in the range
+ 1 ≤ <var title="">month</var> ≤ 12</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing <var title="">day</var>, in the range
- 1 ≤ <var title="">day</var> ≤ <var
- title="">maxday</var> where <var title="">maxday</var> is the <span
- title="number of days in month month of year year">number of
- days</span> in the month <var title="">month</var> and any
- arbitrary leap year (e.g. 4 or 2000)</li>
+ <li>Two <span>ASCII digits</span>, representing <var title="">day</var>, in the range
+ 1 ≤ <var title="">day</var> ≤ <var title="">maxday</var> where <var
+ title="">maxday</var> is the <span title="number of days in month month of year year">number of
+ days</span> in the month <var title="">month</var> and any arbitrary leap year (e.g. 4 or
+ 2000)</li>
</ol>
@@ -5337,11 +5310,10 @@
U+002D HYPHEN-MINUS characters (-). If the collected sequence is
not exactly zero or two characters long, then fail.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">month</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">month</var>.</p></li>
<li><p>If <var title="">month</var> is not a number in the range
1 ≤ <var title="">month</var> ≤ 12, then
@@ -5358,11 +5330,10 @@
then fail. Otherwise, move <var title="">position</var> forwards
one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">day</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">day</var>.</p></li>
<li><p>If <var title="">day</var> is not a number in the range
1 ≤ <var title="">day</var> ≤ <var
@@ -5389,14 +5360,12 @@
<ol>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing <var title="">hour</var>, in the range
+ <li>Two <span>ASCII digits</span>, representing <var title="">hour</var>, in the range
0 ≤ <var title="">hour</var> ≤ 23</li>
<li>A U+003A COLON character (:)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing <var title="">minute</var>, in the range
+ <li>Two <span>ASCII digits</span>, representing <var title="">minute</var>, in the range
0 ≤ <var title="">minute</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is
@@ -5406,10 +5375,8 @@
<li>A U+003A COLON character (:)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the integer part of <var title="">second</var>, in
- the range 0 ≤ <var
- title="">s</var> ≤ 59</li>
+ <li>Two <span>ASCII digits</span>, representing the integer part of <var title="">second</var>,
+ in the range 0 ≤ <var title="">s</var> ≤ 59</li>
<li>Optionally (required if <var title="">second</var> is not an
integer):
@@ -5418,9 +5385,8 @@
<li>A 002E FULL STOP character (.)</li>
- <li>One, two, or three <span
- title="concept-datetime-digit">digits</span>, representing the
- fractional part of <var title="">second</var></li>
+ <li>One, two, or three <span>ASCII digits</span>, representing the fractional part of <var
+ title="">second</var></li>
</ol>
@@ -5474,11 +5440,10 @@
<ol>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">hour</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">hour</var>.</p></li>
<li>If <var title="">hour</var> is not a number in the range
0 ≤ <var title="">hour</var> ≤ 23, then
@@ -5490,11 +5455,10 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">minute</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">minute</var>.</p></li>
<li>If <var title="">minute</var> is not a number in the range
0 ≤ <var title="">minute</var> ≤ 59, then
@@ -5515,22 +5479,16 @@
<li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</p></li>
- <li><p>If <var title="">position</var> is beyond the end of <var
- title="">input</var>, or at the last character in <var
- title="">input</var>, or if the next <em>two</em> characters in
- <var title="">input</var> starting at <var
- title="">position</var> are not two characters both in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
- fail.</p></li>
+ <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var>, or at
+ the last character in <var title="">input</var>, or if the next <em>two</em> characters in <var
+ title="">input</var> starting at <var title="">position</var> are not both <span>ASCII
+ digits</span>, then fail.</p></li>
- <li><p><span>Collect a sequence of characters</span> that are
- either characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) or U+002E FULL STOP characters. If the collected
- sequence is three characters long, or if it is longer than three
- characters long and the third character is not a U+002E FULL STOP
- character, or if it has more than one U+002E FULL STOP character,
- then fail. Otherwise, let the collected string be <var
- title="">second</var> instead of its previous value.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are either <span>ASCII digits</span>
+ or U+002E FULL STOP characters. If the collected sequence is three characters long, or if it is
+ longer than three characters long and the third character is not a U+002E FULL STOP character,
+ or if it has more than one U+002E FULL STOP character, then fail. Otherwise, let the collected
+ string be <var title="">second</var> instead of its previous value.</p></li>
</ol>
@@ -5663,16 +5621,14 @@
<!-- the -00:00 offset is disallowed because RFC3339 gives it a
special semantic -->
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the hours component <var title="">hour</var> of
+ <li>Two <span>ASCII digits</span>, representing the hours component <var title="">hour</var> of
the time-zone offset, in the range 0 ≤ <var
title="">hour</var> ≤ 23</li>
<li>Optionally, a U+003A COLON character (:)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the minutes component <var title="">minute</var>
- of the time-zone offset, in the range 0 ≤ <var
+ <li>Two <span>ASCII digits</span>, representing the minutes component <var
+ title="">minute</var> of the time-zone offset, in the range 0 ≤ <var
title="">minute</var> ≤ 59</li>
</ol>
@@ -5766,9 +5722,8 @@
<li><p>Advance <var title="">position</var> to the next character
in <var title="">input</var>.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var
- title="">s</var> be the collected sequence.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. Let
+ <var title="">s</var> be the collected sequence.</p></li>
<li>
@@ -5787,12 +5742,10 @@
fail. Otherwise, move <var title="">position</var> forwards one
character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">timezone<sub
- title="">minutes</sub></var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If
+ the collected sequence is not exactly two characters long, then fail. Otherwise, interpret
+ the resulting sequence as a base-ten integer. Let that number be the <var
+ title="">timezone<sub title="">minutes</sub></var>.</p></li>
</ol>
@@ -6073,20 +6026,16 @@
<ol>
- <li>Four or more <span
- title="concept-datetime-digit">digits</span>, representing <var
- title="">year</var>, where <var
+ <li>Four or more <span>ASCII digits</span>, representing <var title="">year</var>, where <var
title="">year</var> > 0</li>
<li>A U+002D HYPHEN-MINUS character (-)</li>
<li>A U+0057 LATIN CAPITAL LETTER W character (W)</li>
- <li>Two <span title="concept-datetime-digit">digits</span>,
- representing the week <var title="">week</var>, in the range
- 1 ≤ <var title="">week</var> ≤ <var
- title="">maxweek</var>, where <var title="">maxweek</var> is the
- <span>week number of the last day</span> of week-year <var
+ <li>Two <span>ASCII digits</span>, representing the week <var title="">week</var>, in the range
+ 1 ≤ <var title="">week</var> ≤ <var title="">maxweek</var>, where <var
+ title="">maxweek</var> is the <span>week number of the last day</span> of week-year <var
title="">year</var></li>
</ol>
@@ -6107,11 +6056,10 @@
title="">input</var>, initially pointing at the start of the
string.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not at least four characters long, then
- fail. Otherwise, interpret the resulting sequence as a base-ten
- integer. Let that number be the <var title="">year</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not at least four characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">year</var>.</p></li>
<li><p>If <var title="">year</var> is not a number greater than
zero, then fail.</p></li>
@@ -6128,11 +6076,10 @@
character (W), then fail. Otherwise, move <var
title="">position</var> forwards one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). If the collected
- sequence is not exactly two characters long, then fail. Otherwise,
- interpret the resulting sequence as a base-ten integer. Let that
- number be the <var title="">week</var>.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. If the
+ collected sequence is not exactly two characters long, then fail. Otherwise, interpret the
+ resulting sequence as a base-ten integer. Let that number be the <var
+ title="">week</var>.</p></li>
<li><p>Let <var title="">maxweek</var> be the <span>week number of
the last day</span> of year <var title="">year</var>.</p></li>
@@ -6200,21 +6147,15 @@
<ol>
<!--MONTHS:
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+0059
- LATIN CAPITAL LETTER Y character, representing a number of
- years.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+0059 LATIN CAPITAL LETTER Y
+ character, representing a number of years.</p></li>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+004D
- LATIN CAPITAL LETTER M character, representing a number of
- months.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of months.</p></li>
-->
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a U+0044
- LATIN CAPITAL LETTER D character, representing a number of
- days.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+0044 LATIN CAPITAL LETTER D
+ character, representing a number of days.</p></li>
<li>
@@ -6223,15 +6164,11 @@
<ol>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a
- U+0048 LATIN CAPITAL LETTER H character, representing a number
- of hours.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+0048 LATIN CAPITAL LETTER H
+ character, representing a number of hours.</p></li>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span> followed by a
- U+004D LATIN CAPITAL LETTER M character, representing a number
- of minutes.</p></li>
+ <li><p>One or more <span>ASCII digits</span> followed by a U+004D LATIN CAPITAL LETTER M
+ character, representing a number of minutes.</p></li>
<li>
@@ -6239,14 +6176,10 @@
<ol>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span>, representing a
- number of seconds.</p></li>
+ <li><p>One or more <span>ASCII digits</span>, representing a number of seconds.</p></li>
- <li><p>Optionally, a U+002E FULL STOP character (.) followed
- by one, two, or three <span
- title="concept-datetime-digit">digits</span>, representing a
- fraction of a second.</p></li>
+ <li><p>Optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <span>ASCII digits</span>, representing a fraction of a second.</p></li>
<li><p>A U+0053 LATIN CAPITAL LETTER S character.</p></li>
@@ -6283,17 +6216,13 @@
<li><p>Zero or more <span title="space character">space
characters</span>.</p></li>
- <li><p>One or more <span
- title="concept-datetime-digit">digits</span>, representing a
- number of time units, scaled by the <span>duration time component
- scale</span> specified (see below) to represent a number of
+ <li><p>One or more <span>ASCII digits</span>, representing a number of time units, scaled by
+ the <span>duration time component scale</span> specified (see below) to represent a number of
seconds.</p></li>
- <li><p>If the <span>duration time component scale</span>
- specified is 1 (i.e. the units are seconds), then, optionally, a
- U+002E FULL STOP character (.) followed by one, two, or three <span
- title="concept-datetime-digit">digits</span>, representing a
- fraction of a second.</p></li>
+ <li><p>If the <span>duration time component scale</span> specified is 1 (i.e. the units are
+ seconds), then, optionally, a U+002E FULL STOP character (.) followed by one, two, or three
+ <span>ASCII digits</span>, representing a fraction of a second.</p></li>
<li><p>Zero or more <span title="space character">space
characters</span>.</p></li>
@@ -6435,12 +6364,10 @@
not advance <var title="">position</var>. That is taken care of
below.)</p>
- <p>Otherwise, if <var title="">next character</var> is a
- character in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), then <span>collect a sequence of characters</span> in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- interpret the resulting sequence as a base-ten integer, and let
- <var title="">N</var> be that number.</p>
+ <p>Otherwise, if <var title="">next character</var> is an <span title="ASCII digits">ASCII
+ digit</span>, then <span>collect a sequence of characters</span> that are <span>ASCII
+ digits</span>, interpret the resulting sequence as a base-ten integer, and let <var
+ title="">N</var> be that number.</p>
<p>Otherwise <var title="">next character</var> is not part of a
number; fail.</p>
@@ -6464,8 +6391,7 @@
<ol>
- <li><p><span>Collect a sequence of characters</span> in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9). Let <var
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>. Let <var
title="">s</var> be the resulting sequence.</p></li>
<li><p>If <var title="">s</var> is the empty string, then
@@ -6761,15 +6687,11 @@
the color respectively, in the sRGB color space. <a
href="#refsSRGB">[SRGB]</a></p>
- <p>A string is a <dfn>valid simple color</dfn> if it is exactly
- seven characters long, and the first character is a U+0023 NUMBER
- SIGN character (#), and the remaining six characters are all in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, with the first two
- digits representing the red component, the middle two digits
- representing the green component, and the last two digits
- representing the blue component, in hexadecimal.</p>
+ <p>A string is a <dfn>valid simple color</dfn> if it is exactly seven characters long, and the
+ first character is a U+0023 NUMBER SIGN character (#), and the remaining six characters are all
+ <span>ASCII hex digits</span>, with the first two digits representing the red component, the
+ middle two digits representing the green component, and the last two digits representing the blue
+ component, in hexadecimal.</p>
<p>A string is a <dfn>valid lowercase simple color</dfn> if it is a
<span>valid simple color</span> and doesn't use any characters in
@@ -6795,11 +6717,8 @@
<li><p>If the first character in <var title="">input</var> is not a
U+0023 NUMBER SIGN character (#), then return an error.</p></li>
- <li><p>If the last six characters of <var title="">input</var> are
- not all in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
- (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER
- F, U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, then
- return an error.</p></li>
+ <li><p>If the last six characters of <var title="">input</var> are not all <span>ASCII hex
+ digits</span>, then return an error.</p></li>
<li><p>Let <var title="">result</var> be a <span>simple
color</span>.</p>
@@ -6829,12 +6748,9 @@
<li><p>Let <var title="">result</var> be a string consisting of a
single U+0023 NUMBER SIGN character (#).</p></li>
- <li><p>Convert the red, green, and blue components in turn to
- two-digit hexadecimal numbers using the digits U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9) and U+0061 LATIN SMALL LETTER A
- to U+0066 LATIN SMALL LETTER F, zero-padding if necessary, and
- append these numbers to <var title="">result</var>, in the order
- red, green, blue.</p>
+ <li><p>Convert the red, green, and blue components in turn to two-digit hexadecimal numbers using
+ <span>lowercase ASCII hex digits</span>, zero-padding if necessary, and append these numbers to
+ <var title="">result</var>, in the order red, green, blue.</p>
<li><p>Return <var title="">result</var>, which will be a
<span>valid lowercase simple color</span>.</p></li>
@@ -6884,13 +6800,9 @@
<li>
- <p>If <var title="">input</var> is four characters long, and the
- first character in <var title="">input</var> is a U+0023 NUMBER
- SIGN character (#), and the last three characters of <var
- title="">input</var> are all in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046
- LATIN CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F, then run these substeps:</p>
+ <p>If <var title="">input</var> is four characters long, and the first character in <var
+ title="">input</var> is a U+0023 NUMBER SIGN character (#), and the last three characters of
+ <var title="">input</var> are all <span>ASCII hex digits</span>, then run these substeps:</p>
<ol>
@@ -6930,11 +6842,8 @@
<li><p>If the first character in <var title="">input</var> is a
U+0023 NUMBER SIGN character (#), remove it.</p></li>
- <li><p>Replace any character in <var title="">input</var> that is
- not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F, and
- U+0061 LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F with the
- character U+0030 DIGIT ZERO (0).</p></li>
+ <li><p>Replace any character in <var title="">input</var> that is not an <span title="ASCII hex
+ digits">ASCII hex digit</span> with the character U+0030 DIGIT ZERO (0).</p></li>
<li><p>While <var title="">input</var>'s length is zero or not a
multiple of three, append a U+0030 DIGIT ZERO (0) character to <var
@@ -8106,7 +8015,7 @@
<td><span title="concept-uda-input">input</span> is an <span>authority-based URL</span>, and contained a <span title="url-port"><port></span> component (possibly an empty one)
<td>—
<td>—
- <td>Remove all characters in the new value from the first that is not in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), if any.
+ <td>Remove all characters in the new value from the first that is not an <span title="ASCII digits">ASCII digit</span>, if any.
Remove any leading U+0030 DIGIT ZERO characters (0) in the new value.
If the resulting string is empty, set it to a single U+0030 DIGIT ZERO character (0).
<td><span title="concept-uda-input">input</span> is an <span>authority-based URL</span>,
@@ -10677,13 +10586,10 @@
</ol>
- <p>All the numeric components above, other than the year, must be
- given as two digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary. The year must be given as the shortest possible string of
- four or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9) representing the number in base ten, zero-padded if
- necessary.</p>
+ <p>All the numeric components above, other than the year, must be given as two <span>ASCII
+ digits</span> representing the number in base ten, zero-padded if necessary. The year must be
+ given as the shortest possible string of four or more <span>ASCII digits</span> representing the
+ number in base ten, zero-padded if necessary.</p>
<p>The <code>Document</code>'s source file's last modification date
and time must be derived from relevant features of the networking
@@ -12619,8 +12525,7 @@
namespace whose name starts with the string "<dfn
title="attr-data-*"><code>data-</code></dfn>", has at least one
character after the hyphen, is <span>XML-compatible</span>, and
- contains no characters in the range U+0041 to U+005A (LATIN CAPITAL
- LETTER A to LATIN CAPITAL LETTER Z).</p>
+ contains no <span>uppercase ASCII letters</span>.</p>
<p class="note">All attribute names on <span>HTML elements</span> in
<span>HTML documents</span> get ASCII-lowercased automatically, so
@@ -12701,20 +12606,15 @@
<li>For each content attribute on the element whose first five
characters are the string "<code title="">data-</code>" and whose
- remaining characters (if any) do not include any characters in
- the range U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN
- CAPITAL LETTER Z), add a name-value pair to <var
+ remaining characters (if any) do not include any <span>uppercase ASCII letters</span>, add a name-value pair to <var
title="">list</var> whose name is the attribute's name with the
first five characters removed and whose value is the attribute's
value.</li>
- <li>For each name <var title="">list</var>, for each U+002D
- HYPHEN-MINUS character (-) in the name that is followed by a
- character in the range U+0061 to U+007A (U+0061 LATIN SMALL
- LETTER A to U+007A LATIN SMALL LETTER Z), remove the U+002D
- HYPHEN-MINUS character (-) and replace the character that
- followed it by the same character <span>converted to ASCII
- uppercase</span>.</li>
+ <li>For each name <var title="">list</var>, for each U+002D HYPHEN-MINUS character (-) in the
+ name that is followed by a <span title="lowercase ASCII letters">lowercase ASCII letter</span>,
+ remove the U+002D HYPHEN-MINUS character (-) and replace the character that followed it by the
+ same character <span>converted to ASCII uppercase</span>.</li>
<li>Return <var title="">list</var>.</li>
@@ -12732,14 +12632,11 @@
<li>Let <var title="">value</var> be the value passed to the
algorithm.</li>
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code>SyntaxError</code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
+ <code>SyntaxError</code> exception and abort these steps.</li>
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var
+ <li>For each <span title="uppercase ASCII letters">uppercase ASCII letter</span> in <var
title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <span>converted to ASCII lowercase</span>.</li>
@@ -12766,14 +12663,11 @@
<li>Let <var title="">name</var> be the name passed to the
algorithm.</li>
<!--(can't happen while the DOMStringMap deleter has no name)
- <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS
- character (-) followed by a character in the range U+0061 to
- U+007A (U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z), throw a <code>SyntaxError</code> exception and abort these
- steps.</li>
+ <li>If <var title="">name</var> contains a U+002D HYPHEN-MINUS character (-) followed by a
+ <span title="lowercase ASCII letters">lowercase ASCII letter</span>, throw a
+ <code>SyntaxError</code> exception and abort these steps.</li>
-->
- <li>For each character in the range U+0041 to U+005A (U+0041
- LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z) in <var
+ <li>For each <span title="uppercase ASCII letters">uppercase ASCII letter</span> in <var
title="">name</var>, insert a U+002D HYPHEN-MINUS character (-)
before the character and replace the character with the same
character <span>converted to ASCII lowercase</span>.</li>
@@ -16682,8 +16576,7 @@
<li><p><span>Skip whitespace</span>.</p></li>
- <li><p><span title="collect a sequence of characters">Collect a
- sequence of characters</span> that are not<!--neither--> <span
+ <li><p><span>Collect a sequence of characters</span> that are not<!--neither--> <span
title="space character">space characters</span><!-- nor a U+002C
COMMA character (,)-->.</p></li>
@@ -16797,18 +16690,13 @@
<li><p><span>Skip whitespace</span>.</p></li>
- <li><p><span title="collect a sequence of characters">Collect a
- sequence of characters</span> in the range U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9), and parse the resulting string using
- the <span>rules for parsing non-negative integers</span>. If the
- sequence of characters collected is the empty string, then no
- number will have been parsed; abort these steps. Otherwise, let
- <var title="">time</var> be the parsed number.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ parse the resulting string using the <span>rules for parsing non-negative integers</span>. If
+ the sequence of characters collected is the empty string, then no number will have been parsed;
+ abort these steps. Otherwise, let <var title="">time</var> be the parsed number.</p></li>
- <li><p><span title="collect a sequence of characters">Collect a
- sequence of characters</span> in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) and U+002E FULL STOP (.). Ignore any collected
- characters.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span> and
+ U+002E FULL STOP characters (.). Ignore any collected characters.</p></li>
<li><p><span>Skip whitespace</span>.</p></li>
@@ -22796,10 +22684,9 @@
Otherwise, let <var title="">x</var> and <var title="">y</var> be zero.</li>
<li>Let the <dfn><var>hyperlink suffix</var></dfn> be a U+003F QUESTION MARK character, the
- value of <var title="">x</var> expressed as a base-ten integer using ASCII digits, a U+002C
- COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten integer
- using ASCII digits. ASCII digits are the characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ value of <var title="">x</var> expressed as a base-ten integer using <span>ASCII digits</span>,
+ a U+002C COMMA character (,), and the value of <var title="">y</var> expressed as a base-ten
+ integer using <span>ASCII digits</span>.</li>
</ol>
@@ -23843,7 +23730,7 @@
</dd>
- <dt>Four or more <span title="concept-datetime-digit">digits</span>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
+ <dt>Four or more <span>ASCII digits</span>, at least one of which is not U+0030 DIGIT ZERO (0)</dt>
<dd>
@@ -23918,12 +23805,9 @@
returns a <span title="concept-week">week</span>, that is the
machine-readable equivalent; abort these steps.</p></li>
- <li><p>If the element's <span>datetime value</span> consists of
- only characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), at least one of which is not U+0030 DIGIT ZERO (0),
- then the machine-readable equivalent is the base-ten
- interpretation of those digits, representing a year; abort these
- steps.</p></li>
+ <li><p>If the element's <span>datetime value</span> consists of only <span>ASCII digits</span>,
+ at least one of which is not U+0030 DIGIT ZERO (0), then the machine-readable equivalent is the
+ base-ten interpretation of those digits, representing a year; abort these steps.</p></li>
<li><p>If <span title="parse a duration string">parsing a duration
string</span> from the element's <span>datetime value</span>
@@ -29496,8 +29380,7 @@
title="attr-embed-vspace">vspace</code> <!-- when editing, see also
note below --> may be specified on the <code>embed</code> element,
so long as its name is <span>XML-compatible</span> and contains no
- characters in the range U+0041 to U+005A (LATIN CAPITAL LETTER A to
- LATIN CAPITAL LETTER Z). These attributes are then passed as
+ <span>uppercase ASCII letters</span>. These attributes are then passed as
parameters to the <span>plugin</span>.</p>
<p class="note">All attributes in <span>HTML documents</span> get
@@ -37481,9 +37364,7 @@
track dispatch type</span> must be set to the concatenation of
the <var title="">stream type</var> byte and the zero or more
<var title="">descriptor bytes</var> bytes, expressed in
- hexadecimal using characters in the ranges U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) and U+0041 LATIN CAPITAL LETTER A to
- U+0046 LATIN CAPITAL LETTER F.
+ hexadecimal using <span>uppercase ASCII hex digits</span>.
<a href="#refsMPEG2">[MPEG2]</a>
</dd>
@@ -39571,9 +39452,8 @@
<ol>
- <li>Two or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), representing the <var title="">hours</var>
- as a base ten integer.</li>
+ <li>Two or more <span>ASCII digits</span>, representing the <var title="">hours</var> as a base
+ ten integer.</li>
<li>A U+003A COLON character (:)</li>
@@ -39581,22 +39461,17 @@
</li>
- <li>Two characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), representing the <var title="">minutes</var> as a
- base ten integer in the range 0 ≤ <var
- title="">minutes</var> ≤ 59.</li>
+ <li>Two <span>ASCII digits</span>, representing the <var title="">minutes</var> as a base ten
+ integer in the range 0 ≤ <var title="">minutes</var> ≤ 59.</li>
<li>A U+003A COLON character (:)</li>
- <li>Two characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), representing the <var title="">seconds</var> as a
- base ten integer in the range 0 ≤ <var
- title="">seconds</var> ≤ 59.</li>
+ <li>Two <span>ASCII digits</span>, representing the <var title="">seconds</var> as a base ten
+ integer in the range 0 ≤ <var title="">seconds</var> ≤ 59.</li>
<li>A U+002E FULL STOP character (.).</li>
- <li>Three characters in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), representing the thousandths of a second <var
+ <li>Three <span>ASCII digits</span>, representing the thousandths of a second <var
title="">seconds-frac</var> as a base ten integer.</li>
</ol>
@@ -39646,7 +39521,7 @@
<dt>To represent a specific position relative to the video frame</dt>
<dd>
<ol>
- <li>One or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>A U+0025 PERCENT SIGN character (%).</li>
</ol>
</dd>
@@ -39654,7 +39529,7 @@
<dd>
<ol>
<li>Optionally a U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
</ol>
</dd>
</dl>
@@ -39676,7 +39551,7 @@
<ol>
<li><p>The string "<code title="">position</code>".</p></li>
<li>A U+003A COLON character (:).</li>
- <li>One or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>A U+0025 PERCENT SIGN character (%).</li>
</ol>
@@ -39694,7 +39569,7 @@
<ol>
<li><p>The string "<code title="">size</code>".</p></li>
<li>A U+003A COLON character (:).</li>
- <li>One or more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>A U+0025 PERCENT SIGN character (%).</li>
</ol>
@@ -40385,16 +40260,12 @@
<ol>
- <li><p>If <var title="">value</var> contains any characters
- other than U+002D HYPHEN-MINUS characters (-), U+0025 PERCENT
- SIGN characters (%), and characters in the range U+0030 DIGIT
- ZERO (0) to U+0039 DIGIT NINE (9), then jump to the step
- labeled <i>next setting</i>.</p></li>
+ <li><p>If <var title="">value</var> contains any characters other than U+002D HYPHEN-MINUS
+ characters (-), U+0025 PERCENT SIGN characters (%), and <span>ASCII digits</span>, then
+ jump to the step labeled <i>next setting</i>.</p></li>
- <li><p>If <var title="">value</var> does not contain at least
- one character in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), then jump to the step labeled <i>next
- setting</i>.</p></li>
+ <li><p>If <var title="">value</var> does not contain at least one <span title="ASCII
+ digits">ASCII digit</span>, then jump to the step labeled <i>next setting</i>.</p></li>
<li><p>If any character in <var title="">value</var> other
than the first character is a U+002D HYPHEN-MINUS character
@@ -40441,16 +40312,13 @@
<ol>
- <li><p>If <var title="">value</var> contains any characters
- other than U+0025 PERCENT SIGN characters (%) and characters
- in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- then jump to the step labeled <i>next setting</i>.</p></li>
-
- <li><p>If <var title="">value</var> does not contain at least
- one character in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), then jump to the step labeled <i>next
+ <li><p>If <var title="">value</var> contains any characters other than U+0025 PERCENT SIGN
+ characters (%) and <span>ASCII digits</span>, then jump to the step labeled <i>next
setting</i>.</p></li>
+ <li><p>If <var title="">value</var> does not contain at least one <span title="ASCII
+ digits">ASCII digit</span>, then jump to the step labeled <i>next setting</i>.</p></li>
+
<li><p>If any character in <var title="">value</var> other
than the last character is a U+0025 PERCENT SIGN character
(%), then jump to the step labeled <i>next
@@ -40482,16 +40350,13 @@
<ol>
- <li><p>If <var title="">value</var> contains any characters
- other than U+0025 PERCENT SIGN characters (%) and characters
- in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9),
- then jump to the step labeled <i>next setting</i>.</p></li>
-
- <li><p>If <var title="">value</var> does not contain at least
- one character in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), then jump to the step labeled <i>next
+ <li><p>If <var title="">value</var> contains any characters other than U+0025 PERCENT SIGN
+ characters (%) and <span>ASCII digits</span>, then jump to the step labeled <i>next
setting</i>.</p></li>
+ <li><p>If <var title="">value</var> does not contain at least one <span title="ASCII
+ digits">ASCII digit</span>, then jump to the step labeled <i>next setting</i>.</p></li>
+
<li><p>If any character in <var title="">value</var> other
than the last character is a U+0025 PERCENT SIGN character
(%), then jump to the step labeled <i>next
@@ -40589,12 +40454,11 @@
steps.</p></li>
<li><p>If the character indicated by <var title="">position</var>
- is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+ is not an <span title="ASCII digits">ASCII digit</span>, then
return an error and abort these steps.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
- title="">string</var> be the collected substring.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and let
+ <var title="">string</var> be the collected substring.</p></li>
<li><p>Interpret <var title="">string</var> as a base-ten
integer. Let <var title="">value<sub>1</sub></var> be that
@@ -40611,9 +40475,8 @@
return an error and abort these steps. Otherwise, move <var
title="">position</var> forwards one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
- title="">string</var> be the collected substring.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and let
+ <var title="">string</var> be the collected substring.</p></li>
<li><p>If <var title="">string</var> is not exactly two characters
in length, return an error and abort these steps.</p></li>
@@ -40638,9 +40501,8 @@
return an error and abort these steps. Otherwise, move <var
title="">position</var> forwards one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
- title="">string</var> be the collected substring.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and
+ let <var title="">string</var> be the collected substring.</p></li>
<li><p>If <var title="">string</var> is not exactly two
characters in length, return an error and abort these
@@ -40670,9 +40532,8 @@
then return an error and abort these steps. Otherwise, move <var
title="">position</var> forwards one character.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
- title="">string</var> be the collected substring.</p></li>
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and let
+ <var title="">string</var> be the collected substring.</p></li>
<li><p>If <var title="">string</var> is not exactly three
characters in length, return an error and abort these
@@ -41142,9 +41003,7 @@
<i>next</i>.</p>
</dd>
- <dt>Characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)</dt>
- <dt>Characters in the range U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z</dt>
- <dt>Characters in the range U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span>Alphanumeric ASCII characters</span></dt>
<dd>
<p>Append <var title="">c</var> to <var title="">buffer</var>
and jump to the step labeled <i>next</i>.</p>
@@ -41245,7 +41104,7 @@
<i>next</i>.</p>
</dd>
- <dt>Characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)</dt>
+ <dt><span>ASCII digits</span></dt>
<dd>
<p>Set <var title="">result</var> to <var title="">c</var>,
set <var title="">tokenizer state</var> to the <span>WebVTT
@@ -45611,32 +45470,24 @@
therefore only useful for assigning to other attributes or for
comparison to other gradients or patterns.)</p>
- <p>The <dfn>serialization of a color</dfn> for a color value is a
- string, computed as follows: if it has alpha equal to 1.0, then the
- string is a lowercase six-digit hex value, prefixed with a "#"
- character (U+0023 NUMBER SIGN), with the first two digits
- representing the red component, the next two digits representing the
- green component, and the last two digits representing the blue
- component, the digits being in the range 0-9 a-f (U+0030 to U+0039
- and U+0061 to U+0066). Otherwise, the color value has alpha less
- than 1.0, and the string is the color value in the CSS <code
- title="">rgba()</code> functional-notation format: the literal
- string <code title="">rgba</code> (U+0072 U+0067 U+0062 U+0061)
- followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the
- range 0-255 representing the red component (using digits 0-9, U+0030
- to U+0039, in the shortest form possible), a literal U+002C COMMA
- and U+0020 SPACE, an integer for the green component, a comma and a
- space, an integer for the blue component, another comma and space, a
- U+0030 DIGIT ZERO, if the alpha value is greater than zero then a
- U+002E FULL STOP (representing the decimal point), if the alpha
- value is greater than zero then one or more digits in the range 0-9
- (U+0030 to U+0039) representing the fractional part of the alpha<!--
- value with no trailing zeros (implied by next sentence)-->, and
- finally a U+0029 RIGHT PARENTHESIS. User agents must express the
- fractional part of the alpha value, if any, with the level of
- precision necessary for the alpha value, when reparsed, to be
- interpreted as the same alpha value.</p> <!-- if people complain
- this is unreadable, expand it into a <dl> with two nested <ol>s -->
+ <p>The <dfn>serialization of a color</dfn> for a color value is a string, computed as follows: if
+ it has alpha equal to 1.0, then the string is a lowercase six-digit hex value, prefixed with a "#"
+ character (U+0023 NUMBER SIGN), with the first two digits representing the red component, the next
+ two digits representing the green component, and the last two digits representing the blue
+ component, the digits being <span>lowercase ASCII hex digits</span>. Otherwise, the color value
+ has alpha less than 1.0, and the string is the color value in the CSS <code title="">rgba()</code>
+ functional-notation format: the literal string <code title="">rgba</code> (U+0072 U+0067 U+0062
+ U+0061) followed by a U+0028 LEFT PARENTHESIS, a base-ten integer in the range 0-255 representing
+ the red component (using <span>ASCII digits</span> in the shortest form possible), a literal
+ U+002C COMMA and U+0020 SPACE, an integer for the green component, a comma and a space, an integer
+ for the blue component, another comma and space, a U+0030 DIGIT ZERO, if the alpha value is
+ greater than zero then a U+002E FULL STOP (representing the decimal point), if the alpha value is
+ greater than zero then one or more <span>ASCII digits</span> representing the fractional part of
+ the alpha<!-- value with no trailing zeros (implied by next sentence)-->, and finally a U+0029
+ RIGHT PARENTHESIS. User agents must express the fractional part of the alpha value, if any, with
+ the level of precision necessary for the alpha value, when reparsed, to be interpreted as the same
+ alpha value.</p> <!-- if people complain this is unreadable, expand it into a <dl> with two nested
+ <ol>s -->
<p>When the context is created, the <code
title="dom-context-2d-fillStyle">fillStyle</code> and <code
@@ -67746,19 +67597,15 @@
<p>If there isn't one, do nothing. Otherwise, proceed as
follows:</p>
- <p>If <var title="">submitter</var> is an <code>input</code>
- element whose <code title="attr-input-type">type</code>
- attribute is in the <span title="attr-input-type-image">Image
- Button</span> state, then let <var title="">result</var> be the
- string formed by concatenating the <span
- title="concept-input-type-image-coordinate">selected
- coordinate</span>'s <var title="">x</var>-component, expressed
- as a base-ten number using the characters U+0030 DIGIT ZERO (0)
- to U+0039 DIGIT NINE (9) to represent the digits 0 to 9, a
- U+002C COMMA character (,), and the <span
- title="concept-input-type-image-coordinate">selected
- coordinate</span>'s <var title="">y</var>-component, expressed
- in the same way as the <var title="">x</var>-component.</p>
+ <p>If <var title="">submitter</var> is an <code>input</code> element whose <code
+ title="attr-input-type">type</code> attribute is in the <span
+ title="attr-input-type-image">Image Button</span> state, then let <var title="">result</var>
+ be the string formed by concatenating the <span
+ title="concept-input-type-image-coordinate">selected coordinate</span>'s <var
+ title="">x</var>-component, expressed as a base-ten number using <span>ASCII digits</span>, a
+ U+002C COMMA character (,), and the <span title="concept-input-type-image-coordinate">selected
+ coordinate</span>'s <var title="">y</var>-component, expressed in the same way as the <var
+ title="">x</var>-component.</p>
<p>Otherwise, if <var title="">submitter</var> has a <span
title="concept-fe-value">value</span>, then let <var
@@ -68156,8 +68003,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <span>ASCII digits</span> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</p></li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -68200,12 +68046,9 @@
<ol>
- <li><p>Let <var title="">s</var> be a string consisting of a
- U+0025 PERCENT SIGN character (%) followed by two characters
- in the ranges U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- and U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL
- LETTER F representing the hexadecimal value of the byte in
- question (zero-padded if necessary).</p></li>
+ <li><p>Let <var title="">s</var> be a string consisting of a U+0025 PERCENT SIGN character
+ (%) followed by <span>uppercase ASCII hex digits</span> representing the hexadecimal value
+ of the byte in question (zero-padded if necessary).</p></li>
<li><p>Encode the string <var title="">s</var> as US-ASCII,
so that it is now a byte string.</p>
@@ -68338,10 +68181,7 @@
escape. This replacement most not be recursive.</p>
<p>An escape is a U+0025 PERCENT SIGN character (%) followed by
- two characters in the ranges U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+0046 LATIN
- CAPITAL LETTER F, and U+0061 LATIN SMALL LETTER A to U+0066
- LATIN SMALL LETTER F.</p>
+ two <span>ASCII hex digits</span>.</p>
<p>The character represented by an escape is the Unicode
character whose code point is equal to the value of the two
@@ -68457,8 +68297,7 @@
cannot be expressed using the selected character encoding,
replace the character by a string consisting of a U+0026
AMPERSAND character (&), a U+0023 NUMBER SIGN character (#),
- one or more characters in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9) representing the Unicode code point of the
+ one or more <span>ASCII digits</span> representing the Unicode code point of the
character in base ten, and finally a U+003B SEMICOLON character
(;).</p></li><!-- we should say it should be the shortest
possible string, no leading zeros. this whole step is asinine,
@@ -72154,8 +71993,7 @@
<li><p>If either <var title="">width string</var> or <var
title="">height string</var> start with a U+0030 DIGIT ZERO (0)
- character or contain any characters other than characters in the
- range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then this
+ character or contain any characters other than <span>ASCII digits</span>, then this
keyword doesn't represent anything. Abort these steps for that
keyword.</p></li>
@@ -76213,24 +76051,20 @@
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <span>ASCII digits</span>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <span>ASCII digits</span>.</li>
</ol>
@@ -77612,24 +77446,20 @@
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <span>ASCII digits</span>.</li>
<li>A U+003B SEMICOLON character (;).</li>
<li>Optionally, either a U+002B PLUS SIGN character (+) or a
U+002D HYPHEN-MINUS character (-).</li>
- <li>One or more digits in the range U+0030 DIGIT ZERO (0) to U+0039
- DIGIT NINE (9).</li>
+ <li>One or more <span>ASCII digits</span>.</li>
<li>Optionally*, a U+002E FULL STOP character (.) followed by one
- or more digits in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9).</li>
+ or more <span>ASCII digits</span>.</li>
</ol>
@@ -89001,9 +88831,7 @@
<ul class="brief">
<li>U+002B PLUS SIGN (+)
<li>U+002F SOLIDUS (/)
- <li>U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9)
- <li>U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER Z
- <li>U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER Z
+ <li><span>Alphanumeric ASCII characters</span>
</ul>
</li>
@@ -90374,14 +90202,11 @@
(as in "<code>mailto:</code>"), will never match anything, since
schemes don't contain colons.</p>
- <p>If the <code
- title="dom-navigator-registerProtocolHandler">registerProtocolHandler()</code>
- method is invoked with a scheme that is neither a
- <span>whitelisted scheme</span> nor a scheme whose value starts
- with the substring "<code title="">web+</code>" and otherwise
- contains only characters in the range U+0061 LATIN SMALL LETTER A
- to U+007A LATIN SMALL LETTER Z, the user agent must throw a
- <code>SecurityError</code> exception.</p>
+ <p>If the <code title="dom-navigator-registerProtocolHandler">registerProtocolHandler()</code>
+ method is invoked with a scheme that is neither a <span>whitelisted scheme</span> nor a scheme
+ whose value starts with the substring "<code title="">web+</code>" and otherwise contains only
+ <span>lowercase ASCII characters</span>, the user agent must throw a <code>SecurityError</code>
+ exception.</p>
<p>The following schemes are the <dfn title="whitelisted
scheme">whitelisted schemes</dfn>:</p>
@@ -98256,8 +98081,7 @@
<dt>If the field name is "retry"</dt>
- <dd><p>If the field value consists of only characters in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then interpret the
+ <dd><p>If the field value consists of only <span>ASCII digits</span>, then interpret the
field value as an integer in base ten, and set the event stream's
<span title="concept-event-stream-reconnection-time">reconnection
time</span> to that integer. Otherwise, ignore the field.</p></dd>
@@ -101774,12 +101598,10 @@
</div>
- <p>Many strings in the HTML syntax (e.g. the names of elements and
- their attributes) are case-insensitive, but only for characters in
- the ranges U+0041 to U+005A (LATIN CAPITAL LETTER A to LATIN CAPITAL
- LETTER Z) and U+0061 to U+007A (LATIN SMALL LETTER A to LATIN SMALL
- LETTER Z). For convenience, in this section this is just referred to
- as "case-insensitive".</p>
+ <p>Many strings in the HTML syntax (e.g. the names of elements and their attributes) are
+ case-insensitive, but only for <span>uppercase ASCII letters</span> and <span>lowercase ASCII
+ letters</span>. For convenience, in this section this is just referred to as
+ "case-insensitive".</p>
<h4>The DOCTYPE</h4>
@@ -102031,15 +101853,11 @@
the content model and those described in this paragraph. Those
restrictions are described below.</p>
- <p>Tags contain a <dfn title="syntax-tag-name">tag name</dfn>,
- giving the element's name. HTML elements all have names that only
- use characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL LETTER
- Z. In the HTML syntax, tag names, even those for <span>foreign
- elements</span>, may be written with any mix of lower- and uppercase
- letters that, when converted to all-lowercase, matches the element's
- tag name; tag names are case-insensitive.</p>
+ <p>Tags contain a <dfn title="syntax-tag-name">tag name</dfn>, giving the element's name. HTML
+ elements all have names that only use <span>alphanumeric ASCII characters</span>. In the HTML
+ syntax, tag names, even those for <span>foreign elements</span>, may be written with any mix of
+ lower- and uppercase letters that, when converted to all-lowercase, matches the element's tag
+ name; tag names are case-insensitive.</p>
<h5>Start tags</h5>
@@ -102609,27 +102427,20 @@
<dt>Decimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), followed by one or more digits in the range U+0030
- DIGIT ZERO (0) to U+0039 DIGIT NINE (9), representing a base-ten
- integer that corresponds to a Unicode code point that is allowed
- according to the definition below. The digits must then be followed
- by a U+003B SEMICOLON character (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), followed by one or more
+ <span>ASCII digits</span>, representing a base-ten integer that corresponds to a Unicode code
+ point that is allowed according to the definition below. The digits must then be followed by a
+ U+003B SEMICOLON character (;).</dd>
<dt>Hexadecimal numeric character reference</dt>
- <dd>The ampersand must be followed by a U+0023 NUMBER SIGN
- character (#), which must be followed by either a U+0078 LATIN
- SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
- character (X), which must then be followed by one or more digits in
- the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061
- LATIN SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041
- LATIN CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F,
- representing a base-sixteen integer that corresponds to a Unicode
- code point that is allowed according to the definition below. The
- digits must then be followed by a U+003B SEMICOLON character
- (;).</dd>
+ <dd>The ampersand must be followed by a U+0023 NUMBER SIGN character (#), which must be followed
+ by either a U+0078 LATIN SMALL LETTER X character (x) or a U+0058 LATIN CAPITAL LETTER X
+ character (X), which must then be followed by one or more <span>ASCII hex digits</span>,
+ representing a base-sixteen integer that corresponds to a Unicode code point that is allowed
+ according to the definition below. The digits must then be followed by a U+003B SEMICOLON
+ character (;).</dd>
</dl>
@@ -102639,14 +102450,10 @@
control characters other than <span title="space character">space
characters</span>.</p>
- <p>An <dfn title="syntax-ambiguous-ampersand">ambiguous
- ampersand</dfn> is a U+0026 AMPERSAND character (&) that is
- followed by one or more characters in the range U+0030 DIGIT ZERO
- (0) to U+0039 DIGIT NINE (9), U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, and U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, followed by a U+003B SEMICOLON character
- (;), where these characters do not match any of the names given in
- the <span>named character references</span> section.</p>
+ <p>An <dfn title="syntax-ambiguous-ampersand">ambiguous ampersand</dfn> is a U+0026 AMPERSAND
+ character (&) that is followed by one or more <span>alphanumeric ASCII characters</span>,
+ followed by a U+003B SEMICOLON character (;), where these characters do not match any of the names
+ given in the <span>named character references</span> section.</p>
<h4>CDATA sections</h4>
@@ -104624,14 +104431,14 @@
<dt>U+002F SOLIDUS (/)</dt>
<dd>Switch to the <span>end tag open state</span>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new start tag token, set its tag name to the
lowercase version of the <span>current input character</span> (add 0x0020 to the
character's code point), then switch to the <span>tag name
state</span>. (Don't emit the token yet; further details will
be filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new start tag token, set its tag name to the
<span>current input character</span>, then switch to the <span>tag
name state</span>. (Don't emit the token yet; further details will
@@ -104654,14 +104461,14 @@
<dl class="switch">
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new end tag token, set its tag name to the lowercase
version of the <span>current input character</span> (add 0x0020 to
the character's code point), then switch to the <span>tag name
state</span>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new end tag token, set its tag name to the
<span>current input character</span>, then switch to the <span>tag
name state</span>. (Don't emit the token yet; further details will
@@ -104703,7 +104510,7 @@
<dd>Switch to the <span>data state</span>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current tag token's tag name.</dd>
@@ -104749,7 +104556,7 @@
<dl class="switch">
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <span>current input character</span> (add
0x0020 to the character's code point). Append the <span>current
@@ -104758,7 +104565,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
<span>current input character</span>. Append the <span>current
input character</span> to the <var>temporary buffer</var>. Finally,
@@ -104803,13 +104610,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the current
tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
@@ -104850,7 +104657,7 @@
<dl class="switch">
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <span>current input character</span> (add
0x0020 to the character's code point). Append the <span>current
@@ -104859,7 +104666,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
<span>current input character</span>. Append the <span>current
input character</span> to the <var>temporary buffer</var>. Finally,
@@ -104904,13 +104711,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the current
tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
@@ -104955,7 +104762,7 @@
<dl class="switch">
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <span>current input character</span> (add
0x0020 to the character's code point). Append the <span>current
@@ -104964,7 +104771,7 @@
the token yet; further details will be filled in before it is
emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
<span>current input character</span>. Append the <span>current
input character</span> to the <var>temporary buffer</var>. Finally,
@@ -105009,13 +104816,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the current
tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
@@ -105166,7 +104973,7 @@
<dd>Set the <var>temporary buffer</var> to the empty string. Switch
to the <span>script data escaped end tag open state</span>.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Set the <var>temporary buffer</var> to the empty string. Append
the lowercase version of the <span>current input character</span>
(add 0x0020 to the character's code point) to the <var>temporary
@@ -105174,7 +104981,7 @@
state</span>. Emit a U+003C LESS-THAN SIGN character token and the
<span>current input character</span> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Set the <var>temporary buffer</var> to the empty string. Append
the <span>current input character</span> to the <var>temporary
buffer</var>. Switch to the <span>script data double escape start
@@ -105195,7 +105002,7 @@
<dl class="switch">
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
lowercase version of the <span>current input character</span> (add
0x0020 to the character's code point). Append the <span>current
@@ -105204,7 +105011,7 @@
state</span>. (Don't emit the token yet; further details will be
filled in before it is emitted.)</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Create a new end tag token, and set its tag name to the
<span>current input character</span>. Append the <span>current
input character</span> to the <var>temporary buffer</var>. Finally,
@@ -105249,13 +105056,13 @@
the current tag token. Otherwise, treat it as per the "anything
else" entry below.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the current
tag token's tag name. Append the <span>current input
character</span> to the <var>temporary buffer</var>.</dd>
@@ -105289,13 +105096,13 @@
data escaped state</span>. Emit the <span>current input
character</span> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
<var>temporary buffer</var>. Emit the <span>current input
character</span> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the
<var>temporary buffer</var>. Emit the <span>current input
character</span> as a character token.</dd>
@@ -105441,13 +105248,13 @@
double escaped state</span>. Emit the <span>current input
character</span> as a character token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
<var>temporary buffer</var>. Emit the <span>current input
character</span> as a character token.</dd>
- <dt>U+0061 LATIN SMALL LETTER A through to U+007A LATIN SMALL LETTER Z</dt>
+ <dt><span title="lowercase ASCII letters">Lowercase ASCII letter</span></dt>
<dd>Append the <span>current input character</span> to the
<var>temporary buffer</var>. Emit the <span>current input
character</span> as a character token.</dd>
@@ -105479,7 +105286,7 @@
<dd>Switch to the <span>data state</span>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point), and its
@@ -105535,7 +105342,7 @@
<dd>Switch to the <span>data state</span>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current attribute's name.</dd>
@@ -105592,7 +105399,7 @@
<dd>Switch to the <span>data state</span>. Emit the current tag
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Start a new attribute in the current tag token. Set that
attribute's name to the lowercase version of the <span>current
input character</span> (add 0x0020 to the character's code point),
@@ -106121,7 +105928,7 @@
<dt>U+0020 SPACE</dt>
<dd>Ignore the character.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Create a new DOCTYPE token. Set the token's name to the
lowercase version of the <span>current input character</span> (add 0x0020 to the
character's code point). Switch to the <span>DOCTYPE name
@@ -106168,7 +105975,7 @@
<dd>Switch to the <span>data state</span>. Emit the current DOCTYPE
token.</dd>
- <dt>U+0041 LATIN CAPITAL LETTER A through to U+005A LATIN CAPITAL LETTER Z</dt>
+ <dt><span title="uppercase ASCII letters">Uppercase ASCII letter</span></dt>
<dd>Append the lowercase version of the <span>current input
character</span> (add 0x0020 to the character's code point) to the
current DOCTYPE token's name.</dd>
@@ -106717,14 +106524,9 @@
<p>Consume the X.</p>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), U+0061 LATIN
- SMALL LETTER A to U+0066 LATIN SMALL LETTER F, and U+0041 LATIN
- CAPITAL LETTER A to U+0046 LATIN CAPITAL LETTER F (in other
- words, 0-9, A-F, a-f).</p>
+ <p>Follow the steps below, but using <span>ASCII hex digits</span>.</p>
- <p>When it comes to interpreting the number, interpret it as a
- hexadecimal number.</p>
+ <p>When it comes to interpreting the number, interpret it as a hexadecimal number.</p>
</dd>
@@ -106733,8 +106535,7 @@
<dd>
- <p>Follow the steps below, but using the range of characters
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9).</p>
+ <p>Follow the steps below, but using <span>ASCII digits</span>.</p>
<p>When it comes to interpreting the number, interpret it as a
decimal number.</p>
@@ -106743,8 +106544,8 @@
</dl>
- <p>Consume as many characters as match the range of characters
- given above.</p>
+ <p>Consume as many characters as match the range of characters given above (<span>ASCII hex
+ digits</span> or <span>ASCII digits</span>).</p>
<p>If no characters match the range, then don't consume any
characters (and unconsume the U+0023 NUMBER SIGN character and, if
@@ -106839,26 +106640,18 @@
column of the <span>named character references</span> table (in a
<span>case-sensitive</span> manner).</p>
- <p>If no match can be made, then no characters are consumed, and
- nothing is returned. In this case, if the characters after the
- U+0026 AMPERSAND character (&) consist of a sequence of one or
- more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT
- NINE (9), U+0061 LATIN SMALL LETTER A to U+007A LATIN SMALL LETTER
- Z, and U+0041 LATIN CAPITAL LETTER A to U+005A LATIN CAPITAL
- LETTER Z, followed by a U+003B SEMICOLON character (;), then this
- is a <span>parse error</span>.</p>
+ <p>If no match can be made, then no characters are consumed, and nothing is returned. In this
+ case, if the characters after the U+0026 AMPERSAND character (&) consist of a sequence of
+ one or more <span>alphanumeric ASCII characters</span> followed by a U+003B SEMICOLON character
+ (;), then this is a <span>parse error</span>.</p>
- <p>If the character reference is being consumed <span
- title="character reference in attribute value state">as part of an
- attribute</span>, and the last character matched is not a U+003B
- SEMICOLON character (;), and the next character is either a U+003D
- EQUALS SIGN character (=) or in the range U+0030 DIGIT ZERO (0) to
- U+0039 DIGIT NINE (9), U+0041 LATIN CAPITAL LETTER A to U+005A
- LATIN CAPITAL LETTER Z, or U+0061 LATIN SMALL LETTER A to U+007A
- LATIN SMALL LETTER Z, then, for historical reasons, all the
- characters that were matched after the U+0026 AMPERSAND character
- (&) must be unconsumed, and nothing is returned.</p>
- <!-- "=" added because of http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
+ <p>If the character reference is being consumed <span title="character reference in attribute
+ value state">as part of an attribute</span>, and the last character matched is not a U+003B
+ SEMICOLON character (;), and the next character is either a U+003D EQUALS SIGN character (=) or
+ an <span title="alphanumeric ASCII characters">alphanumeric ASCII character</span>, then, for
+ historical reasons, all the characters that were matched after the U+0026 AMPERSAND character
+ (&) must be unconsumed, and nothing is returned.</p> <!-- "=" added because of
+ http://www.w3.org/Bugs/Public/show_bug.cgi?id=9207#c5 -->
<p>Otherwise, a character reference is parsed. If the last
character matched is not a U+003B SEMICOLON character (;), there
@@ -113175,8 +112968,7 @@
character. Otherwise, let <var title="">mode</var> be
<i>absolute</i>.</p></li>
- <li><p><span>Collect a sequence of characters</span> in the range
- U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let the
+ <li><p><span>Collect a sequence of characters</span> that are <span>ASCII digits</span>, and let the
resulting sequence be <var title="">digits</var>.</p></li>
<li><p>If <var title="">digits</var> is the empty string, there is
More information about the Commit-Watchers
mailing list