[html5] r4163 - [acgiowt] (0) Update the requirements on <meter> and <progress> contents to fix [...]

whatwg at whatwg.org whatwg at whatwg.org
Sun Oct 18 02:19:20 PDT 2009


Author: ianh
Date: 2009-10-18 02:19:18 -0700 (Sun, 18 Oct 2009)
New Revision: 4163

Modified:
   complete.html
   index
   source
Log:
[acgiowt] (0) Update the requirements on <meter> and <progress> contents to fix reported problems.

Modified: complete.html
===================================================================
--- complete.html	2009-10-18 08:25:12 UTC (rev 4162)
+++ complete.html	2009-10-18 09:19:18 UTC (rev 4163)
@@ -3130,10 +3130,10 @@
    DIGIT NINE (9), and assign this string of one or more characters to
    <var title="">string</var>.</li>
 
-   <li>If <var title="">string</var> consists of just a single U+002E
-   FULL STOP character or if it contains more than one U+002E FULL
-   STOP character then return an error condition and abort these
-   steps.</li>
+   <li>If the first character of <var title="">string</var> is a
+   U+002E FULL STOP character, or if <var title="">string</var>
+   contains more than one U+002E FULL STOP character, then return an
+   error condition and abort these steps.</li>
 
    <li>Parse <var title="">string</var> according to the <a href=#rules-for-parsing-floating-point-number-values>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=#valid-floating-point-number>valid floating
@@ -17143,13 +17143,73 @@
   </div>
 
   <p><span class=impl><strong>Author requirements</strong>:</span>
-  The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> and <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attributes, when present,
-  must have values that are <a href=#valid-floating-point-number title="valid floating point
-  number">valid floating point numbers</a>. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
-  have a value greater than zero. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
+  The <code><a href=#the-progress-element>progress</a></code> element must match one of the following
+  conditions.</p>
+
+  <ul><li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents
+   contain no numbers.</li>
+
+   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents contain one
+   number, optionally followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents contain two
+   numbers, neither followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
+   not specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents
+   contain one number that is not followed by a <a href=#valid-denominator-punctuation-character title="valid
+   denominator punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
+   and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute are
+   both specified. (The contents of the element are ignored.)</li>
+
+  </ul><p>For the purposes of these requirements, a number is a sequence of
+  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
+  (9), optionally including a single U+002E FULL STOP character (.) in
+  some position after the first digit, interpreted as a base ten
+  number. Numbers must be separated from other numbers by at least one
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
+
+  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
+  denominator punctuation character">denominator punctuation
+  character</a> if it is followed by zero or more
+  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
+  punctuation character</a>.</p>
+
+  <p>The contents of the element consist of the concatenation of
+  the <a href=#text-node title="text node">text nodes</a> of all the descendants
+  of the element, in <a href=#tree-order>tree order</a>.</p>
+
+  <p>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> and <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attributes, when present, must
+  have values that are <a href=#valid-floating-point-number title="valid floating point number">valid
+  floating point numbers</a>. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-  attribute, if present, or 1, otherwise.</p>
+  attribute, if present, or 1.0, otherwise. If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is not present,
+  but the element's contents contain a number, then the value of the
+  first number in the element's contents must be less than or equal to
+  the value of the second number in the element's contents, if any, or
+  the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
+  characters">value associated with the denominator punctuation
+  character</a> that follows the first number in the element's
+  contents, if any, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
+  have a value greater than zero.</p>
 
   <p class=note>The <code><a href=#the-progress-element>progress</a></code> element is the wrong
   element to use for something that is just a gauge, as opposed to
@@ -17169,7 +17229,8 @@
   <code>textContent</code> of the <code><a href=#the-progress-element>progress</a></code> element in
   question using the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a
   ratio in a string</a>. These steps will return nothing, one
-  number, one number with a denominator punctuation character, or two
+  number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+  character">denominator punctuation character</a>, or two
   numbers.</p>
 
   <p>Using the results of this processing, user agents must determine
@@ -17197,8 +17258,8 @@
 
    <li>Otherwise, if neither attribute is included, then, if the
    <code>textContent</code> contained one number with an associated
-   denominator punctuation character, then the maximum value is the
-   <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
+   <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
+   punctuation character</a>, then the maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
    characters">value associated with that denominator punctuation
    character</a>; otherwise, if the <code>textContent</code>
    contained two numbers, the maximum value is the higher of the two
@@ -17213,7 +17274,8 @@
    <li>Otherwise if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
    attribute is absent and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present, then, if
    the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated denominator punctuation character,
+   one number, with no associated <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation character</a>,
    then the current value is that number. Otherwise, if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is absent and
    the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present
    then the current value is zero.</li>
@@ -17357,12 +17419,14 @@
     be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
     <p>The numbers in the contents of the element must not be followed
-    by denomination punctuation characters.</p>
+    by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>.</p>
 
    </dd>
 
-   <dt>There is exactly one number followed by a denomination
-   punctuation character in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
+   <dt>There is exactly one number followed by a <a href=#valid-denominator-punctuation-character title="valid
+   denominator punctuation character">denominator punctuation
+   character</a> in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
 
    <dd>
 
@@ -17400,8 +17464,10 @@
     attribute is specified, then the <var title="">maximum</var> is
     that attribute's value; otherwise, it is 1.</p>
 
-    <p>If there is exactly one number in the contents of the element,
-    then <var title="">value</var> is that number; otherwise, <var title="">value</var> is the value of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute.</p>
+    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
+    specified, then the <var title="">value</var> is that attribute's
+    number; otherwise, there is exactly one number in the contents of
+    the element, and the <var title="">value</var> is that number.</p>
 
     <p>The following inequalities must hold, as applicable:</p>
 
@@ -17413,8 +17479,12 @@
     the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
     be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
-    <p>If there is a number in the contents of the element, it must
-    not be followed by a denominator punctuation character.</p>
+    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
+    not specified, the number in the contents of the element must not
+    be followed by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>. (Otherwise,
+    there is no restriction on what numbers can be in the contents of
+    the element.)</p>
 
    </dd>
 
@@ -17423,9 +17493,10 @@
   (9), optionally including a single U+002E FULL STOP character (.) in
   some position after the first digit, interpreted as a base ten
   number. Numbers must be separated from other numbers by at least one
-  character that isn't any of the aforementioned. In addition, the
-  contents of the element must not contain any U+002E FULL STOP
-  characters (.) that aren't part of numbers.</p>
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
 
   <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
   denominator punctuation character">denominator punctuation
@@ -17503,8 +17574,8 @@
   been omitted, the user agent must also process the
   <code>textContent</code> of the element according to the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps
   for finding one or two numbers of a ratio in a string</a>. These
-  steps will return nothing, one number, one number with a denominator
-  punctuation character, or two numbers.</p>
+  steps will return nothing, one number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
+  punctuation character</a>, or two numbers.</p>
 
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
@@ -17536,14 +17607,16 @@
     <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes were
     specified. If the result of processing the
     <code>textContent</code> of the element was either nothing or just
-    one number with no denominator punctuation character, then the
+    one number with no <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then the
     maximum value is 1; if the result was one number but it had an
-    associated denominator punctuation character, then the maximum
-    value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator
-    punctuation characters">value associated with that denominator
-    punctuation character</a>; and finally, if there were two
-    numbers parsed out of the <code>textContent</code>, then the
-    maximum is the higher of those two numbers.</p>
+    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then the
+    maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with
+    denominator punctuation characters">value associated with that
+    denominator punctuation character</a>; and finally, if there
+    were two numbers parsed out of the <code>textContent</code>, then
+    the maximum is the higher of those two numbers.</p>
 
     <p>If the above machinations result in a maximum value less than
     the minimum value, then the maximum value is actually the same as
@@ -17563,15 +17636,17 @@
     not specified but the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
     attribute <em>is</em> specified and the result of processing the
     <code>textContent</code> of the element was one number with no
-    associated denominator punctuation character, then that number is
-    the actual value.</p>
+    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then that
+    number is the actual value.</p>
 
     <p>If neither of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>
     and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are
     specified, then, if the result of processing the
     <code>textContent</code> of the element was one number (with or
-    without an associated denominator punctuation character), then
-    that is the actual value, and if the result of processing the
+    without an associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>), then that is
+    the actual value, and if the result of processing the
     <code>textContent</code> of the element was two numbers, then the
     actual value is the lower of the two numbers found.</p>
 

Modified: index
===================================================================
--- index	2009-10-18 08:25:12 UTC (rev 4162)
+++ index	2009-10-18 09:19:18 UTC (rev 4163)
@@ -2959,10 +2959,10 @@
    DIGIT NINE (9), and assign this string of one or more characters to
    <var title="">string</var>.</li>
 
-   <li>If <var title="">string</var> consists of just a single U+002E
-   FULL STOP character or if it contains more than one U+002E FULL
-   STOP character then return an error condition and abort these
-   steps.</li>
+   <li>If the first character of <var title="">string</var> is a
+   U+002E FULL STOP character, or if <var title="">string</var>
+   contains more than one U+002E FULL STOP character, then return an
+   error condition and abort these steps.</li>
 
    <li>Parse <var title="">string</var> according to the <a href=#rules-for-parsing-floating-point-number-values>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=#valid-floating-point-number>valid floating
@@ -16972,13 +16972,73 @@
   </div>
 
   <p><span class=impl><strong>Author requirements</strong>:</span>
-  The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> and <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attributes, when present,
-  must have values that are <a href=#valid-floating-point-number title="valid floating point
-  number">valid floating point numbers</a>. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
-  have a value greater than zero. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
+  The <code><a href=#the-progress-element>progress</a></code> element must match one of the following
+  conditions.</p>
+
+  <ul><li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents
+   contain no numbers.</li>
+
+   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents contain one
+   number, optionally followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>Neither the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
+   attribute nor the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents contain two
+   numbers, neither followed by a <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is
+   not specified but the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
+   attribute is specified, and the element's contents
+   contain one number that is not followed by a <a href=#valid-denominator-punctuation-character title="valid
+   denominator punctuation character">denominator punctuation
+   character</a>.</li>
+
+   <li>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute
+   and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute are
+   both specified. (The contents of the element are ignored.)</li>
+
+  </ul><p>For the purposes of these requirements, a number is a sequence of
+  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
+  (9), optionally including a single U+002E FULL STOP character (.) in
+  some position after the first digit, interpreted as a base ten
+  number. Numbers must be separated from other numbers by at least one
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
+
+  <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
+  denominator punctuation character">denominator punctuation
+  character</a> if it is followed by zero or more
+  <a href=#white_space>White_Space</a> characters and a <a href=#valid-denominator-punctuation-character>valid denominator
+  punctuation character</a>.</p>
+
+  <p>The contents of the element consist of the concatenation of
+  the <a href=#text-node title="text node">text nodes</a> of all the descendants
+  of the element, in <a href=#tree-order>tree order</a>.</p>
+
+  <p>The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> and <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attributes, when present, must
+  have values that are <a href=#valid-floating-point-number title="valid floating point number">valid
+  floating point numbers</a>. The <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code>
-  attribute, if present, or 1, otherwise.</p>
+  attribute, if present, or 1.0, otherwise. If the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is not present,
+  but the element's contents contain a number, then the value of the
+  first number in the element's contents must be less than or equal to
+  the value of the second number in the element's contents, if any, or
+  the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
+  characters">value associated with the denominator punctuation
+  character</a> that follows the first number in the element's
+  contents, if any, or 1.0, otherwise. The <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute, if present, must
+  have a value greater than zero.</p>
 
   <p class=note>The <code><a href=#the-progress-element>progress</a></code> element is the wrong
   element to use for something that is just a gauge, as opposed to
@@ -16998,7 +17058,8 @@
   <code>textContent</code> of the <code><a href=#the-progress-element>progress</a></code> element in
   question using the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps for finding one or two numbers of a
   ratio in a string</a>. These steps will return nothing, one
-  number, one number with a denominator punctuation character, or two
+  number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+  character">denominator punctuation character</a>, or two
   numbers.</p>
 
   <p>Using the results of this processing, user agents must determine
@@ -17026,8 +17087,8 @@
 
    <li>Otherwise, if neither attribute is included, then, if the
    <code>textContent</code> contained one number with an associated
-   denominator punctuation character, then the maximum value is the
-   <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
+   <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
+   punctuation character</a>, then the maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator punctuation
    characters">value associated with that denominator punctuation
    character</a>; otherwise, if the <code>textContent</code>
    contained two numbers, the maximum value is the higher of the two
@@ -17042,7 +17103,8 @@
    <li>Otherwise if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code>
    attribute is absent and the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present, then, if
    the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated denominator punctuation character,
+   one number, with no associated <a href=#valid-denominator-punctuation-character title="valid denominator
+   punctuation character">denominator punctuation character</a>,
    then the current value is that number. Otherwise, if the <code title=attr-progress-value><a href=#attr-progress-value>value</a></code> attribute is absent and
    the <code title=attr-progress-max><a href=#attr-progress-max>max</a></code> attribute is present
    then the current value is zero.</li>
@@ -17186,12 +17248,14 @@
     be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
     <p>The numbers in the contents of the element must not be followed
-    by denomination punctuation characters.</p>
+    by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>.</p>
 
    </dd>
 
-   <dt>There is exactly one number followed by a denomination
-   punctuation character in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
+   <dt>There is exactly one number followed by a <a href=#valid-denominator-punctuation-character title="valid
+   denominator punctuation character">denominator punctuation
+   character</a> in the contents of the element, and the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>, <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are all omitted</dt>
 
    <dd>
 
@@ -17229,8 +17293,10 @@
     attribute is specified, then the <var title="">maximum</var> is
     that attribute's value; otherwise, it is 1.</p>
 
-    <p>If there is exactly one number in the contents of the element,
-    then <var title="">value</var> is that number; otherwise, <var title="">value</var> is the value of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute.</p>
+    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
+    specified, then the <var title="">value</var> is that attribute's
+    number; otherwise, there is exactly one number in the contents of
+    the element, and the <var title="">value</var> is that number.</p>
 
     <p>The following inequalities must hold, as applicable:</p>
 
@@ -17242,8 +17308,12 @@
     the <code title=attr-meter-low><a href=#attr-meter-low>low</a></code> attribute's value must
     be less than or equal to the value of the <code title=attr-meter-high><a href=#attr-meter-high>high</a></code> attribute.</p>
 
-    <p>If there is a number in the contents of the element, it must
-    not be followed by a denominator punctuation character.</p>
+    <p>If the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attribute is
+    not specified, the number in the contents of the element must not
+    be followed by a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>. (Otherwise,
+    there is no restriction on what numbers can be in the contents of
+    the element.)</p>
 
    </dd>
 
@@ -17252,9 +17322,10 @@
   (9), optionally including a single U+002E FULL STOP character (.) in
   some position after the first digit, interpreted as a base ten
   number. Numbers must be separated from other numbers by at least one
-  character that isn't any of the aforementioned. In addition, the
-  contents of the element must not contain any U+002E FULL STOP
-  characters (.) that aren't part of numbers.</p>
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
 
   <p>A number if said to be followed by a <a href=#valid-denominator-punctuation-character title="valid
   denominator punctuation character">denominator punctuation
@@ -17332,8 +17403,8 @@
   been omitted, the user agent must also process the
   <code>textContent</code> of the element according to the <a href=#steps-for-finding-one-or-two-numbers-of-a-ratio-in-a-string>steps
   for finding one or two numbers of a ratio in a string</a>. These
-  steps will return nothing, one number, one number with a denominator
-  punctuation character, or two numbers.</p>
+  steps will return nothing, one number, one number with a <a href=#valid-denominator-punctuation-character title="valid denominator punctuation character">denominator
+  punctuation character</a>, or two numbers.</p>
 
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
@@ -17365,14 +17436,16 @@
     <code title=attr-meter-min><a href=#attr-meter-min>min</a></code>, and <code title=attr-meter-value><a href=#attr-meter-value>value</a></code> attributes were
     specified. If the result of processing the
     <code>textContent</code> of the element was either nothing or just
-    one number with no denominator punctuation character, then the
+    one number with no <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then the
     maximum value is 1; if the result was one number but it had an
-    associated denominator punctuation character, then the maximum
-    value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with denominator
-    punctuation characters">value associated with that denominator
-    punctuation character</a>; and finally, if there were two
-    numbers parsed out of the <code>textContent</code>, then the
-    maximum is the higher of those two numbers.</p>
+    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then the
+    maximum value is the <a href=#values-associated-with-denominator-punctuation-characters title="values associated with
+    denominator punctuation characters">value associated with that
+    denominator punctuation character</a>; and finally, if there
+    were two numbers parsed out of the <code>textContent</code>, then
+    the maximum is the higher of those two numbers.</p>
 
     <p>If the above machinations result in a maximum value less than
     the minimum value, then the maximum value is actually the same as
@@ -17392,15 +17465,17 @@
     not specified but the <code title=attr-meter-max><a href=#attr-meter-max>max</a></code>
     attribute <em>is</em> specified and the result of processing the
     <code>textContent</code> of the element was one number with no
-    associated denominator punctuation character, then that number is
-    the actual value.</p>
+    associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>, then that
+    number is the actual value.</p>
 
     <p>If neither of the <code title=attr-meter-value><a href=#attr-meter-value>value</a></code>
     and <code title=attr-meter-max><a href=#attr-meter-max>max</a></code> attributes are
     specified, then, if the result of processing the
     <code>textContent</code> of the element was one number (with or
-    without an associated denominator punctuation character), then
-    that is the actual value, and if the result of processing the
+    without an associated <a href=#valid-denominator-punctuation-character title="valid denominator punctuation
+    character">denominator punctuation character</a>), then that is
+    the actual value, and if the result of processing the
     <code>textContent</code> of the element was two numbers, then the
     actual value is the lower of the two numbers found.</p>
 

Modified: source
===================================================================
--- source	2009-10-18 08:25:12 UTC (rev 4162)
+++ source	2009-10-18 09:19:18 UTC (rev 4163)
@@ -2138,10 +2138,10 @@
    DIGIT NINE (9), and assign this string of one or more characters to
    <var title="">string</var>.</li>
 
-   <li>If <var title="">string</var> consists of just a single U+002E
-   FULL STOP character or if it contains more than one U+002E FULL
-   STOP character then return an error condition and abort these
-   steps.</li>
+   <li>If the first character of <var title="">string</var> is a
+   U+002E FULL STOP character, or if <var title="">string</var>
+   contains more than one U+002E FULL STOP character, then return an
+   error condition and abort these steps.</li>
 
    <li>Parse <var title="">string</var> according to the <span>rules
    for parsing floating point number values</span>, to obtain <var
@@ -18113,16 +18113,81 @@
   </div>
 
   <p><span class="impl"><strong>Author requirements</strong>:</span>
-  The <code title="attr-progress-max">max</code> and <code
-  title="attr-progress-value">value</code> attributes, when present,
-  must have values that are <span title="valid floating point
-  number">valid floating point numbers</span>. The <code
-  title="attr-progress-max">max</code> attribute, if present, must
-  have a value greater than zero. The <code
+  The <code>progress</code> element must match one of the following
+  conditions.</p>
+
+  <ul>
+
+   <li>Neither the <code title="attr-progress-value">value</code>
+   attribute nor the <code title="attr-progress-max">max</code>
+   attribute is specified, and the element's contents
+   contain no numbers.</li>
+
+   <li>Neither the <code title="attr-progress-value">value</code>
+   attribute nor the <code title="attr-progress-max">max</code>
+   attribute is specified, and the element's contents contain one
+   number, optionally followed by a <span title="valid denominator
+   punctuation character">denominator punctuation
+   character</span>.</li>
+
+   <li>Neither the <code title="attr-progress-value">value</code>
+   attribute nor the <code title="attr-progress-max">max</code>
+   attribute is specified, and the element's contents contain two
+   numbers, neither followed by a <span title="valid denominator
+   punctuation character">denominator punctuation
+   character</span>.</li>
+
+   <li>The <code title="attr-progress-value">value</code> attribute is
+   not specified but the <code title="attr-progress-max">max</code>
+   attribute is specified, and the element's contents
+   contain one number that is not followed by a <span title="valid
+   denominator punctuation character">denominator punctuation
+   character</span>.</li>
+
+   <li>The <code title="attr-progress-value">value</code> attribute
+   and the <code title="attr-progress-max">max</code> attribute are
+   both specified. (The contents of the element are ignored.)</li>
+
+  </ul>
+
+  <p>For the purposes of these requirements, a number is a sequence of
+  characters in the range U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE
+  (9), optionally including a single U+002E FULL STOP character (.) in
+  some position after the first digit, interpreted as a base ten
+  number. Numbers must be separated from other numbers by at least one
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
+
+  <p>A number if said to be followed by a <span title="valid
+  denominator punctuation character">denominator punctuation
+  character</span> if it is followed by zero or more
+  <span>White_Space</span> characters and a <span>valid denominator
+  punctuation character</span>.</p>
+
+  <p>The contents of the element consist of the concatenation of
+  the <span title="text node">text nodes</span> of all the descendants
+  of the element, in <span>tree order</span>.</p>
+
+  <p>The <code title="attr-progress-value">value</code> and <code
+  title="attr-progress-max">max</code> attributes, when present, must
+  have values that are <span title="valid floating point number">valid
+  floating point numbers</span>. The <code
   title="attr-progress-value">value</code> attribute, if present, must
   have a value equal to or greater than zero, and less than or equal
   to the value of the <code title="attr-progress-max">max</code>
-  attribute, if present, or 1, otherwise.</p>
+  attribute, if present, or 1.0, otherwise. If the <code
+  title="attr-progress-value">value</code> attribute is not present,
+  but the element's contents contain a number, then the value of the
+  first number in the element's contents must be less than or equal to
+  the value of the second number in the element's contents, if any, or
+  the <span title="values associated with denominator punctuation
+  characters">value associated with the denominator punctuation
+  character</span> that follows the first number in the element's
+  contents, if any, or 1.0, otherwise. The <code
+  title="attr-progress-max">max</code> attribute, if present, must
+  have a value greater than zero.</p>
 
   <p class="note">The <code>progress</code> element is the wrong
   element to use for something that is just a gauge, as opposed to
@@ -18143,7 +18208,8 @@
   <code>textContent</code> of the <code>progress</code> element in
   question using the <span>steps for finding one or two numbers of a
   ratio in a string</span>. These steps will return nothing, one
-  number, one number with a denominator punctuation character, or two
+  number, one number with a <span title="valid denominator punctuation
+  character">denominator punctuation character</span>, or two
   numbers.</p>
 
   <p>Using the results of this processing, user agents must determine
@@ -18174,8 +18240,9 @@
 
    <li>Otherwise, if neither attribute is included, then, if the
    <code>textContent</code> contained one number with an associated
-   denominator punctuation character, then the maximum value is the
-   <span title="values associated with denominator punctuation
+   <span title="valid denominator punctuation character">denominator
+   punctuation character</span>, then the maximum value is the <span
+   title="values associated with denominator punctuation
    characters">value associated with that denominator punctuation
    character</span>; otherwise, if the <code>textContent</code>
    contained two numbers, the maximum value is the higher of the two
@@ -18191,7 +18258,8 @@
    attribute is absent and the <code
    title="attr-progress-max">max</code> attribute is present, then, if
    the <code>textContent</code> was parsed and found to contain just
-   one number, with no associated denominator punctuation character,
+   one number, with no associated <span title="valid denominator
+   punctuation character">denominator punctuation character</span>,
    then the current value is that number. Otherwise, if the <code
    title="attr-progress-value">value</code> attribute is absent and
    the <code title="attr-progress-max">max</code> attribute is present
@@ -18358,12 +18426,14 @@
     title="attr-meter-high">high</code> attribute.</p>
 
     <p>The numbers in the contents of the element must not be followed
-    by denomination punctuation characters.</p>
+    by a <span title="valid denominator punctuation
+    character">denominator punctuation character</span>.</p>
 
    </dd>
 
-   <dt>There is exactly one number followed by a denomination
-   punctuation character in the contents of the element, and the <code
+   <dt>There is exactly one number followed by a <span title="valid
+   denominator punctuation character">denominator punctuation
+   character</span> in the contents of the element, and the <code
    title="attr-meter-value">value</code>, <code
    title="attr-meter-min">min</code>, and <code
    title="attr-meter-max">max</code> attributes are all omitted</dt>
@@ -18407,10 +18477,10 @@
     attribute is specified, then the <var title="">maximum</var> is
     that attribute's value; otherwise, it is 1.</p>
 
-    <p>If there is exactly one number in the contents of the element,
-    then <var title="">value</var> is that number; otherwise, <var
-    title="">value</var> is the value of the <code
-    title="attr-meter-value">value</code> attribute.</p>
+    <p>If the <code title="attr-meter-value">value</code> attribute is
+    specified, then the <var title="">value</var> is that attribute's
+    number; otherwise, there is exactly one number in the contents of
+    the element, and the <var title="">value</var> is that number.</p>
 
     <p>The following inequalities must hold, as applicable:</p>
 
@@ -18427,8 +18497,12 @@
     be less than or equal to the value of the <code
     title="attr-meter-high">high</code> attribute.</p>
 
-    <p>If there is a number in the contents of the element, it must
-    not be followed by a denominator punctuation character.</p>
+    <p>If the <code title="attr-meter-value">value</code> attribute is
+    not specified, the number in the contents of the element must not
+    be followed by a <span title="valid denominator punctuation
+    character">denominator punctuation character</span>. (Otherwise,
+    there is no restriction on what numbers can be in the contents of
+    the element.)</p>
 
    </dd>
 
@@ -18439,9 +18513,10 @@
   (9), optionally including a single U+002E FULL STOP character (.) in
   some position after the first digit, interpreted as a base ten
   number. Numbers must be separated from other numbers by at least one
-  character that isn't any of the aforementioned. In addition, the
-  contents of the element must not contain any U+002E FULL STOP
-  characters (.) that aren't part of numbers.</p>
+  character that isn't any of the aforementioned. In addition, if the
+  element is required to contain numbers, then the contents of the
+  element must not contain any U+002E FULL STOP characters (.) that
+  aren't part of numbers.</p>
 
   <p>A number if said to be followed by a <span title="valid
   denominator punctuation character">denominator punctuation
@@ -18529,8 +18604,9 @@
   been omitted, the user agent must also process the
   <code>textContent</code> of the element according to the <span>steps
   for finding one or two numbers of a ratio in a string</span>. These
-  steps will return nothing, one number, one number with a denominator
-  punctuation character, or two numbers.</p>
+  steps will return nothing, one number, one number with a <span
+  title="valid denominator punctuation character">denominator
+  punctuation character</span>, or two numbers.</p>
 
   <p>User agents must then use all these numbers to obtain values for
   six points on the gauge, as follows. (The order in which these are
@@ -18567,14 +18643,16 @@
     title="attr-meter-value">value</code> attributes were
     specified. If the result of processing the
     <code>textContent</code> of the element was either nothing or just
-    one number with no denominator punctuation character, then the
+    one number with no <span title="valid denominator punctuation
+    character">denominator punctuation character</span>, then the
     maximum value is 1; if the result was one number but it had an
-    associated denominator punctuation character, then the maximum
-    value is the <span title="values associated with denominator
-    punctuation characters">value associated with that denominator
-    punctuation character</span>; and finally, if there were two
-    numbers parsed out of the <code>textContent</code>, then the
-    maximum is the higher of those two numbers.</p>
+    associated <span title="valid denominator punctuation
+    character">denominator punctuation character</span>, then the
+    maximum value is the <span title="values associated with
+    denominator punctuation characters">value associated with that
+    denominator punctuation character</span>; and finally, if there
+    were two numbers parsed out of the <code>textContent</code>, then
+    the maximum is the higher of those two numbers.</p>
 
     <p>If the above machinations result in a maximum value less than
     the minimum value, then the maximum value is actually the same as
@@ -18594,15 +18672,17 @@
     not specified but the <code title="attr-meter-max">max</code>
     attribute <em>is</em> specified and the result of processing the
     <code>textContent</code> of the element was one number with no
-    associated denominator punctuation character, then that number is
-    the actual value.</p>
+    associated <span title="valid denominator punctuation
+    character">denominator punctuation character</span>, then that
+    number is the actual value.</p>
 
     <p>If neither of the <code title="attr-meter-value">value</code>
     and <code title="attr-meter-max">max</code> attributes are
     specified, then, if the result of processing the
     <code>textContent</code> of the element was one number (with or
-    without an associated denominator punctuation character), then
-    that is the actual value, and if the result of processing the
+    without an associated <span title="valid denominator punctuation
+    character">denominator punctuation character</span>), then that is
+    the actual value, and if the result of processing the
     <code>textContent</code> of the element was two numbers, then the
     actual value is the lower of the two numbers found.</p>
 




More information about the Commit-Watchers mailing list