html5/spec-author-view spec.html,1.1348,1.1349 spec.preprocessed.html,1.254,1.255

Update of /sources/public/html5/spec-author-view
In directory hutz:/tmp/cvs-serv28306

Modified Files:
	spec.html spec.preprocessed.html 
Log Message:
apply wg decision (whatwg r6007)

[updated by splitter]


Index: spec.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/spec.html,v
retrieving revision 1.1348
retrieving revision 1.1349
diff -u -d -r1.1348 -r1.1349
--- spec.html	14 Apr 2011 01:53:52 -0000	1.1348
+++ spec.html	14 Apr 2011 22:54:05 -0000	1.1349
@@ -333,7 +333,7 @@
 </script></head><body onload="init()"><div class="head" id="head">
    <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
 
-   <h1>HTML5 <span class="edition">Edition for Web Authors</span> <span class="rcsrevision">revision 1.4829</span></h1>
+   <h1>HTML5 <span class="edition">Edition for Web Authors</span> <span class="rcsrevision">revision 1.4830</span></h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
    <h2 class="no-num no-toc" id="editor-s-draft-14-april-2011">Editor's Draft 14 April 2011</h2>
    <dl><dt>Latest Published Version:</dt>
@@ -355,7 +355,7 @@
     <dt>Editor:</dt>
     <dd><a href="mailto:ian@hixie.ch">Ian Hickson</a>, Google, Inc.</dd>
    </dl><p>This specification is available in the following formats: <a href="spec.html">single page HTML</a>, <a href="Overview.html">multipage HTML</a>, <a href="http://dev.w3.org/html5/spec/">full specification</a>.
-      This is revision 1.4829.</p> 
+      This is revision 1.4830.</p> 
      <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
    &#169; 2010 <a href="http://www.w3.org/"><abbr title="World Wide
    Web Consortium">W3C</abbr></a><sup>&#174;</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts
@@ -571,8 +571,10 @@
      <li><a href="#mq"><span class="secno">2.5.10 </span>Media queries</a></li></ol></li>
    <li><a href="#urls"><span class="secno">2.6 </span>URLs</a>
     <ol><li><a href="#terminology-0"><span class="secno">2.6.1 </span>Terminology</a></li>
-     <li><a href="http://dev.w3.org/html5/spec/urls.html#dynamic-changes-to-base-urls" class="full-spec-link" title='Read about this "2.6.2 Dynamic changes to base URLs" reference in the full HTML5 spec.'><span class="secno">2.6.2 </span>Dynamic changes to base URLs</a></li>
-     <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.3 </span>Interfaces for URL manipulation</a></li></ol></li>
+     <li><a href="http://dev.w3.org/html5/spec/.html#parsing-urls" class="full-spec-link" title='Read about this "2.6.2 Parsing URLs" reference in the full HTML5 spec.'><span class="secno">2.6.2 </span>Parsing URLs</a></li>
+     <li><a href="#resolving-urls"><span class="secno">2.6.3 </span>Resolving URLs</a></li>
+     <li><a href="http://dev.w3.org/html5/spec/urls.html#dynamic-changes-to-base-urls" class="full-spec-link" title='Read about this "2.6.4 Dynamic changes to base URLs" reference in the full HTML5 spec.'><span class="secno">2.6.4 </span>Dynamic changes to base URLs</a></li>
+     <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.5 </span>Interfaces for URL manipulation</a></li></ol></li>
    <li><a href="http://dev.w3.org/html5/spec/fetching-resources.html#fetching-resources" class="full-spec-link" title='Read about this "2.7 Fetching resources" reference in the full HTML5 spec.'><span class="secno">2.7 </span>Fetching resources</a>
     <ol><li><a href="http://dev.w3.org/html5/spec/fetching-resources.html#concept-http-equivalent" class="full-spec-link" title='Read about this "2.7.1 Protocol concepts" reference in the full HTML5 spec.'><span class="secno">2.7.1 </span>Protocol concepts</a></li>
      <li><a href="http://dev.w3.org/html5/spec/fetching-resources.html#encrypted-http-and-related-security-concerns" class="full-spec-link" title='Read about this "2.7.2 Encrypted HTTP and related security concerns" reference in the full HTML5 spec.'><span class="secno">2.7.2 </span>Encrypted HTTP and related security concerns</a></li>
@@ -2815,16 +2817,25 @@
   Queries specification. <a href="#refsMQ">[MQ]</a></p><p>A string <dfn id="matches-the-environment">matches the environment</dfn> of the user if it is
   the empty string, a string consisting of only <a href="http://dev.w3.org/html5/spec/common-microsyntaxes.html#space-character" title='Read about this "space characters" reference in the full HTML5 spec.' class="full-spec-link">space characters</a>, or is a media query that matches
   the user's environment according to the definitions given in the
-  Media Queries specification. <a href="#refsMQ">[MQ]</a></p><h3 id="urls"><span class="secno">2.5 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span></p><h4 id="terminology-0"><span class="secno">2.5.1 </span>Terminology</h4><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.</p><p>A <a href="#url" id="url-1">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of
-  the following conditions holds:</p><ul><li><p>The <a href="#url" id="url-2">URL</a> is a valid URI reference <a href="#refsRFC3986">[RFC3986]</a>.</p></li>
+  Media Queries specification. <a href="#refsMQ">[MQ]</a></p><h3 id="urls"><span class="secno">2.5 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span></p><p>This specification defines the term <a href="#url" id="url-1">URL</a>, and defines
+  various algorithms for dealing with URLs, because for historical
+  reasons the rules defined by the URI and IRI specifications are not
+  a complete description of what HTML user agents need to implement to
+  be compatible with Web content.</p><p class="note">The term "URL" in this specification is used in a
+  manner distinct from the precise technical meaning it is given in
+  RFC 3986. Readers familiar with that RFC will find it easier to read
+  <em>this</em> specification if they pretend the term "URL" as used
+  herein is really called something else altogether. This is a
+  <a href="#willful-violation" id="willful-violation-0">willful violation</a> of RFC 3986. <a href="#refsRFC3986">[RFC3986]</a></p><h4 id="terminology-0"><span class="secno">2.5.1 </span>Terminology</h4><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.</p><p>A <a href="#url" id="url-2">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of
+  the following conditions holds:</p><ul><li><p>The <a href="#url" id="url-3">URL</a> is a valid URI reference <a href="#refsRFC3986">[RFC3986]</a>.</p></li>
 
-   <li><p>The <a href="#url" id="url-3">URL</a> is a valid IRI reference and it has no
+   <li><p>The <a href="#url" id="url-4">URL</a> is a valid IRI reference and it has no
    query component. <a href="#refsRFC3987">[RFC3987]</a></p></li>
 
-   <li><p>The <a href="#url" id="url-4">URL</a> is a valid IRI reference and its query
+   <li><p>The <a href="#url" id="url-5">URL</a> is a valid IRI reference and its query
    component contains no unescaped non-ASCII characters. <a href="#refsRFC3987">[RFC3987]</a></p></li>
 
-   <li><p>The <a href="#url" id="url-5">URL</a> is a valid IRI reference and the <a href="http://dev.w3.org/html5/spec/dom.html#document-s-character-encoding" title='Read about this "character encoding" reference in the full HTML5 spec.' class="full-spec-link">character encoding</a> of
+   <li><p>The <a href="#url" id="url-6">URL</a> is a valid IRI reference and the <a href="http://dev.w3.org/html5/spec/dom.html#document-s-character-encoding" title='Read about this "character encoding" reference in the full HTML5 spec.' class="full-spec-link">character encoding</a> of
    the URL's <code><a href="http://dev.w3.org/html5/spec/infrastructure.html#document" class="full-spec-link" title='Read about this "Document" reference in the full HTML5 spec.'>Document</a></code> is UTF-8 or UTF-16. <a href="#refsRFC3987">[RFC3987]</a></p></li>
 
   </ul><p>A string is a <dfn id="valid-non-empty-url">valid non-empty URL</dfn> if it is a
@@ -2832,7 +2843,15 @@
   spaces</dfn> if, after <a href="http://dev.w3.org/html5/spec/common-microsyntaxes.html#strip-leading-and-trailing-whitespace" title='Read about this "stripping leading and trailing whitespace" reference in the full HTML5 spec.' class="full-spec-link">stripping leading and trailing whitespace</a> from
   it, it is a <a href="#valid-url" id="valid-url-1">valid URL</a>.</p><p>A string is a <dfn id="valid-non-empty-url-potentially-surrounded-by-spaces">valid non-empty URL potentially surrounded by
   spaces</dfn> if, after <a href="http://dev.w3.org/html5/spec/common-microsyntaxes.html#strip-leading-and-trailing-whitespace" title='Read about this "stripping leading and trailing whitespace" reference in the full HTML5 spec.' class="full-spec-link">stripping leading and trailing whitespace</a> from
-  it, it is a <a href="#valid-non-empty-url" id="valid-non-empty-url-0">valid non-empty URL</a>.</p><p>A <a href="#url" id="url-6">URL</a> is an <dfn id="absolute-url">absolute URL</dfn> if <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolving" reference in the full HTML5 spec.' class="full-spec-link">resolving</a> it results in the same output
+  it, it is a <a href="#valid-non-empty-url" id="valid-non-empty-url-0">valid non-empty URL</a>.</p><p>This specification defines the URL
+  <dfn id="about:legacy-compat"><code>about:legacy-compat</code></dfn> as a reserved, though
+  unresolvable, <code title="">about:</code> URI, for use in <a href="#syntax-doctype" id="syntax-doctype-0" title="syntax-doctype">DOCTYPE</a>s in <a href="#html-documents" id="html-documents-0">HTML
+  documents</a> when needed for compatibility with XML tools. <a href="#refsABOUT">[ABOUT]</a></p><p>This specification defines the URL
+  <dfn id="about:srcdoc"><code>about:srcdoc</code></dfn> as a reserved, though
+  unresolvable, <code title="">about:</code> URI, that is used as
+  <a href="#the-document-s-address" id="the-document-s-address-0">the document's address</a> of <a href="#an-iframe-srcdoc-document" id="an-iframe-srcdoc-document-0" title="an iframe srcdoc
+  document"><code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> documents</a>. <a href="#refsABOUT">[ABOUT]</a></p><h4 id="resolving-urls"><span class="secno">2.5.2 </span>Resolving URLs</h4><p>Resolving a URL is the process of taking a relative URL and
+  obtaining the absolute URL that it implies.</p><p>A <a href="#url" id="url-7">URL</a> is an <dfn id="absolute-url">absolute URL</dfn> if <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolving" reference in the full HTML5 spec.' class="full-spec-link">resolving</a> it results in the same output
   regardless of what it is resolved relative to, and that output is
   not a failure.</p><p>An <a href="#absolute-url" id="absolute-url-0">absolute URL</a> is a <dfn id="hierarchical-url">hierarchical URL</dfn> if,
   when <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolved" reference in the full HTML5 spec.' class="full-spec-link">resolved</a> and then <a href="http://dev.w3.org/html5/spec/urls.html#parse-a-url" title='Read about this "parsed" reference in the full HTML5 spec.' class="full-spec-link">parsed</a>, there is a character immediately
@@ -2840,19 +2859,7 @@
   and it is a U+002F SOLIDUS character (/).</p><p>An <a href="#absolute-url" id="absolute-url-1">absolute URL</a> is an <dfn id="authority-based-url">authority-based URL</dfn>
   if, when <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolved" reference in the full HTML5 spec.' class="full-spec-link">resolved</a> and then <a href="http://dev.w3.org/html5/spec/urls.html#parse-a-url" title='Read about this "parsed" reference in the full HTML5 spec.' class="full-spec-link">parsed</a>, there are two characters
   immediately after the <a href="http://dev.w3.org/html5/spec/urls.html#url-scheme" title='Read about this "&lt;scheme&gt;" reference in the full HTML5 spec.' class="full-spec-link">&lt;scheme&gt;</a>
-  component and they are both U+002F SOLIDUS characters (//).</p><hr><p>This specification defines the URL
-  <dfn id="about:legacy-compat"><code>about:legacy-compat</code></dfn> as a reserved, though
-  unresolvable, <code title="">about:</code> URI, for use in <a href="#syntax-doctype" id="syntax-doctype-0" title="syntax-doctype">DOCTYPE</a>s in <a href="#html-documents" id="html-documents-0">HTML
-  documents</a> when needed for compatibility with XML tools. <a href="#refsABOUT">[ABOUT]</a></p><p>This specification defines the URL
-  <dfn id="about:srcdoc"><code>about:srcdoc</code></dfn> as a reserved, though
-  unresolvable, <code title="">about:</code> URI, that is used as
-  <a href="#the-document-s-address" id="the-document-s-address-0">the document's address</a> of <a href="#an-iframe-srcdoc-document" id="an-iframe-srcdoc-document-0" title="an iframe srcdoc
-  document"><code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> documents</a>. <a href="#refsABOUT">[ABOUT]</a></p><p class="note">The term "URL" in this specification is used in a
-  manner distinct from the precise technical meaning it is given in
-  RFC 3986. Readers familiar with that RFC will find it easier to read
-  <em>this</em> specification if they pretend the term "URL" as used
-  herein is really called something else altogether. This is a
-  <a href="#willful-violation" id="willful-violation-0">willful violation</a> of RFC 3986. <a href="#refsRFC3986">[RFC3986]</a></p><h4 id="interfaces-for-url-manipulation"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL
+  component and they are both U+002F SOLIDUS characters (//).</p><h4 id="interfaces-for-url-manipulation"><span class="secno">2.5.3 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL
   attributes</dfn> has seven attributes with the following
   definitions:</p><pre class="idl extract">           attribute DOMString <a href="http://dev.w3.org/html5/spec/urls.html#dom-uda-protocol" title='Read about this "protocol" reference in the full HTML5 spec.' class="full-spec-link">protocol</a>;
            attribute DOMString <a href="http://dev.w3.org/html5/spec/urls.html#dom-uda-host" title='Read about this "host" reference in the full HTML5 spec.' class="full-spec-link">host</a>;
@@ -3289,7 +3296,7 @@
   for example when the user <a href="http://dev.w3.org/html5/spec/history.html#navigate" title='Read about this "navigates" reference in the full HTML5 spec.' class="full-spec-link">navigates</a> to
   a <a href="http://dev.w3.org/html5/spec/history.html#scroll-to-fragid" title='Read about this "fragment identifier" reference in the full HTML5 spec.' class="full-spec-link">fragment identifier</a> on the
   page or when the <code title="dom-history-pushState"><a href="http://dev.w3.org/html5/spec/history.html#dom-history-pushstate" class="full-spec-link" title='Read about this "pushState()" reference in the full HTML5 spec.'>pushState()</a></code> method is called
-  with a new <a href="#url" id="url-7">URL</a>. </p><p class="note">Interactive user agents typically expose <a href="#the-document-s-current-address" id="the-document-s-current-address-0">the
+  with a new <a href="#url" id="url-8">URL</a>. </p><p class="note">Interactive user agents typically expose <a href="#the-document-s-current-address" id="the-document-s-current-address-0">the
   document's current address</a> in their user interface.</p><p>When a <code><a href="http://dev.w3.org/html5/spec/infrastructure.html#document" class="full-spec-link" title='Read about this "Document" reference in the full HTML5 spec.'>Document</a></code> is created by a <a href="http://dev.w3.org/html5/spec/webappapis.html#concept-script" title='Read about this "script" reference in the full HTML5 spec.' class="full-spec-link">script</a> using the <code title="dom-DOMImplementation-createDocument"><a href="http://dev.w3.org/html5/spec/infrastructure.html#dom-domimplementation-createdocument" class="full-spec-link" title='Read about this "createDocument()" reference in the full HTML5 spec.'>createDocument()</a></code>
   or <code title="dom-DOMHTMLImplementation-createHTMLDocument"><a href="http://dev.w3.org/html5/spec/dom.html#dom-domhtmlimplementation-createhtmldocument" class="full-spec-link" title='Read about this "createHTMLDocument()" reference in the full HTML5 spec.'>createHTMLDocument()</a></code>
   APIs, <a href="#the-document-s-address" id="the-document-s-address-1">the document's address</a> is the same as <a href="#the-document-s-address" id="the-document-s-address-2">the
@@ -5641,7 +5648,7 @@
   attribute, if specified, must contain a <a href="#valid-url-potentially-surrounded-by-spaces" id="valid-url-potentially-surrounded-by-spaces-0">valid URL potentially
   surrounded by spaces</a>.</p><p>A <code><a href="#the-base-element" id="base-6">base</a></code> element, if it has an <code title="attr-base-href"><a href="#attr-base-href" id="href-1">href</a></code> attribute, must come before any
   other elements in the tree that have attributes defined as taking
-  <a href="#url" id="url-8" title="URL">URLs</a>, except the <code><a href="#the-html-element-0" id="html-6">html</a></code> element
+  <a href="#url" id="url-9" title="URL">URLs</a>, except the <code><a href="#the-html-element-0" id="html-6">html</a></code> element
   (its <code title="attr-html-manifest"><a href="#attr-html-manifest" id="manifest-2">manifest</a></code> attribute
   isn't affected by <code><a href="#the-base-element" id="base-7">base</a></code> elements).</p><p>The <dfn id="attr-base-target" title="attr-base-target"><code>target</code></dfn>
   attribute, if specified, must contain a <a href="#valid-browsing-context-name-or-keyword" id="valid-browsing-context-name-or-keyword-0">valid browsing context
@@ -6005,7 +6012,7 @@
 
    </dd>
 
-  </dl><p>Metadata names whose values are to be <a href="#url" id="url-9" title="URL">URLs</a> must not be proposed or accepted. Links must
+  </dl><p>Metadata names whose values are to be <a href="#url" id="url-10" title="URL">URLs</a> must not be proposed or accepted. Links must
   be represented using the <code><a href="#the-link-element" id="link-19">link</a></code> element, not the
   <code><a href="#meta" id="meta-16">meta</a></code> element.</p><h5 id="pragma-directives"><span class="secno">4.2.5.3 </span>Pragma directives</h5><p>When the <dfn id="attr-meta-http-equiv" title="attr-meta-http-equiv"><code>http-equiv</code></dfn> attribute
   is specified on a <code><a href="#meta" id="meta-17">meta</a></code> element, the element is a pragma
@@ -6094,7 +6101,7 @@
     </ul><p>In the former case, the integer represents a number of seconds
     before the page is to be reloaded; in the latter case the integer
     represents a number of seconds before the page is to be replaced
-    by the page at the given <a href="#url" id="url-10">URL</a>.</p>
+    by the page at the given <a href="#url" id="url-11">URL</a>.</p>
 
     <div class="example">
 
@@ -11427,7 +11434,7 @@
   <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc" id="srcdoc-0">srcdoc</a></code> attribute are both
   specified together, the <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc" id="srcdoc-1">srcdoc</a></code>
   attribute takes priority. This allows authors to provide a fallback
-  <a href="#url" id="url-11">URL</a> for legacy user agents that do not support the
+  <a href="#url" id="url-12">URL</a> for legacy user agents that do not support the
   <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc" id="srcdoc-2">srcdoc</a></code> attribute.</p><p class="note">If, when the element is created, the <code title="attr-iframe-srcdoc"><a href="#attr-iframe-srcdoc" id="srcdoc-3">srcdoc</a></code> attribute is not set, and
   the <code title="attr-iframe-src"><a href="#attr-iframe-src" id="src-20">src</a></code> attribute is either
   also not set or set but its value cannot be <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolved" reference in the full HTML5 spec.' class="full-spec-link">resolved</a>, the browsing context will remain at the
@@ -12843,7 +12850,7 @@
 
       <p>Indicates that the text track was enabled, but when the user
       agent attempted to obtain it, this failed in some way
-      (e.g. <a href="#url" id="url-12">URL</a> could not be <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolved" reference in the full HTML5 spec.' class="full-spec-link">resolved</a>, network error, unknown text track
+      (e.g. <a href="#url" id="url-13">URL</a> could not be <a href="http://dev.w3.org/html5/spec/urls.html#resolve-a-url" title='Read about this "resolved" reference in the full HTML5 spec.' class="full-spec-link">resolved</a>, network error, unknown text track
       format). Some or all of the cues are likely missing and will not
       be obtained.</p>
 
@@ -15001,7 +15008,7 @@
   attribute is specified on the <code><a href="#the-form-element" id="form-13">form</a></code> element. This
   doesn't specify how the form data is encoded, though; to specify
   that, you use the <code title="attr-fs-enctype"><a href="#attr-fs-enctype" id="enctype">enctype</a></code>
-  attribute. You also have to specify the <a href="#url" id="url-13">URL</a> of the
+  attribute. You also have to specify the <a href="#url" id="url-14">URL</a> of the
   service that will handle the submitted data, using the <code title="attr-fs-action"><a href="#attr-fs-action" id="action">action</a></code> attribute.</p><p>For each form control you want submitted, you then have to give a
   name that will be used to refer to the data in the submission. We
   already specified the name for the group of radio buttons; the same
@@ -20244,7 +20251,7 @@
    <dt><dfn id="command-facet-action" title="command-facet-Action">Action</dfn></dt>
 
    <dd>The actual effect that triggering the command will have. This
-   could be a scripted event handler, a <a href="#url" id="url-14">URL</a> to which to
+   could be a scripted event handler, a <a href="#url" id="url-15">URL</a> to which to
    <a href="http://dev.w3.org/html5/spec/history.html#navigate" class="full-spec-link" title='Read about this "navigate" reference in the full HTML5 spec.'>navigate</a>, or a form submission.</dd>
 
 
@@ -21693,7 +21700,7 @@
   all must model the same underlying <a href="#session-history" id="session-history-2">session history</a>.</p><p><code><a href="#history-0" id="history-5">History</a></code> objects represent their <a href="#browsing-context" id="browsing-context-40">browsing
   context</a>'s session history as a flat list of <a href="#session-history-entry" id="session-history-entry-0" title="session history entry">session history entries</a>. Each
   <dfn id="session-history-entry">session history entry</dfn> consists of either a
-  <a href="#url" id="url-15">URL</a> or a <a href="#state-object" id="state-object-0">state object</a>, or both.</p><p class="note">Titles associated with <a href="#session-history-entry" id="session-history-entry-1" title="session history
+  <a href="#url" id="url-16">URL</a> or a <a href="#state-object" id="state-object-0">state object</a>, or both.</p><p class="note">Titles associated with <a href="#session-history-entry" id="session-history-entry-1" title="session history
   entry">session history entries</a> need not have any relation
   with the current <code><a href="#the-title-element-0" id="title-49">title</a></code> of the
   <code><a href="http://dev.w3.org/html5/spec/infrastructure.html#document" class="full-spec-link" title='Read about this "Document" reference in the full HTML5 spec.'>Document</a></code>. The title of a <a href="#session-history-entry" id="session-history-entry-2">session history
@@ -21709,9 +21716,9 @@
 
    <p><a href="#state-object" id="state-object-3" title="state object">State objects</a> are intended to
    be used for two main purposes: first, storing a preparsed
-   description of the state in the <a href="#url" id="url-16">URL</a> so that in the
+   description of the state in the <a href="#url" id="url-17">URL</a> so that in the
    simple case an author doesn't have to do the parsing (though one
-   would still need the parsing for handling <a href="#url" id="url-17" title="URL">URLs</a> passed around by users, so it's only a minor
+   would still need the parsing for handling <a href="#url" id="url-18" title="URL">URLs</a> passed around by users, so it's only a minor
    optimization), and second, so that the author can store state that
    one wouldn't store in the URL because it only applies to the current
    <code><a href="http://dev.w3.org/html5/spec/infrastructure.html#document" class="full-spec-link" title='Read about this "Document" reference in the full HTML5 spec.'>Document</a></code> instance and it would have to be reconstructed
@@ -21722,7 +21729,7 @@
    to animate, so that if the user goes back, it can be made to animate
    to the same location. Or alternatively, it could be used to keep a
    pointer into a cache of data that would be fetched from the server
-   based on the information in the <a href="#url" id="url-18">URL</a>, so that when going
+   based on the information in the <a href="#url" id="url-19">URL</a>, so that when going
    back and forward, the information doesn't have to be fetched
    again.</p>
 
@@ -22017,7 +22024,7 @@
 
   </dl><hr><p>The <dfn id="event-hashchange" title="event-hashchange"><code>hashchange</code></dfn>
   event is fired when navigating to a <a href="#session-history-entry" id="session-history-entry-5">session history
-  entry</a> whose <a href="#url" id="url-19">URL</a> differs from that of the
+  entry</a> whose <a href="#url" id="url-20">URL</a> differs from that of the
   previous one only in the fragment identifier.</p><pre class="idl">interface <dfn id="hashchangeevent">HashChangeEvent</dfn> : <a href="http://dev.w3.org/html5/spec/infrastructure.html#event" class="full-spec-link" title='Read about this "Event" reference in the full HTML5 spec.'>Event</a> {
   readonly attribute DOMString <a href="http://dev.w3.org/html5/spec/history.html#dom-hashchangeevent-oldurl" title='Read about this "oldURL" reference in the full HTML5 spec.' class="full-spec-link">oldURL</a>;
   readonly attribute DOMString <a href="http://dev.w3.org/html5/spec/history.html#dom-hashchangeevent-newurl" title='Read about this "newURL" reference in the full HTML5 spec.' class="full-spec-link">newURL</a>;
@@ -22026,7 +22033,7 @@
 
    <dd>
 
-    <p>Returns the <a href="#url" id="url-20">URL</a> of the <a href="#session-history-entry" id="session-history-entry-6">session history
+    <p>Returns the <a href="#url" id="url-21">URL</a> of the <a href="#session-history-entry" id="session-history-entry-6">session history
     entry</a> that was previously current.</p>
 
    </dd>
@@ -22036,7 +22043,7 @@
 
    <dd>
 
-    <p>Returns the <a href="#url" id="url-21">URL</a> of the <a href="#session-history-entry" id="session-history-entry-7">session history
+    <p>Returns the <a href="#url" id="url-22">URL</a> of the <a href="#session-history-entry" id="session-history-entry-7">session history
     entry</a> that is now current.</p>
 
    </dd>
@@ -24637,7 +24644,7 @@
   <a href="#concept-id" id="concept-id-24" title="concept-id">ID</a>, then the attribute's value must
   be equal to the element's <a href="#concept-id" id="concept-id-25" title="concept-id">ID</a>. In
   earlier versions of the language, this attribute was intended as a
-  way to specify possible targets for fragment identifiers in <a href="#url" id="url-22" title="URL">URLs</a>. The <code title="attr-id"><a href="#the-id-attribute" id="id-3">id</a></code>
+  way to specify possible targets for fragment identifiers in <a href="#url" id="url-23" title="URL">URLs</a>. The <code title="attr-id"><a href="#the-id-attribute" id="id-3">id</a></code>
   attribute should be used instead.</p><p class="note">In <a href="#syntax" id="the-html-syntax-8">the HTML syntax</a>, specifying a <a href="#syntax-doctype" id="syntax-doctype-4" title="syntax-DOCTYPE">DOCTYPE</a> that is an <a href="#obsolete-permitted-doctype" id="obsolete-permitted-doctype-1">obsolete
   permitted DOCTYPE</a> will also trigger a warning.</p><h3 id="non-conforming-features"><span class="secno">10.2 </span>Non-conforming features</h3><p>Elements in the following list are entirely obsolete, and must
   not be used by authors:</p><dl><dt><code><a href="http://dev.w3.org/html5/spec/obsolete.html#the-applet-element" class="full-spec-link" title='Read about this "applet" reference in the full HTML5 spec.'>applet</a></code></dt>
@@ -26657,7 +26664,7 @@
      </td><td> <a href="#ordered-set-of-unique-space-separated-tokens" id="ordered-set-of-unique-space-separated-tokens-3">Ordered set of unique space-separated tokens</a>, <a href="#case-sensitive" id="case-sensitive-7">case-sensitive</a>, consisting of one Unicode code point in length
     </td></tr><tr><th> <code title="">action</code>
      </th><td> <code title="attr-fs-action"><a href="#attr-fs-action" id="form-0">form</a></code>
-     </td><td> <a href="#url" id="url-23">URL</a> to use for <a href="#form-submission" id="form-submission-5">form submission</a>
+     </td><td> <a href="#url" id="url-24">URL</a> to use for <a href="#form-submission" id="form-submission-5">form submission</a>
      </td><td> <a href="#valid-url-potentially-surrounded-by-spaces" id="valid-url-potentially-surrounded-by-spaces-6">Valid URL potentially surrounded by spaces</a>
     </td></tr><tr><th> <code title="">alt</code>
      </th><td> <code title="attr-area-alt"><a href="#attr-area-alt" id="area">area</a></code>;
@@ -26824,7 +26831,7 @@
     </td></tr><tr><th> <code title="">formaction</code>
      </th><td> <code title="attr-fs-formaction"><a href="#attr-fs-formaction" id="button-28">button</a></code>;
           <code title="attr-fs-formaction"><a href="#attr-fs-formaction" id="input-7">input</a></code>
-     </td><td> <a href="#url" id="url-24">URL</a> to use for <a href="#form-submission" id="form-submission-8">form submission</a>
+     </td><td> <a href="#url" id="url-25">URL</a> to use for <a href="#form-submission" id="form-submission-8">form submission</a>
      </td><td> <a href="#valid-url-potentially-surrounded-by-spaces" id="valid-url-potentially-surrounded-by-spaces-8">Valid URL potentially surrounded by spaces</a>
     </td></tr><tr><th> <code title="">formenctype</code>
      </th><td> <code title="attr-fs-formenctype"><a href="#attr-fs-formenctype" id="button-29">button</a></code>;
@@ -28504,7 +28511,7 @@
 </dl><dl id="absolute-url_index"><dt><span>absolute URL</span>
 </dt>
 <dd>
-<a class="dfn-ref" href="#absolute-url"><span class="secno">2.5.1 </span>Terminology</a>
+<a class="dfn-ref" href="#absolute-url"><span class="secno">2.5.2 </span>Resolving URLs</a>
 <a class="index-counter" href="#absolute-url-0">(2)</a>
 <a class="index-counter" href="#absolute-url-1">(3)</a>
 </dd>
@@ -29763,7 +29770,7 @@
 </dl><dl class="has-norefs" id="authority-based-url_index"><dt><span>authority-based URL</span>
 </dt>
 <dd>
-<a class="dfn-ref" href="#authority-based-url"><span class="secno">2.5.1 </span>Terminology</a>
+<a class="dfn-ref" href="#authority-based-url"><span class="secno">2.5.2 </span>Resolving URLs</a>
 </dd>
 </dl><dl id="attr-dir-auto_index"><dt><span title="attr-dir-auto"><code>auto</code></span>
 </dt>
@@ -38386,7 +38393,7 @@
 </dl><dl class="has-norefs" id="hierarchical-url_index"><dt><span>hierarchical URL</span>
 </dt>
 <dd>
-<a class="dfn-ref" href="#hierarchical-url"><span class="secno">2.5.1 </span>Terminology</a>
+<a class="dfn-ref" href="#hierarchical-url"><span class="secno">2.5.2 </span>Resolving URLs</a>
 </dd>
 </dl><dl id="hierarchy_request_err_index"><dt><span><code>HIERARCHY_REQUEST_ERR</code></span>
 </dt>
@@ -52703,55 +52710,60 @@
 <a href="#url-0"><span class="secno">2.1.1 </span>Resources</a>
 </dd>
 <dd>
+<a href="#url-1"><span class="secno">2.5 </span>URLs</a>
+</dd>
+<dd>
 <a class="dfn-ref" href="#url"><span class="secno">2.5.1 </span>Terminology</a>
-<a class="index-counter" href="#url-1">(2)</a>
-<a class="index-counter" href="#url-2">(3)</a>
-<a class="index-counter" href="#url-3">(4)</a>
-<a class="index-counter" href="#url-4">(5)</a>
-<a class="index-counter" href="#url-5">(6)</a>
-<a class="index-counter" href="#url-6">(7)</a>
+<a class="index-counter" href="#url-2">(2)</a>
+<a class="index-counter" href="#url-3">(3)</a>
+<a class="index-counter" href="#url-4">(4)</a>
+<a class="index-counter" href="#url-5">(5)</a>
+<a class="index-counter" href="#url-6">(6)</a>
 </dd>
 <dd>
-<a href="#url-7"><span class="secno">3.1 </span>Documents</a>
+<a href="#url-7"><span class="secno">2.5.2 </span>Resolving URLs</a>
 </dd>
 <dd>
-<a href="#url-8"><span class="secno">4.2.3 </span>The <span><code>base</code></span> element</a>
+<a href="#url-8"><span class="secno">3.1 </span>Documents</a>
 </dd>
 <dd>
-<a href="#url-9"><span class="secno">4.2.5.2 </span>Other metadata names</a>
+<a href="#url-9"><span class="secno">4.2.3 </span>The <span><code>base</code></span> element</a>
 </dd>
 <dd>
-<a href="#url-10"><span class="secno">4.2.5.3 </span>Pragma directives</a>
+<a href="#url-10"><span class="secno">4.2.5.2 </span>Other metadata names</a>
 </dd>
 <dd>
-<a href="#url-11"><span class="secno">4.8.2 </span>The <span><code>iframe</code></span> element</a>
+<a href="#url-11"><span class="secno">4.2.5.3 </span>Pragma directives</a>
 </dd>
 <dd>
-<a href="#url-12"><span class="secno">4.8.10.10.1 </span>Text track model</a>
+<a href="#url-12"><span class="secno">4.8.2 </span>The <span><code>iframe</code></span> element</a>
 </dd>
 <dd>
-<a href="#url-13"><span class="secno">4.10.1.3 </span>Configuring a form to communicate with a server</a>
+<a href="#url-13"><span class="secno">4.8.10.10.1 </span>Text track model</a>
 </dd>
 <dd>
-<a href="#url-14"><span class="secno">4.11.5 </span>Commands</a>
+<a href="#url-14"><span class="secno">4.10.1.3 </span>Configuring a form to communicate with a server</a>
 </dd>
 <dd>
-<a href="#url-15"><span class="secno">5.4.1 </span>The session history of browsing contexts</a>
-<a class="index-counter" href="#url-16">(2)</a>
-<a class="index-counter" href="#url-17">(3)</a>
-<a class="index-counter" href="#url-18">(4)</a>
+<a href="#url-15"><span class="secno">4.11.5 </span>Commands</a>
 </dd>
 <dd>
-<a href="#url-19"><span class="secno">5.5.1 </span>History traversal</a>
-<a class="index-counter" href="#url-20">(2)</a>
-<a class="index-counter" href="#url-21">(3)</a>
+<a href="#url-16"><span class="secno">5.4.1 </span>The session history of browsing contexts</a>
+<a class="index-counter" href="#url-17">(2)</a>
+<a class="index-counter" href="#url-18">(3)</a>
+<a class="index-counter" href="#url-19">(4)</a>
 </dd>
 <dd>
-<a href="#url-22"><span class="secno">10.1 </span>Obsolete but conforming features</a>
+<a href="#url-20"><span class="secno">5.5.1 </span>History traversal</a>
+<a class="index-counter" href="#url-21">(2)</a>
+<a class="index-counter" href="#url-22">(3)</a>
 </dd>
 <dd>
-<a class="no-num" href="#url-23">Attributes</a>
-<a class="index-counter" href="#url-24">(2)</a>
+<a href="#url-23"><span class="secno">10.1 </span>Obsolete but conforming features</a>
+</dd>
+<dd>
+<a class="no-num" href="#url-24">Attributes</a>
+<a class="index-counter" href="#url-25">(2)</a>
 </dd>
 </dl><dl class="has-norefs" id="attr-input-type-url-keyword_index"><dt><span title="attr-input-type-url-keyword"><code>url</code></span>
 </dt>
@@ -52781,7 +52793,7 @@
   attributes</span>
 </dt>
 <dd>
-<a class="dfn-ref" href="#url-decomposition-idl-attributes"><span class="secno">2.5.2 </span>Interfaces for URL manipulation</a>
+<a class="dfn-ref" href="#url-decomposition-idl-attributes"><span class="secno">2.5.3 </span>Interfaces for URL manipulation</a>
 <a class="index-counter" href="#url-decomposition-idl-attributes-0">(2)</a>
 </dd>
 <dd>
@@ -54167,7 +54179,7 @@
 <a class="dfn-ref" href="#willful-violation"><span class="secno">1.5.2 </span>Compliance with other specifications</a>
 </dd>
 <dd>
-<a href="#willful-violation-0"><span class="secno">2.5.1 </span>Terminology</a>
+<a href="#willful-violation-0"><span class="secno">2.5 </span>URLs</a>
 </dd>
 <dd>
 <a href="#willful-violation-1"><span class="secno">4.10.7.1.5 </span><span title="attr-input-type-email">E-mail</span> state</a>

Index: spec.preprocessed.html
===================================================================
RCS file: /sources/public/html5/spec-author-view/spec.preprocessed.html,v
retrieving revision 1.254
retrieving revision 1.255
diff -u -d -r1.254 -r1.255
--- spec.preprocessed.html	14 Apr 2011 01:53:55 -0000	1.254
+++ spec.preprocessed.html	14 Apr 2011 22:54:09 -0000	1.255
@@ -343,7 +343,7 @@
 </head><body onload="init()"><div class="head" id="head">
    <p><a href="http://www.w3.org/"><img alt="W3C" height="48" src="http://www.w3.org/Icons/w3c_home" width="72"></a></p>
 
-   <h1>HTML5 <span class="edition">Edition for Web Authors</span> <span class="rcsrevision">revision 1.4829</span></h1>
+   <h1>HTML5 <span class="edition">Edition for Web Authors</span> <span class="rcsrevision">revision 1.4830</span></h1>
    <h2 class="no-num no-toc" id="a-vocabulary-and-associated-apis-for-html-and-xhtml">A vocabulary and associated APIs for HTML and XHTML</h2>
    <h2 class="no-num no-toc" id="editor-s-draft-14-april-2011">Editor's Draft 14 April 2011</h2>
    <dl><dt>Latest Published Version:</dt>
@@ -365,7 +365,7 @@
     <dt>Editor:</dt>
     <dd><a href="mailto:ian@hixie.ch">Ian Hickson</a>, Google, Inc.</dd>
    </dl><p>This specification is available in the following formats: <a href="spec.html">single page HTML</a>, <a href="Overview.html">multipage HTML</a>, <a href="http://dev.w3.org/html5/spec/">full specification</a>.
-      This is revision 1.4829.</p> 
+      This is revision 1.4830.</p> 
      <p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a>
    &#169; 2010 <a href="http://www.w3.org/"><abbr title="World Wide
    Web Consortium">W3C</abbr></a><sup>&#174;</sup> (<a href="http://www.csail.mit.edu/"><abbr title="Massachusetts
@@ -583,8 +583,10 @@
      <li><a href="#mq"><span class="secno">2.5.10 </span>Media queries</a></li></ol></li>
    <li><a href="#urls"><span class="secno">2.6 </span>URLs</a>
     <ol><li><a href="#terminology-0"><span class="secno">2.6.1 </span>Terminology</a></li>
-     <li><a href="#dynamic-changes-to-base-urls"><span class="secno">2.6.2 </span>Dynamic changes to base URLs</a></li>
-     <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.3 </span>Interfaces for URL manipulation</a></li></ol></li>
+     <li><a href="#parsing-urls"><span class="secno">2.6.2 </span>Parsing URLs</a></li>
+     <li><a href="#resolving-urls"><span class="secno">2.6.3 </span>Resolving URLs</a></li>
+     <li><a href="#dynamic-changes-to-base-urls"><span class="secno">2.6.4 </span>Dynamic changes to base URLs</a></li>
+     <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.5 </span>Interfaces for URL manipulation</a></li></ol></li>
    <li><a href="#fetching-resources"><span class="secno">2.7 </span>Fetching resources</a>
     <ol><li><a href="#concept-http-equivalent"><span class="secno">2.7.1 </span>Protocol concepts</a></li>
      <li><a href="#encrypted-http-and-related-security-concerns"><span class="secno">2.7.2 </span>Encrypted HTTP and related security concerns</a></li>
@@ -5057,7 +5059,16 @@
   the empty string, a string consisting of only <a href="#space-character" title="space
   character">space characters</a>, or is a media query that matches
   the user's environment according to the definitions given in the
-  Media Queries specification. <a href="#refsMQ">[MQ]</a></p><h3 id="urls"><span class="secno">2.6 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span></p><h4 id="terminology-0"><span class="secno">2.6.1 </span>Terminology</h4><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.</p><p>A <a href="#url">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of
+  Media Queries specification. <a href="#refsMQ">[MQ]</a></p><h3 id="urls"><span class="secno">2.6 </span>URLs</h3><p class="XXX annotation"><span><a href="http://www.w3.org/html/wg/tracker/issues/56">ISSUE-56</a> (urls-webarch) blocks progress to Last Call</span></p><p>This specification defines the term <a href="#url">URL</a>, and defines
+  various algorithms for dealing with URLs, because for historical
+  reasons the rules defined by the URI and IRI specifications are not
+  a complete description of what HTML user agents need to implement to
+  be compatible with Web content.</p><p class="note">The term "URL" in this specification is used in a
+  manner distinct from the precise technical meaning it is given in
+  RFC 3986. Readers familiar with that RFC will find it easier to read
+  <em>this</em> specification if they pretend the term "URL" as used
+  herein is really called something else altogether. This is a
+  <a href="#willful-violation">willful violation</a> of RFC 3986. <a href="#refsRFC3986">[RFC3986]</a></p><h4 id="terminology-0"><span class="secno">2.6.1 </span>Terminology</h4><p>A <dfn id="url">URL</dfn> is a string used to identify a resource.</p><p>A <a href="#url">URL</a> is a <dfn id="valid-url">valid URL</dfn> if at least one of
   the following conditions holds:</p><ul><li><p>The <a href="#url">URL</a> is a valid URI reference <a href="#refsRFC3986">[RFC3986]</a>.</p></li>
 
    <li><p>The <a href="#url">URL</a> is a valid IRI reference and it has no
@@ -5076,24 +5087,140 @@
   it, it is a <a href="#valid-url">valid URL</a>.</p><p>A string is a <dfn id="valid-non-empty-url-potentially-surrounded-by-spaces">valid non-empty URL potentially surrounded by
   spaces</dfn> if, after <a href="#strip-leading-and-trailing-whitespace" title="strip leading and trailing
   whitespace">stripping leading and trailing whitespace</a> from
-  it, it is a <a href="#valid-non-empty-url">valid non-empty URL</a>.</p><div class="impl">
+  it, it is a <a href="#valid-non-empty-url">valid non-empty URL</a>.</p><p>This specification defines the URL
+  <dfn id="about:legacy-compat"><code>about:legacy-compat</code></dfn> as a reserved, though
+  unresolvable, <code title="">about:</code> URI, for use in <a href="#syntax-doctype" title="syntax-doctype">DOCTYPE</a>s in <a href="#html-documents">HTML
+  documents</a> when needed for compatibility with XML tools. <a href="#refsABOUT">[ABOUT]</a></p><p>This specification defines the URL
+  <dfn id="about:srcdoc"><code>about:srcdoc</code></dfn> as a reserved, though
+  unresolvable, <code title="">about:</code> URI, that is used as
+  <a href="#the-document-s-address">the document's address</a> of <a href="#an-iframe-srcdoc-document" title="an iframe srcdoc
+  document"><code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> documents</a>. <a href="#refsABOUT">[ABOUT]</a></p><div class="impl">
+
+  <h4 id="parsing-urls"><span class="secno">2.6.2 </span>Parsing URLs</h4>
 
   <p>To <dfn id="parse-a-url">parse a URL</dfn> <var title="">url</var> into its
-  component parts, the user agent must use the <span class="XXX">parse
-  an address</span> algorithm defined by the IRI specification. <a href="#refsRFC3987">[RFC3987]</a></p>
+  component parts, the user agent must use the following steps:</p>
 
-  <p>Parsing a URL can fail. If it does not, then it results in the
-  following components, again as defined by the IRI specification:</p>
+  <ol><li><p>Strip leading and trailing <a href="#space-character" title="space
+   character">space characters</a> from <var title="">url</var>.</p></li>
 
-  <ul class="brief"><li><dfn id="url-scheme" title="url-scheme">&lt;scheme&gt;</dfn></li>
-   <li><dfn id="url-host" title="url-host">&lt;host&gt;</dfn></li>
-   <li><dfn id="url-port" title="url-port">&lt;port&gt;</dfn></li>
-   <li><dfn id="url-hostport" title="url-hostport">&lt;hostport&gt;</dfn></li>
-   <li><dfn id="url-path" title="url-path">&lt;path&gt;</dfn></li>
-   <li><dfn id="url-query" title="url-query">&lt;query&gt;</dfn></li>
-   <li><dfn id="url-fragment" title="url-fragment">&lt;fragment&gt;</dfn></li>
-   <li><dfn id="url-host-specific" title="url-host-specific">&lt;host-specific&gt;</dfn></li>
-  </ul><hr><p>To <dfn id="resolve-a-url">resolve a URL</dfn> to an <a href="#absolute-url">absolute URL</a>
+   <li>
+
+    <p>Parse <var title="">url</var> in the manner defined by RFC
+    3986, with the following exceptions:</p>
+
+    <ul><li>Add all characters with code points less than or equal to
+     U+0020 or greater than or equal to U+007F to the
+     &lt;unreserved&gt; 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 &lt;unreserved&gt;
+     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 &lt;pct-encoded&gt; production,
+     except when the &lt;pct-encoded&gt; is used in the
+     &lt;reg-name&gt; production.</li>
+
+     <li>Add the U+0023 NUMBER SIGN character to the characters
+     allowed in the &lt;fragment&gt; production.</li>
+
+     
+    </ul></li>
+
+   <li>
+
+    <p>If <var title="">url</var> doesn't match the
+    &lt;URI-reference&gt; production, even after the above changes are
+    made to the ABNF definitions, then parsing the URL fails with an
+    error. <a href="#refsRFC3986">[RFC3986]</a></p>
+
+    <p>Otherwise, parsing <var title="">url</var> was successful; the
+    components of the URL are substrings of <var title="">url</var>
+    defined as follows:</p>
+
+    <dl><dt><dfn id="url-scheme" title="url-scheme">&lt;scheme&gt;</dfn></dt>
+
+     <dd><p>The substring matched by the &lt;scheme&gt; production, if any.</p></dd>
+
+
+     <dt><dfn id="url-host" title="url-host">&lt;host&gt;</dfn></dt>
+
+     <dd><p>The substring matched by the &lt;host&gt; production, if any.</p></dd>
+
+
+     <dt><dfn id="url-port" title="url-port">&lt;port&gt;</dfn></dt>
+
+     <dd><p>The substring matched by the &lt;port&gt; production, if any.</p></dd>
+
+
+     <dt><dfn id="url-hostport" title="url-hostport">&lt;hostport&gt;</dfn></dt>
+
+     <dd><p>If there is a &lt;scheme&gt; component and a &lt;port&gt;
+     component and the port given by the &lt;port&gt; component is
+     different than the default port defined for the protocol given by
+     the &lt;scheme&gt; component, then &lt;hostport&gt; is the
+     substring that starts with the substring matched by the
+     &lt;host&gt; production and ends with the substring matched by the
+     &lt;port&gt; production, and includes the colon in between the
+     two. Otherwise, it is the same as the &lt;host&gt; component.</p>
+
+
+     </dd><dt><dfn id="url-path" title="url-path">&lt;path&gt;</dfn></dt>
+
+     <dd>
+
+      <p>The substring matched by one of the following productions, if
+      one of them was matched:</p>
+
+      <ul class="brief"><li>&lt;path-abempty&gt;</li>
+       <li>&lt;path-absolute&gt;</li>
+       <li>&lt;path-noscheme&gt;</li>
+       <li>&lt;path-rootless&gt;</li>
+       <li>&lt;path-empty&gt;</li>
+      </ul></dd>
+
+
+     <dt><dfn id="url-query" title="url-query">&lt;query&gt;</dfn></dt>
+
+     <dd><p>The substring matched by the &lt;query&gt; production, if any.</p></dd>
+
+
+     <dt><dfn id="url-fragment" title="url-fragment">&lt;fragment&gt;</dfn></dt>
+
+     <dd><p>The substring matched by the &lt;fragment&gt; production, if any.</p></dd>
+
+
+     <dt><dfn id="url-host-specific" title="url-host-specific">&lt;host-specific&gt;</dfn></dt>
+
+     <dd><p>The substring that <em>follows</em> the substring matched
+     by the &lt;authority&gt; production, or the whole string if the
+     &lt;authority&gt; production wasn't matched.</p></dd>
+
+    </dl></li>
+
+  </ol><p class="note">These parsing rules are a <a href="#willful-violation">willful
+  violation</a> of RFC 3986 and RFC 3987 (which do not define error
+  handling), motivated by a desire to handle legacy content. <a href="#refsRFC3986">[RFC3986]</a> <a href="#refsRFC3987">[RFC3987]</a></p>
+
+  </div><h4 id="resolving-urls"><span class="secno">2.6.3 </span>Resolving URLs</h4><p>Resolving a URL is the process of taking a relative URL and
+  obtaining the absolute URL that it implies.</p><div class="impl">
+
+  <p>To <dfn id="resolve-a-url">resolve a URL</dfn> to an <a href="#absolute-url">absolute URL</a>
   relative to either another <a href="#absolute-url">absolute URL</a> or an element,
   the user agent must use the following steps. Resolving a URL can
   result in an error, in which case the URL is not resolvable.</p>
@@ -5191,11 +5318,112 @@
 
     </ol></li>
 
-   <li><p>Return the result of applying the <span class="XXX">resolve
-   an address</span> algorithm defined by the IRI specification to
-   resolve <var title="">url</var> relative to <var title="">base</var> using encoding <var title="">encoding</var>. <a href="#refsRFC3987">[RFC3987]</a></p></li>
+   <li><p><a href="#parse-a-url" title="parse a URL">Parse</a> <var title="">url</var> into its component parts.</p></li>
 
-  </ol></div><p>A <a href="#url">URL</a> is an <dfn id="absolute-url">absolute URL</dfn> if <a href="#resolve-a-url" title="resolve a url">resolving</a> it results in the same output
+   <li>
+
+    <p>If parsing <var title="">url</var> resulted in a <a href="#url-host" title="url-host">&lt;host&gt;</a> component, then replace the
+    matching substring 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>
+
+    <p>Apply the IDNA ToASCII algorithm to the matching substring,
+    with both the AllowUnassigned and UseSTD3ASCIIRules flags
+    set. Replace the matching substring with the result of the ToASCII
+    algorithm.</p>
+
+    <p>If ToASCII fails to convert one of the components of the
+    string, e.g. because it is too long or because it contains invalid
+    characters, then return an error and abort these steps. <a href="#refsRFC3490">[RFC3490]</a></p>
+
+   </li>
+
+   <li>
+
+    <p>If parsing <var title="">url</var> resulted in a <a href="#url-path" title="url-path">&lt;path&gt;</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 other
+    than U+0025 PERCENT SIGN (%) that doesn't match the original
+    &lt;path&gt; production defined in RFC 3986:</p>
+
+    <ol><li>Encode the character into a sequence of octets as defined by
+     UTF-8.</li>
+
+     <li>Replace the character with the percent-encoded form of those
+     octets. <a href="#refsRFC3986">[RFC3986]</a></li>
+
+    </ol><div class="example">
+
+     <p>For instance if <var title="">url</var> was "<code title="">//example.com/a^b&#9786;c%FFd%z/?e</code>", then the
+     <a href="#url-path" title="url-path">&lt;path&gt;</a> component's substring
+     would be "<code title="">/a^b&#9786;c%FFd%z/</code>" and the two
+     characters that would have to be escaped would be "<code title="">^</code>" and "<code title="">&#9786;</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%z/?e</code>".</p>
+
+    </div>
+
+   </li>
+
+   <li>
+
+    <p>If parsing <var title="">url</var> resulted in a <a href="#url-query" title="url-query">&lt;query&gt;</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 other
+    than U+0025 PERCENT SIGN (%) that doesn't match the original
+    &lt;query&gt; production defined in RFC 3986:</p>
+
+    <ol><li>If the character in question cannot be expressed in the
+     encoding <var title="">encoding</var>, then replace it with a
+     single 0x3F octet (an ASCII question mark) and skip the remaining
+     substeps for this character.</li>
+
+     <li>Encode the character into a sequence of octets as defined by
+     the encoding <var title="">encoding</var>.</li>
+
+     <li>Replace the character with the percent-encoded form of those
+     octets. <a href="#refsRFC3986">[RFC3986]</a></li>
+
+    </ol></li>
+
+   <li><p>Apply the algorithm described in RFC 3986 section 5.2
+   Relative Resolution, using <var title="">url</var> as the
+   potentially relative URI reference (<var title="">R</var>), and
+   <var title="">base</var> as the base URI (<var title="">Base</var>). <a href="#refsRFC3986">[RFC3986]</a></p></li>
+
+   <li>
+
+    <p>Apply any relevant conformance criteria of RFC 3986 and RFC
+    3987, returning an error and aborting these steps if
+    appropriate. <a href="#refsRFC3986">[RFC3986]</a> <a href="#refsRFC3987">[RFC3987]</a></p>
+
+    <p class="example">For instance, if an absolute URI that would be
+    returned by the above algorithm violates the restrictions specific
+    to its scheme, e.g. a <code title="">data:</code> URI using the
+    "<code title="">//</code>" server-based naming authority syntax,
+    then user agents are to treat this as an error instead.</p>
+
+   </li>
+
+   <li><p>Let <var title="">result</var> be the target URI (<var title="">T</var>) returned by the Relative Resolution
+   algorithm.</p></li>
+
+   <li><p>If <var title="">result</var> uses a scheme with a
+   server-based naming authority, replace all U+005C REVERSE SOLIDUS
+   (\) characters in <var title="">result</var> with U+002F SOLIDUS
+   (/) characters.</p></li>
+
+   <li><p>Return <var title="">result</var>.</p></li>
+
+  </ol><p class="note">Some of the steps in these rules, for example the
+  processing of U+005C REVERSE SOLIDUS (\) characters, are a
+  <a href="#willful-violation">willful violation</a> of RFC 3986 and RFC 3987, motivated
+  by a desire to handle legacy content. <a href="#refsRFC3986">[RFC3986]</a> <a href="#refsRFC3987">[RFC3987]</a></p>
+
+  </div><p>A <a href="#url">URL</a> is an <dfn id="absolute-url">absolute URL</dfn> if <a href="#resolve-a-url" title="resolve a url">resolving</a> it results in the same output
   regardless of what it is resolved relative to, and that output is
   not a failure.</p><p>An <a href="#absolute-url">absolute URL</a> is a <dfn id="hierarchical-url">hierarchical URL</dfn> if,
   when <a href="#resolve-a-url" title="resolve a url">resolved</a> and then <a href="#parse-a-url" title="parse a url">parsed</a>, there is a character immediately
@@ -5203,21 +5431,9 @@
   and it is a U+002F SOLIDUS character (/).</p><p>An <a href="#absolute-url">absolute URL</a> is an <dfn id="authority-based-url">authority-based URL</dfn>
   if, when <a href="#resolve-a-url" title="resolve a url">resolved</a> and then <a href="#parse-a-url" title="parse a url">parsed</a>, there are two characters
   immediately after the <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a>
-  component and they are both U+002F SOLIDUS characters (//).</p><hr><p>This specification defines the URL
-  <dfn id="about:legacy-compat"><code>about:legacy-compat</code></dfn> as a reserved, though
-  unresolvable, <code title="">about:</code> URI, for use in <a href="#syntax-doctype" title="syntax-doctype">DOCTYPE</a>s in <a href="#html-documents">HTML
-  documents</a> when needed for compatibility with XML tools. <a href="#refsABOUT">[ABOUT]</a></p><p>This specification defines the URL
-  <dfn id="about:srcdoc"><code>about:srcdoc</code></dfn> as a reserved, though
-  unresolvable, <code title="">about:</code> URI, that is used as
-  <a href="#the-document-s-address">the document's address</a> of <a href="#an-iframe-srcdoc-document" title="an iframe srcdoc
-  document"><code>iframe</code> <code title="attr-iframe-srcdoc">srcdoc</code> documents</a>. <a href="#refsABOUT">[ABOUT]</a></p><p class="note">The term "URL" in this specification is used in a
-  manner distinct from the precise technical meaning it is given in
-  RFC 3986. Readers familiar with that RFC will find it easier to read
-  <em>this</em> specification if they pretend the term "URL" as used
-  herein is really called something else altogether. This is a
-  <a href="#willful-violation">willful violation</a> of RFC 3986. <a href="#refsRFC3986">[RFC3986]</a></p><div class="impl">
+  component and they are both U+002F SOLIDUS characters (//).</p><div class="impl">
 
-  <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.6.2 </span>Dynamic changes to base URLs</h4>
+  <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.6.4 </span>Dynamic changes to base URLs</h4>
 
   <p>When an <code title="attr-xml-base"><a href="#the-xml:base-attribute-xml-only">xml:base</a></code> attribute
   changes, the attribute's element, and all descendant elements, are
@@ -5279,7 +5495,7 @@
 
    </dd>
 
-  </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.6.3 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL
+  </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.6.5 </span>Interfaces for URL manipulation</h4><p>An interface that has a complement of <dfn id="url-decomposition-idl-attributes">URL decomposition IDL
   attributes</dfn> has seven attributes with the following
   definitions:</p><pre class="idl extract">           attribute DOMString <a href="#dom-uda-protocol" title="dom-uda-protocol">protocol</a>;
            attribute DOMString <a href="#dom-uda-host" title="dom-uda-host">host</a>;

Received on Thursday, 14 April 2011 22:54:17 UTC