[html5] r1793 - [] (0) Define 'valid URL' as an IRI reference and 'valid absolute URL' as an abs [...]
whatwg at whatwg.org
whatwg at whatwg.org
Mon Jun 23 18:00:17 PDT 2008
Author: ianh
Date: 2008-06-23 18:00:16 -0700 (Mon, 23 Jun 2008)
New Revision: 1793
Modified:
index
source
Log:
[] (0) Define 'valid URL' as an IRI reference and 'valid absolute URL' as an absolute IRI.
Modified: index
===================================================================
--- index 2008-06-24 00:23:35 UTC (rev 1792)
+++ index 2008-06-24 01:00:16 UTC (rev 1793)
@@ -216,7 +216,16 @@
<li><a href="#terminology0"><span class=secno>2.3.1
</span>Terminology</a>
- <li><a href="#interfaces"><span class=secno>2.3.2 </span>Interfaces
+ <li><a href="#parsing0"><span class=secno>2.3.2 </span>Parsing
+ URLs</a>
+
+ <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.5 </span>Interfaces
for URI manipulation</a>
</ul>
@@ -1167,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>
@@ -1546,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
@@ -1805,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
@@ -2702,72 +2711,74 @@
<ul>
<li>
- <p>The <a href="#url">URL</a> is a valid URI.
+ <p>The <a href="#url">URL</a> is a valid URI reference <a
+ href="#refsRFC3986">[RFC3986]</a>.
<li>
- <p>The <a href="#url">URL</a> is a valid IRI and it has no query
- component.
+ <p>The <a href="#url">URL</a> is a valid IRI reference and it has no
+ query component. <a href="#refsRFC3987">[RFC3987]</a>
<li>
- <p>The <a href="#url">URL</a> is a valid IRI and its query component
- contains no unescaped non-ASCII characters.
+ <p>The <a href="#url">URL</a> is a valid IRI reference and its query
+ component contains no unescaped non-ASCII characters. <a
+ href="#refsRFC3987">[RFC3987]</a>
<li>
- <p>The <a href="#url">URL</a> is a valid IRI and the <a
+ <p>The <a href="#url">URL</a> is a valid IRI reference and the <a
href="#character1" title="document's character encoding">character
- encoding</a> of the URL's <code>Document</code> is UTF-8.
+ encoding</a> of the URL's <code>Document</code> is UTF-8. <a
+ href="#refsRFC3987">[RFC3987]</a>
</ul>
+ <p>A <a href="#url">URL</a> is a <dfn id=valid0>valid absolute URL</dfn> if
+ it is a <a href="#valid">valid URL</a> and has an absolute form. <a
+ href="#refsRFC3986">[RFC3986]</a> <a href="#refsRFC3987">[RFC3987]</a>
+
+ <h4 id=parsing0><span class=secno>2.3.2 </span>Parsing URLs</h4>
+
+ <p class=big-issue>...
+
+ <h4 id=resolving><span class=secno>2.3.3 </span>Resolving URLs</h4>
+
<div class=big-issue>
- <p>This section will do the following:</p>
+ <p>First parse it (we need to define that. For some schemes it's not per
+ spec -- e.g. apparently for ftp: we should split from hosts on ';'). Then
+ handle each bit as follows:</p>
- <ul>
- <li>define URL as IRI and replace all uses of URIs and IRIs in the rest
- of the spec with URL
+ <p>scheme: no further processing (treat %-escaped characters literally,
+ treat unicode characters as unicode characters).</p>
- <li>define "valid URL" in terms of valid URIs and IRIs and replace that
- concept through the spec to a pointer here, getting rid of references to
- <a href="#refsRFC3986">[RFC3986]</a> <a
- href="#refsRFC3987">[RFC3987]</a> outside this section
+ <p>host: expand %-encoded bytes to Unicode as UTF-8, treat unicode
+ characters as per IDN.</p>
- <li>define "valid URL reference" in terms of valid URI references and IRI
- references and replace that concept through the spec to a pointer here,
- getting rid of references to <a href="#refsRFC3986">[RFC3986]</a> <a
- href="#refsRFC3987">[RFC3987]</a> outside this section
+ <p>path: don't expand %-encoded bytes. Re-encode unicode to UTF-8 and
+ percent-encode.</p>
- <li>define how to parse URLs (maybe by deferring to RFCs)
+ <p>query: don't expand %-encoded bytes. Re-encode unicode to the page's
+ encoding. Do not percent-encode.</p>
+ </div>
- <li>
- <p>define how to handle URIs that contain non-ascii characters (and it's
- not the same as handling as IRIs, especially if the character encoding
- of the document isn't UTF-8)</p>
+ <p class=big-issue>define what it means to resolve a relative URL when the
+ base URL doesn't have a path hierarchy (e.g. data:, javascript:,
+ about:blank URLs)
- <p>First parse it (we need to define that. For some schemes it's not per
- spec -- e.g. apparently for ftp: we should split from hosts on ';').
- Then handle each bit as follows:</p>
+ <h4 id=open-issues><span class=secno>2.3.4 </span>Open issues</h4>
- <p>scheme: no further processing (treat %-escaped characters literally,
- treat unicode characters as unicode characters).</p>
+ <div class=big-issue>
+ <p>This section will do the following:</p>
- <p>host: expand %-encoded bytes to Unicode as UTF-8, treat unicode
- characters as per IDN.</p>
+ <ul>
+ <li>replace all uses of URIs and IRIs in the rest of the spec with URL
- <p>path: don't expand %-encoded bytes. Re-encode unicode to UTF-8 and
- percent-encode.</p>
+ <li>get rid of references to <a href="#refsRFC3986">[RFC3986]</a> <a
+ href="#refsRFC3987">[RFC3987]</a> outside this section
- <p>query: don't expand %-encoded bytes. Re-encode unicode to the page's
- encoding. Do not percent-encode.</p>
-
<li>define how to resolve relative URLs in markup attributes (using
XMLBase as defined elsewhere right now)
<li>define how to resolve relative URLs in APIs, using the <dfn
id=scripts>script's base URI</dfn> maybe
- <li>define what it means to resolve a relative URL when the base URL
- doesn't have a path hierarchy (e.g. data:, javascript:, about:blank
- URLs)
-
<li>define "an <dfn id=elements3>element's base URI</dfn>" and make the
various places that talk about a base URI in the context of an element
use that definition
@@ -2822,7 +2833,7 @@
</div>
<!-- XXXURL change to URL -->
- <h4 id=interfaces><span class=secno>2.3.2 </span>Interfaces for URI
+ <h4 id=interfaces><span class=secno>2.3.5 </span>Interfaces for URI
manipulation</h4>
<!-- XXXURL change to URL -->
@@ -3115,7 +3126,7 @@
<h5 id=unsigned><span class=secno>2.4.3.1. </span>Unsigned integers</h5>
- <p>A string is a <dfn id=valid0>valid non-negative integer</dfn> if it
+ <p>A string is a <dfn id=valid1>valid non-negative integer</dfn> if it
consists of one of more characters in the range U+0030 DIGIT ZERO (0) to
U+0039 DIGIT NINE (9).
@@ -3176,7 +3187,7 @@
<h5 id=signed><span class=secno>2.4.3.2. </span>Signed integers</h5>
- <p>A string is a <dfn id=valid1>valid integer</dfn> if it consists of one
+ <p>A string is a <dfn id=valid2>valid integer</dfn> if it consists of one
of more characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
(9), optionally prefixed with a U+002D HYPHEN-MINUS ("-") character.
@@ -3254,7 +3265,7 @@
<h5 id=real-numbers><span class=secno>2.4.3.3. </span>Real numbers</h5>
- <p>A string is a <dfn id=valid2>valid floating point number</dfn> if it
+ <p>A string is a <dfn id=valid3>valid floating point number</dfn> if it
consists of one of more characters in the range U+0030 DIGIT ZERO (0) to
U+0039 DIGIT NINE (9), optionally with a single U+002E FULL STOP (".")
character somewhere (either before these numbers, in between two numbers,
@@ -3380,7 +3391,7 @@
<code><a href="#progress">progress</a></code> and <code><a
href="#meter">meter</a></code> elements.
- <p>A <dfn id=valid3>valid denominator punctuation character</dfn> is one of
+ <p>A <dfn id=valid4>valid denominator punctuation character</dfn> is one of
the characters from the table below. There is <dfn id=a-value
title="values associated with denominator punctuation characters">a value
associated with each denominator punctuation character</dfn>, as shown in
@@ -3458,7 +3469,7 @@
href="#refsUNICODE">[UNICODE]</a>
<li>If there are still further characters in the string, and the next
- character in the string is a <a href="#valid3">valid denominator
+ character in the string is a <a href="#valid4">valid denominator
punctuation character</a>, set <var title="">denominator</var> to that
character.
@@ -3481,7 +3492,7 @@
sub-algorithm in step 9.
<li>If there are still further characters in the string, and the next
- character in the string is a <a href="#valid3">valid denominator
+ character in the string is a <a href="#valid4">valid denominator
punctuation character</a>, return nothing and abort these steps.
<li>If the string contains any other characters in the range U+0030 DIGIT
@@ -3516,7 +3527,7 @@
<li>Parse <var title="">string</var> according to the <a
href="#rules1">rules for parsing floating point number values</a>, to
obtain <var title="">number</var>. This step cannot fail (<var
- title="">string</var> is guaranteed to be a <a href="#valid2">valid
+ title="">string</var> is guaranteed to be a <a href="#valid3">valid
floating point number</a>).
<li>Return <var title="">number</var>.
@@ -3525,15 +3536,15 @@
<h5 id=percentages-and-dimensions><span class=secno>2.4.3.5.
</span>Percentages and dimensions</h5>
- <p class=big-issue><dfn id=valid4>valid positive non-zero integers</dfn>
+ <p class=big-issue><dfn id=valid5>valid positive non-zero integers</dfn>
<dfn id=rules2>rules for parsing dimension values</dfn> (only used by
height/width on img, embed, object — lengths in css pixels or
percentages)
<h5 id=lists><span class=secno>2.4.3.6. </span>Lists of integers</h5>
- <p>A <dfn id=valid5>valid list of integers</dfn> is a number of <a
- href="#valid1" title="valid integer">valid integers</a> separated by
+ <p>A <dfn id=valid6>valid list of integers</dfn> is a number of <a
+ href="#valid2" title="valid integer">valid integers</a> separated by
U+002C COMMA characters, with no other characters (e.g. no <a
href="#space" title="space character">space characters</a>). In addition,
there might be restrictions on the number of integers that can be given,
@@ -3824,7 +3835,7 @@
<h5 id=specific><span class=secno>2.4.4.1. </span>Specific moments in time</h5>
- <p>A string is a <dfn id=valid6>valid datetime</dfn> if it has four digits
+ <p>A string is a <dfn id=valid7>valid datetime</dfn> if it has four digits
(representing the year), a literal hyphen, two digits (representing the
month), a literal hyphen, two digits (representing the day), optionally
some spaces, either a literal T or a space, optionally some more spaces,
@@ -3857,7 +3868,7 @@
U+002B PLUS SIGN, and the minus U+002D (same as the hyphen).
<div class=example>
- <p>The following are some examples of dates written as <a href="#valid6"
+ <p>The following are some examples of dates written as <a href="#valid7"
title="valid datetime">valid datetimes</a>.</p>
<dl>
@@ -3910,7 +3921,7 @@
user agent must apply the following algorithm to the string. This will
either return a time in UTC, with associated timezone information for
round tripping or display purposes, or nothing, indicating the value is
- not a <a href="#valid6">valid datetime</a>. If at any point the algorithm
+ not a <a href="#valid7">valid datetime</a>. If at any point the algorithm
says that it "fails", this means that it returns nothing.
<ol>
@@ -4522,7 +4533,7 @@
<h4 id=time-offsets><span class=secno>2.4.5 </span>Time offsets</h4>
- <p class=big-issue><dfn id=valid7>valid time offset</dfn>, <dfn
+ <p class=big-issue><dfn id=valid8>valid time offset</dfn>, <dfn
id=rules4>rules for parsing time offsets</dfn>, <dfn id=time-offset>time
offset serialization rules</dfn>; in the format "5d4h3m2s1ms" or "3m 9.2s"
or "00:00:00.00" or similar.
@@ -4719,7 +4730,7 @@
<h4 id=syntax-references><span class=secno>2.4.8 </span>References</h4>
- <p>A <dfn id=valid8>valid hash-name reference</dfn> to an element of type
+ <p>A <dfn id=valid9>valid hash-name reference</dfn> to an element of type
<var title="">type</var> is a string consisting of a U+0023 NUMBER SIGN
(<code title="">#</code>) character followed by a string which exactly
matches the value of the <code title="">name</code> attribute of an
@@ -4815,7 +4826,7 @@
the attribute is absent, then the default value must be returned instead,
or 0 if there is no default value. On setting, the given value must be
converted to the shortest possible string representing the number as a <a
- href="#valid1">valid integer</a> in base ten and then that string must be
+ href="#valid2">valid integer</a> in base ten and then that string must be
used as the new content attribute value.
<p>If a reflecting DOM attribute is an <em>unsigned</em> integer type
@@ -4826,7 +4837,7 @@
hand, it fails, or if the attribute is absent, the default value must be
returned instead, or 0 if there is no default value. On setting, the given
value must be converted to the shortest possible string representing the
- number as a <a href="#valid0">valid non-negative integer</a> in base ten
+ number as a <a href="#valid1">valid non-negative integer</a> in base ten
and then that string must be used as the new content attribute value.
<p>If a reflecting DOM attribute is an unsigned integer type
@@ -4841,7 +4852,7 @@
value. On setting, if the value is zero, the user agent must fire an
<code>INDEX_SIZE_ERR</code> exception. Otherwise, the given value must be
converted to the shortest possible string representing the number as a <a
- href="#valid0">valid non-negative integer</a> in base ten and then that
+ href="#valid1">valid non-negative integer</a> in base ten and then that
string must be used as the new content attribute value.
<p>If a reflecting DOM attribute is a floating point number type
@@ -4866,7 +4877,7 @@
other hand, it fails, or if the attribute is absent, the default value
must be returned instead, or 0.0 if there is no default value. On setting,
the given value must be converted to the shortest possible string
- representing the number as a <a href="#valid2">valid floating point
+ representing the number as a <a href="#valid3">valid floating point
number</a> in base ten and then that string must be used as the new
content attribute value.
@@ -8569,7 +8580,7 @@
the first are ignored.
<p>The <dfn id=target title=attr-base-target><code>target</code></dfn>
- attribute, if specified, must contain a <a href="#valid10">valid browsing
+ attribute, if specified, must contain a <a href="#valid11">valid browsing
context name or keyword</a>. User agents use this name when <a
href="#following0">following hyperlinks</a>.
@@ -9442,9 +9453,9 @@
attribute must have a value consisting either of:
<ul>
- <li> just a <a href="#valid0">valid non-negative integer</a>, or
+ <li> just a <a href="#valid1">valid non-negative integer</a>, or
- <li> a <a href="#valid0">valid non-negative integer</a>, followed by a
+ <li> a <a href="#valid1">valid non-negative integer</a>, followed by a
U+003B SEMICOLON (<code title="">;</code>), followed by one or more <a
href="#space" title="space character">space characters</a>, followed by
either a U+0055 LATIN CAPITAL LETTER U or a U+0075 LATIN SMALL LETTER
@@ -11302,7 +11313,7 @@
attribute is omitted, the list is an ascending list (1, 2, 3, ...).
<p>The <dfn id=start0 title=attr-ol-start><code>start</code></dfn>
- attribute, if present, must be a <a href="#valid1">valid integer</a>
+ attribute, if present, must be a <a href="#valid2">valid integer</a>
giving the ordinal value of the first list item.
<p>If the <code title=attr-ol-start><a href="#start0">start</a></code>
@@ -11487,7 +11498,7 @@
element.
<p>The <dfn id=value title=attr-li-value><code>value</code></dfn>
- attribute, if present, must be a <a href="#valid1">valid integer</a>
+ attribute, if present, must be a <a href="#valid2">valid integer</a>
giving the ordinal value of the list item.
<p>If the <code title=attr-li-value><a href="#value">value</a></code>
@@ -12944,7 +12955,7 @@
<p><strong>Author requirements</strong>: The <code
title=attr-progress-max><a href="#max">max</a></code> and <code
title=attr-progress-value><a href="#value1">value</a></code> attributes,
- when present, must have values that are <a href="#valid2" title="valid
+ when present, must have values that are <a href="#valid3" title="valid
floating point number">valid floating point numbers</a>. The <code
title=attr-progress-max><a href="#max">max</a></code> attribute, if
present, must have a value greater than zero. The <code
@@ -13159,7 +13170,7 @@
title=attr-meter-max><a href="#max1">max</a></code>, and <code
title=attr-meter-optimum><a href="#optimum">optimum</a></code> attributes
are all optional. When present, they must have values that are <a
- href="#valid2" title="valid floating point number">valid floating point
+ href="#valid3" title="valid floating point number">valid floating point
numbers</a>, and their values must satisfy the following inequalities:
<ul class=brief>
@@ -14422,14 +14433,14 @@
<p>If present, the <code title=attr-mod-datetime><a
href="#datetime1">datetime</a></code> attribute must be a <a
- href="#valid6">valid datetime</a> value.
+ href="#valid7">valid datetime</a> value.
<p>User agents must parse the <code title=attr-mod-datetime><a
href="#datetime1">datetime</a></code> attribute according to the <a
href="#datetime-parser">parse a string as a datetime value</a> algorithm.
If that doesn't return a time, then the modification has no associated
timestamp (the value is non-conforming; it is not a <a
- href="#valid6">valid datetime</a>). Otherwise, the modification is marked
+ href="#valid7">valid datetime</a>). Otherwise, the modification is marked
as having been made at the given datetime. User agents should use the
associated timezone information to determine which timezone to present the
given datetime in.
@@ -15442,7 +15453,7 @@
will remain at the initial <code>about:blank</code><!-- XXX xref --> page.
<p>The <dfn id=name1 title=attr-iframe-name><code>name</code></dfn>
- attribute, if present, must be a <a href="#valid9">valid browsing context
+ attribute, if present, must be a <a href="#valid10">valid browsing context
name</a>. When the browsing context is created, if the attribute is
present, the <a href="#browsing2">browsing context name</a> must be set to
the value of this attribute; otherwise, the <a href="#browsing2">browsing
@@ -16001,7 +16012,7 @@
href="#type6">type</a></code> attributes must be present.
<p>The <dfn id=name3 title=attr-object-name><code>name</code></dfn>
- attribute, if present, must be a <a href="#valid9">valid browsing context
+ attribute, if present, must be a <a href="#valid10">valid browsing context
name</a>.
<p>When the element is created, and subsequently whenever the <code
@@ -16946,7 +16957,7 @@
allows the author to specify the pixel ratio of anamorphic <a
href="#media10" title="media resource">media resources</a> that do not
self-describe their pixel ratio. The attribute value, if specified, must
- be a <a href="#valid2">valid floating point number</a> giving the ratio of
+ be a <a href="#valid3">valid floating point number</a> giving the ratio of
the correct rendered width of each pixel to the actual width of each pixel
in the image (i.e., the multiple by which the video's intrinsic width is
to be multiplied to obtain the rendered width that gives the correct
@@ -19332,7 +19343,7 @@
to control the size of the coordinate space: <dfn id=width0
title=attr-canvas-width><code>width</code></dfn> and <dfn id=height0
title=attr-canvas-height><code>height</code></dfn>. These attributes, when
- specified, must have values that are <a href="#valid0" title="valid
+ specified, must have values that are <a href="#valid1" title="valid
non-negative integer">valid non-negative integers</a>. The <a
href="#rules">rules for parsing non-negative integers</a> must be used to
obtain their numeric values. If an attribute is missing, or if parsing its
@@ -22096,7 +22107,7 @@
href="#rectangle" title=attr-area-shape-rect>rectangle</a> state.
<p>The <dfn id=coords title=attr-area-coords><code>coords</code></dfn>
- attribute must, if specified, contain a <a href="#valid5">valid list of
+ attribute must, if specified, contain a <a href="#valid6">valid list of
integers</a>. This attribute gives the coordinates for the shape described
by the <code title=attr-area-shape><a href="#shape">shape</a></code>
attribute. The processing for this attribute is described as part of the
@@ -22226,7 +22237,7 @@
<code><a href="#img">img</a></code> or <code><a
href="#object">object</a></code> element. The <code
title=attr-area-usemap>usemap</code> attribute, if specified, must be a <a
- href="#valid8">valid hash-name reference</a> to a <code><a
+ href="#valid9">valid hash-name reference</a> to a <code><a
href="#map">map</a></code> element.
<p>If an <code><a href="#img">img</a></code> element or an <code><a
@@ -22548,7 +22559,7 @@
give the dimensions of the visual content of the element (the width and
height respectively, relative to the nominal direction of the output
medium), in CSS pixels. The attributes, if specified, must have values
- that are <a href="#valid4">valid positive non-zero integers</a>.
+ that are <a href="#valid5">valid positive non-zero integers</a>.
<p>The specified dimensions given may differ from the dimensions specified
in the resource itself, since the resource may have a resolution that
@@ -22961,7 +22972,7 @@
<p>If the <code><a href="#colgroup">colgroup</a></code> element contains no
<code><a href="#col">col</a></code> elements, then the element may have a
<dfn id=span0 title=attr-colgroup-span><code>span</code></dfn> content
- attribute specified, whose value must be a <a href="#valid0">valid
+ attribute specified, whose value must be a <a href="#valid1">valid
non-negative integer</a> greater than zero.
<p>The <code><a href="#colgroup">colgroup</a></code> element and its <code
@@ -23015,7 +23026,7 @@
<p>The element may have a <dfn id=span2
title=attr-col-span><code>span</code></dfn> content attribute specified,
- whose value must be a <a href="#valid0">valid non-negative integer</a>
+ whose value must be a <a href="#valid1">valid non-negative integer</a>
greater than zero.
<p>The <code><a href="#col">col</a></code> element and its <code
@@ -23488,13 +23499,13 @@
<p>The <code><a href="#td">td</a></code> and <code><a
href="#th">th</a></code> elements may have a <dfn id=colspan
title=attr-tdth-colspan><code>colspan</code></dfn> content attribute
- specified, whose value must be a <a href="#valid0">valid non-negative
+ specified, whose value must be a <a href="#valid1">valid non-negative
integer</a> greater than zero.
<p>The <code><a href="#td">td</a></code> and <code><a
href="#th">th</a></code> elements may also have a <dfn id=rowspan
title=attr-tdth-rowspan><code>rowspan</code></dfn> content attribute
- specified, whose value must be a <a href="#valid0">valid non-negative
+ specified, whose value must be a <a href="#valid1">valid non-negative
integer</a>.
<p>The <code><a href="#td">td</a></code> and <code><a
@@ -29727,12 +29738,13 @@
name</dfn>. By default, a browsing context has no name (its name is not
set).
- <p>A <dfn id=valid9>valid browsing context name</dfn> is any string with at
- least one character that does not start with a U+005F LOW LINE character.
- (Names starting with an underscore are reserved for special keywords.)
+ <p>A <dfn id=valid10>valid browsing context name</dfn> is any string with
+ at least one character that does not start with a U+005F LOW LINE
+ character. (Names starting with an underscore are reserved for special
+ keywords.)
- <p>A <dfn id=valid10>valid browsing context name or keyword</dfn> is any
- string that is either a <a href="#valid9">valid browsing context name</a>
+ <p>A <dfn id=valid11>valid browsing context name or keyword</dfn> is any
+ string that is either a <a href="#valid10">valid browsing context name</a>
or that case-insensitively <!-- ASCII --> matches one of: <code
title="">_blank</code>, <code title="">_self</code>, <code
title="">_parent</code>, or <code title="">_top</code>.
@@ -30032,7 +30044,7 @@
<p>The second argument, <var title="">target</var>, specifies the <a
href="#browsing2" title="browsing context name">name</a> of the browsing
- context that is to be navigated. It must be a <a href="#valid10">valid
+ context that is to be navigated. It must be a <a href="#valid11">valid
browsing context name or keyword</a>. If fewer than two arguments are
provided, then the <var title="">name</var> argument defaults to the value
"<code>_blank</code>".
@@ -32309,7 +32321,7 @@
<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
that the user agent must run the following steps:
@@ -36038,7 +36050,7 @@
<p>The <dfn id=target3
title=attr-hyperlink-target><code>target</code></dfn> attribute, if
- present, must be a <a href="#valid10">valid browsing context name or
+ present, must be a <a href="#valid11">valid browsing context name or
keyword</a>. User agents use this name when <a
href="#following0">following hyperlinks</a>.</p>
<!-- XXXURL change to URL -->
@@ -36895,7 +36907,7 @@
href="#unordered">unordered set of unique space-separated tokens</a>. The
values must all be either <code title=attr-link-sizes-any><a
href="#any">any</a></code> or a value that consists of two <a
- href="#valid0" title="valid non-negative integer">valid non-negative
+ href="#valid1" title="valid non-negative integer">valid non-negative
integers</a> that do not have a leading U+0030 DIGIT ZERO (0) character
and that are separated by a single U+0078 LATIN SMALL LETTER X character.
@@ -37670,7 +37682,7 @@
<p>The <code title=attr-tabindex><a href="#tabindex">tabindex</a></code>
attribute, if specified, must have a value that is a <a
- href="#valid1">valid integer</a>.
+ href="#valid2">valid integer</a>.
<p>If the attribute is specified, it must be parsed using the <a
href="#rules0">rules for parsing integers</a>. The attribute's values have
@@ -40654,7 +40666,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>.
@@ -49806,7 +49818,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 00:23:35 UTC (rev 1792)
+++ source 2008-06-24 01:00:16 UTC (rev 1793)
@@ -963,69 +963,70 @@
<ul>
- <li><p>The <span>URL</span> is a valid URI.</p></li>
+ <li><p>The <span>URL</span> is a valid URI reference <a
+ href="#refsRFC3986">[RFC3986]</a>.</p></li>
- <li><p>The <span>URL</span> is a valid IRI and it has no query
- component.</p></li>
+ <li><p>The <span>URL</span> is a valid IRI reference and it has no
+ query component. <a href="#refsRFC3987">[RFC3987]</a></p></li>
- <li><p>The <span>URL</span> is a valid IRI and its query component
- contains no unescaped non-ASCII characters.</p></li>
+ <li><p>The <span>URL</span> 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 <span>URL</span> is a valid IRI and the <span
+ <li><p>The <span>URL</span> is a valid IRI reference and the <span
title="document's character encoding">character encoding</span> of
- the URL's <code>Document</code> is UTF-8.</p></li>
+ the URL's <code>Document</code> is UTF-8. <a
+ href="#refsRFC3987">[RFC3987]</a></p></li>
</ul>
+ <p>A <span>URL</span> is a <dfn>valid absolute URL</dfn> if it is a
+ <span>valid URL</span> and has an absolute form. <a
+ href="#refsRFC3986">[RFC3986]</a> <a
+ href="#refsRFC3987">[RFC3987]</a></p>
- <div class="big-issue">
- <p>This section will do the following:</p>
+ <h4>Parsing URLs</h4>
- <ul>
+ <p class="big-issue">...</p>
- <li>define URL as IRI and replace all uses of URIs and IRIs in the
- rest of the spec with URL</li>
+ <h4>Resolving URLs</h4>
- <li>define "valid URL" in terms of valid URIs and IRIs and replace
- that concept through the spec to a pointer here, getting rid of
- references to <a href="#refsRFC3986">[RFC3986]</a> <a
- href="#refsRFC3987">[RFC3987]</a> outside this section</li>
+ <div class="big-issue">
+ <p>First parse it (we need to define that. For some schemes it's
+ not per spec -- e.g. apparently for ftp: we should split from
+ hosts on ';'). Then handle each bit as follows:</p>
+ <p>scheme: no further processing (treat %-escaped characters literally, treat unicode characters as unicode characters).</p>
+ <p>host: expand %-encoded bytes to Unicode as UTF-8, treat unicode characters as per IDN.</p>
+ <p>path: don't expand %-encoded bytes. Re-encode unicode to UTF-8 and percent-encode.</p>
+ <p>query: don't expand %-encoded bytes. Re-encode unicode to the page's encoding. Do not percent-encode.</p>
+ </div>
- <li>define "valid URL reference" in terms of valid URI references
- and IRI references and replace that concept through the spec to a
- pointer here, getting rid of references to <a
- href="#refsRFC3986">[RFC3986]</a> <a
- href="#refsRFC3987">[RFC3987]</a> outside this section</li>
+ <p class="big-issue">define what it means to resolve a relative URL
+ when the base URL doesn't have a path hierarchy (e.g. data:,
+ javascript:, about:blank URLs)</p>
- <li>define how to parse URLs (maybe by deferring to RFCs)</li>
- <li>
+ <h4>Open issues</h4>
- <p>define how to handle URIs that contain non-ascii characters
- (and it's not the same as handling as IRIs, especially if the
- character encoding of the document isn't UTF-8)</p>
+ <div class="big-issue">
- <p>First parse it (we need to define that. For some schemes it's
- not per spec -- e.g. apparently for ftp: we should split from
- hosts on ';'). Then handle each bit as follows:</p>
- <p>scheme: no further processing (treat %-escaped characters literally, treat unicode characters as unicode characters).</p>
- <p>host: expand %-encoded bytes to Unicode as UTF-8, treat unicode characters as per IDN.</p>
- <p>path: don't expand %-encoded bytes. Re-encode unicode to UTF-8 and percent-encode.</p>
- <p>query: don't expand %-encoded bytes. Re-encode unicode to the page's encoding. Do not percent-encode.</p>
+ <p>This section will do the following:</p>
- </li>
+ <ul>
+ <li>replace all uses of URIs and IRIs in the rest of the spec with
+ URL</li>
+
+ <li>get rid of references to <a href="#refsRFC3986">[RFC3986]</a>
+ <a href="#refsRFC3987">[RFC3987]</a> outside this section</li>
+
<li>define how to resolve relative URLs in markup attributes
(using XMLBase as defined elsewhere right now)</li>
<li>define how to resolve relative URLs in APIs, using the
<dfn>script's base URI</dfn> maybe</li>
- <li>define what it means to resolve a relative URL when the base
- URL doesn't have a path hierarchy (e.g. data:, javascript:,
- about:blank URLs)</li>
-
<li>define "an <dfn>element's base URI</dfn>" and make the various
places that talk about a base URI in the context of an element use
that definition</li>
More information about the Commit-Watchers
mailing list