--- a/ttml2/spec/ttml2.html Thu Sep 05 21:38:20 2013 -0600
+++ b/ttml2/spec/ttml2.html Thu Sep 05 21:38:32 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: 2013/09/06 02:31:56 $<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/09/06 03:38:20 $<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: 2013/09/06 02:31:56 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2013/09/06 03:38:20 $ @@ @@@@ @@@@</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>
@@ -140,10 +140,11 @@
6.2.6 <a href="#parameter-attribute-markerMode">ttp:markerMode</a><br>
6.2.7 <a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br>
6.2.8 <a href="#parameter-attribute-profile">ttp:profile</a><br>
- 6.2.9 <a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
- 6.2.10 <a href="#parameter-attribute-tickRate">ttp:tickRate</a><br>
- 6.2.11 <a href="#parameter-attribute-timeBase">ttp:timeBase</a><br>
- 6.2.12 <a href="#parameter-attribute-version">ttp:version</a><br>
+ 6.2.9 <a href="#parameter-attribute-profileCombination">ttp:profileCombination</a><br>
+ 6.2.10 <a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
+ 6.2.11 <a href="#parameter-attribute-tickRate">ttp:tickRate</a><br>
+ 6.2.12 <a href="#parameter-attribute-timeBase">ttp:timeBase</a><br>
+ 6.2.13 <a href="#parameter-attribute-version">ttp:version</a><br>
7 <a href="#content">Content</a><br>
7.1 <a href="#content-element-vocabulary">Content Element Vocabulary</a><br>
7.1.1 <a href="#document-structure-vocabulary-tt">tt</a><br>
@@ -417,11 +418,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="#d3e21750">Element Derivation</a><br>
- J.2 <a href="#d3e22267">Attribute Derivation</a><br>
+ J.1 <a href="#d3e21863">Element Derivation</a><br>
+ J.2 <a href="#d3e22380">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e23260">Requirements</a><br>
- K.2 <a href="#d3e23424">Guidelines</a><br>
+ K.1 <a href="#d3e23373">Requirements</a><br>
+ K.2 <a href="#d3e23537">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>
@@ -933,7 +934,7 @@
a <code>ttp:profile</code> element and a <code>ttp:profile</code>
attribute are present (in a given <a href="#terms-document-instance">document instance</a>), then the
<code>ttp:profile</code> attribute must be ignored for the purpose of
-determining the declared profile requirements.</p><p>If more than one <code>ttp:profile</code> element appears in
+determining the declared profile requirements.</p><table border="1" class="ednote" summary="Editorial note: Profile Combination Semantics"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Profile Combination Semantics</b></td><td align="right" valign="top">2013-09-05</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to incorporate affects of <code>ttp:profileCombination</code> parameter into the following paragraph.</td></tr></table><p>If more than one <code>ttp:profile</code> element appears in
a <a href="#terms-document-instance">document instance</a>, then all specified profiles apply
simultaneously. In such a case, if some feature or some extension is
specified by one profile to be <code>used</code> (mandatory and enabled) and by
@@ -1135,6 +1136,7 @@
<a href="#parameter-attribute-markerMode">ttp:markerMode</a>,
<a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
<a href="#parameter-attribute-profile">ttp:profile</a>,
+<a href="#parameter-attribute-cellResolution">ttp:profileCombination</a>,
<a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a>,
<a href="#parameter-attribute-tickRate">ttp:tickRate</a>,
<a href="#parameter-attribute-timeBase">ttp:timeBase</a>,
@@ -1280,7 +1282,7 @@
baseline profile of the specifying <code>ttp:profile</code> element.</p><p>If the <code>use</code> attribute is not specified, then the baseline
profile of the <code>ttp:profile</code> element must be considered to be
the empty (null) profile, i.e., a profile definition containing no
-feature or extension specifications.</p><p>The collection of features and extensions of a profile are determined according
+feature or extension specifications.</p><table border="1" class="ednote" summary="Editorial note: Combine Semantics"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Combine Semantics</b></td><td align="right" valign="top">2013-09-05</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Need to incorporate affects of <code>combine</code> attribute into following rules.</td></tr></table><p>The collection of features and extensions of a profile are determined according
to the following ordered rules:</p><ol class="enumar"><li><p>initialize the features and extensions of the profile to the empty
set;</p></li><li><p>if a <code>use</code> attribute is present, then augment the profile
with the set of features and extensions specified by the referenced
@@ -1548,7 +1550,7 @@
defined in a third party namespace.</p><p>The effect of this example is to express authorial intentions that
a recipient processor must support the TTML transformation profile and
must also support and enable an extension defined by a third party.</p></div></div></div><div class="div2">
-<h3><a id="parameter-attribute-vocabulary"></a>6.2 Parameter Attribute Vocabulary</h3><p>The following attributes are defined in the TT Parameter Namespace.</p><ul><li><p><a href="#parameter-attribute-cellResolution"><b>6.2.1 ttp:cellResolution</b></a></p></li><li><p><a href="#parameter-attribute-clockMode"><b>6.2.2 ttp:clockMode</b></a></p></li><li><p><a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a></p></li><li><p><a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a></p></li><li><p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5 ttp:frameRateMultiplier</b></a></p></li><li><p><a href="#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a></p></li><li><p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7 ttp:pixelAspectRatio</b></a></p></li><li><p><a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a></p></li><li><p><a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a></p></li><li><p><a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a></p></li><li><p><a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a></p></li></ul><p>Unless explicitly stated otherwise, linear white-space (LWSP) must
+<h3><a id="parameter-attribute-vocabulary"></a>6.2 Parameter Attribute Vocabulary</h3><p>The following attributes are defined in the TT Parameter Namespace.</p><ul><li><p><a href="#parameter-attribute-cellResolution"><b>6.2.1 ttp:cellResolution</b></a></p></li><li><p><a href="#parameter-attribute-clockMode"><b>6.2.2 ttp:clockMode</b></a></p></li><li><p><a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a></p></li><li><p><a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a></p></li><li><p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5 ttp:frameRateMultiplier</b></a></p></li><li><p><a href="#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a></p></li><li><p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7 ttp:pixelAspectRatio</b></a></p></li><li><p><a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a></p></li><li><p><a href="#parameter-attribute-subFrameRate"><b>6.2.10 ttp:subFrameRate</b></a></p></li><li><p><a href="#parameter-attribute-tickRate"><b>6.2.11 ttp:tickRate</b></a></p></li><li><p><a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a></p></li></ul><p>Unless explicitly stated otherwise, linear white-space (LWSP) must
appear between adjacent non-terminal components of a TT Parameter value
unless some other delimiter is permitted and used.</p><div class="div3">
<h4><a id="parameter-attribute-cellResolution"></a>6.2.1 ttp:cellResolution</h4><p>The <code>ttp:cellResolution</code> attribute may be used by an author
@@ -1579,7 +1581,7 @@
before and after padding will be (480 / 10) * 0.1 pixels.</p></div></div><div class="div3">
<h4><a id="parameter-attribute-clockMode"></a>6.2.2 ttp:clockMode</h4><p>The <code>ttp:clockMode</code> attribute is used to specify the
interpretation of time expressions as real-time time coordinates when
-operating with time base of <code>clock</code> as defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value Expressions</b></a> for the
+operating with time base of <code>clock</code> as defined by <a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value Expressions</b></a> for the
specification of time expression syntax and semantics.</p></div><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-clockMode-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:clockMode</caption><tbody><tr><td>
<div class="exampleInner"><pre>
ttp:clockMode
@@ -1587,7 +1589,7 @@
| "gps"
| "utc"
</pre></div>
-</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>, is designated as
<code>clock</code>, then this parameter applies as follows: if the
parameter's value is <code>local</code>, then time expressions are
interpreted as local wall-clock time coordinates;
@@ -1610,14 +1612,14 @@
constraints on the interpretation and use of frame counts
that correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates when operating
with time base of <code>smpte</code> as defined by
-<a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-dropMode-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:dropMode</caption><tbody><tr><td>
+<a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-dropMode-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:dropMode</caption><tbody><tr><td>
<div class="exampleInner"><pre>
ttp:dropMode
: "dropNTSC"
| "dropPAL"
| "nonDrop"
</pre></div>
-</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>, is designated as
<code>smpte</code>, then this parameter applies as follows: if the
parameter's value is <code>nonDrop</code>, then, within any given
second of a time expression, frames count from 0 to
@@ -1711,13 +1713,13 @@
constraints on the interpretation and use of time expressions
that correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates when operating
with time base of <code>smpte</code> as defined by
-<a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-markerMode-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:markerMode</caption><tbody><tr><td>
+<a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-markerMode-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:markerMode</caption><tbody><tr><td>
<div class="exampleInner"><pre>
ttp:markerMode
: "continuous"
| "discontinuous"
</pre></div>
-</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a>, is designated as
<code>smpte</code>, then this parameter applies as follows: if the
parameter's value is <code>continuous</code>, then <a href="#smpte12m">[SMPTE 12M]</a> time coordinates
may be assumed to be linear and either monotonically increasing or
@@ -1803,7 +1805,27 @@
<a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p><p>A <code>ttp:profile</code>
attribute is considered to be significant only when specified on the
<code>tt</code> element.</p></div><div class="div3">
-<h4><a id="parameter-attribute-subFrameRate"></a>6.2.9 ttp:subFrameRate</h4><p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame rate of a related
+<h4><a id="parameter-attribute-profileCombination"></a>6.2.9 ttp:profileCombination</h4><p>The <code>ttp:profileCombination</code> attribute is used to specify the
+method for combining multiple profiles.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-profileCombination-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:profileCombination</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:profileCombination
+ : "leastRestrictive"
+ | "mostRestrictive"
+ | "replace"
+</pre></div>
+</td></tr></tbody></table><p>If this parameter's value is <code>leastRestrictive</code> or <code>mostRestrictive</code>,
+then, when combining features or extensions from any two profiles, the least or most restrictive value applies,
+respectively, where the order of restriction is as follows (from most to least): <code>prohibited</code>,
+<code>use</code>, <code>required</code>, then <code>optional</code>.</p><p>If this parameter's value is <code>replace</code>, then, when combining features or extensions from any two
+profiles, the lexically subsequent profile's feature or extension specification applies, i.e., replaces the
+lexically prior specification.</p><p>A <code>ttp:profileCombination</code> attribute is considered to be significant only
+when specified on the <code>tt</code> or <code>ttp:profile</code> elements.</p><p>When specified on the <code>tt</code> element, it determines how multiple top-level (or nested) profile definitions are
+combined. When specified on an <code>ttp:profile</code> element, it determines how multiple, nested profile definition
+children of that <code>ttp:profile</code> element are combined.</p><p>If not specified on a given <code>ttp:profile</code> element, then, if specified on an ancestor
+<code>ttp:profile</code> or <code>tt</code> element, then the value specified by the most immediate
+of these ancestors applies. However, if no value is specified by an ancestor <code>ttp:profile</code> or <code>tt</code> element,
+then the value of this parameter must be considered to be <code>replace</code>.</p></div><div class="div3">
+<h4><a id="parameter-attribute-subFrameRate"></a>6.2.10 ttp:subFrameRate</h4><p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame rate of a related
media object or the intrinsic sub-frame rate of a <a href="#terms-document-instance">document instance</a> in case it is intended
to function as an independent media object.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-subFrameRate-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:subFrameRate</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -1822,7 +1844,7 @@
equal to one (1). If specified, then the sub-frame rate must be greater than zero (0).</p><p>A <code>ttp:subFrameRate</code> attribute is considered to be significant only
when specified on the <code>tt</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The sub-frame is sometimes referred to as a <em>field</em> in
the context of synchronization with an interlaced video media object.</p></div></div><div class="div3">
-<h4><a id="parameter-attribute-tickRate"></a>6.2.10 ttp:tickRate</h4><p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of a related
+<h4><a id="parameter-attribute-tickRate"></a>6.2.11 ttp:tickRate</h4><p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of a related
media object or the intrinsic tick rate of content of a <a href="#terms-document-instance">document instance</a> in case it is intended
to function as an independent media object.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-tickRate-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:tickRate</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -1847,7 +1869,7 @@
use of fixed point arithmetic rather than fractional (and potentially
inexact) expressions of seconds.</p></div><p>A <code>ttp:tickRate</code> attribute is considered to be significant only
when specified on the <code>tt</code> element.</p></div><div class="div3">
-<h4><a id="parameter-attribute-timeBase"></a>6.2.11 ttp:timeBase</h4><p>The <code>ttp:timeBase</code> attribute is used to specify the
+<h4><a id="parameter-attribute-timeBase"></a>6.2.12 ttp:timeBase</h4><p>The <code>ttp:timeBase</code> attribute is used to specify the
temporal coordinate system by means of which time expressions are
interpreted in a <a href="#terms-document-instance">document instance</a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-timeBase-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:timeBase</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -1893,7 +1915,7 @@
given <a href="#terms-document-instance">document instance</a>, the interpretation of time expressions
is uniform throughout the <a href="#terms-document-instance">document instance</a>.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#time-expression-semantics"><b>N Time Expression Semantics</b></a> for further details
on the interpretation of time expressions according to the designated time base.</p></div></div><div class="div3">
-<h4><a id="parameter-attribute-version"></a>6.2.12 ttp:version</h4><p>The <code>ttp:version</code> attribute is used to specify which version of the
+<h4><a id="parameter-attribute-version"></a>6.2.13 ttp:version</h4><p>The <code>ttp:version</code> attribute is used to specify which version of the
<a href="#terms-timed-text-markup-language">Timed Text Markup Language</a>
specification was used in authoring a TTML <a href="#terms-document-instance">document instance</a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><a id="parameter-attribute-version-syntax"></a><table class="syntax"><caption>Syntax Representation – ttp:version</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -4739,9 +4761,9 @@
<code>ttp:timeBase</code> parameter, and where the semantics defined
by <a href="#time-expression-semantics"><b>N Time Expression Semantics</b></a> apply.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See
<a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a>,
-<a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a>,
-<a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a>, and
-<a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a> for further information on
+<a href="#parameter-attribute-subFrameRate"><b>6.2.10 ttp:subFrameRate</b></a>,
+<a href="#parameter-attribute-tickRate"><b>6.2.11 ttp:tickRate</b></a>, and
+<a href="#parameter-attribute-timeBase"><b>6.2.12 ttp:timeBase</b></a> for further information on
explicit specification of frame rate, sub-frame rate, tick rate, and time base.</p></div><a id="timeExpression-syntax"></a><table class="syntax"><caption>Syntax Representation – <timeExpression></caption><tbody><tr><td>
<div class="exampleInner"><pre>
<timeExpression>
@@ -4797,7 +4819,7 @@
<em>clock-time</em> and a <em>sub-frames</em> term is
specified, then the value of this term must be constrained to the
interval [0…<em>S-1</em>], where <em>S</em> is the
-sub-frame rate determined by the <code>ttp:subFrameRate</code> parameter as defined by <a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a>.
+sub-frame rate determined by the <code>ttp:subFrameRate</code> parameter as defined by <a href="#parameter-attribute-subFrameRate"><b>6.2.10 ttp:subFrameRate</b></a>.
It is considered an error if a <em>sub-frames</em> term is specified
when the <code>clock</code> time base applies.</p></div></div><div class="div2">
<h3><a id="timing-time-intervals"></a>10.4 Time Intervals</h3><p>The semantics of time containment, durations, and intervals defined by
@@ -7075,7 +7097,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="d3e21750"></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="d3e21863"></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
@@ -7132,7 +7154,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="d3e22267"></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="d3e22380"></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
@@ -7224,9 +7246,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="d3e23260"></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="d3e23373"></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="d3e23424"></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="d3e23537"></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">