[ttml2] regenerate ED
authorGlenn Adams <glenn@skynav.com>
Sat, 21 Jun 2014 17:53:03 -0600
changeset 642 65b354348a05
parent 641 1afe22c3a70b
child 643 daccee298312
[ttml2] regenerate ED
ttml2/spec/ttml2.html
--- a/ttml2/spec/ttml2.html	Sat Jun 21 17:44:37 2014 -0600
+++ b/ttml2/spec/ttml2.html	Sat Jun 21 17:53:03 2014 -0600
@@ -82,9 +82,9 @@
 .obsoleted { background-color: #f26d7d }
 .reqattr { font-weight: bold }
 .optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/06/19 13:57:27 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/06/21 23:44:37 $<div id="revisions"></div><div class="head">
 <h1><a id="title"></a>Timed Text Markup Language 2 (TTML2)</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/06/19 13:57:27 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/06/21 23:44:37 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
 <a href="ttml2.html">ttml2.html</a>
 </dd><dt>Latest version:</dt><dd><a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
 <a href="http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/</a>
@@ -437,11 +437,11 @@
 H <a href="#other-references">Other References</a> (Non-Normative)<br>
 I <a href="#requirements">Requirements</a> (Non-Normative)<br>
 J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e24469">Element Derivation</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e24986">Attribute Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e25156">Element Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e25673">Attribute Derivation</a><br>
 K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e25979">Requirements</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e26143">Guidelines</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e26666">Requirements</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e26830">Guidelines</a><br>
 L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
 M <a href="#concrete-encoding">Concrete Encoding</a><br>
 N <a href="#time-expression-semantics">Time Expression Semantics</a><br>
@@ -663,7 +663,10 @@
 axis, where the column and row counts are determined by the <code>ttp:cellResolution</code> parameter attribute.</p></dd><dt class="label"><a id="terms-content-element"></a>[content element]</dt><dd><p>Any of the element types defined by the <a href="#element-vocab-type-content">Content Module</a>.</p></dd><dt class="label"><a id="terms-content-processor"></a>[content processor]</dt><dd><p>A processing system capable of importing (receiving) Timed Text Markup Language
 content for the purpose of transforming, presenting, or otherwise processing the content.</p></dd><dt class="label"><a id="terms-content-profile"></a>[content profile]</dt><dd><p>A collection of <a href="#terms-feature">features</a> and <a href="#terms-extension">extensions</a> that must not, must, or may be employed by
 Timed Text Markup Language content.</p><p></p></dd><dt class="label"><a id="terms-content-region"></a>[content region]</dt><dd><p>A logical region into which rendered content is placed when modeling or
-performing presentation processing.</p></dd><dt class="label"><a id="terms-designated-profile"></a>[designated profile]</dt><dd><p>A <a href="#terms-profile">profile</a> that is associated with a <a href="#terms-profile-designator">profile designator</a> by
+performing presentation processing.</p></dd><dt class="label"><a id="terms-default-region"></a>[default region]</dt><dd><p>A default <a href="#terms-out-of-line-region">out-of-line region</a> that is implied in the absence of
+an explicitly specified out-of-line <a href="#layout-vocabulary-region"><code>region</code></a> element, i.e.,
+when no <a href="#layout-vocabulary-region"><code>region</code></a> element is specified as a child of
+a <a href="#layout-vocabulary-layout"><code>layout</code></a> element.</p></dd><dt class="label"><a id="terms-designated-profile"></a>[designated profile]</dt><dd><p>A <a href="#terms-profile">profile</a> that is associated with a <a href="#terms-profile-designator">profile designator</a> by
 means of a <code>designator</code> attribute or prose text in a specification of profile.</p></dd><dt class="label"><a id="terms-document-instance"></a>[document instance]</dt><dd><p>A concrete realization of a Timed Text Markup Language document, where the concrete form
 is specific to the context of reference. For example, a sequence of bytes that represents an
 XML serialization of a Timed Text document, an internal, parsed representation of such a
@@ -690,15 +693,19 @@
 future revision of this specification).</p></dd><dt class="label"><a id="terms-feature-specification"></a>[feature specification]</dt><dd><p>A specification of a constraint or requirement that relates to an
 <a href="#terms-feature">feature</a>, typically expressed by
 an <a href="#parameter-vocabulary-feature"><code>ttp:feature</code></a> element.</p></dd><dt class="label"><a id="terms-fragment-identifier"></a>[fragment identifier]</dt><dd><p>A syntactic expression that adheres to the fragment identifer syntax defined by <a href="#uri">[URI]</a>,
-Section 4.1.</p></dd><dt class="label"><a id="terms-implied-inline-region"></a>[implied inline region]</dt><dd><p>An anonymous (unidentified) <a href="#terms-inline-region">inline region</a> that is implied in the context of a block level content element
+Section 4.1.</p></dd><dt class="label"><a id="terms-implied-inline-region"></a>[implied inline region]</dt><dd><p>An anonymous (unidentified) <a href="#terms-inline-region">inline region</a> that is implied in the context of a block level
+<a href="#terms-content-element">content element</a>
 due the presence of a <a href="#style-attribute-extent"><code>tts:extent</code></a> or <a href="#style-attribute-origin"><code>tts:origin</code></a>
-style attribute on the content element.</p></dd><dt class="label"><a id="terms-inline-animation"></a>[inline animation]</dt><dd><p>An <a href="#animation-vocabulary-animate"><code>animate</code></a> or <a href="#animation-vocabulary-set"><code>set</code></a> element
+style attribute on the <a href="#terms-content-element">content element</a>.</p></dd><dt class="label"><a id="terms-inline-animation"></a>[inline animation]</dt><dd><p>An <a href="#animation-vocabulary-animate"><code>animate</code></a> or <a href="#animation-vocabulary-set"><code>set</code></a> element
 that is defined inline as an immediate child of
 a <a href="#terms-content-element">content element</a> or <a href="#layout-vocabulary-region"><code>region</code></a> element targetted by the animation.
 There is a one-to-one relation between
 an inline animation element and its parent <a href="#terms-content-element">content element</a> or <a href="#layout-vocabulary-region"><code>region</code></a> element.
-An inline animation does not specify an <code>xlink:href</code> attribute.</p></dd><dt class="label"><a id="terms-inline-region"></a>[inline region]</dt><dd><p>A <a href="#layout-vocabulary-region"><code>region</code></a> element that is defined inline as an immediate child of
-a <a href="#terms-content-element">content element</a> to be selected into (targetted to) the region.
+An inline animation does not specify an <code>xlink:href</code> attribute.</p></dd><dt class="label"><a id="terms-inline-region"></a>[inline region]</dt><dd><p>A <a href="#terms-region">region</a> that is defined in an inline manner with respect to some
+<a href="#terms-content-element">content element</a>  to be selected into (targetted to) the region.
+An inline region is specified either explicitly by a <a href="#layout-vocabulary-region"><code>region</code></a> element child of
+a <a href="#terms-content-element">content element</a> or implicitly by specifying a <a href="#style-attribute-extent">tts:extent</a>
+or <a href="#style-attribute-origin">tts:origin</a> style attribute on a <a href="#terms-content-element">content element</a>.
 There is a one-to-one relation between an inline <a href="#layout-vocabulary-region"><code>region</code></a> element and its
 parent <a href="#terms-content-element">content element</a>. An inline region is assigned its parent element's time interval as its active
 time interval. No <code>region</code> attribute makes reference to an inline region.</p></dd><dt class="label"><a id="terms-nested-profile"></a>[nested profile]</dt><dd><p>A constituent <a href="#terms-profile">profile</a> of a <a href="#terms-nesting-profile">nesting profile</a>, i.e., one of the
@@ -712,13 +719,16 @@
 of a <a href="#terms-document-instance">document instance</a>, and specifies an <code>xlink:href</code> attribute
 that associates it with the element to be animated. There is a one-to-one relation between
 an out-of-line animation element and a <a href="#terms-content-element">content element</a> or
-<a href="#layout-vocabulary-region"><code>region</code></a> element.</p></dd><dt class="label"><a id="terms-out-of-line-region"></a>[out-of-line region]</dt><dd><p>A <a href="#layout-vocabulary-region"><code>region</code></a> element that is defined out-of-line from
-the <a href="#terms-content-element">content element(s)</a> to be selected into (targetted to) the region. An out-of-line region appears
-as a child of a <a href="#layout-vocabulary-layout"><code>layout</code></a> element in the header
+<a href="#layout-vocabulary-region"><code>region</code></a> element.</p></dd><dt class="label"><a id="terms-out-of-line-region"></a>[out-of-line region]</dt><dd><p>A <a href="#terms-region">region</a> that is defined in an out-of-line manner from
+the <a href="#terms-content-element">content element(s)</a> to be selected into (targetted to) the region. An out-of-line region is
+specified using a <a href="#layout-vocabulary-region"><code>region</code></a> element
+child of a <a href="#layout-vocabulary-layout"><code>layout</code></a> element in the header
 (<a href="#document-structure-vocabulary-head"><code>head</code></a> element)
 of a <a href="#terms-document-instance">document instance</a>, and specifies an <code>xml:id</code> attribute
 in order to allow <a href="#terms-content-element">content elements</a> to be associated with the region by means of a
-<code>region</code> attribute. There is a one-to-many relationship between an out-of-line region
+<code>region</code> attribute. A <a href="#terms-default-region">default out-of-line region</a> is implied if no
+<a href="#terms-out-of-line-region">out-of-line region</a> is specified explicitly.
+There is a one-to-many relationship between an out-of-line region
 and the <a href="#terms-content-element">content element(s)</a> to be selected into (targetted to) the region.</p></dd><dt class="label"><a id="terms-presentation-processor"></a>[presentation processor]</dt><dd><p>A <a href="#terms-content-processor">content processor</a> which purpose is to layout, format, and render,
 i.e., to present, <a href="#terms-timed-text-markup-language">Timed Text Markup Language</a> content by applying the presentation semantics
 defined in this specification.</p></dd><dt class="label"><a id="terms-processor"></a>[processor]</dt><dd><p>See <a href="#terms-content-processor">content processor</a>.</p></dd><dt class="label"><a id="terms-processor-profile"></a>[processor profile]</dt><dd><p>A collection of <a href="#terms-feature">features</a> and <a href="#terms-extension">extensions</a> that must or may be implemented (supported) by
@@ -792,8 +802,13 @@
 defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its definition
 therein is given.</p><p>An information item depicted with a <span class="deprecated">light yellow orange</span> background color is deprecated (e.g.,
 the <span class="deprecated">tiny</span> value of the <code>size</code> attribute shown above).
+An information item that is <span class="deprecated">deprecated</span> may but should not appear in a TTML document instance,
+and a validating processor should report a warning if it does appear.
 An information item depicted with a <span class="obsoleted">light magenta red</span> background color is obsoleted (e.g.,
-the <span class="obsoleted">micro</span> value of the <code>size</code> attribute shown above). These designations of the item
+the <span class="obsoleted">micro</span> value of the <code>size</code> attribute shown above).
+An information item that is <span class="obsoleted">obsoleted</span> must not appear in a TTML document instance,
+and a validating processor should report an error if it does appear.
+These designations of an item
 are also explicitly called out in specification text.</p><p>The allowed content of the information item is shown as a grammar
 fragment, using the Kleene operators <code>?</code>, <code>*</code>
 and <code>+</code>. Each element name therein is a hyperlink to its
@@ -837,7 +852,7 @@
 should satisfy the web content accessibility guidelines specified by
 <a href="#wcag">[WCAG]</a>.</p></li></ol></div><div class="div2">
 <h3><a id="conformance-processor"></a>3.2 Processor Conformance</h3><div class="div3">
-<h4><a id="conformance-generic-processor"></a>3.2.1 Generic Processor Conformance</h4><table border="1" class="ednote" summary="Editorial note: Profile Processing"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Profile Processing</b></td><td align="right" valign="top">2014-05-21</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add requirement to invoke <span class="strong">abort if unsupported processor profile</span> procedure.</td></tr></table><p></p><table border="1" class="ednote" summary="Editorial note: Validation Processing"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Validation Processing</b></td><td align="right" valign="top">2014-05-21</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add requirement to invoke validation processing procedure.</td></tr></table><p>A TTML <a href="#terms-content-processor">content processor</a> conforms to this specification if the following
+<h4><a id="conformance-generic-processor"></a>3.2.1 Generic Processor Conformance</h4><table border="1" class="ednote" summary="Editorial note: Profile Processing"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Profile Processing</b></td><td align="right" valign="top">2014-05-21</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add requirement to invoke <span class="strong">abort if unsupported processor profile</span> procedure.</td></tr></table><p></p><table border="1" class="ednote" summary="Editorial note: Validation Processing"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Validation Processing</b></td><td align="right" valign="top">2014-05-21</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Add requirement to invoke validation processing procedure. Add and use definition of 'validating processor'.</td></tr></table><p>A TTML <a href="#terms-content-processor">content processor</a> conforms to this specification if the following
 generic processor criteria are
 satisfied:</p><ol class="enumar"><li><p>The processor provides at least one mechanism for notionally
 instantiating a <a href="#terms-reduced-xml-infoset">reduced xml infoset</a>
@@ -2401,8 +2416,8 @@
 elements in the <code>Metadata.class</code> element group,
 followed by zero or more
 elements in the <code>Animation.class</code> element group,
-followed by zero or more
-elements in the <code>Layout.class</code> element group,
+followed by zero or one
+element in the <code>Layout.class</code> element group,
 followed by
 zero or more
 <code>div</code> or 
@@ -2423,7 +2438,7 @@
   {<em>any attribute in TT Metadata namespace</em>}
   {<em>any attribute in TT Style namespace</em>}
   {<em>any attribute not in default or any TT namespace</em>}&gt;
-  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Layout.class</a>*, <a href="#element-vocab-group-table">Block.class</a>*
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Layout.class</a>?, <a href="#element-vocab-group-table">Block.class</a>*
 &lt;/div&gt;
 </pre></div>
 </td></tr></tbody></table><p>An author may associate a set of style properties with a <code>div</code> element by means of either
@@ -2445,8 +2460,8 @@
 elements in the <code>Metadata.class</code> element group,
 followed by zero or more
 elements in the <code>Animation.class</code> element group,
-followed by zero or more
-elements in the <code>Layout.class</code> element group,
+followed by zero or one
+element in the <code>Layout.class</code> element group,
 followed by
 zero or more intermixed
 <code>span</code> elements,
@@ -2468,7 +2483,7 @@
   {<em>any attribute in TT Metadata namespace</em>}
   {<em>any attribute in TT Style namespace</em>}
   {<em>any attribute not in default or any TT namespace</em>}&gt;
-  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Layout.class</a>*, <a href="#element-vocab-group-table">Inline.class</a>*
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Layout.class</a>?, <a href="#element-vocab-group-table">Inline.class</a>*
 &lt;/p&gt;
 </pre></div>
 </td></tr></tbody></table><p>An author may associate a set of style properties with a
@@ -2966,7 +2981,10 @@
 value of this attribute.</p><p>If a computed value of the property associated with this attribute is not supported,
 then a <a href="#terms-presentation-processor">presentation processor</a> must use the closest supported value.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>In this context, the phrase <em>closest supported value</em> means the value for which the Euclidean distance between
 the computed extent and the supported extent is minimized. If there are multiple closest supported values equally distant from
-the computed value, then the value most distant from [0,0], i.e., of greatest extent, is used.</p></div><p>The <code>tts:extent</code> style is illustrated by the following example.</p><a id="style-attribute-extent-example-1"></a><table class="example"><caption>Example Fragment – Extent</caption><tbody><tr><td>
+the computed value, then the value most distant from [0,0], i.e., of greatest extent, is used.</p><p>Unlike other style attributes, the rule for resolving <em>closest supported value</em> for the <code>tts:extent</code> attribute
+makes use of the nearest larger rather than nearest smaller supported distance. The rationale for this difference in treatment is
+that use of a larger extent ensures that the affected content will be contained in the region area without causing region overflow,
+while use of a smaller extent makes region overflow more likely.</p></div><p>The <code>tts:extent</code> style is illustrated by the following example.</p><a id="style-attribute-extent-example-1"></a><table class="example"><caption>Example Fragment – Extent</caption><tbody><tr><td>
 <div class="exampleInner"><pre>
 &lt;region xml:id="r1"&gt;
   &lt;style <span class="strong">tts:extent="330px 122px"</span>/&gt;
@@ -4647,10 +4665,11 @@
 implementation is permitted provided that the externally observable
 results are consistent with the results produced by this model.
 </p><div class="div3">
-<h4><a id="semantics-default-region"></a>9.3.1 Default Region</h4><p>If a <a href="#terms-document-instance">document instance</a> does not specify a
-<a href="#layout-vocabulary-region"><code>region</code></a> element,
-then a <em>default region</em> is implied with the following characteristics:</p><ul><li><p>the identity of the default region is considered to be anonymous;</p></li><li><p>the extent of the default region is the same as the extent of the <a href="#terms-root-container-region">root container region</a>;</p></li><li><p>the temporal interval of the default region is the same as the interval defined by the <a href="#terms-root-temporal-extent">root temporal extent</a>;</p></li></ul><p>Furthermore, if no <a href="#layout-vocabulary-region"><code>region</code></a> element is
-specified, then the <a href="#layout-attribute-region"><code>region</code></a> attribute must
+<h4><a id="semantics-default-region"></a>9.3.1 Default Region</h4><p>If a <a href="#terms-document-instance">document instance</a> does not specify an
+<a href="#terms-out-of-line-region">out-of-line region</a>,
+then a <em>default region</em> is implied with the following characteristics:</p><ul><li><p>the identity of the default region is considered to be an anonymous <a href="#terms-out-of-line-region">out-of-line region</a>;</p></li><li><p>the extent of the default region is the same as the extent of the <a href="#terms-root-container-region">root container region</a>;</p></li><li><p>the temporal interval of the default region is the same as the interval defined by the <a href="#terms-root-temporal-extent">root temporal extent</a>;</p></li></ul><p>Furthermore, if no
+<a href="#terms-out-of-line-region">out-of-line region</a> is specified, then the
+<a href="#layout-attribute-region"><code>region</code></a> attribute must
 not be specified on any <a href="#terms-content-element">content element</a> in the <a href="#terms-document-instance">document instance</a>.</p><p>If a default region is implied for a given <a href="#terms-document-instance">document instance</a>, then
 the <a href="#document-structure-vocabulary-body"><code>body</code></a> element
 is implicitly targeted to (associated with) the default region.</p><p>When implying a default region, the <a href="#terms-document-instance">document instance</a> is to be
@@ -4673,8 +4692,131 @@
 </td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, a default <code>region</code> element and <code>region</code>
 attribute are implied. In addition, a <code>layout</code> container element is implied for
 the implied <code>region</code> element.</p></div></div><div class="div3">
-<h4><a id="semantics-inline-regions"></a>9.3.2 Inline Regions</h4><p><span class="tbd">To Be Defined</span></p><p></p><table border="1" class="ednote" summary="Editorial note: Multiple Region Reference Semantics"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Multiple Region Reference Semantics</b></td><td align="right" valign="top">2014-03-27</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Define semantics related to use combination of inline regions and reference to out-of-line region by same content element.
-See also editorial note <span class="strong">Inline Region Association</span> below under <span class="strong">[associate region]</span>.</td></tr></table></div><div class="div3">
+<h4><a id="semantics-inline-regions"></a>9.3.2 Inline Regions</h4><p>An <a href="#terms-inline-region">inline region</a> is a syntactic mechanism for specifying a
+<a href="#terms-region">region</a> in a way that minimizes the syntactic distance between a region
+specification and the content that references that region. Semantically, each
+<a href="#terms-inline-region">inline region</a> is equivalent to specifying a unique
+<a href="#terms-out-of-line-region">out-of-line region</a> referenced implicitly only by the
+<a href="#terms-content-element">content element</a> in whose context the
+<a href="#terms-inline-region">inline region</a> is specified (or implied).</p><p>An <a href="#terms-inline-region">inline region</a> is declared in one of two ways:
+(1) by specifying a <a href="#style-attribute-extent"><code>tts:extent</code></a> or
+<a href="#style-attribute-origin"><code>tts:origin</code></a> style attribute on
+a <a href="#terms-content-element">content element</a>
+in the <a href="#element-vocab-group-table">Block.class</a> element group, or
+(2) by specifying an explicit  <a href="#layout-vocabulary-region"><code>region</code></a> element
+child of a <a href="#terms-content-element">content element</a>
+in the <a href="#element-vocab-group-table">Block.class</a> element group. The
+former is referred to as an <em>implied inline region specification</em>,
+the latter as an <em>explicit inline region specification</em>; furthermore, the former is considered
+to be a syntactic shorthand for the latter, and is processed by converting it into the latter as
+described below.</p><p>Inline regions are processed in accordance with the procedure
+<span class="strong"><a href="#procedure-process-inline-regions">[process inline regions]</a></span>, which
+entails first generating implied inline regions, and then generating out-of-line regions that correspond with implied
+or explicit inline regions. This latter procedure additionally binds content elements associated with inline regions
+to the corresponding generated out-of-line regions.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A <a href="#terms-content-element">content element</a> can only be associated with a single
+<a href="#terms-region">region</a>. Consequently, if a <a href="#terms-content-element">content element</a>
+specifies a <a href="#layout-attribute-region"><code>region</code></a> attribute, then any <em>implied inline region specification</em>
+or <em>explicit inline region specification</em> is ignored. If the <a href="#terms-content-element">content element</a> does not specify a
+<a href="#layout-attribute-region"><code>region</code></a> attribute, but it includes
+both an <em>implied inline region specification</em> and an <em>explicit inline region specification</em>,
+then the former is ignored in favor of the latter.</p></div><dl><dt class="label"><a id="procedure-process-inline-regions"></a>[process inline regions]</dt><dd><ol class="enumar"><li><p>perform procedure <span class="strong"><a href="#procedure-generate-inline-regions">[generate inline regions]</a></span>;</p></li><li><p>perform procedure <span class="strong"><a href="procedure-generate-out-of-line-regions">[generate out-of-line regions]</a></span>;</p></li></ol></dd><dt class="label"><a id="procedure-generate-inline-regions"></a>[generate inline regions]</dt><dd><p>For each <a href="#terms-content-element">content element</a> <em>B</em>
+in the <a href="#element-vocab-group-table">Block.class</a> element group,
+perform the following ordered steps:</p><ol class="enumar"><li><p>if the <code>[attributes]</code> information item property of <em>B</em> contains
+neither <a href="#style-attribute-extent"><code>tts:extent</code></a> nor
+<a href="#style-attribute-origin"><code>tts:origin</code></a> style attribute, then exit this procedure;</p></li><li><p>if the <code>[attributes]</code> information item property of <em>B</em> contains a
+<a href="#layout-attribute-region"><code>region</code></a> attribute, then exit this procedure</p></li><li><p>if the <code>[children]</code> information item property of <em>B</em> contains a
+<a href="#layout-vocabulary-region"><code>region</code></a> element, then exit this procedure;</p></li><li><p>create an empty <a href="#layout-vocabulary-region"><code>region</code></a> element <em>R</em>,
+initialized as follows:</p><ul><li><p>if the <code>[attributes]</code> information item property of <em>B</em> contains a
+<a href="#style-attribute-extent"><code>tts:extent</code></a> attribute,
+then copy that attribute to the <code>[attributes]</code> information item property of <em>R</em>;
+otherwise, add a <a href="#style-attribute-extent"><code>tts:extent</code></a> attribute with value <code>auto</code>
+to the <code>[attributes]</code> information item property of <em>R</em>;</p></li><li><p>if the <code>[attributes]</code> information item property of <em>B</em> contains a
+<a href="#style-attribute-origin"><code>tts:origin</code></a> attribute,
+then copy that attribute to the <code>[attributes]</code> information item property of <em>R</em>;
+otherwise, add a <a href="#style-attribute-origin"><code>tts:origin</code></a> attribute with value <code>auto</code>
+to the <code>[attributes]</code> information item property of <em>R</em>;</p></li></ul></li><li><p>insert <em>R</em> into the <code>[children]</code> information item property of <em>B</em>
+such that <em>R</em> immediately precedes the first <a href="#terms-content-element">content element</a>
+child of <em>B</em>, or, if none is present, then <em>R</em> is the last child element of <em>B</em>;</p></li><li><p>remove the <a href="#style-attribute-extent"><code>tts:extent</code></a> and
+<a href="#style-attribute-origin"><code>tts:origin</code></a> style attributes, if present, from the
+<code>[attributes]</code> information item property of <em>B</em>;</p></li></ol></dd><dt class="label"><a id="procedure-generate-out-of-line-regions"></a>[generate out-of-line regions]</dt><dd><p>For each <a href="#terms-content-element">content element</a> <em>B</em>
+in the <a href="#element-vocab-group-table">Block.class</a> element group,
+perform the following ordered steps:</p><ol class="enumar"><li><p>if the <code>[attributes]</code> information item property of <em>B</em> contains a
+<a href="#layout-attribute-region"><code>region</code></a> attribute, then exit this procedure</p></li><li><p>if the <code>[children]</code> information item property of <em>B</em> does not contain
+a <a href="#layout-vocabulary-region"><code>region</code></a> element <em>R</em>, then exit this procedure;</p></li><li><p>create an empty <a href="#layout-vocabulary-region"><code>region</code></a> element <em>R'&nbsp;</em>,
+initialized as follows:</p><ul><li><p>set the <code>[children]</code> information item property of <em>R'&nbsp;</em> to a deep copy of
+the <code>[children]</code> information item property of <em>R</em>;</p></li><li><p>set the <code>[attributes]</code> information item property of <em>R'&nbsp;</em> to a deep copy of
+the <code>[attributes]</code> information item property of <em>R</em>;</p></li><li><p>if the <code>[attributes]</code> information item property of <em>R'&nbsp;</em> does not include
+an <code>xml:id</code> attribute, then add an implied <code>xml:id</code> attribute with a generated value
+<em>ID</em> that is unique within the scope of the TTML <a href="#terms-document-instance">document instance</a>;
+otherwise, let <em>ID</em> be the value of the <code>xml:id</code> attribute of <em>R'&nbsp;</em>;</p></li><li><p>if present, remove the following attributes from the <code>[attributes]</code> information item property of <em>R'&nbsp;</em>:
+<code>begin</code>,
+<code>dur</code>, and
+<code>end</code>;</p></li><li><p>add a <code>begin</code> attribute to the <code>[attributes]</code> information item property of <em>R'&nbsp;</em> with
+a value equivalent to the computed begin time of <em>B</em> within the root temporal extent;</p></li><li><p>add a <code>dur</code> attribute to the <code>[attributes]</code> information item property of <em>R'&nbsp;</em> with
+a value equivalent to the computed simple duration of <em>B</em>;</p></li></ul></li><li><p>if the TTML <a href="#terms-document-instance">document instance</a> does not have a
+<a href="#document-structure-vocabulary-head"><code>head</code></a> element, then insert an empty
+<a href="#document-structure-vocabulary-head"><code>head</code></a> element as the first child of
+the <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element;</p></li><li><p>if the <a href="#document-structure-vocabulary-head"><code>head</code></a> element does not have
+a <a href="#layout-vocabulary-layout"><code>layout</code></a> child element, then insert an empty
+<a href="#layout-vocabulary-layout"><code>layout</code></a> element immediately after a
+<a href="#styling-vocabulary-styling"><code>styling</code></a> element, if present, and immediately before an
+<a href="#animation-vocabulary-styling"><code>animation</code></a> element, if present, or as the last child of
+the <a href="#document-structure-vocabulary-head"><code>head</code></a> element if neither are present;</p></li><li><p>append <em>R'&nbsp;</em> to the <code>[children]</code> information item property of the
+<a href="#layout-vocabulary-layout"><code>layout</code></a> element child of the 
+<a href="#document-structure-vocabulary-head"><code>head</code></a> element;</p></li><li><p>add a <a href="#layout-attribute-region"><code>region</code></a> attribute with value <em>ID</em> to the <code>[attributes]</code> information
+item property of <em>B</em>;</p></li><li><p>remove <em>R</em> from the <code>[children]</code> information item property of <em>B</em>;</p></li></ol></dd></dl><p>The use of an <em>implied inline region specification</em> and the resulting generated inline region is shown by the following two example documents.</p><a id="semantics-inline-region-input-example-1-implied"></a><table class="example"><caption>Example – Implied Inline Region Specification</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"&gt;
+  &lt;head/&gt;
+  &lt;body&gt;
+    &lt;div <span class="strong">tts:extent="540px 100px" tts:origin="50px 339px"</span>&gt;
+      &lt;p&gt;Some Content&lt;/p&gt;
+    &lt;div/&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p></p><a id="semantics-generated-out-of-line-region-example-1-implied"></a><table class="example"><caption>Example – Generated Inline Region</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"&gt;
+  &lt;head/&gt;
+  &lt;body&gt;
+    &lt;div&gt;
+      <span class="strong">&lt;region tts:extent="540px 100px" tts:origin="50px 339px"/&gt;</span>
+      &lt;p&gt;Some Content&lt;/p&gt;
+    &lt;div/&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>The use of an <em>explicit inline region specification</em> or a generated inline region that derives from
+an <em>implicit inline region specification</em>
+and the resulting generated out-of-line region is shown by the following two example documents.</p><a id="semantics-inline-region-input-example-2-explicit"></a><table class="example"><caption>Example – Explicit or Generated Inline Region Specification</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"&gt;
+  &lt;head/&gt;
+  &lt;body&gt;
+    &lt;div begin="5s" dur="10s"&gt;
+      <span class="strong">&lt;region tts:extent="540px 100px" tts:origin="50px 339px"/&gt;</span>
+      &lt;p&gt;Some Content&lt;/p&gt;
+    &lt;div/&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p></p><a id="semantics-generated-out-of-line-region-example-2-explicit"></a><table class="example"><caption>Example – Generated Out-of-line Region</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"&gt;
+  &lt;head&gt;
+    <span class="strong">&lt;layout&gt;
+      &lt;region xml:id="region3451" begin="5s" dur="10s" tts:extent="540px 100px" tts:origin="50px 339px"/&gt;
+    &lt;/layout&gt;</span>
+  &lt;/head&gt;
+  &lt;body&gt;
+    &lt;div begin="5s" dur="10s" <span class="strong">region="region3451"</span>&gt;
+      &lt;p&gt;Some Content&lt;/p&gt;
+    &lt;div/&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
 <h4><a id="semantics-region-layout-step-1"></a>9.3.3 Intermediate Synchronic Document Construction</h4><p>For the purposes of performing presentation processing, the active time
 duration of a <a href="#terms-document-instance">document instance</a> is divided into a sequence of time coordinates where at
 each time coordinate, some element becomes temporally active or inactive,
@@ -4683,13 +4825,13 @@
 to an intermediate
 synchronic document form,
 <em>DOC<sub>inter</sub></em> , according to the
-<span class="strong">[construct intermediate document]</span> procedure:</p><dl><dt class="label">[construct intermediate document]</dt><dd><ol class="enumar"><li><p>for each temporally active region <em>R</em>, replicate the
+<span class="strong"><a href="#procedure-construct-intermediate-document">[construct intermediate document]</a></span> procedure:</p><dl><dt class="label"><a id="procedure-construct-intermediate-document"></a>[construct intermediate document]</dt><dd><ol class="enumar"><li><p>perform procedure <span class="strong"><a href="#procedure-process-inline-regions">[process inline regions]</a></span>;</p></li><li><p>for each temporally active region <em>R</em>, replicate the
 sub-tree
  of <em>DOC<sub>source</sub></em>
 headed by the <code>body</code> element;</p></li><li><p>evaluating this sub-tree in a postorder traversal, prune elements if they
 are not a <a href="#terms-content-element">content element</a>, if they are temporally inactive, if they are empty,
 or if they aren't associated with region <em>R</em> according to the
-<span class="strong">[associate region]</span> procedure;</p></li><li><p>if the pruned sub-tree is non-empty, then reparent it to the <em>R</em>
+<span class="strong"><a href="procedure-associate-region">[associate region]</a></span> procedure;</p></li><li><p>if the pruned sub-tree is non-empty, then reparent it to the <em>R</em>
 element;</p></li><li><p>finally, after completing the above steps, prune the original <code>body</code>
 element from the intermediate document, then prune all <code>region</code>,
 <code>begin</code>, <code>end</code>, and <code>dur</code> attributes, which are no
@@ -4698,7 +4840,7 @@
 which, in turn, implies that the descendants of the pruned element will no longer
 be descendants of the element's parent. When <em>prune</em> is used in
 reference to an attribute, it means that attribute is to be removed from its
-associated (owning) element node.</p></div></dd><dt class="label">[associate region]</dt><dd><p></p><table border="1" class="ednote" summary="Editorial note: Inline Region Association"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Inline Region Association</b></td><td align="right" valign="top">2013-08-28</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Define inline region association.</td></tr></table><p>A <a href="#terms-content-element">content element</a> is associated with a region according
+associated (owning) element node.</p></div></dd><dt class="label"><a id="procedure-associate-region"></a>[associate region]</dt><dd><p></p><table border="1" class="ednote" summary="Editorial note: Inline Region Association"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Inline Region Association</b></td><td align="right" valign="top">2013-08-28</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Define inline region association.</td></tr></table><p>A <a href="#terms-content-element">content element</a> is associated with a region according
 to the following ordered rules, where the first rule satisfied
 is used and remaining rules are skipped:</p><ol class="enumar"><li><p>if the element specifies a <a href="#layout-attribute-region"><code>region</code></a> attribute,
 then the element is associated with the region referenced by that
@@ -7490,7 +7632,7 @@
 <h2><a id="derivation"></a>J Vocabulary Derivation (Non-Normative)</h2><p>This appendix provides information about the derivation of TTML
 vocabulary, separately describing derivation of elements and
 attributes.</p><div class="div2">
-<h3><a id="d3e24469"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
+<h3><a id="d3e25156"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
 specifies a TTML element vocabulary item; the second column specifies the
 syntactic and/or semantic model on which the vocabulary item is based;
 the third column specifies the reference that defines
@@ -7547,7 +7689,7 @@
 and <code>@version</code> on the <code>svg:svg</code> element.</p></li><li><p>Conceptually derived from existing <code>tt:layout</code> element,
 which is a generic container for layout specifications, but for use
 in defining animation specifications that apply to targetted elements.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e24986"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
+<h3><a id="d3e25673"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
 specifies a TTML attribute vocabulary item; the second column specifies the
 syntactic and/or semantic model on which the vocabulary item is based;
 the third column specifies the reference that defines
@@ -7639,9 +7781,9 @@
 <h2><a id="qa"></a>K QA Framework Compliance (Non-Normative)</h2><p>This appendix specifies the compliance of this specification with the
 requirements and guidelines defined by <a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
 Framework Specifications Guidelines</a>&nbsp;<a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e25979"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+<h3><a id="d3e26666"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
 clause</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">Requirement 02: Define the scope.</a></td><td><a href="#intro">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement 03: Identify who or what will implement the specification.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement 04: Make a list of normative references.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">Requirement 05: Define the terms used in the normative parts of the specification.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">Requirement 06: Create conformance labels for each part of the conformance model.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">Requirement 07: Use a consistent style for conformance requirements and explain how to distinguish them.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">Requirement 08: Indicate which conformance requirements are mandatory, which are recommended, and which are optional.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">Requirement 09: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">Requirement 10: If the technology is subdivided, then address subdivision constraints.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">Requirement 11: Address Extensibility.</a></td><td><a href="#doctypes">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">Requirement 12: Identify deprecated features.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">Requirement 13: Define how each class of product handles each deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>1</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>No feature is deprecated by this version of this specification.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e26143"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
+<h3><a id="d3e26830"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
 specific clauses or sections are cited.</p></li><li><p>See also <a href="#derivation"><b>J Vocabulary Derivation</b></a>.</p></li><li><p>Test assertions and test suites will be provided prior to entering
 Proposed Recommendation (PR) phase.</p></li><li><p>See criterion #3 in <a href="#conformance-processor"><b>3.2 Processor Conformance</b></a> and definition of
 TTML <a href="#doctypes">Abstract Document Instance</a>.</p></li><li><p>No feature is deprecated or obsoleted by this version of this specification.</p></li></ol></div></div></div><div class="div1">