[html5] r5115 - [giow] (0) Captions - Stage 11.7: Parsing WebSRT timestamps.

whatwg at whatwg.org whatwg at whatwg.org
Tue Jun 29 01:45:53 PDT 2010


Author: ianh
Date: 2010-06-29 01:45:52 -0700 (Tue, 29 Jun 2010)
New Revision: 5115

Modified:
   complete.html
   index
   source
Log:
[giow] (0) Captions - Stage 11.7: Parsing WebSRT timestamps.

Modified: complete.html
===================================================================
--- complete.html	2010-06-29 00:08:16 UTC (rev 5114)
+++ complete.html	2010-06-29 08:45:52 UTC (rev 5115)
@@ -209,7 +209,7 @@
 
   <header class=head id=head><p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG src=/images/logo></a></p>
    <hgroup><h1>Web Applications 1.0</h1>
-    <h2 class="no-num no-toc">Draft Standard — 28 June 2010</h2>
+    <h2 class="no-num no-toc">Draft Standard — 29 June 2010</h2>
    </hgroup><p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
    <p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
    <!--<p class="impl"><strong>Implementors!</strong> We have a <a href="http://www.whatwg.org/mailing-list#implementors">mailing list</a> for you too!</p>-->
@@ -26762,8 +26762,7 @@
    character (,).</li>
 
    <li>Three characters in the range U+0030 DIGIT ZERO (0) to U+0039
-   DIGIT NINE (9), representing the thousandths of a second <var title="">seconds-frac</var> as a base ten integer, in the range
-   0 ≤ <var title="">second-frac</var> < 1000.</li>
+   DIGIT NINE (9), representing the thousandths of a second <var title="">seconds-frac</var> as a base ten integer.</li>
 
   </ol><p>The <dfn id=websrt-cue-settings>WebSRT cue settings</dfn> part of a <a href=#websrt-cue>WebSRT
   cue</a> consists of zero or more of the following components, in
@@ -26965,7 +26964,7 @@
 
    <li><p><i>Bad cue</i>: Discard <var title="">cue</var>.</li>
 
-   <li><p><i>Bad cue loop</i>: <p>If <var title="">position</var> is
+   <li><p><i>Bad cue loop</i>: If <var title="">position</var> is
    past the end of <var title="">input</var>, then jump to the step
    labeled <i>end</i>.</li>
 
@@ -27019,17 +27018,17 @@
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+003E GREATER-THAN SIGN character (>)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
@@ -27250,10 +27249,106 @@
 
    <li><p>Jump back to the step labeled <i>settings</i>.</li>
 
-  </ol><p class=XXX><dfn id=collect-a-websrt-timestamp>Collect a WebSRT timestamp</dfn>...</p>
+  </ol><p>When the steps above say that a user agent is to <dfn id=collect-a-websrt-timestamp>collect a
+  WebSRT timestamp</dfn>, the user agent must run the following
+  steps:</p>
 
-  </div>
+  <ol><li><p>Let <var title="">input</var> and <var title="">position</var> be the same variables as those of the same
+   name in the algorithm that invoked these steps.</li>
 
+   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return an error and abort these
+   steps.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>1</sub></var> be that
+   integer.</li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+003A COLON character (:), then
+   return an error and abort these steps. Otherwise, move <var title="">position</var> forwards one character.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>2</sub></var> be that
+   integer.</li>
+
+   <li>
+
+    <p>If <var title="">value<sub>1</sub></var> is greater than 59, or
+    if <var title="">position</var> is not beyond the end of <var title="">input</var> and the character at <var title="">position</var> is not a U+003A COLON character (:), run
+    these substeps:</p>
+
+    <ol><li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+003A COLON character (:), then
+     return an error and abort these steps. Otherwise, move <var title="">position</var> forwards one character.</li>
+
+     <li><p>If the character indicated by <var title="">position</var>
+     is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+     return an error and abort these steps.</li>
+
+     <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+     U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+     <li><p>If <var title="">string</var> is not exactly two
+     characters in length, return an error and abort these
+     steps.</li>
+
+     <li><p>Interpret <var title="">string</var> as a base-ten
+     integer. Let <var title="">value<sub>3</sub></var> be that
+     integer.</li>
+
+    </ol><p>Otherwise (if <var title="">value<sub>1</sub></var> is less
+    than or equal to 59 and <var title="">position</var> is not beyond
+    the end of <var title="">input</var> and the character at <var title="">position</var> is not a U+003A COLON character (:)), let
+    <var title="">value<sub>3</sub></var> have the value of <var title="">value<sub>2</sub></var>, then <var title="">value<sub>2</sub></var> have the value of <var title="">value<sub>1</sub></var>, then let <var title="">value<sub>1</sub></var> equal zero.</p>
+
+   </li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not either a U+002C COMMA character (,)
+   or a U+002E FULL STOP character (.), then return an error and abort
+   these steps. Otherwise, move <var title="">position</var> forwards
+   one character.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly three
+   characters in length, return an error and abort these
+   steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>4</sub></var> be that
+   integer.</li>
+
+   <li><p>Let <var title="">result</var> be <span title=""><var title="">value<sub>1</sub></var>×60×60 + <var title="">value<sub>2</sub></var>×60 + <var title="">value<sub>3</sub></var> + <var title="">value<sub>4</sub></var>∕1000</span>. <!-- &#x00f7;
+   is the division sign if people prefer that to the slash
+   --></li>
+
+   <li><p>Return <var title="">result</var>.</li>
+
+  </ol></div>
+
 <!--TT-->
 
 

Modified: index
===================================================================
--- index	2010-06-29 00:08:16 UTC (rev 5114)
+++ index	2010-06-29 08:45:52 UTC (rev 5115)
@@ -213,7 +213,7 @@
 
   <header class=head id=head><p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG src=/images/logo></a></p>
    <hgroup><h1>HTML5 (including next generation additions still in development)</h1>
-    <h2 class="no-num no-toc">Draft Standard — 28 June 2010</h2>
+    <h2 class="no-num no-toc">Draft Standard — 29 June 2010</h2>
    </hgroup><p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
    <p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
    <!--<p class="impl"><strong>Implementors!</strong> We have a <a href="http://www.whatwg.org/mailing-list#implementors">mailing list</a> for you too!</p>-->
@@ -26695,8 +26695,7 @@
    character (,).</li>
 
    <li>Three characters in the range U+0030 DIGIT ZERO (0) to U+0039
-   DIGIT NINE (9), representing the thousandths of a second <var title="">seconds-frac</var> as a base ten integer, in the range
-   0 ≤ <var title="">second-frac</var> < 1000.</li>
+   DIGIT NINE (9), representing the thousandths of a second <var title="">seconds-frac</var> as a base ten integer.</li>
 
   </ol><p>The <dfn id=websrt-cue-settings>WebSRT cue settings</dfn> part of a <a href=#websrt-cue>WebSRT
   cue</a> consists of zero or more of the following components, in
@@ -26898,7 +26897,7 @@
 
    <li><p><i>Bad cue</i>: Discard <var title="">cue</var>.</li>
 
-   <li><p><i>Bad cue loop</i>: <p>If <var title="">position</var> is
+   <li><p><i>Bad cue loop</i>: If <var title="">position</var> is
    past the end of <var title="">input</var>, then jump to the step
    labeled <i>end</i>.</li>
 
@@ -26952,17 +26951,17 @@
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var title="">position</var> is not a U+003E GREATER-THAN SIGN character (>)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</li>
 
    <li><p><a href=#skip-whitespace>Skip whitespace</a>.</li>
@@ -27183,10 +27182,106 @@
 
    <li><p>Jump back to the step labeled <i>settings</i>.</li>
 
-  </ol><p class=XXX><dfn id=collect-a-websrt-timestamp>Collect a WebSRT timestamp</dfn>...</p>
+  </ol><p>When the steps above say that a user agent is to <dfn id=collect-a-websrt-timestamp>collect a
+  WebSRT timestamp</dfn>, the user agent must run the following
+  steps:</p>
 
-  </div>
+  <ol><li><p>Let <var title="">input</var> and <var title="">position</var> be the same variables as those of the same
+   name in the algorithm that invoked these steps.</li>
 
+   <li><p>If <var title="">position</var> is past the end of <var title="">input</var>, return an error and abort these
+   steps.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>1</sub></var> be that
+   integer.</li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+003A COLON character (:), then
+   return an error and abort these steps. Otherwise, move <var title="">position</var> forwards one character.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>2</sub></var> be that
+   integer.</li>
+
+   <li>
+
+    <p>If <var title="">value<sub>1</sub></var> is greater than 59, or
+    if <var title="">position</var> is not beyond the end of <var title="">input</var> and the character at <var title="">position</var> is not a U+003A COLON character (:), run
+    these substeps:</p>
+
+    <ol><li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not a U+003A COLON character (:), then
+     return an error and abort these steps. Otherwise, move <var title="">position</var> forwards one character.</li>
+
+     <li><p>If the character indicated by <var title="">position</var>
+     is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+     return an error and abort these steps.</li>
+
+     <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+     U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+     <li><p>If <var title="">string</var> is not exactly two
+     characters in length, return an error and abort these
+     steps.</li>
+
+     <li><p>Interpret <var title="">string</var> as a base-ten
+     integer. Let <var title="">value<sub>3</sub></var> be that
+     integer.</li>
+
+    </ol><p>Otherwise (if <var title="">value<sub>1</sub></var> is less
+    than or equal to 59 and <var title="">position</var> is not beyond
+    the end of <var title="">input</var> and the character at <var title="">position</var> is not a U+003A COLON character (:)), let
+    <var title="">value<sub>3</sub></var> have the value of <var title="">value<sub>2</sub></var>, then <var title="">value<sub>2</sub></var> have the value of <var title="">value<sub>1</sub></var>, then let <var title="">value<sub>1</sub></var> equal zero.</p>
+
+   </li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var title="">input</var> or if the character at <var title="">position</var> is not either a U+002C COMMA character (,)
+   or a U+002E FULL STOP character (.), then return an error and abort
+   these steps. Otherwise, move <var title="">position</var> forwards
+   one character.</li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</li>
+
+   <li><p><a href=#collect-a-sequence-of-characters>Collect a sequence of characters</a> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var title="">string</var> be the collected substring.</li>
+
+   <li><p>If <var title="">string</var> is not exactly three
+   characters in length, return an error and abort these
+   steps.</li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>4</sub></var> be that
+   integer.</li>
+
+   <li><p>Let <var title="">result</var> be <span title=""><var title="">value<sub>1</sub></var>×60×60 + <var title="">value<sub>2</sub></var>×60 + <var title="">value<sub>3</sub></var> + <var title="">value<sub>4</sub></var>∕1000</span>. <!-- &#x00f7;
+   is the division sign if people prefer that to the slash
+   --></li>
+
+   <li><p>Return <var title="">result</var>.</li>
+
+  </ol></div>
+
 <!--TT-->
 
 

Modified: source
===================================================================
--- source	2010-06-29 00:08:16 UTC (rev 5114)
+++ source	2010-06-29 08:45:52 UTC (rev 5115)
@@ -28988,9 +28988,7 @@
 
    <li>Three characters in the range U+0030 DIGIT ZERO (0) to U+0039
    DIGIT NINE (9), representing the thousandths of a second <var
-   title="">seconds-frac</var> as a base ten integer, in the range
-   0 ≤ <var
-   title="">second-frac</var> < 1000.</li>
+   title="">seconds-frac</var> as a base ten integer.</li>
 
   </ol>
 
@@ -29236,7 +29234,7 @@
 
    <li><p><i>Bad cue</i>: Discard <var title="">cue</var>.</p></li>
 
-   <li><p><i>Bad cue loop</i>: <p>If <var title="">position</var> is
+   <li><p><i>Bad cue loop</i>: If <var title="">position</var> is
    past the end of <var title="">input</var>, then jump to the step
    labeled <i>end</i>.</p></li>
 
@@ -29302,19 +29300,19 @@
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var
    title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</p></li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var
    title="">position</var> is not a U+002D HYPHEN-MINUS character (-)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</p></li>
 
    <li><p>If <!--<var title="">position</var> is beyond the end of
    <var title="">input</var> or if--> the character at <var
    title="">position</var> is not a U+003E GREATER-THAN SIGN character (>)
-   then fail. Otherwise, move <var title="">position</var> forwards
+   then abort these steps and return failure. Otherwise, move <var title="">position</var> forwards
    one character.</p></li>
 
    <li><p><span>Skip whitespace</span>.</p></li>
@@ -29575,8 +29573,137 @@
 
   </ol>
 
-  <p class="XXX"><dfn>Collect a WebSRT timestamp</dfn>...</p>
+  <p>When the steps above say that a user agent is to <dfn>collect a
+  WebSRT timestamp</dfn>, the user agent must run the following
+  steps:</p>
 
+  <ol>
+
+   <li><p>Let <var title="">input</var> and <var
+   title="">position</var> be the same variables as those of the same
+   name in the algorithm that invoked these steps.</p></li>
+
+   <li><p>If <var title="">position</var> is past the end of <var
+   title="">input</var>, return an error and abort these
+   steps.</p></li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</p></li>
+
+   <li><p><span>Collect a sequence of characters</span> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
+   title="">string</var> be the collected substring.</p></li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</p></li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>1</sub></var> be that
+   integer.</p></li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var
+   title="">input</var> or if the character at <var
+   title="">position</var> is not a U+003A COLON character (:), then
+   return an error and abort these steps. Otherwise, move <var
+   title="">position</var> forwards one character.</p></li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</p></li>
+
+   <li><p><span>Collect a sequence of characters</span> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
+   title="">string</var> be the collected substring.</p></li>
+
+   <li><p>If <var title="">string</var> is not exactly two characters
+   in length, return an error and abort these steps.</p></li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>2</sub></var> be that
+   integer.</p></li>
+
+   <li>
+
+    <p>If <var title="">value<sub>1</sub></var> is greater than 59, or
+    if <var title="">position</var> is not beyond the end of <var
+    title="">input</var> and the character at <var
+    title="">position</var> is not a U+003A COLON character (:), run
+    these substeps:</p>
+
+    <ol>
+
+     <li><p>If <var title="">position</var> is beyond the end of <var
+     title="">input</var> or if the character at <var
+     title="">position</var> is not a U+003A COLON character (:), then
+     return an error and abort these steps. Otherwise, move <var
+     title="">position</var> forwards one character.</p></li>
+
+     <li><p>If the character indicated by <var title="">position</var>
+     is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+     return an error and abort these steps.</p></li>
+
+     <li><p><span>Collect a sequence of characters</span> in the range
+     U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
+     title="">string</var> be the collected substring.</p></li>
+
+     <li><p>If <var title="">string</var> is not exactly two
+     characters in length, return an error and abort these
+     steps.</p></li>
+
+     <li><p>Interpret <var title="">string</var> as a base-ten
+     integer. Let <var title="">value<sub>3</sub></var> be that
+     integer.</p></li>
+
+    </ol>
+
+    <p>Otherwise (if <var title="">value<sub>1</sub></var> is less
+    than or equal to 59 and <var title="">position</var> is not beyond
+    the end of <var title="">input</var> and the character at <var
+    title="">position</var> is not a U+003A COLON character (:)), let
+    <var title="">value<sub>3</sub></var> have the value of <var
+    title="">value<sub>2</sub></var>, then <var
+    title="">value<sub>2</sub></var> have the value of <var
+    title="">value<sub>1</sub></var>, then let <var
+    title="">value<sub>1</sub></var> equal zero.</p>
+
+   </li>
+
+   <li><p>If <var title="">position</var> is beyond the end of <var
+   title="">input</var> or if the character at <var
+   title="">position</var> is not either a U+002C COMMA character (,)
+   or a U+002E FULL STOP character (.), then return an error and abort
+   these steps. Otherwise, move <var title="">position</var> forwards
+   one character.</p></li>
+
+   <li><p>If the character indicated by <var title="">position</var>
+   is not one of U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), then
+   return an error and abort these steps.</p></li>
+
+   <li><p><span>Collect a sequence of characters</span> in the range
+   U+0030 DIGIT ZERO (0) to U+0039 DIGIT NINE (9), and let <var
+   title="">string</var> be the collected substring.</p></li>
+
+   <li><p>If <var title="">string</var> is not exactly three
+   characters in length, return an error and abort these
+   steps.</p></li>
+
+   <li><p>Interpret <var title="">string</var> as a base-ten
+   integer. Let <var title="">value<sub>4</sub></var> be that
+   integer.</p></li>
+
+   <li><p>Let <var title="">result</var> be <span title=""><var
+   title="">value<sub>1</sub></var>×60×60 + <var
+   title="">value<sub>2</sub></var>×60 + <var
+   title="">value<sub>3</sub></var> + <var
+   title="">value<sub>4</sub></var>&#x2215;1000</span>. <!-- &#x00f7;
+   is the division sign if people prefer that to the slash
+   --></p></li>
+
+   <li><p>Return <var title="">result</var>.</p></li>
+
+  </ol>
+
   </div>
 
 <!--START w3c-html--><!--TT-->




More information about the Commit-Watchers mailing list