[html5] r5128 - [giowt] (0) Captions - Stage 14.2: Finish the spec for parsing text cues.

whatwg at whatwg.org whatwg at whatwg.org
Thu Jul 1 13:06:14 PDT 2010


Author: ianh
Date: 2010-07-01 13:06:13 -0700 (Thu, 01 Jul 2010)
New Revision: 5128

Modified:
   complete.html
   index
   source
Log:
[giowt] (0) Captions - Stage 14.2: Finish the spec for parsing text cues.

Modified: complete.html
===================================================================
--- complete.html	2010-07-01 19:33:44 UTC (rev 5127)
+++ complete.html	2010-07-01 20:06:13 UTC (rev 5128)
@@ -27395,9 +27395,9 @@
 
    <li><p>Jump back to the step labeled <i>settings</i>.</li>
 
-  </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>
+  </ol><p>When this specifications says 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>
 
   <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>
@@ -27653,12 +27653,15 @@
 
   <dl><dt><dfn id=websrt-text-object title="WebSRT Text Object">WebSRT Text Objects</dfn></dt>
    <dd>
-    <p>A fragment of text.</p>
+    <p>A fragment of text. A <a href=#websrt-text-object>WebSRT Text Object</a> has a
+    value, which is the text it represents.</p>
    </dd>
 
    <dt><dfn id=websrt-timestamp-object title="WebSRT Timestamp Object">WebSRT Timestamp Objects</dfn></dt>
    <dd>
-    <p>A timestamp.</p>
+    <p>A timestamp. A <a href=#websrt-timestamp-object>WebSRT Timestamp Object</a> has a
+    value, in seconds and fractions of a second, which is the time
+    represented by the timestamp.</p>
    </dd>
 
   </dl><p>To parse a string <var title="">input</var> supposedly containing
@@ -27675,16 +27678,126 @@
    <li><p>Let <var title="">result</var> be a <a href=#list-of-websrt-node-objects>List of WebSRT
    Node Objects</a>, initially empty.</li>
 
-   <li><p><i>Loop</i>: If <var title="">position</var> is past the end of
-   <var title="">input</var>, return <var title="">result</var> and
+   <li><p>Let <var title="">current</var> be the <a href=#websrt-internal-node-object>WebSRT Internal
+   Node Object</a> <var title="">result</var>.</li>
+
+   <li><p><i>Loop</i>: If <var title="">position</var> is past the end
+   of <var title="">input</var>, return <var title="">result</var> and
    abort these steps.</li>
 
    <li><p>Let <var title="">token</var> be the result of invoking the
    <a href=#websrt-cue-text-tokeniser>WebSRT cue text tokeniser</a>.</li>
 
-   <li><p>Invoke the <a href=#websrt-cue-text-tree-constructor>WebSRT cue text tree
-   constructor</a>.</li>
+   <li>
 
+    <p>Run the appropriate steps given the type of <var title="">token</var>:</p>
+
+    <dl><dt>If <var title="">token</var> is a string</dt>
+     <dd>
+
+      <ol><li><p>Create a <a href=#websrt-text-object>WebSRT Text Object</a> whose value is
+       the value of the string token <var title="">token</var>.</li>
+
+       <li><p>Append the newly created <a href=#websrt-text-object>WebSRT Text Object</a>
+       to <var title="">current</var>.</li>
+
+      </ol></dd>
+
+     <dt>If <var title="">token</var> is a start tag</dt>
+     <dd>
+
+      <p>How the start tag token <var title="">token</var> is
+      processed depends on its tag name, as follows:</p>
+
+      <dl><dt>If the tag name is the empty string</dt>
+       <dd>
+        <p>Ignore the token.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">i</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-italic-object>WebSRT Italic Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">b</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-bold-object>WebSRT Bold Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">ruby</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-ruby-object>WebSRT Ruby Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">rt</code>"</dt>
+       <dd>
+        <p>If <var title="">current</var> is a <a href=#websrt-ruby-object>WebSRT Ruby
+        Object</a>, then create a <a href=#websrt-ruby-text-object>WebSRT Ruby Text
+        Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
+        Object">attach it</a>.</p>
+        <p>Otherwise, ignore the token.</p>
+       </dd>
+
+       <dt>Otherwise</dt>
+       <dd>
+
+        <ol><li><p>Let <var title="">input</var> be the tag name.</li>
+
+         <li><p>Let <var title="">position</var> be a pointer into
+         <var title="">input</var>, initially pointing at the start of
+         the string.</li>
+
+         <li><p><a href=#collect-a-websrt-timestamp>Collect a WebSRT timestamp</a>.</li>
+
+         <li>
+
+          <p>If that algorithm does not fail, then create a
+          <a href=#websrt-timestamp-object>WebSRT Timestamp Object</a> whose value is the
+          collected time, then append it to <var title="">current</var>.</p>
+
+          <p>Otherwise, ignore the token.</p>
+
+         </li>
+
+        </ol></dd>
+
+      </dl><p>When the steps above say to <dfn id=attach-a-websrt-internal-node-object>attach a WebSRT Internal
+      Node Object</dfn> <var title="">node object</var>, the user
+      agent must append <var title="">node object</var> to <var title="">current</var>, then let <var title="">current</var> be
+      <var title="">node object</var>.</p>
+
+     </dd>
+
+     <dt>If <var title="">token</var> is an end tag</dt>
+     <dd>
+
+      <p>If any of the following conditions is true, then let <var title="">current</var> be the parent node of <var title="">current</var>.</p>
+
+      <ul class=brief><li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">i</code>" and <var title="">current</var> is
+       a <a href=#websrt-italic-object>WebSRT Italic Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">b</code>" and <var title="">current</var> is
+       a <a href=#websrt-bold-object>WebSRT Bold Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">ruby</code>" and <var title="">current</var> is
+       a <a href=#websrt-ruby-object>WebSRT Ruby Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">rt</code>" and <var title="">current</var> is
+       a <a href=#websrt-ruby-text-object>WebSRT Ruby Text Object</a>.</li>
+
+      </ul><p>Otherwise, ignore the token.</p>
+
+     </dd>
+
+    </dl></li>
+
    <li><p>Jump to the step labeled <i>loop</i>.</li>
 
   </ol><p>The <dfn id=websrt-cue-text-tokeniser>WebSRT cue text tokeniser</dfn> is as follows. It emits
@@ -27742,7 +27855,7 @@
        <dt>Anything else</dt>
        <dd>
         <p>Append <var title="">c</var> to <var title="">result</var>
-        and jump to the step labeled <i>next</i>.</p>.
+        and jump to the step labeled <i>next</i>.</p>
        </dd> 
 
       </dl></dd>
@@ -27802,20 +27915,20 @@
 
       <p>Jump to the entry that matches the value of <var title="">c</var>:</p>
 
-      <dl><dt>U+003E GREATER-THAN SIGN character (>)</dt>
+      <dl><dt>U+002F SOLIDUS character (/)</dt>
+       <dd>
+        <p>Set <var title="">tokeniser state</var> to the <a href=#websrt-end-tag-state>WebSRT
+        end tag state</a>, and jump to the step labeled
+        <i>next</i>.</p>
+       </dd>
+
+       <dt>U+003E GREATER-THAN SIGN character (>)</dt>
        <dt>End-of-file marker</dt>
        <dd>
         <p>Return a start tag whose tag name is the empty string and
         abort these steps.</p>
        </dd>
 
-       <dt>U+002F SOLIDUS character (/)</dt>
-       <dd>
-        <p>Set <var title="">tokeniser state</var> to the <a href=#websrt-end-tag-state>WebSRT
-        end tag state</a>, and jump to the step labeled
-        <i>next</i>.</p>
-       </dd>
-
        <dt>Anything else</dt>
        <dd>
         <p>Set <var title="">result</var> to <var title="">c</var>,
@@ -27871,11 +27984,6 @@
    <li><p><i>Next</i>: Advance <var title="">position</var> to the next
    character in <var title="">input</var>.</li>
 
-  </ol><p>The <dfn id=websrt-cue-text-tree-constructor>WebSRT cue text tree constructor</dfn> is as
-  follows:</p>
-
-  <ol><li class=XXX>...</li>
-
   </ol><h6 id=websrt-cue-text-dom-construction-rules><span class=secno>4.8.10.11.4 </span><dfn>WebSRT cue text DOM construction rules</dfn></h6>
 
   <p class=XXX>...</p>

Modified: index
===================================================================
--- index	2010-07-01 19:33:44 UTC (rev 5127)
+++ index	2010-07-01 20:06:13 UTC (rev 5128)
@@ -27322,9 +27322,9 @@
 
    <li><p>Jump back to the step labeled <i>settings</i>.</li>
 
-  </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>
+  </ol><p>When this specifications says 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>
 
   <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>
@@ -27580,12 +27580,15 @@
 
   <dl><dt><dfn id=websrt-text-object title="WebSRT Text Object">WebSRT Text Objects</dfn></dt>
    <dd>
-    <p>A fragment of text.</p>
+    <p>A fragment of text. A <a href=#websrt-text-object>WebSRT Text Object</a> has a
+    value, which is the text it represents.</p>
    </dd>
 
    <dt><dfn id=websrt-timestamp-object title="WebSRT Timestamp Object">WebSRT Timestamp Objects</dfn></dt>
    <dd>
-    <p>A timestamp.</p>
+    <p>A timestamp. A <a href=#websrt-timestamp-object>WebSRT Timestamp Object</a> has a
+    value, in seconds and fractions of a second, which is the time
+    represented by the timestamp.</p>
    </dd>
 
   </dl><p>To parse a string <var title="">input</var> supposedly containing
@@ -27602,16 +27605,126 @@
    <li><p>Let <var title="">result</var> be a <a href=#list-of-websrt-node-objects>List of WebSRT
    Node Objects</a>, initially empty.</li>
 
-   <li><p><i>Loop</i>: If <var title="">position</var> is past the end of
-   <var title="">input</var>, return <var title="">result</var> and
+   <li><p>Let <var title="">current</var> be the <a href=#websrt-internal-node-object>WebSRT Internal
+   Node Object</a> <var title="">result</var>.</li>
+
+   <li><p><i>Loop</i>: If <var title="">position</var> is past the end
+   of <var title="">input</var>, return <var title="">result</var> and
    abort these steps.</li>
 
    <li><p>Let <var title="">token</var> be the result of invoking the
    <a href=#websrt-cue-text-tokeniser>WebSRT cue text tokeniser</a>.</li>
 
-   <li><p>Invoke the <a href=#websrt-cue-text-tree-constructor>WebSRT cue text tree
-   constructor</a>.</li>
+   <li>
 
+    <p>Run the appropriate steps given the type of <var title="">token</var>:</p>
+
+    <dl><dt>If <var title="">token</var> is a string</dt>
+     <dd>
+
+      <ol><li><p>Create a <a href=#websrt-text-object>WebSRT Text Object</a> whose value is
+       the value of the string token <var title="">token</var>.</li>
+
+       <li><p>Append the newly created <a href=#websrt-text-object>WebSRT Text Object</a>
+       to <var title="">current</var>.</li>
+
+      </ol></dd>
+
+     <dt>If <var title="">token</var> is a start tag</dt>
+     <dd>
+
+      <p>How the start tag token <var title="">token</var> is
+      processed depends on its tag name, as follows:</p>
+
+      <dl><dt>If the tag name is the empty string</dt>
+       <dd>
+        <p>Ignore the token.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">i</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-italic-object>WebSRT Italic Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">b</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-bold-object>WebSRT Bold Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">ruby</code>"</dt>
+       <dd>
+        <p>Create a <a href=#websrt-ruby-object>WebSRT Ruby Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node Object">attach
+        it</a>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">rt</code>"</dt>
+       <dd>
+        <p>If <var title="">current</var> is a <a href=#websrt-ruby-object>WebSRT Ruby
+        Object</a>, then create a <a href=#websrt-ruby-text-object>WebSRT Ruby Text
+        Object</a>, and <a href=#attach-a-websrt-internal-node-object title="attach a WebSRT Internal Node
+        Object">attach it</a>.</p>
+        <p>Otherwise, ignore the token.</p>
+       </dd>
+
+       <dt>Otherwise</dt>
+       <dd>
+
+        <ol><li><p>Let <var title="">input</var> be the tag name.</li>
+
+         <li><p>Let <var title="">position</var> be a pointer into
+         <var title="">input</var>, initially pointing at the start of
+         the string.</li>
+
+         <li><p><a href=#collect-a-websrt-timestamp>Collect a WebSRT timestamp</a>.</li>
+
+         <li>
+
+          <p>If that algorithm does not fail, then create a
+          <a href=#websrt-timestamp-object>WebSRT Timestamp Object</a> whose value is the
+          collected time, then append it to <var title="">current</var>.</p>
+
+          <p>Otherwise, ignore the token.</p>
+
+         </li>
+
+        </ol></dd>
+
+      </dl><p>When the steps above say to <dfn id=attach-a-websrt-internal-node-object>attach a WebSRT Internal
+      Node Object</dfn> <var title="">node object</var>, the user
+      agent must append <var title="">node object</var> to <var title="">current</var>, then let <var title="">current</var> be
+      <var title="">node object</var>.</p>
+
+     </dd>
+
+     <dt>If <var title="">token</var> is an end tag</dt>
+     <dd>
+
+      <p>If any of the following conditions is true, then let <var title="">current</var> be the parent node of <var title="">current</var>.</p>
+
+      <ul class=brief><li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">i</code>" and <var title="">current</var> is
+       a <a href=#websrt-italic-object>WebSRT Italic Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">b</code>" and <var title="">current</var> is
+       a <a href=#websrt-bold-object>WebSRT Bold Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">ruby</code>" and <var title="">current</var> is
+       a <a href=#websrt-ruby-object>WebSRT Ruby Object</a>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">rt</code>" and <var title="">current</var> is
+       a <a href=#websrt-ruby-text-object>WebSRT Ruby Text Object</a>.</li>
+
+      </ul><p>Otherwise, ignore the token.</p>
+
+     </dd>
+
+    </dl></li>
+
    <li><p>Jump to the step labeled <i>loop</i>.</li>
 
   </ol><p>The <dfn id=websrt-cue-text-tokeniser>WebSRT cue text tokeniser</dfn> is as follows. It emits
@@ -27669,7 +27782,7 @@
        <dt>Anything else</dt>
        <dd>
         <p>Append <var title="">c</var> to <var title="">result</var>
-        and jump to the step labeled <i>next</i>.</p>.
+        and jump to the step labeled <i>next</i>.</p>
        </dd> 
 
       </dl></dd>
@@ -27729,20 +27842,20 @@
 
       <p>Jump to the entry that matches the value of <var title="">c</var>:</p>
 
-      <dl><dt>U+003E GREATER-THAN SIGN character (>)</dt>
+      <dl><dt>U+002F SOLIDUS character (/)</dt>
+       <dd>
+        <p>Set <var title="">tokeniser state</var> to the <a href=#websrt-end-tag-state>WebSRT
+        end tag state</a>, and jump to the step labeled
+        <i>next</i>.</p>
+       </dd>
+
+       <dt>U+003E GREATER-THAN SIGN character (>)</dt>
        <dt>End-of-file marker</dt>
        <dd>
         <p>Return a start tag whose tag name is the empty string and
         abort these steps.</p>
        </dd>
 
-       <dt>U+002F SOLIDUS character (/)</dt>
-       <dd>
-        <p>Set <var title="">tokeniser state</var> to the <a href=#websrt-end-tag-state>WebSRT
-        end tag state</a>, and jump to the step labeled
-        <i>next</i>.</p>
-       </dd>
-
        <dt>Anything else</dt>
        <dd>
         <p>Set <var title="">result</var> to <var title="">c</var>,
@@ -27798,11 +27911,6 @@
    <li><p><i>Next</i>: Advance <var title="">position</var> to the next
    character in <var title="">input</var>.</li>
 
-  </ol><p>The <dfn id=websrt-cue-text-tree-constructor>WebSRT cue text tree constructor</dfn> is as
-  follows:</p>
-
-  <ol><li class=XXX>...</li>
-
   </ol><h6 id=websrt-cue-text-dom-construction-rules><span class=secno>4.8.10.11.4 </span><dfn>WebSRT cue text DOM construction rules</dfn></h6>
 
   <p class=XXX>...</p>

Modified: source
===================================================================
--- source	2010-07-01 19:33:44 UTC (rev 5127)
+++ source	2010-07-01 20:06:13 UTC (rev 5128)
@@ -29734,9 +29734,9 @@
 
   </ol>
 
-  <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>
+  <p>When this specifications says that a user agent is to
+  <dfn>collect a WebSRT timestamp</dfn>, the user agent must run the
+  following steps:</p>
 
   <ol>
 
@@ -30050,12 +30050,15 @@
 
    <dt><dfn title="WebSRT Text Object">WebSRT Text Objects</dfn></dt>
    <dd>
-    <p>A fragment of text.</p>
+    <p>A fragment of text. A <span>WebSRT Text Object</span> has a
+    value, which is the text it represents.</p>
    </dd>
 
    <dt><dfn title="WebSRT Timestamp Object">WebSRT Timestamp Objects</dfn></dt>
    <dd>
-    <p>A timestamp.</p>
+    <p>A timestamp. A <span>WebSRT Timestamp Object</span> has a
+    value, in seconds and fractions of a second, which is the time
+    represented by the timestamp.</p>
    </dd>
 
   </dl>
@@ -30077,16 +30080,155 @@
    <li><p>Let <var title="">result</var> be a <span>List of WebSRT
    Node Objects</span>, initially empty.</p></li>
 
-   <li><p><i>Loop</i>: If <var title="">position</var> is past the end of
-   <var title="">input</var>, return <var title="">result</var> and
+   <li><p>Let <var title="">current</var> be the <span>WebSRT Internal
+   Node Object</span> <var title="">result</var>.</p></li>
+
+   <li><p><i>Loop</i>: If <var title="">position</var> is past the end
+   of <var title="">input</var>, return <var title="">result</var> and
    abort these steps.</p></li>
 
    <li><p>Let <var title="">token</var> be the result of invoking the
    <span>WebSRT cue text tokeniser</span>.</p></li>
 
-   <li><p>Invoke the <span>WebSRT cue text tree
-   constructor</span>.</p></li>
+   <li>
 
+    <p>Run the appropriate steps given the type of <var
+    title="">token</var>:</p>
+
+    <dl>
+
+     <dt>If <var title="">token</var> is a string</dt>
+     <dd>
+
+      <ol>
+
+       <li><p>Create a <span>WebSRT Text Object</span> whose value is
+       the value of the string token <var
+       title="">token</var>.</p></li>
+
+       <li><p>Append the newly created <span>WebSRT Text Object</span>
+       to <var title="">current</var>.</p></li>
+
+      </ol>
+
+     </dd>
+
+     <dt>If <var title="">token</var> is a start tag</dt>
+     <dd>
+
+      <p>How the start tag token <var title="">token</var> is
+      processed depends on its tag name, as follows:</p>
+
+      <dl>
+
+       <dt>If the tag name is the empty string</dt>
+       <dd>
+        <p>Ignore the token.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">i</code>"</dt>
+       <dd>
+        <p>Create a <span>WebSRT Italic Object</span>, and <span
+        title="attach a WebSRT Internal Node Object">attach
+        it</span>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">b</code>"</dt>
+       <dd>
+        <p>Create a <span>WebSRT Bold Object</span>, and <span
+        title="attach a WebSRT Internal Node Object">attach
+        it</span>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">ruby</code>"</dt>
+       <dd>
+        <p>Create a <span>WebSRT Ruby Object</span>, and <span
+        title="attach a WebSRT Internal Node Object">attach
+        it</span>.</p>
+       </dd>
+
+       <dt>If the tag name is "<code title="">rt</code>"</dt>
+       <dd>
+        <p>If <var title="">current</var> is a <span>WebSRT Ruby
+        Object</span>, then create a <span>WebSRT Ruby Text
+        Object</span>, and <span title="attach a WebSRT Internal Node
+        Object">attach it</span>.</p>
+        <p>Otherwise, ignore the token.</p>
+       </dd>
+
+       <dt>Otherwise</dt>
+       <dd>
+
+        <ol>
+
+         <li><p>Let <var title="">input</var> be the tag name.</p></li>
+
+         <li><p>Let <var title="">position</var> be a pointer into
+         <var title="">input</var>, initially pointing at the start of
+         the string.</p></li>
+
+         <li><p><span>Collect a WebSRT timestamp</span>.</p></li>
+
+         <li>
+
+          <p>If that algorithm does not fail, then create a
+          <span>WebSRT Timestamp Object</span> whose value is the
+          collected time, then append it to <var
+          title="">current</var>.</p>
+
+          <p>Otherwise, ignore the token.</p>
+
+         </li>
+
+        </ol>
+
+       </dd>
+
+      </dl>
+
+      <p>When the steps above say to <dfn>attach a WebSRT Internal
+      Node Object</dfn> <var title="">node object</var>, the user
+      agent must append <var title="">node object</var> to <var
+      title="">current</var>, then let <var title="">current</var> be
+      <var title="">node object</var>.</p>
+
+     </dd>
+
+     <dt>If <var title="">token</var> is an end tag</dt>
+     <dd>
+
+      <p>If any of the following conditions is true, then let <var
+      title="">current</var> be the parent node of <var
+      title="">current</var>.</p>
+
+      <ul class="brief">
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">i</code>" and <var title="">current</var> is
+       a <span>WebSRT Italic Object</span>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">b</code>" and <var title="">current</var> is
+       a <span>WebSRT Bold Object</span>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">ruby</code>" and <var title="">current</var> is
+       a <span>WebSRT Ruby Object</span>.</li>
+
+       <li>The tag name of the end tag token <var title="">token</var>
+       is "<code title="">rt</code>" and <var title="">current</var> is
+       a <span>WebSRT Ruby Text Object</span>.</li>
+
+      </ul>
+
+      <p>Otherwise, ignore the token.</p>
+
+     </dd>
+
+    </dl>
+
+   </li>
+
    <li><p>Jump to the step labeled <i>loop</i>.</p></li>
 
   </ol>
@@ -30157,7 +30299,7 @@
        <dt>Anything else</dt>
        <dd>
         <p>Append <var title="">c</var> to <var title="">result</var>
-        and jump to the step labeled <i>next</i>.</p>.
+        and jump to the step labeled <i>next</i>.</p>
        </dd> 
 
       </dl>
@@ -30232,6 +30374,13 @@
 
       <dl>
 
+       <dt>U+002F SOLIDUS character (/)</dt>
+       <dd>
+        <p>Set <var title="">tokeniser state</var> to the <span>WebSRT
+        end tag state</span>, and jump to the step labeled
+        <i>next</i>.</p>
+       </dd>
+
        <dt>U+003E GREATER-THAN SIGN character (>)</dt>
        <dt>End-of-file marker</dt>
        <dd>
@@ -30239,13 +30388,6 @@
         abort these steps.</p>
        </dd>
 
-       <dt>U+002F SOLIDUS character (/)</dt>
-       <dd>
-        <p>Set <var title="">tokeniser state</var> to the <span>WebSRT
-        end tag state</span>, and jump to the step labeled
-        <i>next</i>.</p>
-       </dd>
-
        <dt>Anything else</dt>
        <dd>
         <p>Set <var title="">result</var> to <var title="">c</var>,
@@ -30319,16 +30461,7 @@
 
   </ol>
 
-  <p>The <dfn>WebSRT cue text tree constructor</dfn> is as
-  follows:</p>
 
-  <ol>
-
-   <li class="XXX">...</li>
-
-  </ol>
-
-
   <h6><dfn>WebSRT cue text DOM construction rules</dfn></h6>
 
   <p class="XXX">...</p>




More information about the Commit-Watchers mailing list