- From: poot <cvsmail@w3.org>
- Date: Wed, 29 Sep 2010 04:16:43 +0900 (JST)
- To: public-html-diffs@w3.org
hixie: Tighten up UTF-8 error handling definitions (whatwg r5530) http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4418&r2=1.4419&f=h http://html5.org/tools/web-apps-tracker?from=5529&to=5530 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.4418 retrieving revision 1.4419 diff -u -d -r1.4418 -r1.4419 --- Overview.html 28 Sep 2010 18:31:50 -0000 1.4418 +++ Overview.html 28 Sep 2010 19:16:21 -0000 1.4419 @@ -469,60 +469,61 @@ <li><a href="#dependencies"><span class="secno">2.2.1 </span>Dependencies</a></li> <li><a href="#extensibility"><span class="secno">2.2.2 </span>Extensibility</a></ol></li> <li><a href="#case-sensitivity-and-string-comparison"><span class="secno">2.3 </span>Case-sensitivity and string comparison</a></li> - <li><a href="#common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</a> + <li><a href="#utf-8"><span class="secno">2.4 </span>UTF-8</a></li> + <li><a href="#common-microsyntaxes"><span class="secno">2.5 </span>Common microsyntaxes</a> <ol> - <li><a href="#common-parser-idioms"><span class="secno">2.4.1 </span>Common parser idioms</a></li> - <li><a href="#boolean-attributes"><span class="secno">2.4.2 </span>Boolean attributes</a></li> - <li><a href="#keywords-and-enumerated-attributes"><span class="secno">2.4.3 </span>Keywords and enumerated attributes</a></li> - <li><a href="#numbers"><span class="secno">2.4.4 </span>Numbers</a> + <li><a href="#common-parser-idioms"><span class="secno">2.5.1 </span>Common parser idioms</a></li> + <li><a href="#boolean-attributes"><span class="secno">2.5.2 </span>Boolean attributes</a></li> + <li><a href="#keywords-and-enumerated-attributes"><span class="secno">2.5.3 </span>Keywords and enumerated attributes</a></li> + <li><a href="#numbers"><span class="secno">2.5.4 </span>Numbers</a> <ol> - <li><a href="#non-negative-integers"><span class="secno">2.4.4.1 </span>Non-negative integers</a></li> - <li><a href="#signed-integers"><span class="secno">2.4.4.2 </span>Signed integers</a></li> - <li><a href="#real-numbers"><span class="secno">2.4.4.3 </span>Real numbers</a></li> - <li><a href="#percentages-and-dimensions"><span class="secno">2.4.4.4 </span>Percentages and lengths</a></li> - <li><a href="#lists-of-integers"><span class="secno">2.4.4.5 </span>Lists of integers</a></li> - <li><a href="#lists-of-dimensions"><span class="secno">2.4.4.6 </span>Lists of dimensions</a></ol></li> - <li><a href="#dates-and-times"><span class="secno">2.4.5 </span>Dates and times</a> + <li><a href="#non-negative-integers"><span class="secno">2.5.4.1 </span>Non-negative integers</a></li> + <li><a href="#signed-integers"><span class="secno">2.5.4.2 </span>Signed integers</a></li> + <li><a href="#real-numbers"><span class="secno">2.5.4.3 </span>Real numbers</a></li> + <li><a href="#percentages-and-dimensions"><span class="secno">2.5.4.4 </span>Percentages and lengths</a></li> + <li><a href="#lists-of-integers"><span class="secno">2.5.4.5 </span>Lists of integers</a></li> + <li><a href="#lists-of-dimensions"><span class="secno">2.5.4.6 </span>Lists of dimensions</a></ol></li> + <li><a href="#dates-and-times"><span class="secno">2.5.5 </span>Dates and times</a> <ol> - <li><a href="#months"><span class="secno">2.4.5.1 </span>Months</a></li> - <li><a href="#dates"><span class="secno">2.4.5.2 </span>Dates</a></li> - <li><a href="#times"><span class="secno">2.4.5.3 </span>Times</a></li> - <li><a href="#local-dates-and-times"><span class="secno">2.4.5.4 </span>Local dates and times</a></li> - <li><a href="#global-dates-and-times"><span class="secno">2.4.5.5 </span>Global dates and times</a></li> - <li><a href="#weeks"><span class="secno">2.4.5.6 </span>Weeks</a></li> - <li><a href="#vaguer-moments-in-time"><span class="secno">2.4.5.7 </span>Vaguer moments in time</a></ol></li> - <li><a href="#colors"><span class="secno">2.4.6 </span>Colors</a></li> - <li><a href="#space-separated-tokens"><span class="secno">2.4.7 </span>Space-separated tokens</a></li> - <li><a href="#comma-separated-tokens"><span class="secno">2.4.8 </span>Comma-separated tokens</a></li> - <li><a href="#syntax-references"><span class="secno">2.4.9 </span>References</a></li> - <li><a href="#mq"><span class="secno">2.4.10 </span>Media queries</a></ol></li> - <li><a href="#urls"><span class="secno">2.5 </span>URLs</a> + <li><a href="#months"><span class="secno">2.5.5.1 </span>Months</a></li> + <li><a href="#dates"><span class="secno">2.5.5.2 </span>Dates</a></li> + <li><a href="#times"><span class="secno">2.5.5.3 </span>Times</a></li> + <li><a href="#local-dates-and-times"><span class="secno">2.5.5.4 </span>Local dates and times</a></li> + <li><a href="#global-dates-and-times"><span class="secno">2.5.5.5 </span>Global dates and times</a></li> + <li><a href="#weeks"><span class="secno">2.5.5.6 </span>Weeks</a></li> + <li><a href="#vaguer-moments-in-time"><span class="secno">2.5.5.7 </span>Vaguer moments in time</a></ol></li> + <li><a href="#colors"><span class="secno">2.5.6 </span>Colors</a></li> + <li><a href="#space-separated-tokens"><span class="secno">2.5.7 </span>Space-separated tokens</a></li> + <li><a href="#comma-separated-tokens"><span class="secno">2.5.8 </span>Comma-separated tokens</a></li> + <li><a href="#syntax-references"><span class="secno">2.5.9 </span>References</a></li> + <li><a href="#mq"><span class="secno">2.5.10 </span>Media queries</a></ol></li> + <li><a href="#urls"><span class="secno">2.6 </span>URLs</a> <ol> - <li><a href="#terminology-0"><span class="secno">2.5.1 </span>Terminology</a></li> - <li><a href="#dynamic-changes-to-base-urls"><span class="secno">2.5.2 </span>Dynamic changes to base URLs</a></li> - <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.5.3 </span>Interfaces for URL manipulation</a></ol></li> - <li><a href="#fetching-resources"><span class="secno">2.6 </span>Fetching resources</a> + <li><a href="#terminology-0"><span class="secno">2.6.1 </span>Terminology</a></li> + <li><a href="#dynamic-changes-to-base-urls"><span class="secno">2.6.2 </span>Dynamic changes to base URLs</a></li> + <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.3 </span>Interfaces for URL manipulation</a></ol></li> + <li><a href="#fetching-resources"><span class="secno">2.7 </span>Fetching resources</a> <ol> - <li><a href="#concept-http-equivalent"><span class="secno">2.6.1 </span>Protocol concepts</a></li> - <li><a href="#encrypted-http-and-related-security-concerns"><span class="secno">2.6.2 </span>Encrypted HTTP and related security concerns</a></li> - <li><a href="#content-type-sniffing"><span class="secno">2.6.3 </span>Determining the type of a resource</a></ol></li> - <li><a href="#common-dom-interfaces"><span class="secno">2.7 </span>Common DOM interfaces</a> + <li><a href="#concept-http-equivalent"><span class="secno">2.7.1 </span>Protocol concepts</a></li> + <li><a href="#encrypted-http-and-related-security-concerns"><span class="secno">2.7.2 </span>Encrypted HTTP and related security concerns</a></li> + <li><a href="#content-type-sniffing"><span class="secno">2.7.3 </span>Determining the type of a resource</a></ol></li> + <li><a href="#common-dom-interfaces"><span class="secno">2.8 </span>Common DOM interfaces</a> <ol> - <li><a href="#reflecting-content-attributes-in-idl-attributes"><span class="secno">2.7.1 </span>Reflecting content attributes in IDL attributes</a></li> - <li><a href="#collections-0"><span class="secno">2.7.2 </span>Collections</a> + <li><a href="#reflecting-content-attributes-in-idl-attributes"><span class="secno">2.8.1 </span>Reflecting content attributes in IDL attributes</a></li> + <li><a href="#collections-0"><span class="secno">2.8.2 </span>Collections</a> <ol> - <li><a href="#htmlcollection-0"><span class="secno">2.7.2.1 </span>HTMLCollection</a></li> - <li><a href="#htmlallcollection-0"><span class="secno">2.7.2.2 </span>HTMLAllCollection</a></li> - <li><a href="#htmlformcontrolscollection-0"><span class="secno">2.7.2.3 </span>HTMLFormControlsCollection</a></li> - <li><a href="#htmloptionscollection-0"><span class="secno">2.7.2.4 </span>HTMLOptionsCollection</a></ol></li> - <li><a href="#domtokenlist-0"><span class="secno">2.7.3 </span>DOMTokenList</a></li> - <li><a href="#domsettabletokenlist-0"><span class="secno">2.7.4 </span>DOMSettableTokenList</a></li> - <li><a href="#safe-passing-of-structured-data"><span class="secno">2.7.5 </span>Safe passing of structured data</a></li> - <li><a href="#domstringmap-0"><span class="secno">2.7.6 </span>DOMStringMap</a></li> - <li><a href="#dom-feature-strings"><span class="secno">2.7.7 </span>DOM feature strings</a></li> - <li><a href="#exceptions"><span class="secno">2.7.8 </span>Exceptions</a></li> - <li><a href="#garbage-collection"><span class="secno">2.7.9 </span>Garbage collection</a></ol></li> - <li><a href="#namespaces"><span class="secno">2.8 </span>Namespaces</a></ol></li> + <li><a href="#htmlcollection-0"><span class="secno">2.8.2.1 </span>HTMLCollection</a></li> + <li><a href="#htmlallcollection-0"><span class="secno">2.8.2.2 </span>HTMLAllCollection</a></li> + <li><a href="#htmlformcontrolscollection-0"><span class="secno">2.8.2.3 </span>HTMLFormControlsCollection</a></li> + <li><a href="#htmloptionscollection-0"><span class="secno">2.8.2.4 </span>HTMLOptionsCollection</a></ol></li> + <li><a href="#domtokenlist-0"><span class="secno">2.8.3 </span>DOMTokenList</a></li> + <li><a href="#domsettabletokenlist-0"><span class="secno">2.8.4 </span>DOMSettableTokenList</a></li> + <li><a href="#safe-passing-of-structured-data"><span class="secno">2.8.5 </span>Safe passing of structured data</a></li> + <li><a href="#domstringmap-0"><span class="secno">2.8.6 </span>DOMStringMap</a></li> + <li><a href="#dom-feature-strings"><span class="secno">2.8.7 </span>DOM feature strings</a></li> + <li><a href="#exceptions"><span class="secno">2.8.8 </span>Exceptions</a></li> + <li><a href="#garbage-collection"><span class="secno">2.8.9 </span>Garbage collection</a></ol></li> + <li><a href="#namespaces"><span class="secno">2.9 </span>Namespaces</a></ol></li> <li><a href="#dom"><span class="secno">3 </span>Semantics, structure, and APIs of HTML documents</a> <ol> <li><a href="#documents"><span class="secno">3.1 </span>Documents</a> @@ -2989,7 +2990,52 @@ </div><p>A string <var title="">pattern</var> is a <dfn id="prefix-match">prefix match</dfn> for a string <var title="">s</var> when <var title="">pattern</var> is not longer than <var title="">s</var> and truncating <var title="">s</var> to <var title="">pattern</var>'s length leaves the - two strings as matches of each other.<h3 id="common-microsyntaxes"><span class="secno">2.4 </span>Common microsyntaxes</h3><p>There are various places in HTML that accept particular data + two strings as matches of each other.<h3 id="utf-8"><span class="secno">2.4 </span>UTF-8</h3><p>When a user agent is required to <dfn id="decoded-as-utf-8-with-error-handling" title="decoded as UTF-8, + with error handling">decode a byte string as UTF-8, with error + handling</dfn>, it means that the byte stream must be converted to a + Unicode string by interpreting it as UTF-8, except that any errors + must be handled as described in the following list. Bytes in the + following list are represented in hexadecimal. <a href="#refsRFC3629">[RFC3629]</a> + + <dl class="switch"><dt>One byte in the range FE to FF</dt> + + <dt>Overlong forms (e.g. F0 80 80 A0)</dt> + + <dt>One byte in the range C0 to C1, followed by one byte in the range 80 to BF</dt> + + <dt>One byte in the range F0 to F4, followed by three bytes in the range 80 to BF that represent a code point above U+10FFFF</dt> + + <dt>One byte in the range F5 to F7, followed by three bytes in the range 80 to BF</dt> + + <dt>One byte in the range F8 to FB, followed by four bytes in the range 80 to BF</dt> + + <dt>One byte in the range FC to FD, followed by five bytes in the range 80 to BF</dt> + + <dt>One byte in the range E0 to FD, followed by a byte in the range 80 to BF, not followed by a byte in the range 80 to BF</dt> + + <dt>One byte in the range F0 to FD, followed by two bytes in the range 80 to BF, not followed by a byte in the range 80 to BF</dt> + + <dt>One byte in the range F5 to FD, followed by three bytes in the range 80 to BF, not followed by a byte in the range 80 to BF</dt> + + <dt>One byte in the range FC to FD, followed by four bytes in the range 80 to BF, not followed by a byte in the range 80 to BF</dt> + + + <dd>The whole sequence must be replaced by a single U+FFFD + REPLACEMENT CHARACTER.</dd> + + + <dt>One byte in the range 80 to BF not preceded by a byte in the range 80 to FD</dt> + + <dt>A sequence of bytes in the range 80 to BF that does not follow a byte in the range C0 to FD</dt> + + <dt>One byte in the range C0 to FD not followed by a byte in the range 80 to BF</dt> + + + <dd>Each byte must be replace with a U+FFFD REPLACEMENT CHARACTER.</dd> + + </dl><p class="example">For example, the byte string "41 98 BA 42 E2 98 + 43 E2 98 BA E2 98" would be converted to the string + "A��B�C☺�".<h3 id="common-microsyntaxes"><span class="secno">2.5 </span>Common microsyntaxes</h3><p>There are various places in HTML that accept particular data types, such as dates or numbers. This section describes what the conformance criteria for content in those formats is, and how to parse them.<div class="impl"> @@ -3005,7 +3051,7 @@ </div><div class="impl"> - <h4 id="common-parser-idioms"><span class="secno">2.4.1 </span>Common parser idioms</h4> + <h4 id="common-parser-idioms"><span class="secno">2.5.1 </span>Common parser idioms</h4> <p>The <dfn id="space-character" title="space character">space characters</dfn>, for the purposes of this specification, are U+0020 SPACE, U+0009 CHARACTER @@ -3063,7 +3109,7 @@ <p>The <dfn id="code-point-length">code-point length</dfn> of a string is the number of Unicode code points in that string.</p> - </div><h4 id="boolean-attributes"><span class="secno">2.4.2 </span>Boolean attributes</h4><p>A number of attributes are <dfn id="boolean-attribute" title="boolean attribute">boolean + </div><h4 id="boolean-attributes"><span class="secno">2.5.2 </span>Boolean attributes</h4><p>A number of attributes are <dfn id="boolean-attribute" title="boolean attribute">boolean attributes</dfn>. The presence of a boolean attribute on an element represents the true value, and the absence of the attribute represents the false value.<p>If the attribute is present, its value must either be the empty @@ -3087,7 +3133,7 @@ <pre><label><input type='checkbox' checked name=cheese disabled=""> Cheese</label></pre> - </div><h4 id="keywords-and-enumerated-attributes"><span class="secno">2.4.3 </span>Keywords and enumerated attributes</h4><p>Some attributes are defined as taking one of a finite set of + </div><h4 id="keywords-and-enumerated-attributes"><span class="secno">2.5.3 </span>Keywords and enumerated attributes</h4><p>Some attributes are defined as taking one of a finite set of keywords. Such attributes are called <dfn id="enumerated-attribute" title="enumerated attribute">enumerated attributes</dfn>. The keywords are each defined to map to a particular <em>state</em> (several keywords @@ -3111,7 +3157,7 @@ be ignored.<p>When the attribute is <em>not</em> specified, if there is a <i>missing value default</i> state defined, then that is the state represented by the (missing) attribute. Otherwise, the absence of - the attribute means that there is no state represented.<p class="note">The empty string can be a valid keyword.<h4 id="numbers"><span class="secno">2.4.4 </span>Numbers</h4><h5 id="non-negative-integers"><span class="secno">2.4.4.1 </span>Non-negative integers</h5><p>A string is a <dfn id="valid-non-negative-integer">valid non-negative integer</dfn> if it + the attribute means that there is no state represented.<p class="note">The empty string can be a valid keyword.<h4 id="numbers"><span class="secno">2.5.4 </span>Numbers</h4><h5 id="non-negative-integers"><span class="secno">2.5.4.1 </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>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.<div class="impl"> @@ -3152,7 +3198,7 @@ <li><p>Return <var title="">value</var>.</li> - </ol></div><h5 id="signed-integers"><span class="secno">2.4.4.2 </span>Signed integers</h5><p>A string is a <dfn id="valid-integer">valid integer</dfn> if it consists of one or + </ol></div><h5 id="signed-integers"><span class="secno">2.5.4.2 </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>A <a href="#valid-integer">valid integer</a> without a U+002D HYPHEN-MINUS (-) @@ -3222,7 +3268,7 @@ <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> - </ol></div><h5 id="real-numbers"><span class="secno">2.4.4.3 </span>Real numbers</h5><p>A string is a <dfn id="valid-floating-point-number">valid floating point number</dfn> if it + </ol></div><h5 id="real-numbers"><span class="secno">2.5.4.3 </span>Real numbers</h5><p>A string is a <dfn id="valid-floating-point-number">valid floating point number</dfn> if it consists of:<ol class="brief"><li>Optionally, a U+002D HYPHEN-MINUS character (-).</li> <li>A series of one or more characters in the range U+0030 DIGIT @@ -3416,7 +3462,7 @@ <li><p>Return <var title="">rounded-value</var>.</li> </ol></div><div class="impl"> - <h5 id="percentages-and-dimensions"><span class="secno">2.4.4.4 </span>Percentages and lengths</h5> + <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 @@ -3516,7 +3562,7 @@ <li><p>Return <var title="">value</var> as a length.</li> - </ol></div><h5 id="lists-of-integers"><span class="secno">2.4.4.5 </span>Lists of integers</h5><p>A <dfn id="valid-list-of-integers">valid list of integers</dfn> is a number of <a href="#valid-integer" title="valid integer">valid integers</a> separated by U+002C + </ol></div><h5 id="lists-of-integers"><span class="secno">2.5.4.5 </span>Lists of integers</h5><p>A <dfn id="valid-list-of-integers">valid list of integers</dfn> is a number of <a href="#valid-integer" title="valid integer">valid integers</a> separated by U+002C COMMA characters, with no other characters (e.g. no <a href="#space-character" title="space character">space characters</a>). In addition, there might be restrictions on the number of integers that can be given, or on the range of values allowed.<div class="impl"> @@ -3780,7 +3826,7 @@ </ol></div><div class="impl"> - <h5 id="lists-of-dimensions"><span class="secno">2.4.4.6 </span>Lists of dimensions</h5> + <h5 id="lists-of-dimensions"><span class="secno">2.5.4.6 </span>Lists of dimensions</h5> <!-- no definition of a type since no conforming feature uses this syntax (it's only used in cols="" and rows="" on <frameset> --> @@ -3881,7 +3927,7 @@ <li><p>Return the list <var title="">result</var>.</li> - </ol></div><h4 id="dates-and-times"><span class="secno">2.4.5 </span>Dates and times</h4><p>In the algorithms below, the <dfn id="number-of-days-in-month-month-of-year-year">number of days in month <var title="">month</var> of year <var title="">year</var></dfn> is: + </ol></div><h4 id="dates-and-times"><span class="secno">2.5.5 </span>Dates and times</h4><p>In the algorithms below, the <dfn id="number-of-days-in-month-month-of-year-year">number of days in month <var title="">month</var> of year <var title="">year</var></dfn> is: <em>31</em> if <var title="">month</var> is 1, 3, 5, 7, 8, 10, or 12; <em>30</em> if <var title="">month</var> is 4, 6, 9, or 11; <em>29</em> if <var title="">month</var> is 2 and <var title="">year</var> is a number divisible by 400, or if <var title="">year</var> is a number divisible by 4 but not by 100; and @@ -3899,7 +3945,7 @@ described below; ISO8601 libraries might not parse dates and times in exactly the same manner. <a href="#refsISO8601">[ISO8601]</a></p> - </div><h5 id="months"><span class="secno">2.4.5.1 </span>Months</h5><p>A <dfn id="concept-month" title="concept-month">month</dfn> consists of a specific + </div><h5 id="months"><span class="secno">2.5.5.1 </span>Months</h5><p>A <dfn id="concept-month" title="concept-month">month</dfn> consists of a specific proleptic Gregorian date with no time-zone information and no date information beyond a year and a month. <a href="#refsGREGORIAN">[GREGORIAN]</a><p>A string is a <dfn id="valid-month-string">valid month string</dfn> representing a year <var title="">year</var> and month <var title="">month</var> if it @@ -3962,7 +4008,7 @@ <li><p>Return <var title="">year</var> and <var title="">month</var>.</li> - </ol></div><h5 id="dates"><span class="secno">2.4.5.2 </span>Dates</h5><p>A <dfn id="concept-date" title="concept-date">date</dfn> consists of a specific + </ol></div><h5 id="dates"><span class="secno">2.5.5.2 </span>Dates</h5><p>A <dfn id="concept-date" title="concept-date">date</dfn> consists of a specific proleptic Gregorian date with no time-zone information, consisting of a year, a month, and a day. <a href="#refsGREGORIAN">[GREGORIAN]</a><p>A string is a <dfn id="valid-date-string">valid date string</dfn> representing a year <var title="">year</var>, month <var title="">month</var>, and day @@ -4025,7 +4071,7 @@ <li><p>Return <var title="">year</var>, <var title="">month</var>, and <var title="">day</var>.</li> - </ol></div><h5 id="times"><span class="secno">2.4.5.3 </span>Times</h5><p>A <dfn id="concept-time" title="concept-time">time</dfn> consists of a specific + </ol></div><h5 id="times"><span class="secno">2.5.5.3 </span>Times</h5><p>A <dfn id="concept-time" title="concept-time">time</dfn> consists of a specific time with no time-zone information, consisting of an hour, a minute, a second, and a fraction of a second.<p>A string is a <dfn id="valid-time-string">valid time string</dfn> representing an hour <var title="">hour</var>, a minute <var title="">minute</var>, and a @@ -4151,7 +4197,7 @@ <li><p>Return <var title="">hour</var>, <var title="">minute</var>, and <var title="">second</var>.</li> - </ol></div><h5 id="local-dates-and-times"><span class="secno">2.4.5.4 </span>Local dates and times</h5><p>A <dfn id="concept-datetime-local" title="concept-datetime-local">local date and time</dfn> + </ol></div><h5 id="local-dates-and-times"><span class="secno">2.5.5.4 </span>Local dates and times</h5><p>A <dfn id="concept-datetime-local" title="concept-datetime-local">local date and time</dfn> consists of a specific proleptic Gregorian date, consisting of a year, a month, and a day, and a time, consisting of an hour, a minute, a second, and a fraction of a second, but expressed without @@ -4193,7 +4239,7 @@ <li><p>Return <var title="">date</var> and <var title="">time</var>.</li> - </ol></div><h5 id="global-dates-and-times"><span class="secno">2.4.5.5 </span>Global dates and times</h5><p>A <dfn id="concept-datetime" title="concept-datetime">global date and time</dfn> + </ol></div><h5 id="global-dates-and-times"><span class="secno">2.5.5.5 </span>Global dates and times</h5><p>A <dfn id="concept-datetime" title="concept-datetime">global date and time</dfn> consists of a specific proleptic Gregorian date, consisting of a year, a month, and a day, and a time, consisting of an hour, a minute, a second, and a fraction of a second, expressed with a @@ -4396,7 +4442,7 @@ <li><p>Return <var title="">timezone<sub title="">hours</sub></var> and <var title="">timezone<sub title="">minutes</sub></var>.</li> - </ol></div><h5 id="weeks"><span class="secno">2.4.5.6 </span>Weeks</h5><p>A <dfn id="concept-week" title="concept-week">week</dfn> consists of a week-year + </ol></div><h5 id="weeks"><span class="secno">2.5.5.6 </span>Weeks</h5><p>A <dfn id="concept-week" title="concept-week">week</dfn> consists of a week-year number and a week number representing a seven-day period starting on a Monday. Each week-year in this calendaring system has either 52 or 53 such seven-day periods, as defined below. The seven-day period @@ -4476,7 +4522,7 @@ <li><p>Return the week-year number <var title="">year</var> and the week number <var title="">week</var>.</li> - </ol></div><h5 id="vaguer-moments-in-time"><span class="secno">2.4.5.7 </span>Vaguer moments in time</h5><p>A string is a <dfn id="valid-date-or-time-string">valid date or time string</dfn> if it is also + </ol></div><h5 id="vaguer-moments-in-time"><span class="secno">2.5.5.7 </span>Vaguer moments in time</h5><p>A string is a <dfn id="valid-date-or-time-string">valid date or time string</dfn> if it is also one of the following:<ul><li>A <a href="#valid-date-string">valid date string</a>.</li> <li>A <a href="#valid-time-string">valid time string</a>.</li> @@ -4573,7 +4619,7 @@ </li> - </ol></div><h4 id="colors"><span class="secno">2.4.6 </span>Colors</h4><p>A <dfn id="simple-color">simple color</dfn> consists of three 8-bit numbers in the + </ol></div><h4 id="colors"><span class="secno">2.5.6 </span>Colors</h4><p>A <dfn id="simple-color">simple color</dfn> consists of three 8-bit numbers in the 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>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 @@ -4760,7 +4806,7 @@ <li><p>Return <var title="">result</var>.</p> - </ol></div><hr><h4 id="space-separated-tokens"><span class="secno">2.4.7 </span>Space-separated tokens</h4><p>A <dfn id="set-of-space-separated-tokens">set of space-separated tokens</dfn> is a string containing + </ol></div><hr><h4 id="space-separated-tokens"><span class="secno">2.5.7 </span>Space-separated tokens</h4><p>A <dfn id="set-of-space-separated-tokens">set of space-separated tokens</dfn> is a string containing zero or more words separated by one or more <a href="#space-character" title="space character">space characters</a>, where words consist of any string of one or more characters, none of which are <a href="#space-character" title="space character">space characters</a>.<p>A string containing a <a href="#set-of-space-separated-tokens">set of space-separated tokens</a> @@ -4864,7 +4910,7 @@ token to be collapsed to a single space, except at the start and end of the string, where such spaces are removed.</p> - </div><h4 id="comma-separated-tokens"><span class="secno">2.4.8 </span>Comma-separated tokens</h4><p>A <dfn id="set-of-comma-separated-tokens">set of comma-separated tokens</dfn> is a string containing + </div><h4 id="comma-separated-tokens"><span class="secno">2.5.8 </span>Comma-separated tokens</h4><p>A <dfn id="set-of-comma-separated-tokens">set of comma-separated tokens</dfn> is a string containing zero or more tokens each separated from the next by a single U+002C COMMA character (,), where tokens consist of any string of zero or more characters, neither beginning nor ending with <a href="#space-character" title="space character">space characters</a>, nor containing any @@ -4908,7 +4954,7 @@ <li><p>Return <var title="">tokens</var>.</li> - </ol></div><h4 id="syntax-references"><span class="secno">2.4.9 </span>References</h4><p>A <dfn id="valid-hash-name-reference">valid hash-name reference</dfn> to an element of type <var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN + </ol></div><h4 id="syntax-references"><span class="secno">2.5.9 </span>References</h4><p>A <dfn id="valid-hash-name-reference">valid hash-name reference</dfn> to an element of type <var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN character (#) followed by a string which exactly matches the value of the <code title="">name</code> attribute of an element with type <var title="">type</var> in the document.<div class="impl"> @@ -4940,13 +4986,13 @@ maybe they just don't know about combining dot above? --> - </ol></div><h4 id="mq"><span class="secno">2.4.10 </span>Media queries</h4><p>A string is a <dfn id="valid-media-query">valid media query</dfn> if it matches the + </ol></div><h4 id="mq"><span class="secno">2.5.10 </span>Media queries</h4><p>A string is a <dfn id="valid-media-query">valid media query</dfn> if it matches the <code title="">media_query_list</code> production of the Media Queries specification. <a href="#refsMQ">[MQ]</a><p>A string <dfn id="matches-the-environment">matches the environment</dfn> of the user if it is the empty string, a string consisting of only <a href="#space-character" title="space character">space characters</a>, or is a media query that matches the user's environment according to the definitions given in the - Media Queries specification. <a href="#refsMQ">[MQ]</a><h3 id="urls"><span class="secno">2.5 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span><h4 id="terminology-0"><span class="secno">2.5.1 </span>Terminology</h4><!-- see also: svn diff -r3244:3245 source --><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.<p>A <a href="#url">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of + Media Queries specification. <a href="#refsMQ">[MQ]</a><h3 id="urls"><span class="secno">2.6 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span><h4 id="terminology-0"><span class="secno">2.6.1 </span>Terminology</h4><!-- see also: svn diff -r3244:3245 source --><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.<p>A <a href="#url">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of the following conditions holds:<ul><li><p>The <a href="#url">URL</a> is a valid URI reference <a href="#refsRFC3986">[RFC3986]</a>.</li> <li><p>The <a href="#url">URL</a> is a valid IRI reference and it has no @@ -5107,7 +5153,7 @@ herein is really called something else altogether. This is a <a href="#willful-violation">willful violation</a> of RFC 3986. <a href="#refsRFC3986">[RFC3986]</a><div class="impl"> - <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.5.2 </span>Dynamic changes to base URLs</h4> + <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.6.2 </span>Dynamic changes to base URLs</h4> <p>When an <code title="attr-xml-base"><a href="#the-xml:base-attribute-xml-only">xml:base</a></code> attribute changes, the attribute's element, and all descendant elements, are @@ -5169,7 +5215,7 @@ </dd> - </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.5.3 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL + </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.6.3 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL attributes</dfn> will have seven attributes with the following definitions:<pre class="idl extract"> attribute DOMString <a href="#dom-uda-protocol" title="dom-uda-protocol">protocol</a>; attribute DOMString <a href="#dom-uda-host" title="dom-uda-host">host</a>; @@ -5359,7 +5405,7 @@ <td> The (empty) <a href="#url-fragment" title="url-fragment"><fragment></a> component is not part of the <a href="#url-query" title="url-query"><query></a> component. </table></div><div class="impl"> - <h3 id="fetching-resources"><span class="secno">2.6 </span>Fetching resources</h3> + <h3 id="fetching-resources"><span class="secno">2.7 </span>Fetching resources</h3> <p>When a user agent is to <dfn id="fetch">fetch</dfn> a resource or <a href="#url">URL</a>, optionally from an origin <i title="">origin</i>, @@ -5572,7 +5618,7 @@ applicable.</p> - <h4 id="concept-http-equivalent"><span class="secno">2.6.1 </span>Protocol concepts</h4> + <h4 id="concept-http-equivalent"><span class="secno">2.7.1 </span>Protocol concepts</h4> <p>User agents can implement a variety of transfer protocols, but this specification mostly defines behavior in terms of HTTP. <a href="#refsHTTP">[HTTP]</a></p> @@ -5595,7 +5641,7 @@ protocol.</p> - <h4 id="encrypted-http-and-related-security-concerns"><span class="secno">2.6.2 </span>Encrypted HTTP and related security concerns</h4> + <h4 id="encrypted-http-and-related-security-concerns"><span class="secno">2.7.2 </span>Encrypted HTTP and related security concerns</h4> <p>Anything in this specification that refers to HTTP also applies to HTTP-over-TLS, as represented by <a href="#url" title="url">URLs</a> @@ -5641,7 +5687,7 @@ </div> - <h4 id="content-type-sniffing"><span class="secno">2.6.3 </span>Determining the type of a resource</h4> + <h4 id="content-type-sniffing"><span class="secno">2.7.3 </span>Determining the type of a resource</h4> <p>The <dfn id="content-type" title="Content-Type">Content-Type metadata</dfn> of a resource must be obtained and interpreted in a manner consistent @@ -5712,7 +5758,7 @@ of the HTTP specification, motivated by the need for backwards compatibility with legacy content. <a href="#refsHTTP">[HTTP]</a></p> - </div><h3 id="common-dom-interfaces"><span class="secno">2.7 </span>Common DOM interfaces</h3><h4 id="reflecting-content-attributes-in-idl-attributes"><span class="secno">2.7.1 </span>Reflecting content attributes in IDL attributes</h4><p>Some IDL attributes are defined to <dfn id="reflect">reflect</dfn> a + </div><h3 id="common-dom-interfaces"><span class="secno">2.8 </span>Common DOM interfaces</h3><h4 id="reflecting-content-attributes-in-idl-attributes"><span class="secno">2.8.1 </span>Reflecting content attributes in IDL attributes</h4><p>Some IDL attributes are defined to <dfn id="reflect">reflect</dfn> a particular content attribute. This means that on getting, the IDL attribute returns the current value of the content attribute, and on setting, the IDL attribute changes the value of the content @@ -5905,7 +5951,7 @@ attribute. Otherwise, the IDL attribute must be set to the empty string.</p> - </div><h4 id="collections-0"><span class="secno">2.7.2 </span>Collections</h4><p>The <code><a href="#htmlcollection">HTMLCollection</a></code>, <code><a href="#htmlallcollection">HTMLAllCollection</a></code>, + </div><h4 id="collections-0"><span class="secno">2.8.2 </span>Collections</h4><p>The <code><a href="#htmlcollection">HTMLCollection</a></code>, <code><a href="#htmlallcollection">HTMLAllCollection</a></code>, <code><a href="#htmlformcontrolscollection">HTMLFormControlsCollection</a></code>, <code><a href="#htmloptionscollection">HTMLOptionsCollection</a></code>, and <code>HTMLPropertiesCollection</code> interfaces represent various @@ -5928,7 +5974,7 @@ <p>An attribute that returns a collection must return the same object every time it is retrieved.</p> - </div><h5 id="htmlcollection-0"><span class="secno">2.7.2.1 </span>HTMLCollection</h5><p>The <code><a href="#htmlcollection">HTMLCollection</a></code> interface represents a generic + </div><h5 id="htmlcollection-0"><span class="secno">2.8.2.1 </span>HTMLCollection</h5><p>The <code><a href="#htmlcollection">HTMLCollection</a></code> interface represents a generic <a href="#collections" title="collections">collection</a> of elements.<pre class="idl">interface <dfn id="htmlcollection">HTMLCollection</dfn> { readonly attribute unsigned long <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a>; caller getter <a href="#element">Element</a> <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>(in unsigned long index); @@ -5999,7 +6045,7 @@ </ul><p>If no such elements are found, then the method must return null.</p> - </div><h5 id="htmlallcollection-0"><span class="secno">2.7.2.2 </span>HTMLAllCollection</h5><p>The <code><a href="#htmlallcollection">HTMLAllCollection</a></code> interface represents a generic + </div><h5 id="htmlallcollection-0"><span class="secno">2.8.2.2 </span>HTMLAllCollection</h5><p>The <code><a href="#htmlallcollection">HTMLAllCollection</a></code> interface represents a generic <a href="#collections" title="collections">collection</a> of elements just like <code><a href="#htmlcollection">HTMLCollection</a></code>, with the exception that its <code title="dom-HTMLAllCollection-namedItem"><a href="#dom-htmlallcollection-nameditem">namedItem()</a></code> method returns an <code><a href="#htmlallcollection">HTMLAllCollection</a></code> object when there are @@ -6089,7 +6135,7 @@ documents</a>, the argument must first be <a href="#converted-to-ascii-lowercase">converted to ASCII lowercase</a>.</p> - </div><h5 id="htmlformcontrolscollection-0"><span class="secno">2.7.2.3 </span>HTMLFormControlsCollection</h5><p>The <code><a href="#htmlformcontrolscollection">HTMLFormControlsCollection</a></code> interface represents + </div><h5 id="htmlformcontrolscollection-0"><span class="secno">2.8.2.3 </span>HTMLFormControlsCollection</h5><p>The <code><a href="#htmlformcontrolscollection">HTMLFormControlsCollection</a></code> interface represents a <a href="#collections" title="collections">collection</a> of <a href="#category-listed" title="category-listed">listed elements</a> in <code><a href="#the-form-element">form</a></code> and <code><a href="#the-fieldset-element">fieldset</a></code> elements.<pre class="idl">interface <dfn id="htmlformcontrolscollection">HTMLFormControlsCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> { // inherits <a href="#dom-htmlcollection-length" title="dom-HTMLCollection-length">length</a> and <a href="#dom-htmlcollection-item" title="dom-HTMLCollection-item">item</a>() @@ -6197,7 +6243,7 @@ </ol><!-- http://software.hixie.ch/utilities/js/live-dom-viewer/?%3C%21DOCTYPE%20html%3E...%0A%3Cform%20name%3D%22a%22%3E%3Cinput%20id%3D%22x%22%20name%3D%22y%22%3E%3Cinput%20name%3D%22x%22%20id%3D%22y%22%3E%3C/form%3E%0A%3Cscript%3E%0A%20%20var%20x%3B%0A%20%20w%28x%20%3D%20document.forms%5B%27a%27%5D%5B%27x%27%5D%29%3B%0A%20%20w%28x.length%29%3B%0A%20%20x%5B0%5D.parentNode.removeChild%28x%5B0%5D%29%3B%0A%20%20w%28x.length%29%3B%0A%20%20w%28x%20%3D%3D%20document.forms%5B%27a%27%5D%5B%27x%27%5D%29%3B%0A%3C/script%3E%0A ---></div><h5 id="htmloptionscollection-0"><span class="secno">2.7.2.4 </span>HTMLOptionsCollection</h5><p>The <code><a href="#htmloptionscollection">HTMLOptionsCollection</a></code> interface represents a +--></div><h5 id="htmloptionscollection-0"><span class="secno">2.8.2.4 </span>HTMLOptionsCollection</h5><p>The <code><a href="#htmloptionscollection">HTMLOptionsCollection</a></code> interface represents a list of <code><a href="#the-option-element">option</a></code> elements. It is always rooted on a <code><a href="#the-select-element">select</a></code> element and has attributes and methods that manipulate that element's descendants.<pre class="idl">interface <dfn id="htmloptionscollection">HTMLOptionsCollection</dfn> : <a href="#htmlcollection">HTMLCollection</a> { @@ -6365,7 +6411,7 @@ <!-- see also http://ln.hixie.ch/?start=1161042744&count=1 --> - </div><h4 id="domtokenlist-0"><span class="secno">2.7.3 </span>DOMTokenList</h4><p>The <code><a href="#domtokenlist">DOMTokenList</a></code> interface represents an interface + </div><h4 id="domtokenlist-0"><span class="secno">2.8.3 </span>DOMTokenList</h4><p>The <code><a href="#domtokenlist">DOMTokenList</a></code> interface represents an interface to an underlying string that consists of a <a href="#set-of-space-separated-tokens">set of space-separated tokens</a>.<p class="note"><code><a href="#domtokenlist">DOMTokenList</a></code> objects are always <a href="#case-sensitive">case-sensitive</a>, even when the underlying string might @@ -6540,7 +6586,7 @@ <dfn id="dom-tokenlist-tostring" title="dom-tokenlist-toString">stringify</dfn> to the object's underlying string representation.</p> - </div><h4 id="domsettabletokenlist-0"><span class="secno">2.7.4 </span>DOMSettableTokenList</h4><p>The <code><a href="#domsettabletokenlist">DOMSettableTokenList</a></code> interface is the same as the + </div><h4 id="domsettabletokenlist-0"><span class="secno">2.8.4 </span>DOMSettableTokenList</h4><p>The <code><a href="#domsettabletokenlist">DOMSettableTokenList</a></code> interface is the same as the <code><a href="#domtokenlist">DOMTokenList</a></code> interface, except that it allows the underlying string to be directly changed.<pre class="idl">interface <dfn id="domsettabletokenlist">DOMSettableTokenList</dfn> : <a href="#domtokenlist">DOMTokenList</a> { attribute DOMString <a href="#dom-domsettabletokenlist-value" title="dom-DOMSettableTokenList-value">value</a>; @@ -6563,7 +6609,7 @@ </div><div class="impl"> - <h4 id="safe-passing-of-structured-data"><span class="secno">2.7.5 </span>Safe passing of structured data</h4> + <h4 id="safe-passing-of-structured-data"><span class="secno">2.8.5 </span>Safe passing of structured data</h4> <p>When a user agent is required to obtain a <dfn id="structured-clone">structured clone</dfn> of an object, it must run the following algorithm, which @@ -6685,7 +6731,7 @@ <dd><p>Throw a <code><a href="#data_clone_err">DATA_CLONE_ERR</a></code> exception and abort the overall <a href="#structured-clone">structured clone</a> algorithm.</dd> - </dl></div><h4 id="domstringmap-0"><span class="secno">2.7.6 </span>DOMStringMap</h4><p>The <code><a href="#domstringmap">DOMStringMap</a></code> interface represents a set of + </dl></div><h4 id="domstringmap-0"><span class="secno">2.8.6 </span>DOMStringMap</h4><p>The <code><a href="#domstringmap">DOMStringMap</a></code> interface represents a set of name-value pairs. It exposes these using the scripting language's native mechanisms for property access.<div class="impl"> @@ -6759,7 +6805,7 @@ } }</pre> - </div><h4 id="dom-feature-strings"><span class="secno">2.7.7 </span>DOM feature strings</h4><p>DOM3 Core defines mechanisms for checking for interface support, + </div><h4 id="dom-feature-strings"><span class="secno">2.8.7 </span>DOM feature strings</h4><p>DOM3 Core defines mechanisms for checking for interface support, and for obtaining implementations of interfaces, using <a href="http://www.w3.org/TR/DOM-Level-3-Core/core.html#DOMFeatures">feature strings</a>. <a href="#refsDOMCORE">[DOMCORE]</a><p>Authors are strongly discouraged from using these, as they are notoriously unreliable and imprecise. Authors are encouraged to rely @@ -6772,7 +6818,7 @@ with <var title="">feature</var> set to either "<code title="">HTML</code>" or "<code title="">XHTML</code>" and <var title="">version</var> set to either "<code>1.0</code>" or "<code>2.0</code>".</p> - </div><h4 id="exceptions"><span class="secno">2.7.8 </span>Exceptions</h4><p>The following are <code><a href="#domexception">DOMException</a></code> codes. <a href="#refsDOMCORE">[DOMCORE]</a><ol class="brief"><li value="1"><dfn id="index_size_err"><code>INDEX_SIZE_ERR</code></dfn></li> + </div><h4 id="exceptions"><span class="secno">2.8.8 </span>Exceptions</h4><p>The following are <code><a href="#domexception">DOMException</a></code> codes. <a href="#refsDOMCORE">[DOMCORE]</a><ol class="brief"><li value="1"><dfn id="index_size_err"><code>INDEX_SIZE_ERR</code></dfn></li> <li value="2"><dfn id="domstring_size_err"><code>DOMSTRING_SIZE_ERR</code></dfn></li> <li value="3"><dfn id="hierarchy_request_err"><code>HIERARCHY_REQUEST_ERR</code></dfn></li> <li value="4"><dfn id="wrong_document_err"><code>WRONG_DOCUMENT_ERR</code></dfn></li> @@ -6813,7 +6859,7 @@ </div><div class="impl"> - <h4 id="garbage-collection"><span class="secno">2.7.9 </span>Garbage collection</h4> + <h4 id="garbage-collection"><span class="secno">2.8.9 </span>Garbage collection</h4> <p>There is an <dfn id="implied-strong-reference">implied strong reference</dfn> from any IDL attribute that returns a pre-existing object to that object.</p> @@ -6829,7 +6875,7 @@ </div> - </div><h3 id="namespaces"><span class="secno">2.8 </span>Namespaces</h3><p>The <dfn id="html-namespace-0">HTML namespace</dfn> is: <code>http://www.w3.org/1999/xhtml</code><p>The <dfn id="mathml-namespace">MathML namespace</dfn> is: <code>http://www.w3.org/1998/Math/MathML</code><p>The <dfn id="svg-namespace">SVG namespace</dfn> is: <code>http://www.w3.org/2000/svg</code><p>The <dfn id="xlink-namespace">XLink namespace</dfn> is: <code>http://www.w3.org/1999/xlink</code><p>The <dfn id="xml-namespace">XML namespace</dfn> is: <code>http://www.w3.org/XML/1998/namespace</code><p>The <dfn id="xmlns-namespace">XMLNS namespace</dfn> is: <code>http://www.w3.org/2000/xmlns/</code><hr><p>Data mining tools and other user agents that perform operations + </div><h3 id="namespaces"><span class="secno">2.9 </span>Namespaces</h3><p>The <dfn id="html-namespace-0">HTML namespace</dfn> is: <code>http://www.w3.org/1999/xhtml</code><p>The <dfn id="mathml-namespace">MathML namespace</dfn> is: <code>http://www.w3.org/1998/Math/MathML</code><p>The <dfn id="svg-namespace">SVG namespace</dfn> is: <code>http://www.w3.org/2000/svg</code><p>The <dfn id="xlink-namespace">XLink namespace</dfn> is: <code>http://www.w3.org/1999/xlink</code><p>The <dfn id="xml-namespace">XML namespace</dfn> is: <code>http://www.w3.org/XML/1998/namespace</code><p>The <dfn id="xmlns-namespace">XMLNS namespace</dfn> is: <code>http://www.w3.org/2000/xmlns/</code><hr><p>Data mining tools and other user agents that perform operations on content without running scripts, evaluating CSS or XPath expressions, or otherwise exposing the resulting DOM to arbitrary content, may "support namespaces" by just asserting that their DOM @@ -7058,9 +7104,8 @@ <code><a href="#security_err">SECURITY_ERR</a></code> exception. Otherwise, the user agent must first <a href="#obtain-the-storage-mutex">obtain the storage mutex</a> and then return the cookie-string for <a href="#the-document-s-address">the document's address</a> for a - "non-HTTP" API, decoded as UTF-8, with bytes or sequences of bytes - that are not valid UTF-8 sequences interpreted as U+FFFD REPLACEMENT - CHARACTERs. <a href="#refsCOOKIES">[COOKIES]</a> <a href="#refsRFC3629">[RFC3629]</a></p> + "non-HTTP" API, <a href="#decoded-as-utf-8-with-error-handling">decoded as UTF-8, with error handling</a>. + <a href="#refsCOOKIES">[COOKIES]</a></p> <p>On setting, if the document is a <a href="#cookie-free-document-object">cookie-free <code>Document</code> object</a>, then the user agent must do @@ -45499,13 +45544,13 @@ <p>When a user agent is to <dfn id="parse-a-manifest">parse a manifest</dfn>, it means that the user agent must run the following steps:</p> - <ol><li><p>The user agent must decode the byte stream corresponding with - the manifest to be parsed, treating it as UTF-8. Bytes or sequences - of bytes that are not valid UTF-8 sequences must be interpreted as - a U+FFFD REPLACEMENT CHARACTER. <!--All U+0000 NULL characters must - be replaced by U+FFFD REPLACEMENT CHARACTERs. (this isn't black-box - testable since neither U+0000 nor U+FFFD are valid anywhere in the - syntax and thus both will be treated the same anyway)--> <a href="#refsRFC3629">[RFC3629]</a></li> + <ol><li><p>The user agent must decode the byte stream corresponding + with the manifest to be parsed <a href="#decoded-as-utf-8-with-error-handling" title="decoded as UTF-8, with + error handling">as UTF-8, with error handling</a>. <!--All + U+0000 NULL characters must be replaced by U+FFFD REPLACEMENT + CHARACTERs. (this isn't black-box testable since neither U+0000 nor + U+FFFD are valid anywhere in the syntax and thus both will be + treated the same anyway)--></li> <li><p>Let <var title="">base URL</var> be the <a href="#absolute-url">absolute URL</a> representing the manifest.</li> @@ -54143,7 +54188,10 @@ <p>Bytes or sequences of bytes in the original byte stream that could not be converted to Unicode code points must be converted to - U+FFFD REPLACEMENT CHARACTERs.</p> + U+FFFD REPLACEMENT CHARACTERs. Specifically, if the encoding is + UTF-8, the bytes must be <a href="#decoded-as-utf-8-with-error-handling" title="decoded as UTF-8, with error + handling">decoded with the error handling</a> defined in this + specification.</p> <p class="note">Bytes or sequences of bytes in the original byte stream that did not conform to the encoding specification
Received on Tuesday, 28 September 2010 19:17:15 UTC