- From: poot <cvsmail@w3.org>
- Date: Tue, 30 Sep 2008 20:00:11 +0900 (JST)
- To: public-html-diffs@w3.org
WF2: type=date, type=month, type=week (whatwg r2252) maximum http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#maximum0 valueAsNumber http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#valueasnumber valueAsDate http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#valueasdate 4.10.4.1.6. Date state http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#date-state 4.10.4.1.7. Month state http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#month 4.10.4.1.9. Time state http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#time-state 4.10.4.1.8. Week state http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#week-state step http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#step0 4.10.4.2.5. The step attribute http://people.w3.org/mike/diffs/html5/spec/Overview.1.1425.html#the-step http://people.w3.org/mike/diffs/html5/spec/Overview.diff.html http://dev.w3.org/cvsweb/html5/spec/Overview.html?r1=1.1424&r2=1.1425&f=h http://html5.org/tools/web-apps-tracker?from=2251&to=2252 =================================================================== RCS file: /sources/public/html5/spec/Overview.html,v retrieving revision 1.1424 retrieving revision 1.1425 diff -u -d -r1.1424 -r1.1425 --- Overview.html 30 Sep 2008 09:47:50 -0000 1.1424 +++ Overview.html 30 Sep 2008 10:56:49 -0000 1.1425 @@ -30261,7 +30261,126 @@ the <a href="#date3" title=attr-input-type-date>Date</a> state, the rules in this section apply. - <p class=big-issue>... + <p>The <code><a href="#input0">input</a></code> element represents a + control for setting the element's <a href="#value12" + title=concept-fe-value>value</a> to a string representing a specific <a + href="#date" title=concept-date>date</a>. + + <p>If the element is <i title=concept-input-mutable><a + href="#mutable">mutable</a></i>, the user should allow the user to change + the <a href="#date" title=concept-date>date</a> represented by its <a + href="#value12" title=concept-fe-value>value</a>, as obtained by <a + href="#parse2" title="parse a date string">parsing a date</a> from it. + User agents must not allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to a string that is not a <a + href="#valid8">valid date string</a>. If the user agent provides a user + interface for selecting a <a href="#date" title=concept-date>date</a>, + then the <a href="#value12" title=concept-fe-value>value</a> must be set + to a <a href="#valid8">valid date string</a> representing the user's + selection. User agents should allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to the empty string. + + <p><strong>The <a href="#value8">value sanitization algorithm</a> is as + follows:</strong> If the <a href="#value12" + title=concept-fe-value>value</a> of the element is not a <a + href="#valid8">valid date string</a>, then set it to the empty string + instead. + + <p>The <code title=attr-input-min><a href="#min2">min</a></code> attribute, + if specified, must have a value that is a <a href="#valid8">valid date + string</a>. The <code title=attr-input-max><a href="#max4">max</a></code> + attribute, if specified, must have a value that is a <a + href="#valid8">valid date string</a>. + + <p>The <code title=attr-input-step><a href="#step0">step</a></code> + attribute is expressed in days. The <a href="#step-" + title=concept-input-step-scale>step scale factor</a> is 86,400,000 (which + converts the days to milliseconds, as used in the other algorithms). The + <a href="#default2" title=concept-input-step-default>default step</a> is 1 + day. + + <p>When the element is <a href="#suffering3">suffering from a step + mismatch</a>, the user agent may round the element's <span + title=concept-input-value>value</span> to the nearest <a href="#date" + title=concept-date>date</a> for which the element would not <a + href="#suffering3" title="suffering from a step mismatch">suffer from a + step mismatch</a>. + + <p><strong>The <a href="#algorithm5" + title=concept-input-value-string-number>algorithm to convert a string to a + number</a>, given a string <var title="">input</var>, is as + follows:</strong> If <a href="#parse2" title="parse a date string">parsing + a date</a> from <var title="">input</var> results in an error, then return + an error; otherwise, return the number of milliseconds elapsed from + midnight UTC on the morning of 1970-01-01 (the time represented by the + value "<code title="">1970-01-01T00:00:00.0Z</code>") to midnight UTC on + the morning of the parsed <a href="#date" title=concept-date>date</a>, + ignoring leap seconds. + + <p><strong>The <a href="#algorithm6" + title=concept-input-value-number-string>algorithm to convert a number to a + string</a>, given a number <var title="">input</var>, is as + follows:</strong> Return a <a href="#valid8">valid date string</a> that + represents the <a href="#date" title=concept-date>date</a> that, in UTC, + is current <var title="">input</var> milliseconds after midnight UTC on + the morning of 1970-01-01 (the time represented by the value "<code + title="">1970-01-01T00:00:00.0Z</code>"). + + <p><strong>The <a href="#algorithm7" + title=concept-input-value-string-date>algorithm to convert a string to a + <code>Date</code> object</a>, given a string <var title="">input</var>, is + as follows:</strong> If <a href="#parse2" title="parse a date + string">parsing a date</a> from <var title="">input</var> results in an + error, then return an error; otherwise, return a <code>Date</code> object + representing midnight UTC on the morning of the parsed <a href="#date" + title=concept-date>date</a>. + + <p><strong>The <a href="#algorithm8" + title=concept-input-value-date-string>algorithm to convert a + <code>Date</code> object to a string</a>, given a <code>Date</code> object + <var title="">input</var>, is as follows:</strong> Return a <a + href="#valid8">valid date string</a> that represents the <a href="#date" + title=concept-date>date</a> current at the time represented by <var + title="">input</var> in the UTC timezone. + + <p>The following common <code><a href="#input0">input</a></code> element + content attributes, DOM attributes, and methods apply to the element: + <code title=attr-input-autocomplete><a + href="#autocomplete0">autocomplete</a></code>, <code + title=attr-input-list>list</code>, <code title=attr-input-max><a + href="#max4">max</a></code>, <code title=attr-input-min><a + href="#min2">min</a></code>, <code title=attr-input-readonly><a + href="#readonly0">readonly</a></code>, <code + title=attr-input-required>required</code>, and <code + title=attr-input-step><a href="#step0">step</a></code> content attributes; + <code title=dom-input-list><a href="#list">list</a></code>, <code + title=dom-input-valueAsDate><a href="#valueasdate">valueAsDate</a></code>, + <code title=dom-input-valueAsNumber><a + href="#valueasnumber">valueAsNumber</a></code>, <code + title=dom-input-selectedOption><a + href="#selectedoption">selectedOption</a></code>, <code + title=dom-input-stepUp><a href="#stepup">stepUp()</a></code>, and <code + title=dom-input-stepDown><a href="#stepdown">stepDown()</a></code> DOM + attributes. + + <p>The following content attributes must not be specified and do not apply + to the element: <code class=no-backref title=attr-input-accept><a + href="#accept0">accept</a></code>, <code class=no-backref + title=attr-input-alt>alt</code>, <code class=no-backref + title=attr-input-checked>checked</code>, <code class=no-backref + title=attr-input-maxlength><a href="#maxlength0">maxlength</a></code>, + <code class=no-backref title=attr-input-pattern>pattern</code>, <code + class=no-backref title=attr-input-size>size</code>, <code class=no-backref + title=attr-input-src>src</code>, <code class=no-backref + title=attr-fs-target><a href="#target3">target</a></code>, <code + class=no-backref title=attr-fs-method><a href="#method">method</a></code>, + <code class=no-backref title=attr-fs-enctype><a + href="#enctype">enctype</a></code>, and <code class=no-backref + title=attr-fs-action><a href="#action">action</a></code>. + + <p>The <code class=no-backref title=dom-input-checked><a + href="#checked1">checked</a></code> DOM attribute does not apply to the + element. <h6 id=month><span class=secno>4.10.4.1.7. </span><dfn id=month2 title=attr-input-type-month>Month</dfn> state</h6> @@ -30271,7 +30390,124 @@ the <a href="#month2" title=attr-input-type-month>Month</a> state, the rules in this section apply. - <p class=big-issue>... + <p>The <code><a href="#input0">input</a></code> element represents a + control for setting the element's <a href="#value12" + title=concept-fe-value>value</a> to a string representing a specific <a + href="#month0" title=concept-month>month</a>. + + <p>If the element is <i title=concept-input-mutable><a + href="#mutable">mutable</a></i>, the user should allow the user to change + the <a href="#month0" title=concept-month>month</a> represented by its <a + href="#value12" title=concept-fe-value>value</a>, as obtained by <a + href="#parse3" title="parse a month string">parsing a month</a> from it. + User agents must not allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to a string that is not a <a + href="#valid9">valid month string</a>. If the user agent provides a user + interface for selecting a <a href="#month0" title=concept-month>month</a>, + then the <a href="#value12" title=concept-fe-value>value</a> must be set + to a <a href="#valid9">valid month string</a> representing the user's + selection. User agents should allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to the empty string. + + <p><strong>The <a href="#value8">value sanitization algorithm</a> is as + follows:</strong> If the <a href="#value12" + title=concept-fe-value>value</a> of the element is not a <a + href="#valid9">valid month string</a>, then set it to the empty string + instead. + + <p>The <code title=attr-input-min><a href="#min2">min</a></code> attribute, + if specified, must have a value that is a <a href="#valid9">valid month + string</a>. The <code title=attr-input-max><a href="#max4">max</a></code> + attribute, if specified, must have a value that is a <a + href="#valid9">valid month string</a>. + + <p>The <code title=attr-input-step><a href="#step0">step</a></code> + attribute is expressed in months. The <a href="#step-" + title=concept-input-step-scale>step scale factor</a> is 1 (there is no + conversion needed as the algorithms use months). The <a href="#default2" + title=concept-input-step-default>default step</a> is 1 month. + + <p>When the element is <a href="#suffering3">suffering from a step + mismatch</a>, the user agent may round the element's <span + title=concept-input-value>value</span> to the nearest <a href="#month0" + title=concept-month>month</a> for which the element would not <a + href="#suffering3" title="suffering from a step mismatch">suffer from a + step mismatch</a>. + + <p><strong>The <a href="#algorithm5" + title=concept-input-value-string-number>algorithm to convert a string to a + number</a>, given a string <var title="">input</var>, is as + follows:</strong> If <a href="#parse3" title="parse a month + string">parsing a month time</a> from <var title="">input</var> results in + an error, then return an error; otherwise, return the number of months + between January 1970 and the parsed <a href="#month0" + title=concept-month>month</a>. + + <p><strong>The <a href="#algorithm6" + title=concept-input-value-number-string>algorithm to convert a number to a + string</a>, given a number <var title="">input</var>, is as + follows:</strong> Return a <a href="#valid9">valid month string</a> that + represents the <span title=concept-monthtime>month</span> that has <var + title="">input</var> months between it and January 1970.</p> + <!-- note - it doesn't matter exactly how many months are "between" + two months, so long as the UA implements this consistently. The + number is never actually exposed. --> + + <p><strong>The <a href="#algorithm7" + title=concept-input-value-string-date>algorithm to convert a string to a + <code>Date</code> object</a>, given a string <var title="">input</var>, is + as follows:</strong> If <a href="#parse3" title="parse a month + string">parsing a month</a> from <var title="">input</var> results in an + error, then return an error; otherwise, return a <code>Date</code> object + representing midnight UTC on the morning of the first day of the parsed <a + href="#month0" title=concept-month>month</a>. + + <p><strong>The <a href="#algorithm8" + title=concept-input-value-date-string>algorithm to convert a + <code>Date</code> object to a string</a>, given a <code>Date</code> object + <var title="">input</var>, is as follows:</strong> Return a <a + href="#valid9">valid month string</a> that represents the <a + href="#month0" title=concept-month>month</a> current at the time + represented by <var title="">input</var> in the UTC timezone. + + <p>The following common <code><a href="#input0">input</a></code> element + content attributes, DOM attributes, and methods apply to the element: + <code title=attr-input-autocomplete><a + href="#autocomplete0">autocomplete</a></code>, <code + title=attr-input-list>list</code>, <code title=attr-input-max><a + href="#max4">max</a></code>, <code title=attr-input-min><a + href="#min2">min</a></code>, <code title=attr-input-readonly><a + href="#readonly0">readonly</a></code>, <code + title=attr-input-required>required</code>, and <code + title=attr-input-step><a href="#step0">step</a></code> content attributes; + <code title=dom-input-list><a href="#list">list</a></code>, <code + title=dom-input-valueAsDate><a href="#valueasdate">valueAsDate</a></code>, + <code title=dom-input-valueAsNumber><a + href="#valueasnumber">valueAsNumber</a></code>, <code + title=dom-input-selectedOption><a + href="#selectedoption">selectedOption</a></code>, <code + title=dom-input-stepUp><a href="#stepup">stepUp()</a></code>, and <code + title=dom-input-stepDown><a href="#stepdown">stepDown()</a></code> DOM + attributes. + + <p>The following content attributes must not be specified and do not apply + to the element: <code class=no-backref title=attr-input-accept><a + href="#accept0">accept</a></code>, <code class=no-backref + title=attr-input-alt>alt</code>, <code class=no-backref + title=attr-input-checked>checked</code>, <code class=no-backref + title=attr-input-maxlength><a href="#maxlength0">maxlength</a></code>, + <code class=no-backref title=attr-input-pattern>pattern</code>, <code + class=no-backref title=attr-input-size>size</code>, <code class=no-backref + title=attr-input-src>src</code>, <code class=no-backref + title=attr-fs-target><a href="#target3">target</a></code>, <code + class=no-backref title=attr-fs-method><a href="#method">method</a></code>, + <code class=no-backref title=attr-fs-enctype><a + href="#enctype">enctype</a></code>, and <code class=no-backref + title=attr-fs-action><a href="#action">action</a></code>. + + <p>The <code class=no-backref title=dom-input-checked><a + href="#checked1">checked</a></code> DOM attribute does not apply to the + element. <h6 id=week-state><span class=secno>4.10.4.1.8. </span><dfn id=week1 title=attr-input-type-week>Week</dfn> state</h6> @@ -30281,7 +30517,126 @@ the <a href="#week1" title=attr-input-type-week>Week</a> state, the rules in this section apply. - <p class=big-issue>... + <p>The <code><a href="#input0">input</a></code> element represents a + control for setting the element's <a href="#value12" + title=concept-fe-value>value</a> to a string representing a specific <a + href="#week" title=concept-week>week</a>. + + <p>If the element is <i title=concept-input-mutable><a + href="#mutable">mutable</a></i>, the user should allow the user to change + the <a href="#week" title=concept-week>week</a> represented by its <a + href="#value12" title=concept-fe-value>value</a>, as obtained by <a + href="#parse4" title="parse a week string">parsing a week</a> from it. + User agents must not allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to a string that is not a <a + href="#valid10">valid week string</a>. If the user agent provides a user + interface for selecting a <a href="#week" title=concept-week>week</a>, + then the <a href="#value12" title=concept-fe-value>value</a> must be set + to a <a href="#valid10">valid week string</a> representing the user's + selection. User agents should allow the user to set the <a href="#value12" + title=concept-fe-value>value</a> to the empty string. + + <p><strong>The <a href="#value8">value sanitization algorithm</a> is as + follows:</strong> If the <a href="#value12" + title=concept-fe-value>value</a> of the element is not a <a + href="#valid10">valid week string</a>, then set it to the empty string + instead. + + <p>The <code title=attr-input-min><a href="#min2">min</a></code> attribute, + if specified, must have a value that is a <a href="#valid10">valid week + string</a>. The <code title=attr-input-max><a href="#max4">max</a></code> + attribute, if specified, must have a value that is a <a + href="#valid10">valid week string</a>. + + <p>The <code title=attr-input-step><a href="#step0">step</a></code> + attribute is expressed in weeks. The <a href="#step-" + title=concept-input-step-scale>step scale factor</a> is 604,800,000 (which + converts the weeks to milliseconds, as used in the other algorithms). The + <a href="#default2" title=concept-input-step-default>default step</a> is 1 + week. + + <p>When the element is <a href="#suffering3">suffering from a step + mismatch</a>, the user agent may round the element's <span + title=concept-input-value>value</span> to the nearest <a href="#week" + title=concept-week>week</a> for which the element would not <a + href="#suffering3" title="suffering from a step mismatch">suffer from a + step mismatch</a>. + + <p><strong>The <a href="#algorithm5" + title=concept-input-value-string-number>algorithm to convert a string to a + number</a>, given a string <var title="">input</var>, is as + follows:</strong> If <a href="#parse4" title="parse a week string">parsing + a week string</a> from <var title="">input</var> results in an error, then + return an error; otherwise, return the number of milliseconds elapsed from + midnight UTC on the morning of 1970-01-01 (the time represented by the + value "<code title="">1970-01-01T00:00:00.0Z</code>") to midnight UTC on + the morning of the Monday of the parsed <a href="#week" + title=concept-week>week</a>, ignoring leap seconds. + + <p><strong>The <a href="#algorithm6" + title=concept-input-value-number-string>algorithm to convert a number to a + string</a>, given a number <var title="">input</var>, is as + follows:</strong> Return a <a href="#valid10">valid week string</a> that + represents the <a href="#week" title=concept-week>week</a> that, in UTC, + is current <var title="">input</var> milliseconds after midnight UTC on + the morning of 1970-01-01 (the time represented by the value "<code + title="">1970-01-01T00:00:00.0Z</code>"). + + <p><strong>The <a href="#algorithm7" + title=concept-input-value-string-date>algorithm to convert a string to a + <code>Date</code> object</a>, given a string <var title="">input</var>, is + as follows:</strong> If <a href="#parse4" title="parse a week + string">parsing a week</a> from <var title="">input</var> results in an + error, then return an error; otherwise, return a <code>Date</code> object + representing midnight UTC on the morning of the Monday of the parsed <a + href="#week" title=concept-week>week</a>. + + <p><strong>The <a href="#algorithm8" + title=concept-input-value-date-string>algorithm to convert a + <code>Date</code> object to a string</a>, given a <code>Date</code> object + <var title="">input</var>, is as follows:</strong> Return a <a + href="#valid10">valid week string</a> that represents the <a href="#week" + title=concept-week>week</a> current at the time represented by <var + title="">input</var> in the UTC timezone. + + <p>The following common <code><a href="#input0">input</a></code> element + content attributes, DOM attributes, and methods apply to the element: + <code title=attr-input-autocomplete><a + href="#autocomplete0">autocomplete</a></code>, <code + title=attr-input-list>list</code>, <code title=attr-input-max><a + href="#max4">max</a></code>, <code title=attr-input-min><a + href="#min2">min</a></code>, <code title=attr-input-readonly><a + href="#readonly0">readonly</a></code>, <code + title=attr-input-required>required</code>, and <code + title=attr-input-step><a href="#step0">step</a></code> content attributes; + <code title=dom-input-list><a href="#list">list</a></code>, <code + title=dom-input-valueAsDate><a href="#valueasdate">valueAsDate</a></code>, + <code title=dom-input-valueAsNumber><a + href="#valueasnumber">valueAsNumber</a></code>, <code + title=dom-input-selectedOption><a + href="#selectedoption">selectedOption</a></code>, <code + title=dom-input-stepUp><a href="#stepup">stepUp()</a></code>, and <code + title=dom-input-stepDown><a href="#stepdown">stepDown()</a></code> DOM + attributes. + + <p>The following content attributes must not be specified and do not apply + to the element: <code class=no-backref title=attr-input-accept><a + href="#accept0">accept</a></code>, <code class=no-backref + title=attr-input-alt>alt</code>, <code class=no-backref + title=attr-input-checked>checked</code>, <code class=no-backref + title=attr-input-maxlength><a href="#maxlength0">maxlength</a></code>, + <code class=no-backref title=attr-input-pattern>pattern</code>, <code + class=no-backref title=attr-input-size>size</code>, <code class=no-backref + title=attr-input-src>src</code>, <code class=no-backref + title=attr-fs-target><a href="#target3">target</a></code>, <code + class=no-backref title=attr-fs-method><a href="#method">method</a></code>, + <code class=no-backref title=attr-fs-enctype><a + href="#enctype">enctype</a></code>, and <code class=no-backref + title=attr-fs-action><a href="#action">action</a></code>. + + <p>The <code class=no-backref title=dom-input-checked><a + href="#checked1">checked</a></code> DOM attribute does not apply to the + element. <h6 id=time-state><span class=secno>4.10.4.1.9. </span><dfn id=time4 title=attr-input-type-time>Time</dfn> state</h6> @@ -30779,6 +31134,8 @@ <h6 id=the-step><span class=secno>4.10.4.2.5. </span>The <code title=attr-input-step><a href="#step0">step</a></code> attribute</h6> + <!-- XXX this is defined to be a floating point number, which is a + little odd for type=date, type=month, and type=week --> <p>The <dfn id=step0 title=attr-input-step><code>step</code></dfn> attribute indicates the granularity that is expected (and required) of the @@ -30897,6 +31254,9 @@ title=concept-fe-value>value</a> of the element to resulting string. <hr> + <!-- XXX should simplify this stuff. The only reason we defer to the + Date stuff here is type=month; can we make things simpler somehow? + --> <p>The <dfn id=valueasnumber title=dom-input-valueAsNumber><code>valueAsNumber</code></dfn> DOM @@ -30907,8 +31267,17 @@ href="#valueasnumber">valueAsNumber</a></code> attribute does not apply, as defined for the <code><a href="#input0">input</a></code> element's <code title=attr-input-type><a href="#type14">type</a></code> attribute's - current state, then return a Not-a-Number (NaN) value. Otherwise, run the - <a href="#algorithm5" title=concept-input-value-string-number>algorithm to + current state, then return a Not-a-Number (NaN) value. Otherwise, if the + <code title=dom-input-valueAsNumber><a + href="#valueasnumber">valueAs<em>Date</em></a></code> attribute applies, + run the <a href="#algorithm7" + title=concept-input-value-string-date>algorithm to convert a string to a + <code>Date</code> object</a> defined for that state; if the algorithm + returned a <code>Date</code> object, then return the <i>time value</i> of + the object (the number of milliseconds from midnight UTC the morning of + 1970-01-01 to the time represented by the <code>Date</code> object), + otherwise, return a Not-a-Number (NaN) value. Otherwise, run the <a + href="#algorithm5" title=concept-input-value-string-number>algorithm to convert a string to a number</a> defined for that state; if the algorithm returned a number, then return it, otherwise, return a Not-a-Number (NaN) value. @@ -30917,8 +31286,15 @@ href="#valueasnumber">valueAsNumber</a></code> attribute does not apply, as defined for the <code><a href="#input0">input</a></code> element's <code title=attr-input-type><a href="#type14">type</a></code> attribute's - current state, then throw an <code>INVALID_ACCESS_ERR</code> exception; - otherwise, run the <a href="#algorithm6" + current state, then throw an <code>INVALID_ACCESS_ERR</code> exception. + Otherwise, if the <code title=dom-input-valueAsNumber><a + href="#valueasnumber">valueAs<em>Date</em></a></code> attribute applies, + run the <a href="#algorithm8" + title=concept-input-value-date-string>algorithm to convert a + <code>Date</code> object to a string</a> defined for that state, passing + it a <code>Date</code> object whose <i>time value</i> is the new value, + and set the <a href="#value12" title=concept-fe-value>value</a> of the + element to resulting string. Otherwise, run the <a href="#algorithm6" title=concept-input-value-number-string>algorithm to convert a number to a string</a>, as defined for that state, on the new value, and set the <a href="#value12" title=concept-fe-value>value</a> of the element to
Received on Tuesday, 30 September 2008 11:00:55 UTC