--- a/ttml2/spec/ttml2.html Thu Jul 10 09:05:04 2014 -0600
+++ b/ttml2/spec/ttml2.html Thu Jul 10 09:05:34 2014 -0600
@@ -82,9 +82,9 @@
.obsoleted { background-color: #f26d7d }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/07/09 15:32:03 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="https://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2014/07/10 15:05:04 $<div id="revisions"></div><div class="head">
<h1><a id="title"></a>Timed Text Markup Language 2 (TTML2)</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/07/09 15:32:03 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/07/10 15:05:04 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml2.html">ttml2.html</a>
</dd><dt>Latest version:</dt><dd><a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml2/spec/ttml2.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
<a href="http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/</a>
@@ -437,11 +437,11 @@
H <a href="#other-references">Other References</a> (Non-Normative)<br>
I <a href="#requirements">Requirements</a> (Non-Normative)<br>
J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
- J.1 <a href="#d3e25156">Element Derivation</a><br>
- J.2 <a href="#d3e25673">Attribute Derivation</a><br>
+ J.1 <a href="#d3e25166">Element Derivation</a><br>
+ J.2 <a href="#d3e25683">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e26666">Requirements</a><br>
- K.2 <a href="#d3e26830">Guidelines</a><br>
+ K.1 <a href="#d3e26676">Requirements</a><br>
+ K.2 <a href="#d3e26840">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>
@@ -1129,28 +1129,28 @@
of the profile designated by this attribute;
</p></li><li><p>otherwise, the <a href="#terms-effective-processor-profile">effective processor profile</a> is the
result of performing the <a href="#semantics-procedure-construct-inferred-processor-profile"><span class="strong">construct inferred processor profile</span></a>
-procedure;</p></li></ol></dd><dt class="label"><a id="semantics-procedure-construct-inferred-processor-profile"></a>[construct inferred processor profile]</dt><dd><ol class="enumar"><li><p>set <em>ECP</em> to the <a href="#terms-effective-content-profile">effective content profile</a>;</p></li><li><p>if <em>ECP</em> is not <code>null</code>, then perform the following steps:</p><ol class="enumla"><li><p>if the computed value of the <code>ttp:inferProcessorProfileSource</code> attribute is <code>combine</code>, then
+procedure;</p></li></ol></dd><dt class="label"><a id="semantics-procedure-construct-inferred-processor-profile"></a>[construct inferred processor profile]</dt><dd><ol class="enumar"><li><p>set <em>ECP</em> to the <a href="#terms-effective-content-profile">effective content profile</a>;</p></li><li><p>if <em>ECP</em> is not <code>null</code>, then perform the following steps:</p><ol class="enumla"><li><p>if the computed value of the <code>ttp:inferProcessorProfileSource</code> parameter is <code>combine</code>, then
the <a href="#terms-inferred-processor-profile">inferred processor profile</a> is the result of applying the
<a href="#semantics-procedure-infer-processor-profile"><span class="strong">infer processor profile</span></a> function
-to the combined profile specification set of <em>ECP</em>;</p></li><li><p>otherwise, if the computed value of the <code>ttp:inferProcessorProfileSource</code> attribute is <code>first</code>, then
+to the combined profile specification set of <em>ECP</em>;</p></li><li><p>otherwise, if the computed value of the <code>ttp:inferProcessorProfileSource</code> parameter is <code>first</code>, then
the <a href="#terms-inferred-processor-profile">inferred processor profile</a> is the first inferred processor profile, <em>IPP</em>, produced by applying the
<a href="#semantics-procedure-infer-processor-profile"><span class="strong">infer processor profile</span></a> function
to the combined profile specification set of each constituent of <em>ECP</em> such that
<em>IPP</em> is supported by the <a href="#terms-content-processor">content processor</a>;</p></li></ol></li><li><p>otherwise, the <a href="#terms-inferred-processor-profile">inferred processor profile</a> is the
result of performing the <a href="#semantics-procedure-construct-default-processor-profile"><span class="strong">construct default processor profile</span></a>
procedure;</p></li></ol></dd><dt class="label"><a id="semantics-procedure-infer-processor-profile"></a>[infer processor profile](content profile <em>CP</em>)</dt><dd><ol class="enumar"><li><p>initialize inferred processor profile <em>IPP</em> to the empty combined profile specification set;</p></li><li><p>for each profile specification, <em>S</em>, in the combined profile specification set of content profile <em>CP</em>:</p><ol class="enumla"><li><p>map content profile specification <em>S</em> to processor profile specification <em>S' </em> according to the computed
-value of the <code>ttp:inferPresentationProfileMethod</code> attribute and <a href="#infer-processor-profile-method-table"><b>Table 6-2 – Infer Processor Profile Method</b></a>;</p></li><li><p>add <em>S' </em> to the combined profile specification set of <em>IPP</em>;</p></li></ol></li><li><p>return <em>IPP</em> as the inferred processor profile;</p></li></ol></dd><dt class="label"><a id="semantics-procedure-construct-default-processor-profile"></a>[construct default processor profile]</dt><dd><ol class="enumar"><li><p>if the <a href="#terms-document-interchange-context">document interchange context</a> is associated with a
+value of the <code>ttp:inferPresentationProfileMethod</code> parameter and <a href="#infer-processor-profile-method-table"><b>Table 6-2 – Infer Processor Profile Method</b></a>;</p></li><li><p>add <em>S' </em> to the combined profile specification set of <em>IPP</em>;</p></li></ol></li><li><p>return <em>IPP</em> as the inferred processor profile;</p></li></ol></dd><dt class="label"><a id="semantics-procedure-construct-default-processor-profile"></a>[construct default processor profile]</dt><dd><ol class="enumar"><li><p>if the <a href="#terms-document-interchange-context">document interchange context</a> is associated with a
<a href="#terms-processor-profile">processor profile</a> or with a <a href="#terms-content-profile">content profile</a>
from which a <a href="#terms-processor-profile">processor profile</a> can be inferred, then the
<a href="#terms-default-processor-profile">default processor profile</a> is that <a href="#terms-processor-profile">processor profile</a>;</p></li><li><p>otherwise, if the <a href="#terms-content-processor">content processor</a> is primarily characterized as a
<a href="#terms-presentation-processor">presentation processor</a>, then:</p><ol class="enumla"><li><p>if the <a href="#parameter-attribute-version"><code>ttp:version</code></a> is not specified on the root <code>tt</code> element or
-if its computed value is <code>1</code> (one), then the <a href="#terms-default-processor-profile">default processor profile</a> is
+if its computed value of this parameter is <code>1</code> (one), then the <a href="#terms-default-processor-profile">default processor profile</a> is
the <a href="#semantics-profile-state-profile">profile</a> constructed by interning the DFXP Presentation profile
(<code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code>);</p></li><li><p>otherwise, the <a href="#terms-default-processor-profile">default processor profile</a> is
the <a href="#semantics-profile-state-profile">profile</a> constructed by interning the TTML2 Presentation profile
(<code>http://www.w3.org/ns/ttml/profile/ttml2-presentation</code>);</p></li></ol></li><li><p>otherwise, if the <a href="#terms-content-processor">content processor</a> is primarily characterized as a
<a href="#terms-transformation-processor">transformation processor</a>, then:</p><ol class="enumla"><li><p>if the <a href="#parameter-attribute-version"><code>ttp:version</code></a> is not specified on the root <code>tt</code> element or
-if its computed value is <code>1</code> (one), then the <a href="#terms-default-processor-profile">default processor profile</a> is
+if its computed value of this parameter is <code>1</code> (one), then the <a href="#terms-default-processor-profile">default processor profile</a> is
the <a href="#semantics-profile-state-profile">profile</a> constructed by interning the DFXP Transformation profile
(<code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code>);</p></li><li><p>otherwise, the <a href="#terms-default-processor-profile">default processor profile</a> is
the <a href="#semantics-profile-state-profile">profile</a> constructed by interning the TTML2 Transformation profile
@@ -1546,16 +1546,16 @@
</p></li><li><p>if the value is <code>required</code>, then perform the following steps:</p><ol class="enumar"><li><p>if the feature is implemented or otherwise supported by a processor, then continue processing
the document;</p></li><li><p>otherwise, if
(1) the <code>extends</code> attribute is specified on the root <code>tt</code> element,
-(2) the computed value of the <code>extends</code> attribute designates a feature that is implemented or otherwise supported by
+(2) the value of the <code>extends</code> attribute designates a feature that is implemented or otherwise supported by
a processor, and
(3) the computed value of the <a href="#parameter-attribute-permitFeatureNarrowing"><code>ttp:permitFeatureNarrowing</code></a>
-parameter attribute of the root <code>tt</code> element is not <code>false</code>,
+parameter property of the root <code>tt</code> element is not <code>false</code>,
then continue processing the document;</p></li><li><p>otherwise, if
(1) the <code>restricts</code> attribute is specified on the root <code>tt</code> element,
-(2) the computed value of the <code>restricts</code> attribute designates a feature that is implemented or otherwise supported by
+(2) the value of the <code>restricts</code> attribute designates a feature that is implemented or otherwise supported by
a processor, and
(3) the computed value of the <a href="#parameter-attribute-permitFeatureWidening"><code>ttp:permitFeatureWidening</code></a>
-parameter attribute of the root <code>tt</code> element is not <code>false</code>,
+parameter property of the root <code>tt</code> element is not <code>false</code>,
then continue processing the document;</p></li><li><p>otherwise, abort processing the document unless overridden by the end-user or some implementation specific parameter
traceable to an end-user or to a user or system configuration setting.</p></li></ol></li><li><p>
if the value attribute is not specified, then the feature specification
@@ -1681,16 +1681,16 @@
</p></li><li><p>if the value is <code>required</code>, then perform the following steps:</p><ol class="enumar"><li><p>if the extension is implemented or otherwise supported by a processor, then continue processing
the document;</p></li><li><p>otherwise, if
(1) the <code>extends</code> attribute is specified on the root <code>tt</code> element,
-(2) the computed value of the <code>extends</code> attribute designates an extension that is implemented or otherwise supported by
+(2) the value of the <code>extends</code> attribute designates an extension that is implemented or otherwise supported by
a processor, and
(3) the computed value of the <a href="#parameter-attribute-permitFeatureNarrowing"><code>ttp:permitFeatureNarrowing</code></a>
-parameter attribute of the root <code>tt</code> element is not <code>false</code>,
+parameter property of the root <code>tt</code> element is not <code>false</code>,
then continue processing the document;</p></li><li><p>otherwise, if
(1) the <code>restricts</code> attribute is specified on the root <code>tt</code> element,
-(2) the computed value of the <code>restricts</code> attribute designates an extension that is implemented or otherwise supported by
+(2) the value of the <code>restricts</code> attribute designates an extension that is implemented or otherwise supported by
a processor, and
(3) the computed value of the <a href="#parameter-attribute-permitFeatureWidening"><code>ttp:permitFeatureWidening</code></a>
-parameter attribute of the root <code>tt</code> element is not <code>false</code>,
+parameter property of the root <code>tt</code> element is not <code>false</code>,
then continue processing the document;</p></li><li><p>otherwise, abort processing the document unless overridden by the end-user or some implementation specific parameter
traceable to an end-user or to a user or system configuration setting.</p></li></ol></li><li><p>
if the value attribute is not specified, then the extension specification
@@ -2246,7 +2246,7 @@
other types of processing, e.g., presentation or transformation processing.</p><p>If this parameter's value is <code>required</code>, then, a <a href="#terms-validating-content-processor">validating content processor</a>
must perform validation processing on a TTML <a href="#terms-document-instance">document instance</a> prior to performing
other types of processing, e.g., presentation or transformation processing.</p><p>If validation processing is performed on a TTML <a href="#terms-document-instance">document instance</a> and validation fails, then the computed value of
-the <code>ttp:validationAction</code> attribute is used to determine what action to take before performing further processing.</p><p>If not specified, the value of this parameter must be considered
+the <code>ttp:validationAction</code> parameter property is used to determine what action to take before performing further processing.</p><p>If not specified, the value of this parameter must be considered
to be <code>optional</code>.</p><p>A <code>ttp:validation</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-validationAction"></a>6.2.21 ttp:validationAction</h4><p>The <code>ttp:validationAction</code> attribute is used to specify what action is to be taken
@@ -2261,8 +2261,9 @@
</td></tr></tbody></table><p>If this parameter's value is <code>abort</code>, then, a <a href="#terms-validating-content-processor">validating content processor</a>
must abort processing of a TTML <a href="#terms-document-instance">document instance</a> when validation processing fails.</p><p>If this parameter's value is <code>warn</code>, then, a <a href="#terms-validating-content-processor">validating content processor</a>
should warn the end-user when validation processing fails, and, give the end-user the option to continue or abort processing.</p><p>If this parameter's value is <code>ignore</code>, then, a <a href="#terms-validating-content-processor">validating content processor</a>
-should not abort and should not warn the end-user when validation processing fails.</p><p>If not specified, the value of this parameter must be considered
-to be <code>abort</code>.</p><p>A <code>ttp:validationAction</code> attribute is considered to be significant only
+should not abort and should not warn the end-user when validation processing fails.</p><p>If not specified, the value of this parameter is determined as follows:
+if the computed value of the <a href="#parameter-attribute-validation"><code>ttp:validation</code></a> parameter property is <code>optional</code>,
+then the value must be considered to be <code>warn</code>; otherwise, it must be considered to be <code>abort</code>.</p><p>A <code>ttp:validationAction</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-version"></a>6.2.22 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>
@@ -2754,7 +2755,7 @@
<code>none</code> were specified.</p><p>If a computed value of the border style associated with this attribute is not supported,
then a <a href="#terms-presentation-processor">presentation processor</a> must use the value <code>solid</code>.</p><p>If no border color is specified in the value of the <code>tts:border</code> property,
then the border color must be interpreted as if a color equal
-to the computed value of the element's <code>tts:color</code> property were specified.</p><p>The <code>tts:border</code> style is illustrated by the following example.</p><a id="style-attribute-border-example-1"></a><table class="example"><caption>Example Fragment – Border</caption><tbody><tr><td>
+to the computed value of the element's <code>tts:color</code> style property were specified.</p><p>The <code>tts:border</code> style is illustrated by the following example.</p><a id="style-attribute-border-example-1"></a><table class="example"><caption>Example Fragment – Border</caption><tbody><tr><td>
<div class="exampleInner"><pre>
<region xml:id="r1">
<style tts:extent="306px 114px"/>
@@ -7632,7 +7633,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="d3e25156"></a>J.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
+<h3><a id="d3e25166"></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
@@ -7689,7 +7690,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="d3e25673"></a>J.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 – Attributes</b></a>
+<h3><a id="d3e25683"></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
@@ -7781,9 +7782,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="d3e26666"></a>K.1 Requirements</h3><a id="qa-framework-requirements-table"></a><table class="common"><caption>Table K-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+<h3><a id="d3e26676"></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="d3e26830"></a>K.2 Guidelines</h3><a id="qa-framework-guidelines-table"></a><table class="common"><caption>Table K-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><col width="6%" align="center" span="1"><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td></td><td>NO</td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td></td><td></td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td></td><td></td><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td></td><td>NO</td><td></td><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td></td><td></td><td></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td></td><td></td><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td></td><td></td><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td></td><td></td><td></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
+<h3><a id="d3e26840"></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">