--- a/ttml2/spec/ttml2.html Wed Aug 28 12:01:03 2013 -0600
+++ b/ttml2/spec/ttml2.html Wed Aug 28 12:01:51 2013 -0600
@@ -80,9 +80,9 @@
.strong { font-weight: bold }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date$<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2013/08/28 18:01:03 $<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$ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2013/08/28 18:01:03 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml2.html">ttml2.html</a>
</dd><dt>Latest version:</dt><dd><a href="http://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">http://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>
@@ -230,9 +230,10 @@
9.2.1 <a href="#layout-attribute-region">region</a><br>
9.3 <a href="#semantics-region-layout">Region Layout and Presentation</a><br>
9.3.1 <a href="#semantics-default-region">Default Region</a><br>
- 9.3.2 <a href="#semantics-region-layout-step-1">Intermediate Synchronic Document Construction</a><br>
- 9.3.3 <a href="#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
- 9.3.4 <a href="#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
+ 9.3.2 <a href="#semantics-inline-regions">Inline Regions</a><br>
+ 9.3.3 <a href="#semantics-region-layout-step-1">Intermediate Synchronic Document Construction</a><br>
+ 9.3.4 <a href="#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
+ 9.3.5 <a href="#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
9.4 <a href="#semantics-line-layout">Line Layout</a><br>
10 <a href="#timing">Timing</a><br>
10.1 <a href="#timing-element-vocabulary">Timing Element Vocabulary</a><br>
@@ -414,11 +415,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>
- J.1 <a href="#d3e20209">Element Derivation</a><br>
- J.2 <a href="#d3e20726">Attribute Derivation</a><br>
+ J.1 <a href="#d3e20428">Element Derivation</a><br>
+ J.2 <a href="#d3e20945">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e21706">Requirements</a><br>
- K.2 <a href="#d3e21870">Guidelines</a><br>
+ K.1 <a href="#d3e21925">Requirements</a><br>
+ K.2 <a href="#d3e22089">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>
@@ -637,7 +638,7 @@
the height of the <em>Root Container Region</em> by the row count, i.e., the number of cells in the vertical
axis, where the column and row counts are determined by the <code>ttp:cellResolution</code> parameter attribute.</p></dd><dt class="label">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">Content Profile</dt><dd><p>A collection of features and extensions that are (or may be) employed by
-Timed Text Markup Language content.</p><table border="1" class="ednote" summary="Editorial note: Content Profile"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Content Profile</b></td><td align="right" valign="top">2013-08-23</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to update and elaborate definition of content profile based on new profiling mechanisms.</td></tr></table></dd><dt class="label">Content Region</dt><dd><p>A logical region into which rendered content is placed when modeling or
+Timed Text Markup Language content.</p><table border="1" class="ednote" summary="Editorial note: Content Profile"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Content Profile</b></td><td align="right" valign="top">2013-08-23</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to update and elaborate definition of content profile based on new profiling mechanisms.</td></tr></table><p></p></dd><dt class="label">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">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
@@ -651,10 +652,28 @@
labeled (using a extension designation) in another (public or private)
specification.</p></dd><dt class="label">Feature</dt><dd><p>A syntactic or semantic expression or capability that is defined and
labeled (using a feature designation) in this specification (or a
-future revision of this specification).</p></dd><dt class="label">Presentation Processor</dt><dd><p>A <em>Content Processor</em> which purpose is to layout, format, and render,
+future revision of this specification).</p></dd><dt class="label">Inline Animation</dt><dd><p>An animation specification that is defined inline as an immediate child of
+a <a href="#element-vocab-type-content">Content</a> or region element targetted by the animation. There is a one-to-one relation between
+an inline animation element and its parent <a href="#element-vocab-type-content">Content</a> or region element.
+An inline animation does not specify an <code>xlink:href</code> attribute.</p></dd><dt class="label">Inline Region</dt><dd><p>A region specification that is defined inline as an immediate child of
+a <a href="#element-vocab-type-content">Content</a> element to be selected into (targetted to) the region.
+There is a one-to-one relation between an inline region element and its
+parent <a href="#element-vocab-type-content">Content</a> element. 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">Out-of-line Animation</dt><dd><p>An animation specification that is defined out-of-line from
+the <a href="#element-vocab-type-content">Content</a> or region element targetted by the animation. An out-of-line animation appears
+as a child of an <code>animation</code> element in the header (<code>head</code> element)
+of a <em>Document Instance</em>, and specifies an <code>xlink:href</code> attribute
+in order to associate it with an element to be animated. There is a one-to-one relation between
+an out-of-line animation element and a <a href="#element-vocab-type-content">Content</a> or region element.</p></dd><dt class="label">Out-of-line Region</dt><dd><p>A region specification that is defined out-of-line from
+the <a href="#element-vocab-type-content">Content</a> element(s) to be selected into (targetted to) the region. An out-of-line region appears
+as a child of a <code>layout</code> element in the header (<code>head</code> element)
+of a <em>Document Instance</em>, and specifies an <code>xml:id</code> attribute
+in order to allow <a href="#element-vocab-type-content">Content</a> elements 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
+and the <a href="#element-vocab-type-content">Content</a> element(s) to be selected into (targetted to) the region.</p></dd><dt class="label">Presentation Processor</dt><dd><p>A <em>Content Processor</em> which purpose is to layout, format, and render,
i.e., to present, <em>Timed Text Markup Language</em> content by applying the presentation semantics
defined in this specification.</p></dd><dt class="label">Processor</dt><dd><p>See <em>Content Processor</em>.</p></dd><dt class="label">Processor Profile</dt><dd><p>A collection of features and extensions that must or may be implemented (supported) by
-a content processor.</p><table border="1" class="ednote" summary="Editorial note: Processor Profile"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Processor Profile</b></td><td align="right" valign="top">2013-08-23</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to update and elaborate definition of processor profile based on new profiling mechanisms.</td></tr></table></dd><dt class="label">Profile Definition Document</dt><dd><p>A document that defines a specific collection of features and extensions
+a content processor.</p><table border="1" class="ednote" summary="Editorial note: Processor Profile"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Processor Profile</b></td><td align="right" valign="top">2013-08-23</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to update and elaborate definition of processor profile based on new profiling mechanisms.</td></tr></table><p></p></dd><dt class="label">Profile Definition Document</dt><dd><p>A document that defines a specific collection of features and extensions
for which support is required or optional in a recipient content
processor.</p></dd><dt class="label">Region</dt><dd><p>A logical construct that models authorial intention regarding
desired or potential presentation processing, and which is represented as
@@ -1920,8 +1939,6 @@
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 more <code>div</code> elements.</p><p>Any metadata specified by children in the <code>Metadata.class</code>
element group applies semantically to the <code>body</code> element and its descendants as a whole.</p><p>Any animation elements specified by children in the <code>Animation.class</code>
@@ -1940,7 +1957,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>}>
- <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="#content-vocabulary-div">div</a>*
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#content-vocabulary-div">div</a>*
</body>
</pre></div>
</td></tr></tbody></table><p>An author may specify a temporal interval for a <code>body</code> element using
@@ -2060,7 +2077,7 @@
implies that a <code>p</code> element constitutes a line break. In particular,
it is associated with a block-stacking constraint both before the first
generated line area and after the last generated line area. See
-<a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a> for further details.</p></div></div><div class="div3">
+<a href="#semantics-region-layout-step-2"><b>9.3.4 Synchronic Flow Processing</b></a> for further details.</p></div></div><div class="div3">
<h4><a id="content-vocabulary-span"></a>7.1.6 span</h4><p>The <code>span</code> element functions as a logical container and a temporal
structuring element for a sequence of textual content units having inline
level formatting semantics.</p><p>When presented on a visual medium, a <code>span</code> element is intended to
@@ -2142,7 +2159,7 @@
<a href="#xml10">[XML 1.0]</a>, §2.10, <em>White Space Handling</em>.</p><p>The <code>xml:space</code> attribute may be used with any element in
the core vocabulary catalog except parameter vocabulary.</p><p>The semantics of the value <code>default</code> are fixed to mean that
when performing presentation processing of a <em>Document Instance</em> as
-described by <a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a>,
+described by <a href="#semantics-region-layout-step-2"><b>9.3.4 Synchronic Flow Processing</b></a>,
processing must occur as
if the following properties were specified on the affected
elements of an equivalent intermediate XSL-FO document:</p><ul><li><p><code>suppress-at-line-break="auto"</code></p></li><li><p><code>linefeed-treatment="treat-as-space"</code></p></li><li><p><code>white-space-collapse="true"</code></p></li><li><p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p></li></ul><p>Similarly, the semantics of the value <code>preserve</code> are fixed to mean that
@@ -2223,8 +2240,7 @@
in order to provide a means to independently express styling of the four different borders (top, right, bottom, left). As currently specified, i.e., with only the
<code>tts:border</code> attribute, one can only express the four borders using the same color, style, and width.</td></tr></table><p>Unless explicitly stated otherwise, linear white-space (LWSP) must
appear between adjacent non-terminal components of a value of a TT
-Style or TT Style Extension
-Property value unless some other delimiter is permitted and used.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification makes use of <em>lowerCamelCased</em> local
+Style property value unless some other delimiter is permitted and used.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification makes use of <em>lowerCamelCased</em> local
names for style attributes that
are based upon like-named properties defined by <a href="#xsl11">[XSL 1.1]</a>.
This convention is likewise extended to token values of such
@@ -2739,7 +2755,7 @@
computed value of the style property must be considered to be the same
as 120% of the largest font size that applies to the element and its
descendant elements in the intermediate synchronic document as determined by
-<a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document Construction</b></a>.</p><p>If specified as a <a href="#style-value-length"><length></a>, then the length must
+<a href="#semantics-region-layout-step-1"><b>9.3.3 Intermediate Synchronic Document Construction</b></a>.</p><p>If specified as a <a href="#style-value-length"><length></a>, then the length must
be non-negative.</p><p>If a specified value of this attribute is not supported,
then a presentation processor must interpret the attribute as if the
value <code>normal</code> were specified.</p><p>The <code>tts:lineHeight</code> style is illustrated by the following example.</p><a id="style-attribute-lineHeight-example-1"></a><table class="example"><caption>Example Fragment – Line Height</caption><tbody><tr><td>
@@ -2787,7 +2803,7 @@
<a href="#content-vocabulary-p"><code>p</code></a>,
<a href="#layout-vocabulary-region"><code>region</code></a>,
<a href="#content-vocabulary-span"><code>span</code></a>
-</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:opacity</code> style is illustrated by the following example.</p><table border="1" class="ednote" summary="Editorial note: Enhance Opacity Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Enhance Opacity Example</b></td><td align="right" valign="top">2013-08-26</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Enhance opacity example to demonstrate opacity on content elements.</td></tr></table><a id="style-attribute-opacity-example-1"></a><table class="example"><caption>Example Fragment – Opacity</caption><tbody><tr><td>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:opacity</code> style is illustrated by the following example.</p><table border="1" class="ednote" summary="Editorial note: Enhance Opacity Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Enhance Opacity Example</b></td><td align="right" valign="top">2013-08-26</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Enhance opacity example to demonstrate opacity on content elements.</td></tr></table><p></p><a id="style-attribute-opacity-example-1"></a><table class="example"><caption>Example Fragment – Opacity</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<region xml:id="r1" dur="5s">
<set begin="0s" dur="1s" <span class="strong">tts:opacity="1.00"</span>/>
@@ -2941,7 +2957,7 @@
If four <a href="#style-value-length"><length></a> specifications are provided, then they apply to before, end,
after, and start edges, respectively.</p><p>The <a href="#style-value-length"><length></a> value(s) used to express padding must be non-negative.</p><p>If a specified value of this attribute is not supported,
then a presentation processor must interpret the attribute as if the
-value <code>0px</code> were specified.</p><p>The <code>tts:padding</code> style is illustrated by the following example.</p><table border="1" class="ednote" summary="Editorial note: Enhance Padding Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Enhance Padding Example</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Enhance padding example to demonstrate padding on content elements.</td></tr></table><a id="style-attribute-padding-example-1"></a><table class="example"><caption>Example Fragment – Padding</caption><tbody><tr><td>
+value <code>0px</code> were specified.</p><p>The <code>tts:padding</code> style is illustrated by the following example.</p><table border="1" class="ednote" summary="Editorial note: Enhance Padding Example"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Enhance Padding Example</b></td><td align="right" valign="top">2013-08-24</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Enhance padding example to demonstrate padding on content elements.</td></tr></table><p></p><a id="style-attribute-padding-example-1"></a><table class="example"><caption>Example Fragment – Padding</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<region xml:id="r1">
<style tts:extent="446px 104px"/>
@@ -3811,7 +3827,7 @@
using:
</p><ul><li><p><a href="#semantics-style-inheritance-content">content style inheritance</a></p></li><li><p><a href="#semantics-style-inheritance-content">region style inheritance</a></p></li></ul><p>For the purpose of determining inherited styles, the element hierarchy of
an intermediate synchronic document form of a <em>Document Instance</em> must be used, where
-such intermediate forms are defined by <a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document Construction</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The intermediate synchronic document form is utilized rather than
+such intermediate forms are defined by <a href="#semantics-region-layout-step-1"><b>9.3.3 Intermediate Synchronic Document Construction</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The intermediate synchronic document form is utilized rather than
the original form in order to facilitate region inheritance
processing.</p></div><div class="div4">
<h5><a id="semantics-style-inheritance-content"></a>8.4.2.1 Content Style Inheritance</h5><p>Style properties are inherited from ancestor <a href="#element-vocab-type-content">Content</a> elements
@@ -4076,7 +4092,7 @@
<h3><a id="layout-element-vocabulary"></a>9.1 Layout Element Vocabulary</h3><p>The following elements specify the structure and principal layout aspects of a
<em>Document Instance</em>:</p><ul><li><p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p></li><li><p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p></li></ul><div class="div3">
<h4><a id="layout-vocabulary-layout"></a>9.1.1 layout</h4><p>The <code>layout</code> element is a container element used to group
-layout matter, including metadata that applies to layout matter.</p><p>The <code>layout</code> element accepts as its children zero or more
+out-of-line layout matter, including metadata that applies to layout matter.</p><p>The <code>layout</code> element accepts as its children zero or more
elements in the <code>Metadata.class</code> element group, followed by
zero or more <code>region</code> elements.</p><a id="elt-syntax-layout"></a><table class="syntax"><caption>XML Representation – Element Information Item: layout</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -4092,7 +4108,12 @@
<code>layout</code> element, the implied time interval of this element is
defined to be coterminous with the <em>Root Temporal Extent</em>.</p></div><div class="div3">
<h4><a id="layout-vocabulary-region"></a>9.1.2 region</h4><p>The <code>region</code> element is used to define a rectangular space or area into which content is
-to be flowed for the purpose of presentation.</p><p>In addition, and in accordance with
+to be flowed for the purpose of presentation.</p><p>A <code>region</code> element may appear as either (1) a child of a
+<a href="#layout-vocabulary-layout">layout</a> element or (2) a child of block level
+<a href="#element-vocab-type-content">Content</a> elements, specifically, of elements
+in the <a href="#element-vocab-group-table">Block.class</a> element group.
+In the former case, the region is referred to as an <em>Out-of-line Region</em>, while in the latter
+case, it is referred to as an <em>Inline Region</em>.</p><p>In addition, and in accordance with
<a href="#semantics-style-inheritance-region"><b>8.4.2.2 Region Style Inheritance</b></a>,
the <code>region</code> element may be used to specify inheritable style properties to be
inherited by content that is flowed into it.</p><p>The <code>region</code> element accepts as its children zero or more
@@ -4124,27 +4145,35 @@
<em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#styling-vocabulary-style">style</a>*
</region>
</pre></div>
-</td></tr></tbody></table><p>If <code>begin</code> and (or) <code>end</code> attributes are specified on a
+</td></tr></tbody></table><p>An out-of-line region may specify one or more of the timing attributes:
+<code>begin</code>, <code>end</code>, <code>dur</code>. An inline region must not
+specifiy a timing attribute, and, if specified, must be ignored for the purpose
+of presentation processing.</p><p>If <code>begin</code> and (or) <code>end</code> attributes are specified on an out-of-line
<code>region</code> element, then they specify the beginning and (or) ending points
of a time interval during which the region is eligible for activation and with
respect to which animation child elements of the region are timed.
If specified, these begin and end points are relative to the time
interval of the nearest ancestor element associated with a time
-interval, irregardless of whether that interval is explicit or implied.</p><p>The nearest ancestor element of a <code>region</code> element that is associated
-with a time interval is the <code>layout</code> element.</p><p>If a <code>dur</code> attribute is specified on the <code>region</code> element, then it
-specifies the simple duration of the region.</p><p>For the purpose of determining the semantics of presentation processing, a
+interval, irregardless of whether that interval is explicit or implied.
+The nearest ancestor element of an out-of-line <code>region</code> element that is associated
+with a time interval is the <code>layout</code> element.
+If a <code>dur</code> attribute is specified on an out-of-line <code>region</code> element, then it
+specifies the simple duration of the region.</p><p>The active time interval of an inline <code>region</code> element is the
+active time interval of its parent <a href="#element-vocab-type-content">Content</a> element.</p><p>For the purpose of determining the semantics of presentation processing, a
region that is temporally inactive must not produce any visible marks when
-presented on a visual medium.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A <code>region</code> element may be associated with a time interval for two
+presented on a visual medium.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>An out-of-line <code>region</code> element may be associated with a time interval for two
purposes: (1) in order to temporally bound the presentation of the region and
its content, and (2) to provide a temporal context in which animations of region
-styles may be effected.</p><p>For example, an author may wish to specify a region that is otherwise empty, but
+styles may be effected.</p><p>For example, an author may wish to specify an out-of-line region that is otherwise empty, but
may have a visible background color to be presented starting at some time and
continuing over the region's duration. The simple duration of the region serves
additionally to scope the presentation effects of content that is targeted to the
region. An author may also wish to move a region within the <em>Root Container Region</em>
or change a region's background color by means of animation effects. In
both of these cases, it is necessary to posit an active time interval for a
-region.</p></div><p>If no <code>timeContainer</code> attribute is specified on
+region.</p><p>In contrast to out-of-line regions, inline regions are specifically bound to
+the temporal context of their parent <a href="#element-vocab-type-content">Content</a> elements,
+and, as such, do not require (or admit) the specification of independent timing.</p></div><p>If no <code>timeContainer</code> attribute is specified on
a <code>region</code> element, then it must be interpreted as having
<em>parallel</em> time containment semantics.</p><p>If a <a href="#metadata-attribute-role"><code>ttm:role</code></a> attribute is
specified on a <code>region</code> element, then it must adhere to the
@@ -4162,7 +4191,7 @@
flow in a region.</p></div></div></div><div class="div2">
<h3><a id="semantics-region-layout"></a>9.3 Region Layout and Presentation</h3><p>This section defines the semantics of region layout and
presentation in terms of a standard processing model as
-follows:</p><ul><li><p><a href="#semantics-default-region"><b>9.3.1 Default Region</b></a></p></li><li><p><a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document Construction</b></a></p></li><li><p><a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a></p></li><li><p><a href="#semantics-region-layout-example"><b>9.3.4 Elaborated Example (Informative)</b></a></p></li></ul><p>Any
+follows:</p><ul><li><p><a href="#semantics-default-region"><b>9.3.1 Default Region</b></a></p></li><li><p><a href="#semantics-inline-regions"><b>9.3.2 Inline Regions</b></a></p></li><li><p><a href="#semantics-region-layout-step-1"><b>9.3.3 Intermediate Synchronic Document Construction</b></a></p></li><li><p><a href="#semantics-region-layout-step-2"><b>9.3.4 Synchronic Flow Processing</b></a></p></li><li><p><a href="#semantics-region-layout-example"><b>9.3.5 Elaborated Example (Informative)</b></a></p></li></ul><p>Any
implementation is permitted provided that the externally observable
results are consistent with the results produced by this model.
</p><div class="div3">
@@ -4192,7 +4221,8 @@
</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-region-layout-step-1"></a>9.3.2 Intermediate Synchronic Document Construction</h4><p>For the purposes of performing presentation processing, the active time
+<h4><a id="semantics-inline-regions"></a>9.3.2 Inline Regions</h4><p><span class="tbd">To Be Defined</span></p></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 <em>Document Instance</em> is divided into a sequence of time coordinates where at
each time coordinate, some element becomes temporally active or inactive,
then, at each such time coordinate, a <em>Document Instance</em> is mapped from its original, source
@@ -4215,7 +4245,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>A <a href="#element-vocab-type-content">Content</a> element is associated with a region according
+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="#element-vocab-type-content">Content</a> element 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
@@ -4237,7 +4267,7 @@
then it is preferred that the implementation make the transition between
presenting the two instances as smooth as possible, e.g., as described
by <a href="#cea608e">[CEA-608-E]</a>, § C.3, and <a href="#ccreq">[CC-DECODER-REQ]</a>.</p></div></div><div class="div3">
-<h4><a id="semantics-region-layout-step-2"></a>9.3.3 Synchronic Flow Processing</h4><p>Subsequent to performing a temporal (synchronic) slice and subsequent
+<h4><a id="semantics-region-layout-step-2"></a>9.3.4 Synchronic Flow Processing</h4><p>Subsequent to performing a temporal (synchronic) slice and subsequent
remapping of regionally selected content hierarchy, the resulting intermediate
synchronic document is subjected to a flow transformation step that produces
a rooted flow object tree represented as an XSL FO document instance as defined by <a href="#xsl11">[XSL 1.1]</a>,
@@ -4246,7 +4276,7 @@
solely for the purpose of defining the normative presentation semantics of
TTML. An actual implementation of this algorithm is not required to create or process
XSL-FO representations. In particular, it is possible to implement these semantics
-using alternative presentation models, such as Cascading Style Sheets (CSS).</p></div><p>Each intermediate synchronic document produced by <a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document Construction</b></a> is mapped
+using alternative presentation models, such as Cascading Style Sheets (CSS).</p></div><p>Each intermediate synchronic document produced by <a href="#semantics-region-layout-step-1"><b>9.3.3 Intermediate Synchronic Document Construction</b></a> is mapped
to an XSL FO document instance, <em>F</em>, as follows:</p><ol class="enumar"><li><p>perform the following ordered sub-steps to create anonymous spans:</p><ol class="enumla"><li><p>for each significant text node in a <a href="#element-vocab-type-content">Content</a> element,
synthesize an anonymous span to enclose the text node, substituting
the new anonymous span for the original text node child in its sibling
@@ -4334,7 +4364,7 @@
to satisfy alignment in the block progression dimension. For example, this assures that
the background color associated with the <code>body</code> element, if not <code>transparent</code>,
will fill the containing region wholly.</p></div></div><div class="div3">
-<h4><a id="semantics-region-layout-example"></a>9.3.4 Elaborated Example (Informative)</h4><p>An example of the processing steps described above is elaborated below, starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source Document</b></a>.</p><a id="region-mapping-example-1-s"></a><table class="example"><caption>Example – Sample Source Document</caption><tbody><tr><td>
+<h4><a id="semantics-region-layout-example"></a>9.3.5 Elaborated Example (Informative)</h4><p>An example of the processing steps described above is elaborated below, starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source Document</b></a>.</p><a id="region-mapping-example-1-s"></a><table class="example"><caption>Example – Sample Source Document</caption><tbody><tr><td>
<div class="exampleInner"><pre><tt tts:extent="640px 480px" xml:lang="en"
xmlns="http://www.w3.org/ns/ttml"
xmlns:tts="http://www.w3.org/ns/ttml#styling">
@@ -4758,16 +4788,16 @@
<h3><a id="animation-element-vocabulary"></a>11.1 Animation Element Vocabulary</h3><p>The following elements specify the structure and principal animation aspects of a
<em>Document Instance</em>:</p><ul><li><p><a href="#animation-vocabulary-animation"><b>11.1.1 animation</b></a></p></li><li><p><a href="#animation-vocabulary-animate"><b>11.1.2 animate</b></a></p></li><li><p><a href="#animation-vocabulary-set"><b>11.1.3 set</b></a></p></li></ul><div class="div3">
<h4><a id="animation-vocabulary-animation"></a>11.1.1 animation</h4><p>The <code>animation</code> element is a container element used to group
-animation matter, including metadata that applies to animation matter.</p><p>The <code>animation</code> element accepts as its children zero or more
+out-of-line animation matter, including metadata that applies to animation matter.</p><p>The <code>animation</code> element accepts as its children zero or more
elements in the <code>Metadata.class</code> element group, followed by
-zero or more <code>animate</code> elements.</p><a id="elt-syntax-animation"></a><table class="syntax"><caption>XML Representation – Element Information Item: animation</caption><tbody><tr><td>
+zero or more elements in the <code>Animation.class</code> element group.</p><a id="elt-syntax-animation"></a><table class="syntax"><caption>XML Representation – Element Information Item: animation</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<animation
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = string
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
{<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#animation-vocabulary-animate">animate</a>*
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*
</animation>
</pre></div>
</td></tr></tbody></table><p>To the extent that time semantics apply to the content of the
@@ -4775,9 +4805,9 @@
defined to be coterminous with the <em>Root Temporal Extent</em>.</p></div><div class="div3">
<h4><a id="animation-vocabulary-animate"></a>11.1.2 animate</h4><p>The <code>animate</code> element expresses a series of changes (animations) to be applied to a targetted attribute
of a targetted element.</p><p>An <code>animate</code> element may appear as either (1) a child of a
-<a href="#element-vocab-type-content">Content</a> or <code>region</code> element or
-(2) a child of an <a href="#animation-vocabulary-animation">animation</a> element. In the former
-case, the targetted element of the animation is the parent of the <code>animate</code> element; in the latter
+<a href="#element-vocab-type-content">Content</a> or <code>region</code> element, referred to as inline animation, or
+(2) a child of an <a href="#animation-vocabulary-animation">animation</a> element, referred to as out-of-line animation.
+In the former case, the targetted element of the animation is the parent of the <code>animate</code> element; in the latter
case, the targetted element is the element referenced by the <code>xlink:href</code> attribute on the
<code>animate</code> element.</p><p>The targetted attribute (property) is specified by the <code>attributeName</code> attribute.</p><p>The <code>animate</code> element accepts as its children zero or more
elements in the <code>Metadata.class</code> element group.</p><a id="elt-syntax-animate"></a><table class="syntax"><caption>XML Representation – Element Information Item: animate</caption><tbody><tr><td>
@@ -4850,11 +4880,14 @@
interval. Opacity remains at 100% for five more seconds, and then is faded out to 0%
over a one second interval, where it remains.</p></div><p></p><table border="1" class="ednote" summary="Editorial note: Animate Example Images"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Animate Example Images</b></td><td align="right" valign="top">2013-08-25</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Insert animated SVG images of animate examples.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>animate</code> element
are based upon that defined by <a href="#svg11">[SVG 1.1]</a>,
-§ 6.2.12, which, in turn, is based upon <a href="#smil3">[SMIL 3.0]</a>, §12.</p></div></div><div class="div3">
-<h4><a id="animation-vocabulary-set"></a>11.1.3 set</h4><p>The <code>set</code> element is used as a child element of a
-<a href="#element-vocab-type-content">Content</a> element or a <code>region</code> element
-in order to express a discrete change of some style parameter value
-that applies over some time interval.</p><p>The <code>set</code> element accepts as its children zero or more
+§19.2.12, which, in turn, is based upon <a href="#smil3">[SMIL 3.0]</a>, §12.</p></div></div><div class="div3">
+<h4><a id="animation-vocabulary-set"></a>11.1.3 set</h4><p>The <code>set</code> element expresses one or more a discrete changes (animations) to be applied to targetted attributes
+of a targetted element.</p><p>A <code>set</code> element may appear as either (1) a child of a
+<a href="#element-vocab-type-content">Content</a> or <code>region</code> element, referred to as inline animation, or
+(2) a child of an <a href="#animation-vocabulary-animation">animation</a> element, referred to as out-of-line animation.
+In the former case, the targetted element of the animation is the parent of the <code>set</code> element; in the latter
+case, the targetted element is the element referenced by the <code>xlink:href</code> attribute on the
+<code>set</code> element.</p><p>The targetted attributes of a <code>set</code> element are specified using attributes in the TT Style namespace.</p><p>The <code>set</code> element accepts as its children zero or more
elements in the <code>Metadata.class</code> element group.</p><a id="elt-syntax-set"></a><table class="syntax"><caption>XML Representation – Element Information Item: set</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<set
@@ -4862,6 +4895,7 @@
<a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression"><timeExpression></a>
<a href="#style-attribute-style">style</a> = IDREFS
+ <a href="#content-attribute-id">xlink:href</a> = <a href="#animation-value-fragmentIdentifier"><fragmentIdentifier></a>
<a href="#content-attribute-id">xml:id</a> = ID
<a href="#content-attribute-lang">xml:lang</a> = string
<a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
@@ -4870,10 +4904,15 @@
<em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
</set>
</pre></div>
-</td></tr></tbody></table><p></p><table border="1" class="ednote" summary="Editorial note: Targeted Animation"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Targeted Animation</b></td><td align="right" valign="top">2013-07-10</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Consider adding <code>xlink:href</code> or <code>targetElement</code> attribute as a way to target another
-element than the immediate parent element. SVG uses xlink:href while SMIL uses either <code>xlink:href</code> or
-<code>targetElement</code>.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of multiple <code>set</code> element children may be used to effect fade and
-position transitions.</p></div><p>An example of using the <code>set</code> element to animate content
+</td></tr></tbody></table><p></p><p>Except for the constraints or variations enumerated below, the semantics of the <code>set</code> element and its attributes
+enumerated above are defined to be those specified by <a href="#svg11">[SVG 1.1]</a>, §19.2.13:</p><ol class="enumar"><li><p>The attributes targetted by a <code>set</code> element and the discrete values to be applied to these attributes are
+specified by direct use of attributes in the TT Style namespace (as opposed to using
+<code>attributeName</code> and <code>to</code> attributes). For example, specifying <code>tts:color="red"</code> is to be
+considered equivalent to specifying <code>attributeName="tts:color"</code> and <code>to="red"</code> in <a href="#svg11">[SVG 1.1]</a>.</p></li><li><p>If an <code>xlink:href</code> attribute is specified, then the <code>set</code> element must be a child of an
+<a href="#animation-vocabulary-animation">animation</a> element; conversely, if a <code>set</code> element is a child of
+an <a href="#animation-vocabulary-animation">animation</a> element, then it must specify an <code>xlink:href</code> attribute.</p></li></ol><div class="note"><p class="prefix"><b>Note:</b></p><p>In contrast with <a href="#svg11">[SVG 1.1]</a>, §19.2.13, a single <code>set</code> element, as defined here, may be used to
+perform discrete animations on a set of targetted attributes instead of being limited to targeting a single attribute.
+In <a href="#svg11">[SVG 1.1]</a>, this would require the use of multiple <code>set</code> elements rather than a single <code>set</code> element.</p></div><p>An example of using the <code>set</code> element to animate content
styling is illustrated below:</p><a id="animation-vocabulary-set-example-1"></a><table class="example"><caption>Example Fragment – Content Style Animation</caption><tbody><tr><td>
<div class="exampleInner"><pre>
...
@@ -4916,7 +4955,7 @@
create an effect of moving the region, which may be desirable so as
to avoid obscuring characters in an underlying video with captions.</p></div><p></p><table border="1" class="ednote" summary="Editorial note: Set Example Images"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Set Example Images</b></td><td align="right" valign="top">2013-08-25</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Insert animated SVG images of set examples.</td></tr></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>set</code> element
are based upon that defined by <a href="#svg11">[SVG 1.1]</a>,
-§ 6.2.13, which, in turn, is based upon <a href="#smil3">[SMIL 3.0]</a>, §12.</p></div></div></div><div class="div2">
+§19.2.13, which, in turn, is based upon <a href="#smil3">[SMIL 3.0]</a>, §12.</p></div></div></div><div class="div2">
<h3><a id="animation-attribute-vocabulary"></a>11.2 Animation Attribute Vocabulary</h3><p>No animation related attribute vocabulary is defined for use in the
core vocabulary catalog.</p></div><div class="div2">
<h3><a id="animation-value-expressions"></a>11.3 Animation Value Expressions</h3><p>Animation attribute values include the use of the following expressions:</p><ul><li><p><a href="#animation-value-accumulate"><b>11.3.1 <accumulate></b></a></p></li><li><p><a href="#animation-value-additive"><b>11.3.2 <additive></b></a></p></li><li><p><a href="#animation-value-animationValue"><b>11.3.3 <animationValue></b></a></p></li><li><p><a href="#animation-value-animationValueList"><b>11.3.4 <animationValueList></b></a></p></li><li><p><a href="#animation-value-calcMode"><b>11.3.5 <calcMode></b></a></p></li><li><p><a href="#animation-value-fill"><b>11.3.6 <fill></b></a></p></li><li><p><a href="#animation-value-fragmentIdentifier"><b>11.3.7 <fragmentIdentifier></b></a></p></li><li><p><a href="#animation-value-keySplines"><b>11.3.8 <keySplines></b></a></p></li><li><p><a href="#animation-value-keyTimes"><b>11.3.9 <keyTimes></b></a></p></li><li><p><a href="#animation-value-qualifiedName"><b>11.3.10 <qualifiedName></b></a></p></li><li><p><a href="#animation-value-repeatCount"><b>11.3.11 <repeatCount></b></a></p></li><li><p><a href="#animation-value-repeatDur"><b>11.3.12 <repeatDur></b></a></p></li></ul><div class="div3">
@@ -6963,7 +7002,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="d3e20209"></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="d3e20428"></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
@@ -7020,7 +7059,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="d3e20726"></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="d3e20945"></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
@@ -7112,9 +7151,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> <a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e21706"></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="d3e21925"></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="d3e21870"></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="d3e22089"></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">