hixie: clarify how to generate ifragment thingies (whatwg r6112)

hixie: clarify how to generate ifragment thingies (whatwg r6112)

http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.4913&r2=1.4914&f=h
http://html5.org/tools/web-apps-tracker?from=6111&to=6112

===================================================================
RCS file: /sources/public/html5/spec/Overview.html,v
retrieving revision 1.4913
retrieving revision 1.4914
diff -u -d -r1.4913 -r1.4914
--- Overview.html 6 May 2011 22:01:01 -0000 1.4913
+++ Overview.html 6 May 2011 22:34:37 -0000 1.4914
@@ -566,8 +566,9 @@
      <li><a href="#terminology-0"><span class="secno">2.6.1 </span>Terminology</a></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></ol></li>
+     <li><a href="#url-manipulation-and-creation"><span class="secno">2.6.4 </span>URL manipulation and creation</a></li>
+     <li><a href="#dynamic-changes-to-base-urls"><span class="secno">2.6.5 </span>Dynamic changes to base URLs</a></li>
+     <li><a href="#interfaces-for-url-manipulation"><span class="secno">2.6.6 </span>Interfaces for URL manipulation</a></ol></li>
    <li><a href="#fetching-resources"><span class="secno">2.7 </span>Fetching resources</a>
     <ol>
      <li><a href="#concept-http-equivalent"><span class="secno">2.7.1 </span>Protocol concepts</a></li>
@@ -5539,7 +5540,62 @@
   immediately after the <a href="#url-scheme" title="url-scheme">&lt;scheme&gt;</a>
   component and they are both U+002F SOLIDUS characters (//).<div class="impl">
 
-  <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.6.4 </span>Dynamic changes to base URLs</h4>
+  <h4 id="url-manipulation-and-creation"><span class="secno">2.6.4 </span>URL manipulation and creation</h4>
+
+  <p>To <dfn id="fragment-escaped" title="fragment-escaped">fragment-escape</dfn> a string
+  <var title="">input</var>, a user agent must run the following
+  steps:</p>
+
+  <ol><li><p>Let <var title="">input</var> be the string to be
+   escaped.</li>
+
+   <li><p>Let <var title="">position</var> point at the first
+   character of <var title="">input</var>.</li>
+
+   <li><p>Let <var title="">output</var> be an empty string.</li>
+
+   <li><p><i>Loop</i>: If <var title="">position</var> is past the end
+   of <var title="">input</var>, then jump to the step labeled
+   <i>end</i>.</li>
+
+   <li>
+
+    <p>If the character in <var title="">input</var> pointed to by
+    <var title="">position</var> is in the range U+0000 to U+0020 or
+    is one of the following characters:</p>
+
+    <ul class="brief"><li>U+0022 QUOTATION MARK character (")
+     <li>U+0023 NUMBER SIGN character (#)
+     <li>U+0025 PERCENT SIGN character (%)
+     <li>U+003C LESS-THAN SIGN character (&lt;)
+     <li>U+003E GREATER-THAN SIGN character (&gt;)
+     <li>U+005B LEFT SQUARE BRACKET character ([)
+     <li>U+005C REVERSE SOLIDUS character (\)
+     <li>U+005D RIGHT SQUARE BRACKET character (])
+     <li>U+005E CIRCUMFLEX ACCENT character (^)
+     <li>U+007B LEFT CURLY BRACKET character ({)
+     <li>U+007C VERTICAL LINE character (|)
+     <li>U+007D RIGHT CURLY BRACKET character (})
+    </ul><p>...then append the percent-encoded form of the character to
+    <var title="">output</var>. <a href="#refsRFC3986">[RFC3986]</a></p> 
+    <p>Otherwise, append the character itself to <var title="">output</var>.</p>
+
+    <p class="note">This escapes any ASCII characters that are not
+    valid in the URI &lt;fragment&gt; production without being
+    escaped.</p>
+
+   </li>
+
+   <li><p>Advance <var title="">position</var> to the next character
+   in <var title="">input</var>.</li>
+
+   <li><p>Return to the step labeled <i>loop</i>.</li>
+
+   <li><p><i>End</i>: Return <var title="">output</var>.</li>
+
+  </ol></div><div class="impl">
+
+  <h4 id="dynamic-changes-to-base-urls"><span class="secno">2.6.5 </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
@@ -5601,7 +5657,7 @@
 
    </dd>
 
-  </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
+  </dl></div><h4 id="interfaces-for-url-manipulation"><span class="secno">2.6.6 </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:<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>;
@@ -34230,7 +34286,7 @@
    owner</a>.</li>
 
    <li>They both have a <code title="attr-fe-name"><a href="#attr-fe-name">name</a></code>
-   attribute, their code title="attr-fe-name"&gt;name attributes
+   attribute, their <code title="attr-fe-name"><a href="#attr-fe-name">name</a></code> attributes
    are not empty, and the value of <var title="">a</var>'s <code title="attr-fe-name"><a href="#attr-fe-name">name</a></code> attribute is a <a href="#compatibility-caseless">compatibility
    caseless</a> match for the value of <var title="">b</var>'s
    <code title="attr-fe-name"><a href="#attr-fe-name">name</a></code> attribute.</li>

Received on Friday, 6 May 2011 22:38:11 UTC