[html5] r1796 - [] (0) Factor out the URL parsing rules and use them to define the URL decomposi [...]

whatwg at whatwg.org whatwg at whatwg.org
Tue Jun 24 15:01:32 PDT 2008


Author: ianh
Date: 2008-06-24 15:01:32 -0700 (Tue, 24 Jun 2008)
New Revision: 1796

Modified:
   index
   source
Log:
[] (0) Factor out the URL parsing rules and use them to define the URL decomposition attributes.

Modified: index
===================================================================
--- index	2008-06-24 21:21:46 UTC (rev 1795)
+++ index	2008-06-24 22:01:32 UTC (rev 1796)
@@ -216,14 +216,17 @@
        <li><a href="#terminology0"><span class=secno>2.3.1
         </span>Terminology</a>
 
-       <li><a href="#resolving"><span class=secno>2.3.2 </span>Resolving
+       <li><a href="#parsing0"><span class=secno>2.3.2 </span>Parsing
         URLs</a>
 
-       <li><a href="#open-issues"><span class=secno>2.3.3 </span>Open
+       <li><a href="#resolving"><span class=secno>2.3.3 </span>Resolving
+        URLs</a>
+
+       <li><a href="#open-issues"><span class=secno>2.3.4 </span>Open
         issues</a>
 
-       <li><a href="#interfaces"><span class=secno>2.3.4 </span>Interfaces
-        for URI manipulation</a>
+       <li><a href="#interfaces"><span class=secno>2.3.5 </span>Interfaces
+        for URL manipulation</a>
       </ul>
 
      <li><a href="#common0"><span class=secno>2.4 </span>Common
@@ -1173,7 +1176,7 @@
          <li><a href="#writing"><span class=secno>5.7.3.1. </span>Writing
           cache manifests</a>
 
-         <li><a href="#parsing0"><span class=secno>5.7.3.2. </span>Parsing
+         <li><a href="#parsing1"><span class=secno>5.7.3.2. </span>Parsing
           cache manifests</a>
         </ul>
 
@@ -1552,7 +1555,7 @@
        <li><a href="#connecting"><span class=secno>7.2.2 </span>Connecting to
         an event stream</a>
 
-       <li><a href="#parsing1"><span class=secno>7.2.3 </span>Parsing an
+       <li><a href="#parsing2"><span class=secno>7.2.3 </span>Parsing an
         event stream</a>
 
        <li><a href="#event-stream-interpretation"><span class=secno>7.2.4
@@ -1811,7 +1814,7 @@
      <li><a href="#serializing"><span class=secno>9.4 </span>Serializing HTML
       fragments</a>
 
-     <li><a href="#parsing2"><span class=secno>9.5 </span>Parsing HTML
+     <li><a href="#parsing3"><span class=secno>9.5 </span>Parsing HTML
       fragments</a>
 
      <li><a href="#named"><span class=secno>9.6 </span>Named character
@@ -2666,7 +2669,6 @@
    any script.
 
   <h3 id=urls><span class=secno>2.3 </span>URLs</h3>
-  <!-- XXXURL -->
 
   <p>This specification defines the term <a href="#url">URL</a>, and defines
    various algorithms for dealing with URLs, because for historical reasons
@@ -2711,8 +2713,111 @@
      href="#refsRFC3987">[RFC3987]</a>
   </ul>
 
-  <h4 id=resolving><span class=secno>2.3.2 </span>Resolving URLs</h4>
+  <h4 id=parsing0><span class=secno>2.3.2 </span>Parsing URLs</h4>
 
+  <p>To <dfn id=parse0>parse a URL</dfn> <var title="">url</var> into its
+   component parts, the user agent must first strip leading and trailing <a
+   href="#space" title="space character">space characters</a> from <var
+   title="">url</var>, and then must parse <var title="">url</var> in the
+   manner defined by RFC 3986, with the following exceptions:
+
+  <ul>
+   <li>Add all characters with codepoints less than or equal to U+0020 or
+    greater than or equal to U+007F to the <unreserved> production.
+
+   <li>Add the characters U+0022, U+003C, U+003E, U+005B .. U+005E, U+0060,
+    and U+007B .. U+007D to the <unreserved> production. <!--
+     0022 QUOTATION MARK
+     003C LESS-THAN SIGN
+     003E GREATER-THAN SIGN
+     005B LEFT SQUARE BRACKET
+     005C REVERSE SOLIDUS
+     005D RIGHT SQUARE BRACKET
+     005E CIRCUMFLEX ACCENT
+     0060 GRAVE ACCENT
+     007B LEFT CURLY BRACKET
+     007C VERTICAL LINE
+     007D RIGHT CURLY BRACKET
+    -->
+    
+
+   <li>Add a single U+0025 PERCENT SIGN character as a second alternative way
+    of matching the <pct-encoded> production, except when the
+    <pct-encoded> is used in the <reg-name> production.
+
+   <li>Add the U+0023 NUMBER SIGN character to the characters allowed in the
+    <fragment> production.</li>
+   <!-- some browsers also have other differences, e.g. Mozilla
+   seems to treat ";" as if it was not in sub-delims, if the scheem
+   is "ftp". -->
+  </ul>
+
+  <p>If <var title="">url</var> doesn't match the <URI-reference>
+   production, even after the above changes are made to the ABNF definitions,
+   then parsing the URL fails with an errors.
+
+  <p>If parsing <var title="">url</var> was successful, then the components
+   of the URL are substrings of <var title="">url</var> defined as follows:
+
+  <dl>
+   <dt><dfn id=ltschemegt title=url-scheme><scheme></dfn>
+
+   <dd>
+    <p>The substring matched by the <scheme> production, if any.
+
+   <dt><dfn id=lthostgt title=url-host><host></dfn>
+
+   <dd>
+    <p>The substring matched by the <host> production, if any.
+
+   <dt><dfn id=ltportgt title=url-port><port></dfn>
+
+   <dd>
+    <p>The substring matched by the <port> production, if any.
+
+   <dt><dfn id=lthostportgt title=url-hostport><hostport></dfn>
+
+   <dd>
+    <p>If there is a <scheme> component and a <port> component
+     and the port given by the <port> component is different than the
+     default port defined for the protocol given by the <scheme>
+     component, then <hostport> is the substring that starts with the
+     substring matched by the <host> production and ends with the
+     substring matched by the <port> production, and includes the colon
+     in between the two. Otherwise, it is the same as the <host>
+     component.</p>
+
+   <dt><dfn id=ltpathgt title=url-path><path></dfn>
+
+   <dd>
+    <p>The substring matched by one of the following productions, if one of
+     them was matched:</p>
+
+    <ul class=brief>
+     <li><path-abempty>
+
+     <li><path-absolute>
+
+     <li><path-noscheme>
+
+     <li><path-rootless>
+
+     <li><path-empty>
+    </ul>
+
+   <dt><dfn id=ltquerygt title=url-query><query></dfn>
+
+   <dd>
+    <p>The substring matched by the <query> production, if any.
+
+   <dt><dfn id=ltfragmentgt title=url-fragment><fragment></dfn>
+
+   <dd>
+    <p>The substring matched by the <fragment> production, if any.
+  </dl>
+
+  <h4 id=resolving><span class=secno>2.3.3 </span>Resolving URLs</h4>
+
   <p>Relative URLs are resolved relative to a base URL. The <dfn
    id=base->base URL</dfn> of a <a href="#url">URL</a> is the <a
    href="#absolute">absolute URL</a> obtained as follows:
@@ -2797,79 +2902,16 @@
      URL</a>.)
 
    <li>
-    <p>Strip leading and trailing <a href="#space" title="space
-     character">space characters</a> from <var title="">url</var>.
+    <p><a href="#parse0" title="parse a URL">Parse</a> <var
+     title="">url</var> into its component parts.
 
    <li>
-    <p>Parse <var title="">url</var> in the manner defined by RFC 3986, with
-     the following exceptions:</p>
+    <p>If parsing <var title="">url</var> resulted in a <a href="#lthostgt"
+     title=url-host><host></a> component, then replace the matching
+     subtring of <var title="">url</var> with the string that results from
+     expanding any sequences of percent-encoded octets in that component that
+     are valid UTF-8 sequences into Unicode characters as defined by UTF-8.</p>
 
-    <ul>
-     <li>Add all characters with codepoints less than or equal to U+0020 or
-      greater than or equal to U+007F to the <unreserved> production.
-
-     <li>Add the characters U+0022, U+003C, U+003E, U+005B .. U+005E, U+0060,
-      and U+007B .. U+007D to the <unreserved> production. <!--
-       0022 QUOTATION MARK
-       003C LESS-THAN SIGN
-       003E GREATER-THAN SIGN
-       005B LEFT SQUARE BRACKET
-       005C REVERSE SOLIDUS
-       005D RIGHT SQUARE BRACKET
-       005E CIRCUMFLEX ACCENT
-       0060 GRAVE ACCENT
-       007B LEFT CURLY BRACKET
-       007C VERTICAL LINE
-       007D RIGHT CURLY BRACKET
-      -->
-      
-
-     <li>Add a single U+0025 PERCENT SIGN character as a second alternative
-      way of matching the <pct-encoded> production, except when the
-      <pct-encoded> is used in the <reg-name> production.
-
-     <li>Add the U+0023 NUMBER SIGN character to the characters allowed in
-      the <fragment> production.</li>
-     <!-- some browsers also have other differences, e.g. Mozilla
-     seems to treat ";" as if it was not in sub-delims, if the scheem
-     is "ftp". -->
-    </ul>
-
-    <p>If <var title="">url</var> doesn't match the <URI-reference>
-     production, even after the above changes are made to the ABNF
-     definitions, then return an error and abort these steps.</p>
-
-    <p>If parsing <var title="">url</var> was successful, then make a note of
-     which substrings of <var title="">url</var> matched each of the
-     following productions that was matched:</p>
-
-    <ul class=brief>
-     <li><host>
-
-     <li><path-abempty>
-
-     <li><path-absolute>
-
-     <li><path-noscheme>
-
-     <li><path-rootless>
-
-     <li><path-empty>
-
-     <li><query>
-    </ul>
-
-    <p>When subsequent steps refer to the <path> production, they are
-     referring to whichever of those productions whose names start with
-     "path-" was matched. (Only one at a time can be matched.)</p>
-
-   <li>
-    <p>If parsing <var title="">url</var> resulted in the <host>
-     production being matched, then replace the matching subtring of <var
-     title="">url</var> with the string that results from expanding any
-     sequences of percent-encoded octets in that component that are valid
-     UTF-8 sequences into Unicode characters as defined by UTF-8.</p>
-
     <p>If any percent-encoded octets in that component are not valid UTF-8
      sequences, then return an error and abort these steps.</p>
 
@@ -2883,11 +2925,11 @@
      href="#refsRFC3490">[RFC3490]</a></p>
 
    <li>
-    <p>If parsing <var title="">url</var> resulted in the <path>
-     production being matched, then replace the matching substring of <var
-     title="">url</var> with the string that results from applying the
-     following steps to each character that doesn't match the original
-     <path> production defined in RFC 3986:</p>
+    <p>If parsing <var title="">url</var> resulted in a <a href="#ltpathgt"
+     title=url-path><path></a> component, then replace the matching
+     substring of <var title="">url</var> with the string that results from
+     applying the following steps to each character that doesn't match the
+     original <path> production defined in RFC 3986:</p>
 
     <ol>
      <li>Encode the character into a sequence of octets as defined by UTF-8.
@@ -2897,21 +2939,22 @@
 
     <div class=example>
      <p>For instance if <var title="">url</var> was "<code
-      title="">//example.com/a^b&#x263a;c%FFd/?e</code>", then there would
-      the substring matching the <path> production would be "<code
-      title="">/a^b&#x263a;c%FFd/</code>" and the two characters that would
-      have to be escaped would be "<code title="">^</code>" and "<code
-      title="">&#x263a;</code>". The result after this step was applied would
-      therefore be that <var title="">url</var> now had the value "<code
+      title="">//example.com/a^b&#x263a;c%FFd/?e</code>", then the <a
+      href="#ltpathgt" title=url-path><path></a> component's substring
+      would be "<code title="">/a^b&#x263a;c%FFd/</code>" and the two
+      characters that would have to be escaped would be "<code
+      title="">^</code>" and "<code title="">&#x263a;</code>". The result
+      after this step was applied would therefore be that <var
+      title="">url</var> now had the value "<code
       title="">//example.com/a%5Eb%E2%98%BAc%FFd/?e</code>".</p>
     </div>
 
    <li>
-    <p>If parsing <var title="">url</var> resulted in the <query>
-     production being matched, then replace the matching substring of <var
-     title="">url</var> with the string that results from applying the
-     following steps to each character that doesn't match the original
-     <query> production defined in RFC 3986:</p>
+    <p>If parsing <var title="">url</var> resulted in a <a href="#ltquerygt"
+     title=url-query><query></a> component, then replace the matching
+     substring of <var title="">url</var> with the string that results from
+     applying the following steps to each character that doesn't match the
+     original <query> production defined in RFC 3986:</p>
 
     <ol>
      <li>Encode the character into a sequence of octets as defined by the
@@ -2946,7 +2989,7 @@
    href="#resolve" title="resolve a URL">resolving</a> it results in the same
    URL without an error.
 
-  <h4 id=open-issues><span class=secno>2.3.3 </span>Open issues</h4>
+  <h4 id=open-issues><span class=secno>2.3.4 </span>Open issues</h4>
 
   <div class=big-issue>
    <p>This section will do the following:</p>
@@ -3005,13 +3048,11 @@
      
    </ul>
   </div>
-  <!-- XXXURL change to URL -->
 
-  <h4 id=interfaces><span class=secno>2.3.4 </span>Interfaces for URI
+  <h4 id=interfaces><span class=secno>2.3.5 </span>Interfaces for URL
    manipulation</h4>
-  <!-- XXXURL change to URL -->
 
-  <p>An interface that has a complement of <dfn id=uri-decomposition>URI
+  <p>An interface that has a complement of <dfn id=url-decomposition>URL
    decomposition attributes</dfn> will have seven attributes with the
    following definitions:
 
@@ -3024,33 +3065,28 @@
            attribute DOMString <a href="#search" title=dom-uda-search>search</a>;
            attribute DOMString <a href="#hash" title=dom-uda-hash>hash</a>;
 </pre>
-  <!-- XXXURL change to URL -->
 
-  <p>The attributes defined to be URI decomposition attributes must act as
+  <p>The attributes defined to be URL decomposition attributes must act as
    described for the attributes with the same corresponding names in this
-   section.</p>
-  <!-- XXXURL change to URL -->
+   section.
 
-  <p>In addition, an interface with a complement of URI decomposition
+  <p>In addition, an interface with a complement of URL decomposition
    attributes will define an <dfn id=input
-   title=concept-uda-input>input</dfn>, which is a URI that the attributes
-   act on, and a <dfn id=common3 title=concept-uda-setter>common setter
-   action</dfn>, which is a set of steps invoked when any of the attributes'
-   setters are invoked.</p>
-  <!-- XXXURL change to URL -->
+   title=concept-uda-input>input</dfn>, which is a <a href="#url">URL</a>
+   that the attributes act on, and a <dfn id=common3
+   title=concept-uda-setter>common setter action</dfn>, which is a set of
+   steps invoked when any of the attributes' setters are invoked.
 
-  <p>The seven URI decomposition attributes have similar requirements.</p>
-  <!-- XXXURL change to URL -->
+  <p>The seven URL decomposition attributes have similar requirements.
 
   <p>On getting, if the <a href="#input" title=concept-uda-input>input</a>
    fulfills the condition given in the "getter condition" column
    corresponding to the attribute in the table below, the user agent must
    return the part of the <a href="#input" title=concept-uda-input>input</a>
-   URI given in the "component" column, with any prefixes specified in the
+   URL given in the "component" column, with any prefixes specified in the
    "prefix" column appropriately added to the start of the string and any
    suffixes specified in the "suffix" column appropriately added to the end
-   of the string. Otherwise, the attribute must return the empty string.</p>
-  <!-- XXXURL change to URL; algorithms or something? -->
+   of the string. Otherwise, the attribute must return the empty string.
 
   <p>On setting, the new value must first be mutated as described by the
    "setter preprocessor" column, then mutated by %-escaping any characters in
@@ -3058,28 +3094,26 @@
    "component" column. Then, if the resulting new value fulfills the
    condition given in the "setter condition" column, the user agent must make
    a new string <var title="">output</var> by replacing the component of the
-   URI given by the "component" column in the <a href="#input"
-   title=concept-uda-input>input</a> URI with the new value; otherwise, the
+   URL given by the "component" column in the <a href="#input"
+   title=concept-uda-input>input</a> URL with the new value; otherwise, the
    user agent must let <var title="">output</var> be equal to the <a
    href="#input" title=concept-uda-input>input</a>. Finally, the user agent
    must invoke the <a href="#common3" title=concept-uda-setter>common setter
-   action</a> with the value of <var title="">output</var>.</p>
-  <!-- XXXURL change to URL -->
+   action</a> with the value of <var title="">output</var>.
 
-  <p>When replacing a component in the URI, if the component is part of an
-   optional group in the URI syntax consisting of a character followed by the
+  <p>When replacing a component in the URL, if the component is part of an
+   optional group in the URL syntax consisting of a character followed by the
    component, the component (including its prefix character) must be included
    even if the new value is the empty string.
 
   <p class=note>The previous paragraph applies in particular to the "<code
    title="">:</code>" before a <port> component, the "<code
    title="">?</code>" before a <query> component, and the "<code
-   title="">#</code>" before a <fragment> component.</p>
-  <!-- XXXURL change to URL; algorithms -->
+   title="">#</code>" before a <fragment> component.
 
-  <p>The rules for parsing and constructing URIs are described in RFC 3986
-   and RFC 3987. <a href="#refsRFC3986">[RFC3986]</a> <a
-   href="#refsRFC3987">[RFC3987]</a>
+  <p>For hte purposes of the above definitions, URLs must be parsed using the
+   <a href="#parse0" title="parse a URL">URL parsing rules</a> defined in
+   this specification.
 
   <table>
    <thead>
@@ -3102,7 +3136,7 @@
     <tr>
      <td><dfn id=protocol title=dom-uda-protocol><code>protocol</code></dfn>
 
-     <td><scheme>
+     <td><a href="#ltschemegt" title=url-scheme><scheme></a>
 
      <td>—
 
@@ -3118,7 +3152,7 @@
     <tr>
      <td><dfn id=host title=dom-uda-host><code>host</code></dfn>
 
-     <td><a href="#lthostportgt"><hostport></a>
+     <td><a href="#lthostportgt" title=url-hostport><hostport></a>
 
      <td><a href="#input" title=concept-uda-input>input</a> is hierarchical
       and uses a server-based naming authority
@@ -3134,7 +3168,7 @@
     <tr>
      <td><dfn id=hostname title=dom-uda-hostname><code>hostname</code></dfn>
 
-     <td><host>/<ihost>
+     <td><a href="#lthostgt" title=url-host><host></a>
 
      <td><a href="#input" title=concept-uda-input>input</a> is hierarchical
       and uses a server-based naming authority
@@ -3151,7 +3185,7 @@
     <tr>
      <td><dfn id=port title=dom-uda-port><code>port</code></dfn>
 
-     <td><port>
+     <td><a href="#ltportgt" title=url-port><port></a>
 
      <td><a href="#input" title=concept-uda-input>input</a> is hierarchical
       and uses a server-based naming authority
@@ -3169,7 +3203,7 @@
     <tr>
      <td><dfn id=pathname title=dom-uda-pathname><code>pathname</code></dfn>
 
-     <td><abs_path>
+     <td><a href="#ltpathgt" title=url-path><path></a>
 
      <td><a href="#input" title=concept-uda-input>input</a> is hierarchical
 
@@ -3186,7 +3220,7 @@
     <tr>
      <td><dfn id=search title=dom-uda-search><code>search</code></dfn>
 
-     <td><query>
+     <td><a href="#ltquerygt" title=url-query><query></a>
 
      <td><a href="#input" title=concept-uda-input>input</a> is hierarchical
 
@@ -3202,7 +3236,7 @@
     <tr>
      <td><dfn id=hash title=dom-uda-hash><code>hash</code></dfn>
 
-     <td><fragment>
+     <td><a href="#ltfragmentgt" title=url-fragment><fragment></a>
 
      <td>Fragment identifier is longer than zero characters
 
@@ -3215,12 +3249,6 @@
 
      <td>—
   </table>
-
-  <p>The <dfn id=lthostportgt><hostport></dfn> component is defined as
-   being the <host>/<ihost> component, followed by a colon and
-   the <port> component, but with the colon and <port> component
-   omitted if the given port matches the default port for the protocol given
-   by the <scheme> component.</p>
   <!--
   http://www.hixie.ch/tests/adhoc/dom/level0/location/components/
   http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsLocation.cpp
@@ -25273,7 +25301,7 @@
    document with no <code><a href="#noscript">noscript</a></code> elements
    and no <code><a href="#script1">script</a></code> elements, and such that
    no step in the algorithm causes an <a href="#html-0">HTML parser</a> to
-   flag a <a href="#parse1">parse error</a>:
+   flag a <a href="#parse2">parse error</a>:
 
   <ol>
    <li>Remove every <code><a href="#script1">script</a></code> element from
@@ -32473,9 +32501,9 @@
 
   <p>URIs in manifests must not have fragment identifiers.
 
-  <h5 id=parsing0><span class=secno>5.7.3.2. </span>Parsing cache manifests</h5>
+  <h5 id=parsing1><span class=secno>5.7.3.2. </span>Parsing cache manifests</h5>
 
-  <p>When a user agent is to <dfn id=parse0>parse a manifest</dfn>, it means
+  <p>When a user agent is to <dfn id=parse1>parse a manifest</dfn>, it means
    that the user agent must run the following steps:
 
   <ol>
@@ -32781,7 +32809,7 @@
 
     <p>If the resource is labeled with the MIME type <code
      title="">text/cache-manifest</code>, parse <var title="">manifest</var>
-     according to the <a href="#parse0" title="parse a manifest">rules for
+     according to the <a href="#parse1" title="parse a manifest">rules for
      parsing manifests</a>, obtaining a list of <a href="#explicit"
      title=concept-appcache-explicit>explicit entries</a>, <a
      href="#fallback0" title=concept-appcache-fallback>fallback entries</a>
@@ -34072,7 +34100,7 @@
   void <span title=dom-location-reload>reload</span>();
 
   <!-- XXXURL change to URL
- -->  // <a href="#uri-decomposition">URI decomposition attributes</a> <!-- blame brendan for these "innovative" names -->
+ -->  // <span>URI decomposition attributes</span> <!-- blame brendan for these "innovative" names -->
            attribute DOMString <a href="#protocol0" title=dom-location-protocol>protocol</a>;
            attribute DOMString <a href="#host0" title=dom-location-host>host</a>;
            attribute DOMString <a href="#hostname0" title=dom-location-hostname>hostname</a>;
@@ -34135,10 +34163,9 @@
   <!-- XXXURL change to URL -->
 
   <p>The <code><a href="#location2">Location</a></code> interface also has
-   the complement of <a href="#uri-decomposition">URI decomposition
-   attributes</a>, <dfn id=protocol0
-   title=dom-location-protocol><code>protocol</code></dfn>, <dfn id=host0
-   title=dom-location-host><code>host</code></dfn>, <dfn id=port0
+   the complement of <span>URI decomposition attributes</span>, <dfn
+   id=protocol0 title=dom-location-protocol><code>protocol</code></dfn>, <dfn
+   id=host0 title=dom-location-host><code>host</code></dfn>, <dfn id=port0
    title=dom-location-port><code>port</code></dfn>, <dfn id=hostname0
    title=dom-location-hostname><code>hostname</code></dfn>, <dfn id=pathname0
    title=dom-location-pathname><code>pathname</code></dfn>, <dfn id=search0
@@ -40818,7 +40845,7 @@
 
   <p>For non-HTTP protocols, UAs should act in equivalent ways.
 
-  <h4 id=parsing1><span class=secno>7.2.3 </span>Parsing an event stream</h4>
+  <h4 id=parsing2><span class=secno>7.2.3 </span>Parsing an event stream</h4>
 
   <p>This event stream format's MIME type is <code>text/event-stream</code>.
 
@@ -42931,7 +42958,7 @@
 
   <p>This specification defines the parsing rules for HTML documents, whether
    they are syntactically correct or not. Certain points in the parsing
-   algorithm are said to be <dfn id=parse1 title="parse error">parse
+   algorithm are said to be <dfn id=parse2 title="parse error">parse
    errors</dfn>. The error handling for parse errors is well-defined: user
    agents must either act as described below when encountering such problems,
    or must abort processing at the first error that they encounter for which
@@ -43457,7 +43484,7 @@
    column of the following table, it must instead use the encoding given in
    the cell in the second column of the same row. Any bytes that are treated
    differently due to this encoding aliasing must be considered <a
-   href="#parse1" title="parse error">parse errors</a>.
+   href="#parse2" title="parse error">parse errors</a>.
 
   <table>
    <caption>Character encoding overrides</caption>
@@ -43605,7 +43632,7 @@
 
   <p>All U+0000 NULL characters in the input must be replaced by U+FFFD
    REPLACEMENT CHARACTERs. Any occurrences of such characters is a <a
-   href="#parse1">parse error</a>.
+   href="#parse2">parse error</a>.
 
   <p>Any occurrences of any characters in the ranges U+0001 to U+0008,
    <!-- space characters allowed --> U+000E to U+001F, <!-- ASCII
@@ -43618,7 +43645,7 @@
    U+3FFFF, U+4FFFE, U+4FFFF, U+5FFFE, U+5FFFF, U+6FFFE, U+6FFFF, U+7FFFE,
    U+7FFFF, U+8FFFE, U+8FFFF, U+9FFFE, U+9FFFF, U+AFFFE, U+AFFFF, U+BFFFE,
    U+BFFFF, U+CFFFE, U+CFFFF, U+DFFFE, U+DFFFF, U+EFFFE, U+EFFFF, U+FFFFE,
-   U+FFFFF, U+10FFFE, and U+10FFFF are <a href="#parse1" title="parse
+   U+FFFFF, U+10FFFE, and U+10FFFF are <a href="#parse2" title="parse
    error">parse errors</a>. (These are all control characters or permanently
    undefined Unicode characters.)
 
@@ -44214,16 +44241,16 @@
   <p>When a start tag token is emitted with its <i>self-closing flag</i> set,
    if the flag is not <dfn id=acknowledged title="acknowledge self-closing
    flag">acknowledged</dfn> when it is processed by the tree construction
-   stage, that is a <a href="#parse1">parse error</a>.
+   stage, that is a <a href="#parse2">parse error</a>.
 
   <p>When an end tag token is emitted, the <a href="#content3">content model
    flag</a> must be switched to the PCDATA state.
 
   <p>When an end tag token is emitted with attributes, that is a <a
-   href="#parse1">parse error</a>.
+   href="#parse2">parse error</a>.
 
   <p>When an end tag token is emitted with its <i>self-closing flag</i> set,
-   that is a <a href="#parse1">parse error</a>.
+   that is a <a href="#parse2">parse error</a>.
 
   <p>Before each step of the tokeniser, the user agent may check to see if
    either one of the scripts in the <a href="#list-of1">list of scripts that
@@ -44372,18 +44399,18 @@
 
        <dt>U+003E GREATER-THAN SIGN (>)
 
-       <dd><a href="#parse1">Parse error</a>. Emit a U+003C LESS-THAN SIGN
+       <dd><a href="#parse2">Parse error</a>. Emit a U+003C LESS-THAN SIGN
         character token and a U+003E GREATER-THAN SIGN character token.
         Switch to the <a href="#data-state">data state</a>.
 
        <dt>U+003F QUESTION MARK (?)
 
-       <dd><a href="#parse1">Parse error</a>. Switch to the <a
+       <dd><a href="#parse2">Parse error</a>. Switch to the <a
         href="#bogus">bogus comment state</a>.
 
        <dt>Anything else
 
-       <dd><a href="#parse1">Parse error</a>. Emit a U+003C LESS-THAN SIGN
+       <dd><a href="#parse2">Parse error</a>. Emit a U+003C LESS-THAN SIGN
         character token and reconsume the current input character in the <a
         href="#data-state">data state</a>.
       </dl>
@@ -44443,18 +44470,18 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Switch to the <a
+     <dd><a href="#parse2">Parse error</a>. Switch to the <a
       href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit a U+003C LESS-THAN SIGN
+     <dd><a href="#parse2">Parse error</a>. Emit a U+003C LESS-THAN SIGN
       character token and a U+002F SOLIDUS character token. Reconsume the EOF
       character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Switch to the <a
+     <dd><a href="#parse2">Parse error</a>. Switch to the <a
       href="#bogus">bogus comment state</a>.
     </dl>
 
@@ -44489,7 +44516,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
@@ -44545,12 +44572,12 @@
 
      <dt>U+003D EQUALS SIGN (=)
 
-     <dd><a href="#parse1">Parse error</a>. Treat it as per the "anything
+     <dd><a href="#parse2">Parse error</a>. Treat it as per the "anything
       else" entry below.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
@@ -44603,12 +44630,12 @@
 
      <dt>U+0027 APOSTROPHE (')
 
-     <dd><a href="#parse1">Parse error</a>. Treat it as per the "anything
+     <dd><a href="#parse2">Parse error</a>. Treat it as per the "anything
       else" entry below.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
@@ -44622,7 +44649,7 @@
      emitting the tag token, if appropriate), the complete attribute's name
      must be compared to the other attributes on the same token; if there is
      already an attribute on the token with the exact same name, then this is
-     a <a href="#parse1">parse error</a> and the new attribute must be
+     a <a href="#parse2">parse error</a> and the new attribute must be
      dropped, along with the value that gets associated with it (if any).</p>
 
    <dt><dfn id=after>After attribute name state</dfn>
@@ -44666,7 +44693,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
@@ -44716,12 +44743,12 @@
 
      <dt>U+003D EQUALS SIGN (=)
 
-     <dd><a href="#parse1">Parse error</a>. Treat it as per the "anything
+     <dd><a href="#parse2">Parse error</a>. Treat it as per the "anything
       else" entry below.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -44750,7 +44777,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -44779,7 +44806,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -44823,12 +44850,12 @@
 
      <dt>U+003D EQUALS SIGN (=)
 
-     <dd><a href="#parse1">Parse error</a>. Treat it as per the "anything
+     <dd><a href="#parse2">Parse error</a>. Treat it as per the "anything
       else" entry below.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -44880,13 +44907,13 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Reconsume the character in the <a
+     <dd><a href="#parse2">Parse error</a>. Reconsume the character in the <a
       href="#before">before attribute name state</a>.
     </dl>
 
@@ -44903,13 +44930,13 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the current tag token.
+     <dd><a href="#parse2">Parse error</a>. Emit the current tag token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Reconsume the character in the <a
+     <dd><a href="#parse2">Parse error</a>. Reconsume the character in the <a
       href="#before">before attribute name state</a>.
     </dl>
 
@@ -44961,7 +44988,7 @@
      (which is unrelated to the <a href="#content3">content model flag</a>'s
      CDATA state).</p>
 
-    <p>Otherwise, this is a <a href="#parse1">parse error</a>. Switch to the
+    <p>Otherwise, this is a <a href="#parse2">parse error</a>. Switch to the
      <a href="#bogus">bogus comment state</a>. The next character that is
      consumed, if any, is the first character that will be in the comment.</p>
 
@@ -44977,12 +45004,12 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Switch to
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Switch to
       the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Reconsume
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -45003,12 +45030,12 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Switch to
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Switch to
       the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Reconsume
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.
 
      <dt>Anything else
@@ -45030,7 +45057,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Reconsume
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.</dd>
      <!-- For
      security reasons: otherwise, hostile user could put a <script> in
@@ -45056,7 +45083,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Reconsume
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.</dd>
      <!-- For
      security reasons: otherwise, hostile user could put a <script> in
@@ -45084,13 +45111,13 @@
 
      <dt>U+002D HYPHEN-MINUS (-)
 
-     <dd><a href="#parse1">Parse error</a>. Append a U+002D HYPHEN-MINUS (-)
+     <dd><a href="#parse2">Parse error</a>. Append a U+002D HYPHEN-MINUS (-)
       character to the comment token's data. Stay in the <a
       href="#comment3">comment end state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Emit the comment token. Reconsume
+     <dd><a href="#parse2">Parse error</a>. Emit the comment token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.</dd>
      <!-- For
      security reasons: otherwise, hostile user could put a <script> in
@@ -45100,7 +45127,7 @@
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Append two U+002D HYPHEN-MINUS
+     <dd><a href="#parse2">Parse error</a>. Append two U+002D HYPHEN-MINUS
       (-) characters and the input character to the comment token's data.
       Switch to the <a href="#comment">comment state</a>.
     </dl>
@@ -45124,7 +45151,7 @@
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Reconsume the current character
+     <dd><a href="#parse2">Parse error</a>. Reconsume the current character
       in the <a href="#before1">before DOCTYPE name state</a>.
     </dl>
 
@@ -45147,13 +45174,13 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Create a new DOCTYPE token. Set
+     <dd><a href="#parse2">Parse error</a>. Create a new DOCTYPE token. Set
       its <i>force-quirks flag</i> to <i>on</i>. Emit the token. Switch to
       the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Create a new DOCTYPE token. Set
+     <dd><a href="#parse2">Parse error</a>. Create a new DOCTYPE token. Set
       its <i>force-quirks flag</i> to <i>on</i>. Emit the token. Reconsume
       the EOF character in the <a href="#data-state">data state</a>.
 
@@ -45188,7 +45215,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45223,7 +45250,7 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45241,7 +45268,7 @@
        the word "SYSTEM", then consume those characters and switch to the <a
        href="#before3">before DOCTYPE system identifier state</a>.</p>
 
-      <p>Otherwise, this is the <a href="#parse1">parse error</a>. Set the
+      <p>Otherwise, this is the <a href="#parse2">parse error</a>. Set the
        DOCTYPE token's <i>force-quirks flag</i> to <i>on</i>. Switch to the
        <a href="#bogus0">bogus DOCTYPE state</a>.</p>
     </dl>
@@ -45278,20 +45305,20 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Switch to the <a
       href="#bogus0">bogus DOCTYPE state</a>.
     </dl>
@@ -45309,13 +45336,13 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45340,13 +45367,13 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45395,14 +45422,14 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Switch to the <a
       href="#bogus0">bogus DOCTYPE state</a>.
     </dl>
@@ -45439,20 +45466,20 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Switch to the <a
       href="#bogus0">bogus DOCTYPE state</a>.
     </dl>
@@ -45470,13 +45497,13 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45501,13 +45528,13 @@
 
      <dt>U+003E GREATER-THAN SIGN (>)
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token. Switch
       to the <a href="#data-state">data state</a>.
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
@@ -45544,14 +45571,14 @@
 
      <dt>EOF
 
-     <dd><a href="#parse1">Parse error</a>. Set the DOCTYPE token's
+     <dd><a href="#parse2">Parse error</a>. Set the DOCTYPE token's
       <i>force-quirks flag</i> to <i>on</i>. Emit that DOCTYPE token.
       Reconsume the EOF character in the <a href="#data-state">data
       state</a>.
 
      <dt>Anything else
 
-     <dd><a href="#parse1">Parse error</a>. Switch to the <a
+     <dd><a href="#parse2">Parse error</a>. Switch to the <a
       href="#bogus0">bogus DOCTYPE state</a>. (This does <em>not</em> set the
       DOCTYPE token's <i>force-quirks flag</i> to <i>on</i>.)
     </dl>
@@ -45671,18 +45698,18 @@
 
     <p>If no characters match the range, then don't consume any characters
      (and unconsume the U+0023 NUMBER SIGN character and, if appropriate, the
-     X character). This is a <a href="#parse1">parse error</a>; nothing is
+     X character). This is a <a href="#parse2">parse error</a>; nothing is
      returned.</p>
 
     <p>Otherwise, if the next character is a U+003B SEMICOLON, consume that
-     too. If it isn't, there is a <a href="#parse1">parse error</a>.</p>
+     too. If it isn't, there is a <a href="#parse2">parse error</a>.</p>
 
     <p>If one or more characters match the range, then take them all and
      interpret the string of characters as a number (either hexadecimal or
      decimal as appropriate).</p>
 
     <p>If that number is one of the numbers in the first column of the
-     following table, then this is a <a href="#parse1">parse error</a>. Find
+     following table, then this is a <a href="#parse2">parse error</a>. Find
      the row with that number in the first column, and return a character
      token for the Unicode character given in the second column of that row.</p>
 
@@ -45939,7 +45966,7 @@
      0x8FFFE, 0x8FFFF, 0x9FFFE, 0x9FFFF, 0xAFFFE, 0xAFFFF, 0xBFFFE, 0xBFFFF,
      0xCFFFE, 0xCFFFF, 0xDFFFE, 0xDFFFF, 0xEFFFE, 0xEFFFF, 0xFFFFE, 0xFFFFF,
      0x10FFFE, or 0x10FFFF, or is higher than 0x10FFFF, then this is a <a
-     href="#parse1">parse error</a>; return a character token for the U+FFFD
+     href="#parse2">parse error</a>; return a character token for the U+FFFD
      REPLACEMENT CHARACTER character instead.</p>
 
     <p>Otherwise, return a character token for the Unicode character whose
@@ -45952,11 +45979,11 @@
      characters case-sensitively matching one of the identifiers in the first
      column of the <a href="#named0">named character references</a> table.</p>
 
-    <p>If no match can be made, then this is a <a href="#parse1">parse
+    <p>If no match can be made, then this is a <a href="#parse2">parse
      error</a>. No characters are consumed, and nothing is returned.</p>
 
     <p>If the last character matched is not a U+003B SEMICOLON (<code
-     title="">;</code>), there is a <a href="#parse1">parse error</a>.</p>
+     title="">;</code>), there is a <a href="#parse2">parse error</a>.</p>
 
     <p>If the character reference is being consumed <a href="#character5"
      title="character reference in attribute value state">as part of an
@@ -46074,7 +46101,7 @@
    href="#current5">current node</a>. If the newly created element has an
    <code title="">xmlns</code> attribute in the <a href="#xmlns">XMLNS
    namespace</a> whose value is not exactly the same as the element's
-   namespace, that is a <a href="#parse1">parse error</a>.</p>
+   namespace, that is a <a href="#parse2">parse error</a>.</p>
   <!--XXXSVG
   <p>When the steps below require the user agent to <dfn>adjust SVG
   attributes</dfn> for a token, then, for each attribute on the token
@@ -46321,7 +46348,7 @@
    <li>
     <p>If the next token is an end tag token with the same tag name as the
      start tag token, ignore it. Otherwise, it's an end-of-file token, and
-     this is a <a href="#parse1">parse error</a>.
+     this is a <a href="#parse2">parse error</a>.
   </ol>
 
   <h5 id=closing><span class=secno>9.2.5.2. </span>Closing elements that have
@@ -46410,7 +46437,7 @@
     <p>If the DOCTYPE token's <code title="">name</code> does not
      case-insensitively match the string "<code title="">HTML</code>", or if
      the token's public identifier is not missing, or if the token's system
-     identifier is not missing, then there is a <a href="#parse1">parse
+     identifier is not missing, then there is a <a href="#parse2">parse
      error</a>. Conformance checkers may, instead of reporting this error,
      switch to a conformance checking mode for another language (e.g. based
      on the DOCTYPE token a conformance checker could recognize that the
@@ -46679,7 +46706,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>Set the document to <a href="#quirks">quirks mode</a>.</p>
 
@@ -46699,7 +46726,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A comment token
 
@@ -46793,7 +46820,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -46823,7 +46850,7 @@
    <dt>Any other end tag
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -46863,7 +46890,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -46964,7 +46991,7 @@
      switched back to the PCDATA state.</p>
 
     <p>If the next token is not an end tag token with the tag name "script",
-     then this is a <a href="#parse1">parse error</a>; mark the <code><a
+     then this is a <a href="#parse2">parse error</a>; mark the <code><a
      href="#script1">script</a></code> element as <a href="#already">"already
      executed"</a>. Otherwise, the token is the <code><a
      href="#script1">script</a></code> element's end tag, so ignore it.</p>
@@ -47075,7 +47102,7 @@
    <dt>Any other end tag
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -47101,7 +47128,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -47146,12 +47173,12 @@
    <dt>Any other end tag
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
    <dd> <!-- can't get here with an EOF and a fragment case -->
-    <p><a href="#parse1">Parse error</a>. Act as if an end tag with the tag
+    <p><a href="#parse2">Parse error</a>. Act as if an end tag with the tag
      name "noscript" had been seen and reprocess the current token.</p>
   </dl>
 
@@ -47181,7 +47208,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -47210,7 +47237,7 @@
     "noframes", "script", "style", "title"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>Push the node pointed to by the <a href="#head-element"><code
      title="">head</code> element pointer</a> onto the <a href="#stack">stack
@@ -47230,7 +47257,7 @@
    <dt>Any other end tag
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -47266,12 +47293,12 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. For each attribute on the token,
+    <p><a href="#parse2">Parse error</a>. For each attribute on the token,
      check to see if the attribute is already present on the top element of
      the <a href="#stack">stack of open elements</a>. If it is not, add the
      attribute and its corresponding value to that element.</p>
@@ -47287,7 +47314,7 @@
    <dt>A start tag whose tag name is "body"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>If the second element on the <a href="#stack">stack of open
      elements</a> is not a <code><a href="#body0">body</a></code> element,
@@ -47315,7 +47342,7 @@
      href="#tr">tr</a></code> element, the <code><a
      href="#body0">body</a></code> element, or the <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
     <!-- (some of those are
     fragment cases) -->
     <p><a href="#stops">Stop parsing</a>.</p>
@@ -47325,7 +47352,7 @@
    <dd>
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have a <code>body</code>
-     element in scope</a>, this is a <a href="#parse1">parse error</a>;
+     element in scope</a>, this is a <a href="#parse2">parse error</a>;
      ignore the token.</p>
 
     <p>Otherwise, if there is a node in the <a href="#stack">stack of open
@@ -47340,7 +47367,7 @@
      href="#tr">tr</a></code> element, the <code><a
      href="#body0">body</a></code> element, or the <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
     <!-- (some of those are fragment cases) -->
     <!-- the insertion mode here is forcibly "in body". -->
     <p>Switch the <span>insertion mode</span> to "<a href="#after5"
@@ -47411,7 +47438,7 @@
 
    <dd>
     <p>If the <a href="#form-element"><code title=form>form</code> element
-     pointer</a> is not null, ignore the token with a <a href="#parse1">parse
+     pointer</a> is not null, ignore the token with a <a href="#parse2">parse
      error</a>.</p>
 
     <p>Otherwise:</p>
@@ -47552,7 +47579,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> with the same tag name as that of the token, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Otherwise, run these steps:</p>
 
@@ -47563,7 +47590,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -47582,7 +47609,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> with the same tag name as that of the token, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Otherwise, run these steps:</p>
 
@@ -47593,7 +47620,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -47609,7 +47636,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> with the same tag name as that of the token, then this is a <a
-     href="#parse1">parse error</a>; act as if a start tag with the tag name
+     href="#parse2">parse error</a>; act as if a start tag with the tag name
      <code><a href="#p">p</a></code> had been seen, then reprocess the
      current token.</p>
 
@@ -47623,7 +47650,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -47639,7 +47666,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> with the same tag name as that of the token, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Otherwise, run these steps:</p>
 
@@ -47651,7 +47678,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -47668,7 +47695,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> whose tag name is one of "h1", "h2", "h3", "h4", "h5", or
-     "h6", then this is a <a href="#parse1">parse error</a>.
+     "h6", then this is a <a href="#parse2">parse error</a>.
      <!-- XXX quirk: Act as if
     a start tag with the tag name given in the token had been seen,
     then reprocess the current token. --></p>
@@ -47682,7 +47709,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -47707,7 +47734,7 @@
     <p>If the <a href="#list-of4">list of active formatting elements</a>
      contains an element whose tag name is "a" between the end of the list
      and the last marker on the list (or the start of the list if there is no
-     marker on the list), then this is a <a href="#parse1">parse error</a>;
+     marker on the list), then this is a <a href="#parse2">parse error</a>;
      act as if an end tag with the tag name "a" had been seen, then remove
      that element from the <a href="#list-of4">list of active formatting
      elements</a> and the <a href="#stack">stack of open elements</a> if the
@@ -47750,7 +47777,7 @@
 
     <p>If the <a href="#stack">stack of open elements</a> <a href="#have-an"
      title="has an element in scope">has a <code>nobr</code> element in
-     scope</a>, then this is a <a href="#parse1">parse error</a>. Act as if
+     scope</a>, then this is a <a href="#parse2">parse error</a>. Act as if
      an end tag with the tag name "nobr" had been seen, then once again <a
      href="#reconstruct">reconstruct the active formatting elements</a>, if
      any.</p>
@@ -47782,19 +47809,19 @@
       <p>If there is no such node, or, if that node is also in the <a
        href="#stack">stack of open elements</a> but the element is not <a
        href="#have-an" title="has an element in scope">in scope</a>, then
-       this is a <a href="#parse1">parse error</a>. Abort these steps. The
+       this is a <a href="#parse2">parse error</a>. Abort these steps. The
        token is ignored.</p>
 
       <p>Otherwise, if there is such a node, but that node is not in the <a
        href="#stack">stack of open elements</a>, then this is a <a
-       href="#parse1">parse error</a>; remove the element from the list, and
+       href="#parse2">parse error</a>; remove the element from the list, and
        abort these steps.</p>
 
       <p>Otherwise, there is a <var title="">formatting element</var> and
        that element is in <a href="#stack" title="stack of open elements">the
        stack</a> and is <a href="#have-an" title="has an element in scope">in
        scope</a>. If the element is not the <a href="#current5">current
-       node</a>, this is a <a href="#parse1">parse error</a>. In any case,
+       node</a>, this is a <a href="#parse2">parse error</a>. In any case,
        proceed with the algorithm as written in the following steps.</p>
 
      <li>
@@ -47928,7 +47955,7 @@
    <dd>
     <p>If the <a href="#stack">stack of open elements</a> <a href="#have-an"
      title="has an element in scope">has a <code>button</code> element in
-     scope</a>, then this is a <a href="#parse1">parse error</a>; act as if
+     scope</a>, then this is a <a href="#parse2">parse error</a>; act as if
      an end tag with the tag name "button" had been seen, then reprocess the
      token.</p>
 
@@ -47967,7 +47994,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an" title="has an element in scope">have an element in
      scope</a> with the same tag name as that of the token, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Otherwise, run these steps:</p>
 
@@ -47978,7 +48005,7 @@
      <li>
       <p>If the <a href="#current5">current node</a> is not an element with
        the same tag name as that of the token, then this is a <a
-       href="#parse1">parse error</a>.
+       href="#parse2">parse error</a>.
 
      <li>
       <p>Pop elements from the <a href="#stack">stack of open elements</a>
@@ -48055,7 +48082,7 @@
    <dt>A start tag whose tag name is "image"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Change the token's tag name to
+    <p><a href="#parse2">Parse error</a>. Change the token's tag name to
      "img" and reprocess it. (Don't ask.)</p>
     <!-- As of
     2005-12, studies showed that around 0.2% of pages used the
@@ -48085,7 +48112,7 @@
    <dt id=isindex>A start tag whose tag name is "isindex"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>If the <a href="#form-element"><code title="">form</code> element
      pointer</a> is not null, then ignore the token.</p>
@@ -48185,7 +48212,7 @@
      switched back to the PCDATA state.</p>
 
     <p>If the next token is an end tag token with the tag name "textarea",
-     ignore it. Otherwise, this is a <a href="#parse1">parse error</a>.</p>
+     ignore it. Otherwise, this is a <a href="#parse2">parse error</a>.</p>
 
    <dt>A start tag whose tag name is one of: "iframe", "noembed"
 
@@ -48245,7 +48272,7 @@
      title="has an element in scope">has a <code>ruby</code> element in
      scope</a>, then <a href="#generate">generate implied end tags</a>. If
      the <a href="#current5">current node</a> is not then a <code><a
-     href="#ruby">ruby</a></code> element, this is a <a href="#parse1">parse
+     href="#ruby">ruby</a></code> element, this is a <a href="#parse2">parse
      error</a>; pop all the nodes from the <a href="#current5">current
      node</a> up to the node immediately before the bottommost <code><a
      href="#ruby">ruby</a></code> element on the <a href="#stack">stack of
@@ -48256,7 +48283,7 @@
    <dt>An end tag whose tag name is "br"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if a start tag token with
+    <p><a href="#parse2">Parse error</a>. Act as if a start tag token with
      the tag name "br" had been seen. Ignore the end tag token.</p>
 
    <dt>A start tag whose tag name is "math"
@@ -48325,7 +48352,7 @@
    <span>scripting flag</span> is enabled</dt>-->
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
     <!-- end tags are commented out because since they can never end
     up on the stack anyway, the default end tag clause will
     automatically handle them. we don't want to have text in the spec
@@ -48365,7 +48392,7 @@
        <li>
         <p>If the tag name of the end tag token does not match the tag name
          of the <a href="#current5">current node</a>, this is a <a
-         href="#parse1">parse error</a>.
+         href="#parse2">parse error</a>.
 
        <li>
         <p>Pop all the nodes from the <a href="#current5">current node</a> up
@@ -48377,7 +48404,7 @@
       <p>Otherwise, if <var title="">node</var> is in neither the <a
        href="#formatting">formatting</a> category nor the <a
        href="#phrasing1">phrasing</a> category, then this is a <a
-       href="#parse1">parse error</a>. Stop this algorithm. The end tag token
+       href="#parse2">parse error</a>. Stop this algorithm. The end tag token
        is ignored.
 
      <li>
@@ -48420,7 +48447,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "caption"
 
@@ -48470,7 +48497,7 @@
    <dt>A start tag whose tag name is "table"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if an end tag token with the
+    <p><a href="#parse2">Parse error</a>. Act as if an end tag token with the
      tag name "table" had been seen, then, if that token wasn't ignored,
      reprocess the current token.</p>
 
@@ -48483,7 +48510,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token. (<a
+     href="#parse2">parse error</a>. Ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise:</p>
@@ -48497,7 +48524,7 @@
     "colgroup", "html", "tbody", "td", "tfoot", "th", "thead", "tr"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is one of: "style", "script"
 
@@ -48521,7 +48548,7 @@
 
     <p>Otherwise:</p>
 
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p><a href="#insert0">Insert an HTML element</a> for the token.</p>
 
@@ -48540,7 +48567,7 @@
    <dd>
     <p>If the <a href="#current5">current node</a> is not the root <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error.</a>.</p>
+     href="#parse2">parse error.</a>.</p>
 
     <p class=note>It can only be the <a href="#current5">current node</a> in
      the <a href="#fragment">fragment case</a>.</p>
@@ -48550,7 +48577,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Process the token <a
+    <p><a href="#parse2">Parse error</a>. Process the token <a
      href="#using8">using the rules for</a> the "<a href="#in-body"
      title="insertion mode: in body">in body</a>" <span>insertion
      mode</span>, except that if the <a href="#current5">current node</a> is
@@ -48589,7 +48616,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token. (<a
+     href="#parse2">parse error</a>. Ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise:</p>
@@ -48598,7 +48625,7 @@
 
     <p>Now, if the <a href="#current5">current node</a> is not a <code><a
      href="#caption0">caption</a></code> element, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Pop elements from this stack until a <code><a
      href="#caption0">caption</a></code> element has been popped from the
@@ -48616,7 +48643,7 @@
    <dt>An end tag whose tag name is "table"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if an end tag with the tag
+    <p><a href="#parse2">Parse error</a>. Act as if an end tag with the tag
      name "caption" had been seen, then, if that token wasn't ignored,
      reprocess the current token.</p>
 
@@ -48627,7 +48654,7 @@
     "html", "tbody", "td", "tfoot", "th", "thead", "tr"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -48664,7 +48691,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -48689,7 +48716,7 @@
    <dd>
     <p>If the <a href="#current5">current node</a> is the root <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error</a>, ignore the token. (<a
+     href="#parse2">parse error</a>, ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise, pop the <a href="#current5">current node</a> (which will be
@@ -48701,7 +48728,7 @@
    <dt>An end tag whose tag name is "col"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>An end-of-file token
 
@@ -48744,7 +48771,7 @@
    <dt>A start tag whose tag name is one of: "th", "td"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if a start tag with the tag
+    <p><a href="#parse2">Parse error</a>. Act as if a start tag with the tag
      name "tr" had been seen, then reprocess the current token.</p>
 
    <dt>An end tag whose tag name is one of: "tbody", "tfoot", "thead"
@@ -48753,7 +48780,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token.</p>
+     href="#parse2">parse error</a>. Ignore the token.</p>
 
     <p>Otherwise:</p>
 
@@ -48774,7 +48801,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have a
      <code>tbody</code>, <code>thead</code>, or <code>tfoot</code> element in
-     table scope</a>, this is a <a href="#parse1">parse error</a>. Ignore the
+     table scope</a>, this is a <a href="#parse2">parse error</a>. Ignore the
      token. (<a href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise:</p>
@@ -48790,7 +48817,7 @@
     "colgroup", "html", "td", "th", "tr"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -48839,7 +48866,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token. (<a
+     href="#parse2">parse error</a>. Ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise:</p>
@@ -48871,7 +48898,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token.</p>
+     href="#parse2">parse error</a>. Ignore the token.</p>
 
     <p>Otherwise, act as if an end tag with the tag name "tr" had been seen,
      then reprocess the current token.</p>
@@ -48880,7 +48907,7 @@
     "colgroup", "html", "td", "th"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>Anything else
 
@@ -48915,7 +48942,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as that of the token, then
-     this is a <a href="#parse1">parse error</a> and the token must be
+     this is a <a href="#parse2">parse error</a> and the token must be
      ignored.</p>
 
     <p>Otherwise:</p>
@@ -48924,7 +48951,7 @@
 
     <p>Now, if the <a href="#current5">current node</a> is not an element
      with the same tag name as the token, then this is a <a
-     href="#parse1">parse error</a>.</p>
+     href="#parse2">parse error</a>.</p>
 
     <p>Pop elements from this stack until an element with the same tag name
      as the token has been popped from the stack.</p>
@@ -48944,7 +48971,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does <em>not</em>
      <a href="#have-an0" title="has an element in table scope">have a
      <code>td</code> or <code>th</code> element in table scope</a>, then this
-     is a <a href="#parse1">parse error</a>; ignore the token. (<a
+     is a <a href="#parse2">parse error</a>; ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise, <a href="#close2">close the cell</a> (see below) and
@@ -48954,7 +48981,7 @@
     "colgroup", "html"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>An end tag whose tag name is one of: "table", "tbody", "tfoot",
     "thead", "tr"
@@ -48965,7 +48992,7 @@
      in table scope</a> with the same tag name as that of the token (which
      can only happen for "tbody", "tfoot" and "thead", or, in the <a
      href="#fragment">fragment case</a>), then this is a <a
-     href="#parse1">parse error</a> and the token must be ignored.</p>
+     href="#parse2">parse error</a> and the token must be ignored.</p>
 
     <p>Otherwise, <a href="#close2">close the cell</a> (see below) and
      reprocess the current token.</p>
@@ -49027,7 +49054,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -49068,14 +49095,14 @@
     <p>If the <a href="#current5">current node</a> is an
      <code>optgroup</code> element, then pop that node from the <a
      href="#stack">stack of open elements</a>. Otherwise, this is a <a
-     href="#parse1">parse error</a>, ignore the token.</p>
+     href="#parse2">parse error</a>, ignore the token.</p>
 
    <dt>An end tag whose tag name is "option"
 
    <dd>
     <p>If the <a href="#current5">current node</a> is an <code>option</code>
      element, then pop that node from the <a href="#stack">stack of open
-     elements</a>. Otherwise, this is a <a href="#parse1">parse error</a>,
+     elements</a>. Otherwise, this is a <a href="#parse2">parse error</a>,
      ignore the token.</p>
 
    <dt>An end tag whose tag name is "select"
@@ -49084,7 +49111,7 @@
     <p>If the <a href="#stack">stack of open elements</a> does not <a
      href="#have-an0" title="has an element in table scope">have an element
      in table scope</a> with the same tag name as the token, this is a <a
-     href="#parse1">parse error</a>. Ignore the token. (<a
+     href="#parse2">parse error</a>. Ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise:</p>
@@ -49097,13 +49124,13 @@
    <dt>A start tag whose tag name is "select"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if the token had been an end
+    <p><a href="#parse2">Parse error</a>. Act as if the token had been an end
      tag with the tag name "select" instead.</p>
 
    <dt>A start tag whose tag name is one of: "input", "textarea"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if an end tag with the tag
+    <p><a href="#parse2">Parse error</a>. Act as if an end tag with the tag
      name "select" had been seen, and reprocess the token.</p>
 
    <dt>An end-of-file token
@@ -49111,7 +49138,7 @@
    <dd>
     <p>If the <a href="#current5">current node</a> is not the root <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error.</a>.</p>
+     href="#parse2">parse error.</a>.</p>
 
     <p class=note>It can only be the <a href="#current5">current node</a> in
      the <a href="#fragment">fragment case</a>.</p>
@@ -49121,7 +49148,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
   </dl>
 
   <h5 id=parsing-main-inselectintable><span class=secno>9.2.5.18. </span>The
@@ -49137,14 +49164,14 @@
     "tfoot", "thead", "tr", "td", "th"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Act as if an end tag with the tag
+    <p><a href="#parse2">Parse error</a>. Act as if an end tag with the tag
      name "select" had been seen, and reprocess the token.</p>
 
    <dt>An end tag whose tag name is one of: "caption", "table", "tbody",
     "tfoot", "thead", "tr", "td", "th"
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>If the <a href="#stack">stack of open elements</a> <a
      href="#have-an0">has an element in table scope</a> with the same tag
@@ -49185,7 +49212,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if
     the <a href="#current5">current node</a> is an <code title="">mi</code>
@@ -49253,7 +49280,7 @@
    <dt>An end-of-file token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>.</p>
+    <p><a href="#parse2">Parse error</a>.</p>
 
     <p>Pop elements from the <a href="#stack">stack of open elements</a>
      until the <a href="#current5">current node</a> is in the <a
@@ -49364,7 +49391,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -49378,7 +49405,7 @@
    <dd>
     <p>If the parser was originally created as part of the <a
      href="#html-fragment0">HTML fragment parsing algorithm</a>, this is a <a
-     href="#parse1">parse error</a>; ignore the token. (<a
+     href="#parse2">parse error</a>; ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
     <!-- can only happen for <html>'s own innerHTML -->
     <p>Otherwise, switch the <span>insertion mode</span> to "<a
@@ -49393,7 +49420,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Switch the <span>insertion
+    <p><a href="#parse2">Parse error</a>. Switch the <span>insertion
      mode</span> to "<a href="#in-body" title="insertion mode: in body">in
      body</a>" and reprocess the token.</p>
   </dl>
@@ -49425,7 +49452,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -49444,7 +49471,7 @@
    <dd>
     <p>If the <a href="#current5">current node</a> is the root <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error</a>; ignore the token. (<a
+     href="#parse2">parse error</a>; ignore the token. (<a
      href="#fragment">fragment case</a>)</p>
 
     <p>Otherwise, pop the <a href="#current5">current node</a> from the <a
@@ -49480,7 +49507,7 @@
    <dd>
     <p>If the <a href="#current5">current node</a> is not the root <code><a
      href="#html">html</a></code> element, then this is a <a
-     href="#parse1">parse error.</a>.</p>
+     href="#parse2">parse error.</a>.</p>
 
     <p class=note>It can only be the <a href="#current5">current node</a> in
      the <a href="#fragment">fragment case</a>.</p>
@@ -49490,7 +49517,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
   </dl>
 
   <h5 id=parsing-main-afterframeset><span class=secno>9.2.5.22. </span>The
@@ -49521,7 +49548,7 @@
    <dt>A DOCTYPE token
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
 
    <dt>A start tag whose tag name is "html"
 
@@ -49551,7 +49578,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Ignore the token.</p>
+    <p><a href="#parse2">Parse error</a>. Ignore the token.</p>
   </dl>
 
   <p class=big-issue>This doesn't handle UAs that don't support frames, or
@@ -49595,7 +49622,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Switch the <span>insertion
+    <p><a href="#parse2">Parse error</a>. Switch the <span>insertion
      mode</span> to "<a href="#in-body" title="insertion mode: in body">in
      body</a>" and reprocess the token.</p>
   </dl>
@@ -49637,7 +49664,7 @@
    <dt>Anything else
 
    <dd>
-    <p><a href="#parse1">Parse error</a>. Switch the <span>insertion
+    <p><a href="#parse2">Parse error</a>. Switch the <span>insertion
      mode</span> to "<a href="#in-frameset" title="insertion mode: in
      frameset">in frameset</a>" and reprocess the token.</p>
   </dl>
@@ -49970,7 +49997,7 @@
    element's <span title=syntax-start-tag>start tag</span> would imply the
    end tag for the <code><a href="#p">p</a></code>).
 
-  <h3 id=parsing2><span class=secno>9.5 </span>Parsing HTML fragments</h3>
+  <h3 id=parsing3><span class=secno>9.5 </span>Parsing HTML fragments</h3>
 
   <p>The following steps form the <dfn id=html-fragment0>HTML fragment
    parsing algorithm</dfn>. The algorithm takes as input a DOM

Modified: source
===================================================================
--- source	2008-06-24 21:21:46 UTC (rev 1795)
+++ source	2008-06-24 22:01:32 UTC (rev 1796)
@@ -916,7 +916,7 @@
 
 
 
-  <h3>URLs</h3><!-- XXXURL -->
+  <h3>URLs</h3>
 
   <p>This specification defines the term <span>URL</span>, and defines
   various algorithms for dealing with URLs, because for historical
@@ -960,6 +960,121 @@
   </ul>
 
 
+  <h4>Parsing URLs</h4>
+
+  <p>To <dfn>parse a URL</dfn> <var title="">url</var> into its
+  component parts, the user agent must first strip leading and
+  trailing <span title="space character">space characters</span> from
+  <var title="">url</var>, and then must parse <var title="">url</var>
+  in the manner defined by RFC 3986, with the following
+  exceptions:</p>
+
+  <ul>
+
+   <li>Add all characters with codepoints less than or equal to
+   U+0020 or greater than or equal to U+007F to the
+   <unreserved> production.</li>
+
+   <li>Add the characters U+0022, U+003C, U+003E, U+005B .. U+005E,
+   U+0060, and U+007B .. U+007D to the <unreserved>
+   production.
+    <!--
+     0022 QUOTATION MARK
+     003C LESS-THAN SIGN
+     003E GREATER-THAN SIGN
+     005B LEFT SQUARE BRACKET
+     005C REVERSE SOLIDUS
+     005D RIGHT SQUARE BRACKET
+     005E CIRCUMFLEX ACCENT
+     0060 GRAVE ACCENT
+     007B LEFT CURLY BRACKET
+     007C VERTICAL LINE
+     007D RIGHT CURLY BRACKET
+    -->
+   </li>
+
+   <li>Add a single U+0025 PERCENT SIGN character as a second
+   alternative way of matching the <pct-encoded> production,
+   except when the <pct-encoded> is used in the
+   <reg-name> production.</li>
+
+   <li>Add the U+0023 NUMBER SIGN character to the characters
+   allowed in the <fragment> production.</li>
+
+   <!-- some browsers also have other differences, e.g. Mozilla
+   seems to treat ";" as if it was not in sub-delims, if the scheem
+   is "ftp". -->
+
+  </ul>
+
+  <p>If <var title="">url</var> doesn't match the
+  <URI-reference> production, even after the above changes are
+  made to the ABNF definitions, then parsing the URL fails with an
+  errors.</p>
+
+  <p>If parsing <var title="">url</var> was successful, then the
+  components of the URL are substrings of <var title="">url</var>
+  defined as follows:</p>
+
+  <dl>
+
+   <dt><dfn title="url-scheme"><scheme></dfn></dt>
+
+   <dd><p>The substring matched by the <scheme> production, if any.</p></dd>
+
+
+   <dt><dfn title="url-host"><host></dfn></dt>
+
+   <dd><p>The substring matched by the <host> production, if any.</p></dd>
+
+
+   <dt><dfn title="url-port"><port></dfn></dt>
+
+   <dd><p>The substring matched by the <port> production, if any.</p></dd>
+
+
+   <dt><dfn title="url-hostport"><hostport></dfn></dt>
+
+   <dd><p>If there is a <scheme> component and a <port>
+   component and the port given by the <port> component is
+   different than the default port defined for the protocol given by
+   the <scheme> component, then <hostport> is the
+   substring that starts with the substring matched by the
+   <host> production and ends with the substring matched by the
+   <port> production, and includes the colon in between the
+   two. Otherwise, it is the same as the <host> component.</p>
+
+
+   <dt><dfn title="url-path"><path></dfn></dt>
+
+   <dd>
+
+    <p>The substring matched by one of the following productions, if
+    one of them was matched:</p>
+
+    <ul class="brief">
+     <li><path-abempty></li>
+     <li><path-absolute></li>
+     <li><path-noscheme></li>
+     <li><path-rootless></li>
+     <li><path-empty></li>
+    </ul>
+
+   </dd>
+
+
+   <dt><dfn title="url-query"><query></dfn></dt>
+
+   <dd><p>The substring matched by the <query> production, if any.</p></dd>
+
+
+   <dt><dfn title="url-fragment"><fragment></dfn></dt>
+
+   <dd><p>The substring matched by the <fragment> production, if any.</p></dd>
+
+  </dl>
+
+
   <h4>Resolving URLs</h4>
 
   <p>Relative URLs are resolved relative to a base URL. The <dfn>base
@@ -1046,88 +1161,18 @@
    for <var title="">url</var>. (This is an <span>absolute
    URL</span>.)</p></li>
 
-   <li><p>Strip leading and trailing <span title="space
-   character">space characters</span> from <var
-   title="">url</var>.</p></li>
+   <li><p><span title="parse a URL">Parse</span> <var
+   title="">url</var> into its component parts.</p></li>
 
    <li>
 
-    <p>Parse <var title="">url</var> in the manner defined by RFC
-    3986, with the following exceptions:</p>
+    <p>If parsing <var title="">url</var> resulted in a <span
+    title="url-host"><host></span> component, then replace the
+    matching subtring of <var title="">url</var> with the string that
+    results from expanding any sequences of percent-encoded octets in
+    that component that are valid UTF-8 sequences into Unicode
+    characters as defined by UTF-8.</p>
 
-    <ul>
-
-     <li>Add all characters with codepoints less than or equal to
-     U+0020 or greater than or equal to U+007F to the
-     <unreserved> production.</li>
-
-     <li>Add the characters U+0022, U+003C, U+003E, U+005B .. U+005E,
-     U+0060, and U+007B .. U+007D to the <unreserved>
-     production.
-      <!--
-       0022 QUOTATION MARK
-       003C LESS-THAN SIGN
-       003E GREATER-THAN SIGN
-       005B LEFT SQUARE BRACKET
-       005C REVERSE SOLIDUS
-       005D RIGHT SQUARE BRACKET
-       005E CIRCUMFLEX ACCENT
-       0060 GRAVE ACCENT
-       007B LEFT CURLY BRACKET
-       007C VERTICAL LINE
-       007D RIGHT CURLY BRACKET
-      -->
-     </li>
-
-     <li>Add a single U+0025 PERCENT SIGN character as a second
-     alternative way of matching the <pct-encoded> production,
-     except when the <pct-encoded> is used in the
-     <reg-name> production.</li>
-
-     <li>Add the U+0023 NUMBER SIGN character to the characters
-     allowed in the <fragment> production.</li>
-
-     <!-- some browsers also have other differences, e.g. Mozilla
-     seems to treat ";" as if it was not in sub-delims, if the scheem
-     is "ftp". -->
-
-    </ul>
-
-    <p>If <var title="">url</var> doesn't match the
-    <URI-reference> production, even after the above changes are
-    made to the ABNF definitions, then return an error and abort these
-    steps.</p>
-
-    <p>If parsing <var title="">url</var> was successful, then make a
-    note of which substrings of <var title="">url</var> matched each
-    of the following productions that was matched:</p>
-
-    <ul class="brief">
-     <li><host></li>
-     <li><path-abempty></li>
-     <li><path-absolute></li>
-     <li><path-noscheme></li>
-     <li><path-rootless></li>
-     <li><path-empty></li>
-     <li><query></li>
-    </ul>
-
-    <p>When subsequent steps refer to the <path> production,
-    they are referring to whichever of those productions whose names
-    start with "path-" was matched. (Only one at a time can be
-    matched.)</p>
-
-   </li>
-
-   <li>
-
-    <p>If parsing <var title="">url</var> resulted in the <host>
-    production being matched, then replace the matching subtring of
-    <var title="">url</var> with the string that results from
-    expanding any sequences of percent-encoded octets in that
-    component that are valid UTF-8 sequences into Unicode characters
-    as defined by UTF-8.</p>
-
     <p>If any percent-encoded octets in that component are not valid
     UTF-8 sequences, then return an error and abort these steps.</p>
 
@@ -1145,11 +1190,12 @@
 
    <li>
 
-    <p>If parsing <var title="">url</var> resulted in the <path>
-    production being matched, then replace the matching substring of
-    <var title="">url</var> with the string that results from applying
-    the following steps to each character that doesn't match the
-    original <path> production defined in RFC 3986:</p>
+    <p>If parsing <var title="">url</var> resulted in a <span
+    title="url-path"><path></span> component, then replace the
+    matching substring of <var title="">url</var> with the string that
+    results from applying the following steps to each character that
+    doesn't match the original <path> production defined in RFC
+    3986:</p>
 
     <ol>
 
@@ -1164,14 +1210,14 @@
     <div class="example">
 
      <p>For instance if <var title="">url</var> was "<code
-    title="">//example.com/a^b&#x263a;c%FFd/?e</code>", then there
-    would the substring matching the <path> production would be
-    "<code title="">/a^b&#x263a;c%FFd/</code>" and the two characters
-    that would have to be escaped would be "<code title="">^</code>"
-    and "<code title="">&#x263a;</code>". The result after this step
-    was applied would therefore be that <var title="">url</var> now
-    had the value "<code
-    title="">//example.com/a%5Eb%E2%98%BAc%FFd/?e</code>".</p>
+     title="">//example.com/a^b&#x263a;c%FFd/?e</code>", then the
+     <span title="url-path"><path></span> component's substring
+     would be "<code title="">/a^b&#x263a;c%FFd/</code>" and the two
+     characters that would have to be escaped would be "<code
+     title="">^</code>" and "<code title="">&#x263a;</code>". The
+     result after this step was applied would therefore be that <var
+     title="">url</var> now had the value "<code
+     title="">//example.com/a%5Eb%E2%98%BAc%FFd/?e</code>".</p>
 
     </div>
 
@@ -1179,11 +1225,12 @@
 
    <li>
 
-    <p>If parsing <var title="">url</var> resulted in the <query>
-    production being matched, then replace the matching substring of
-    <var title="">url</var> with the string that results from applying
-    the following steps to each character that doesn't match the
-    original <query> production defined in RFC 3986:</p>
+    <p>If parsing <var title="">url</var> resulted in a <span
+    title="url-query"><query></span> component, then replace the
+    matching substring of <var title="">url</var> with the string that
+    results from applying the following steps to each character that
+    doesn't match the original <query> production defined in RFC
+    3986:</p>
 
     <ol>
 
@@ -1293,11 +1340,9 @@
 
   </div>
 
-  <!-- XXXURL change to URL -->
-  <h4>Interfaces for URI manipulation</h4>
+  <h4>Interfaces for URL manipulation</h4>
 
-  <!-- XXXURL change to URL --> 
- <p>An interface that has a complement of <dfn>URI decomposition
+ <p>An interface that has a complement of <dfn>URL decomposition
   attributes</dfn> will have seven attributes with the following
   definitions:</p>
 
@@ -1311,54 +1356,49 @@
            attribute DOMString <span title="dom-uda-hash">hash</span>;
 </pre>
 
-  <!-- XXXURL change to URL -->
-  <p>The attributes defined to be URI decomposition attributes must
+  <p>The attributes defined to be URL decomposition attributes must
   act as described for the attributes with the same corresponding
   names in this section.</p>
 
-  <!-- XXXURL change to URL -->
-  <p>In addition, an interface with a complement of URI decomposition
+  <p>In addition, an interface with a complement of URL decomposition
   attributes will define an <dfn
-  title="concept-uda-input">input</dfn>, which is a URI that the
-  attributes act on, and a <dfn title="concept-uda-setter">common
-  setter action</dfn>, which is a set of steps invoked when any of the
-  attributes' setters are invoked.</p>
+  title="concept-uda-input">input</dfn>, which is a <span>URL</span>
+  that the attributes act on, and a <dfn
+  title="concept-uda-setter">common setter action</dfn>, which is a
+  set of steps invoked when any of the attributes' setters are
+  invoked.</p>
 
-  <!-- XXXURL change to URL -->
-  <p>The seven URI decomposition attributes have similar
+  <p>The seven URL decomposition attributes have similar
   requirements.</p>
 
-  <!-- XXXURL change to URL -->
   <p>On getting, if the <span title="concept-uda-input">input</span>
   fulfills the condition given in the "getter condition" column
   corresponding to the attribute in the table below, the user agent
   must return the part of the <span
-  title="concept-uda-input">input</span> URI given in the "component"
+  title="concept-uda-input">input</span> URL given in the "component"
   column, with any prefixes specified in the "prefix" column
   appropriately added to the start of the string and any suffixes
   specified in the "suffix" column appropriately added to the end of
   the string. Otherwise, the attribute must return the empty
   string.</p>
 
-  <!-- XXXURL change to URL; algorithms or something? -->
   <p>On setting, the new value must first be mutated as described by
   the "setter preprocessor" column, then mutated by %-escaping any
   characters in the new value that are not valid in the relevant
   component as given by the "component" column. Then, if the resulting
   new value fulfills the condition given in the "setter condition"
   column, the user agent must make a new string <var
-  title="">output</var> by replacing the component of the URI given by
+  title="">output</var> by replacing the component of the URL given by
   the "component" column in the <span
-  title="concept-uda-input">input</span> URI with the new value;
+  title="concept-uda-input">input</span> URL with the new value;
   otherwise, the user agent must let <var title="">output</var> be
   equal to the <span title="concept-uda-input">input</span>. Finally,
   the user agent must invoke the <span
   title="concept-uda-setter">common setter action</span> with the
   value of <var title="">output</var>.</p>
 
-  <!-- XXXURL change to URL -->
-  <p>When replacing a component in the URI, if the component is part
-  of an optional group in the URI syntax consisting of a character
+  <p>When replacing a component in the URL, if the component is part
+  of an optional group in the URL syntax consisting of a character
   followed by the component, the component (including its prefix
   character) must be included even if the new value is the empty
   string.</p>
@@ -1368,10 +1408,9 @@
   title="">?</code>" before a <query> component, and the "<code
   title="">#</code>" before a <fragment> component.</p>
 
-  <!-- XXXURL change to URL; algorithms -->
-  <p>The rules for parsing and constructing URIs are described in RFC
-  3986 and RFC 3987. <a href="#refsRFC3986">[RFC3986]</a> <a
-  href="#refsRFC3987">[RFC3987]</a></p>
+  <p>For hte purposes of the above definitions, URLs must be parsed
+  using the <span title="parse a URL">URL parsing rules</span> defined
+  in this specification.</p>
 
   <table>
    <thead>      
@@ -1386,7 +1425,7 @@
    <tbody>
     <tr>
      <td><dfn title="dom-uda-protocol"><code>protocol</code></dfn>
-     <td><scheme>
+     <td><span title="url-scheme"><scheme></span>
      <td>—
      <td>—
      <td>U+003A COLON ("<code title="">:</code>")
@@ -1394,7 +1433,7 @@
      <td>The new value is not the empty string
     <tr>
      <td><dfn title="dom-uda-host"><code>host</code></dfn>
-     <td><span><hostport></span>
+     <td><span title="url-hostport"><hostport></span>
      <td><span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
      <td>—
      <td>—
@@ -1402,7 +1441,7 @@
      <td>—
     <tr>
      <td><dfn title="dom-uda-hostname"><code>hostname</code></dfn>
-     <td><host>/<ihost>
+     <td><span title="url-host"><host></span>
      <td><span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
      <td>—
      <td>—
@@ -1410,7 +1449,7 @@
      <td>—
     <tr>
      <td><dfn title="dom-uda-port"><code>port</code></dfn>
-     <td><port>
+     <td><span title="url-port"><port></span>
      <td><span title="concept-uda-input">input</span> is hierarchical and uses a server-based naming authority
      <td>—
      <td>—
@@ -1419,7 +1458,7 @@
      <td>—
     <tr>
      <td><dfn title="dom-uda-pathname"><code>pathname</code></dfn>
-     <td><abs_path>
+     <td><span title="url-path"><path></span>
      <td><span title="concept-uda-input">input</span> is hierarchical
      <td>—
      <td>—
@@ -1427,7 +1466,7 @@
      <td>—
     <tr>
      <td><dfn title="dom-uda-search"><code>search</code></dfn>
-     <td><query>
+     <td><span title="url-query"><query></span>
      <td><span title="concept-uda-input">input</span> is hierarchical
      <td>U+003F QUESTION MARK ("<code title="">?</code>")
      <td>—
@@ -1435,7 +1474,7 @@
      <td>—
     <tr>
      <td><dfn title="dom-uda-hash"><code>hash</code></dfn>
-     <td><fragment>
+     <td><span title="url-fragment"><fragment></span>
      <td>Fragment identifier is longer than zero characters
      <td>U+0023 NUMBER SIGN ("<code title="">#</code>")
      <td>—
@@ -1443,12 +1482,6 @@
      <td>—
   </table>
 
-  <p>The <dfn><hostport></dfn> component is defined as being the
-  <host>/<ihost> component, followed by a colon and the
-  <port> component, but with the colon and <port>
-  component omitted if the given port matches the default port for the
-  protocol given by the <scheme> component.</p>
-
 <!--
   http://www.hixie.ch/tests/adhoc/dom/level0/location/components/
   http://lxr.mozilla.org/seamonkey/source/dom/src/base/nsLocation.cpp




More information about the Commit-Watchers mailing list