--- a/ttml2/spec/ttml2.html Wed Jan 14 19:16:11 2015 -0700
+++ b/ttml2/spec/ttml2.html Wed Jan 14 19:16:22 2015 -0700
@@ -83,9 +83,9 @@
.obsoleted { background-color: #f26d7d }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date$<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2015/01/15 02:16:11 $<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: 2015/01/15 02:16:11 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml2.html">ttml2.html</a>
</dd><dt>Latest version:</dt><dd><a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
<a href="http://www.w3.org/TR/2013/REC-ttml1-20130924/">http://www.w3.org/TR/2013/REC-ttml1-20130924/</a>
@@ -528,11 +528,11 @@
K <a href="#other-references">Other References</a> (Non-Normative)<br>
L <a href="#requirements">Requirements</a> (Non-Normative)<br>
M <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
- M.1 <a href="#d3e37607">Element Derivation</a><br>
- M.2 <a href="#d3e38124">Attribute Derivation</a><br>
+ M.1 <a href="#d3e37615">Element Derivation</a><br>
+ M.2 <a href="#d3e38132">Attribute Derivation</a><br>
N <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- N.1 <a href="#d3e39117">Requirements</a><br>
- N.2 <a href="#d3e39281">Guidelines</a><br>
+ N.1 <a href="#d3e39125">Requirements</a><br>
+ N.2 <a href="#d3e39289">Guidelines</a><br>
O <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
P <a href="#common-styling">Common Caption Style Examples</a> (Non-Normative)<br>
P.1 <a href="#pop-on-example">Pop-On Caption Example</a><br>
@@ -9727,8 +9727,7 @@
<a href="#isd-vocabulary-sequence"><code>isd:sequence</code></a> element as its root document element.</p><div class="div2">
<h3><a id="isd-vocabulary"></a>I.1 ISD Vocabulary</h3><div class="div3">
<h4><a id="isd-vocabulary-sequence"></a>I.1.1 isd:sequence</h4><p>The <code>isd:sequence</code> element serves as the root document element of an <a href="#terms-intermediate-synchronic-document-sequence">Intermediate
-Synchronic Document Sequence</a> document.</p><p>The <code>isd:sequence</code> element accepts as its children zero or more elements in the
-<a href="#element-vocab-group-metadata"><code>Metadata.class</code></a> element group,
+Synchronic Document Sequence</a> document.</p><p>The <code>isd:sequence</code> element accepts as its children zero or more <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a> elements,
followed by zero or one <a href="#profile-vocabulary-profile"><code>ttp:profile</code></a> element,
followed by zero or more <a href="#isd-vocabulary-isd"><code>isd:isd</code></a> elements.</p><p>Child <code>isd:isd</code> elements must be ordered in accordance to the media time equivalent of their
begin time; furthermore, the temporal intervals of any two child <a href="#isd-vocabulary-isd"><code>isd:isd</code></a> elements must not overlap (in time).</p><a id="elt-syntax-isd-sequence"></a><table class="syntax"><caption>XML Representation – Element Information Item: isd:sequence</caption><tbody><tr><td>
@@ -9739,7 +9738,7 @@
<a href="#content-attribute-xml-lang"><span class="reqattr">xml:lang</span></a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
{<em>any attribute in the <a href="#isd-parameter-attribute-set">ISD Parameter Attribute Set</a></em>}>
{<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-metadata">Metadata.class</a>*, <a href="#profile-vocabulary-profile">ttp:profile</a>?, <a href="#isd-vocabulary-isd">isd:isd</a>*
+ <em>Content:</em> <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a>*, <a href="#profile-vocabulary-profile">ttp:profile</a>?, <a href="#isd-vocabulary-isd">isd:isd</a>*
</isd:sequence>
</pre></div>
</td></tr></tbody></table><p>If the <code>size</code> attribute is specified, then it must be a non-negative integer corresponding to the number of
@@ -9764,8 +9763,7 @@
processor profile requirements that must be met in order to process the document (in the absence of an end-user override).</p></div></div><div class="div3">
<h4><a id="isd-vocabulary-isd"></a>I.1.2 isd:isd</h4><p>The <code>isd:isd</code> element serves either as (1) the root document element of a standalone <a href="#terms-intermediate-synchronic-document">Intermediate
Synchronic Document</a> or (2) as a child of an <a href="#isd-vocabulary-sequence"><code>isd:sequence</code></a> element of a
-<a href="#terms-intermediate-synchronic-document-sequence">Intermediate Synchronic Document Sequence</a> document.</p><p>The <code>isd:isd</code> element accepts as its children zero or more elements in the
-<a href="#element-vocab-group-metadata"><code>Metadata.class</code></a> element group,
+<a href="#terms-intermediate-synchronic-document-sequence">Intermediate Synchronic Document Sequence</a> document.</p><p>The <code>isd:isd</code> element accepts as its children zero or more <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a> elements,
followed by zero or one <a href="#profile-vocabulary-profile"><code>ttp:profile</code></a> element,
followed by zero or more <a href="#isd-vocabulary-css"><code>isd:css</code></a> elements,
followed by zero or more <a href="#isd-vocabulary-region"><code>isd:region</code></a> elements.</p><a id="elt-syntax-isd"></a><table class="syntax"><caption>XML Representation – Element Information Item: isd:isd</caption><tbody><tr><td>
@@ -9777,7 +9775,7 @@
<a href="#content-attribute-xml-lang">xml:lang</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
{<em>any attribute in the <a href="#isd-parameter-attribute-set">ISD Parameter Attribute Set</a></em>}>
{<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-metadata">Metadata.class</a>*, <a href="#profile-vocabulary-profile">ttp:profile</a>?, <a href="#isd-vocabulary-css">isd:css</a>*, <a href="#isd-vocabulary-region">isd:region</a>*
+ <em>Content:</em> <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a>*, <a href="#profile-vocabulary-profile">ttp:profile</a>?, <a href="#isd-vocabulary-css">isd:css</a>*, <a href="#isd-vocabulary-region">isd:region</a>*
</isd:isd>
</pre></div>
</td></tr></tbody></table><p>A <code>begin</code> attribute must be specified, the value of which must take the <em>offset-time</em> form of
@@ -9810,14 +9808,13 @@
<a href="#terms-intermediate-synchronic-document">Intermediate Synchronic Document</a>, the computed style
set of <em>E</em>, <em>CSS(E)</em>, is determined, and, if that <em>CSS(E)</em> is not already specified
by an existing <code>isd:css</code> element, then it is assigned a unique identifier and instantiated as a new
-<code>isd:css</code> element.</p><p>The <code>isd:css</code> element accepts as its children zero or more elements in the
-<a href="#element-vocab-group-metadata"><code>Metadata.class</code></a> element group.</p><a id="elt-syntax-isd-style"></a><table class="syntax"><caption>XML Representation – Element Information Item: isd:css</caption><tbody><tr><td>
+<code>isd:css</code> element.</p><p>The <code>isd:css</code> element accepts as its children zero or more <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a> elements.</p><a id="elt-syntax-isd-style"></a><table class="syntax"><caption>XML Representation – Element Information Item: isd:css</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<isd:css
<a href="#content-attribute-xml-id"><span class="reqattr">xml:id</span></a> = ID
{<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-metadata">Metadata.class</a>*
+ <em>Content:</em> <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a>*
</isd:css>
</pre></div>
</td></tr></tbody></table><p>For each arbitrary pair of <code>isd:css</code> child elements of an
@@ -9830,8 +9827,7 @@
and such tuples are compared component-wise by case-sensitive lexical string order.</p></div><div class="div3">
<h4><a id="isd-vocabulary-region"></a>I.1.4 isd:region</h4><p>The <code>isd:region</code> element is used to represent a layout and presentation region
and the content selected into that region, where that content takes the form of a
-<a href="#document-structure-vocabulary-body">body</a> element and its descendant TTML content elements.</p><p>The <code>isd:region</code> element accepts as its children zero or more elements in the
-<a href="#element-vocab-group-metadata"><code>Metadata.class</code></a> element group,
+<a href="#document-structure-vocabulary-body">body</a> element and its descendant TTML content elements.</p><p>The <code>isd:region</code> element accepts as its children zero or more <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a> elements,
followed by zero or more <a href="#animation-vocabulary-animate"><code>animate</code></a> elements,
followed by exactly one <a href="#document-structure-vocabulary-body"><code>body</code></a> element.</p><a id="elt-syntax-isd-region"></a><table class="syntax"><caption>XML Representation – Element Information Item: isd:region</caption><tbody><tr><td>
<div class="exampleInner"><pre>
@@ -9840,7 +9836,7 @@
<a href="#metadata-attribute-role">ttm:role</a> = <a href="http://www.w3.org/TR/xmlschema-2/#string">xsd:string</a>
<a href="#content-attribute-xml-id"><span class="reqattr">xml:id</span></a> = ID
{<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-metadata">Metadata.class</a>*, <a href="#animation-vocabulary-animate">animate</a>*, <a href="#document-structure-vocabulary-body">body</a>
+ <em>Content:</em> <a href="#metadata-vocabulary-metadata"><code>ttm:metadata</code></a>*, <a href="#animation-vocabulary-animate">animate</a>*, <a href="#document-structure-vocabulary-body">body</a>
</isd:region>
</pre></div>
</td></tr></tbody></table><p>If the computed style set of the region represented by the <code>isd:region</code> element is not the
@@ -9856,7 +9852,7 @@
<h3><a id="isd-parameter-attribute-set"></a>I.2 ISD Parameter Attribute Set</h3><p>The following subset of the defined <a href="#attribute-vocab-group-parameters">Parameter Attributes</a>
are available for use with an
<a href="#isd-vocabulary-sequence"><code>isd:sequence</code></a> or
-<a href="#isd-vocabulary-isd"><code>isd:isd</code></a> element as described above:</p><ul><li><p><a href="#parameter-attribute-cellResolution">ttp:cellResolution</a></p></li><li><p><a href="#parameter-attribute-frameRate">ttp:frameRate</a></p></li><li><p><a href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a></p></li><li><p><a href="#parameter-attribute-mediaOffset">ttp:mediaOffset</a></p></li><li><p><a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a></p></li><li><p><a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a></p></li><li><p><a href="#parameter-attribute-tickRate">ttp:tickRate</a></p></li></ul></div><div class="div2">
+<a href="#isd-vocabulary-isd"><code>isd:isd</code></a> element as described above:</p><ul><li><p><a href="#parameter-attribute-cellResolution">ttp:cellResolution</a></p></li><li><p><a href="#parameter-attribute-frameRate">ttp:frameRate</a></p></li><li><p><a href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a></p></li><li><p><a href="#parameter-attribute-mediaOffset">ttp:mediaOffset</a></p></li><li><p><a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a></p></li><li><p><a href="#parameter-attribute-storageAspectRatio">ttp:storageAspectRatio</a></p></li><li><p><a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a></p></li><li><p><a href="#parameter-attribute-tickRate">ttp:tickRate</a></p></li></ul></div><div class="div2">
<h3><a id="isd-interchange"></a>I.3 ISD Interchange</h3><p>A concrete document instance that employs the <a href="#isd">Intermediate Synchronic Document Syntax</a> must be
encoded as a well-formed <a href="#xml10">[XML 1.0]</a> document using the UTF-8 character encoding. Furthermore, such a document must specify
an <a href="#isd-vocabulary-sequence"><code>isd:sequence</code></a> element or
@@ -10094,7 +10090,7 @@
<h2><a id="derivation"></a>M Vocabulary Derivation (Non-Normative)</h2><p>This appendix provides information about the derivation of TTML
vocabulary, separately describing derivation of elements and
attributes.</p><table border="1" class="ednote" summary="Editorial note: Update Derivation"><tr class="ednote-r1"><td align="left" valign="top"><b>Editorial note: Update Derivation</b></td><td align="right" valign="top">2015-01-14</td></tr><tr class="ednote-r2"><td colspan="2" align="left" valign="top">Update derivation tables to include new vocabulary added in TTML2.</td></tr></table><div class="div2">
-<h3><a id="d3e37607"></a>M.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table M-1 – Elements</b></a>
+<h3><a id="d3e37615"></a>M.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table M-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
@@ -10151,7 +10147,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 targeted elements.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e38124"></a>M.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table M-2 – Attributes</b></a>
+<h3><a id="d3e38132"></a>M.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table M-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
@@ -10243,9 +10239,9 @@
<h2><a id="qa"></a>N 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="d3e39117"></a>N.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table N-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="d3e39125"></a>N.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table N-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="d3e39281"></a>N.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table N-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-profiling">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="d3e39289"></a>N.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table N-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-profiling">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>M 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">