[ttml2] regenerate ED
authorGlenn Adams <glenn@skynav.com>
Tue, 23 Sep 2014 12:57:58 -0600
changeset 714 e5d31f0ff77a
parent 713 33151db6397b
child 716 2879d372e119
child 718 f34ea36de15c
[ttml2] regenerate ED
ttml2/spec/ttml2.html
--- a/ttml2/spec/ttml2.html	Tue Sep 23 12:57:41 2014 -0600
+++ b/ttml2/spec/ttml2.html	Tue Sep 23 12:57:58 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/09/23 04:19:44 $<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/09/23 18:57:41 $<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/09/23 04:19:44 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2014/09/23 18:57:41 $ @@ @@@@ @@@@</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>
@@ -448,11 +448,11 @@
 H <a href="#other-references">Other References</a> (Non-Normative)<br>
 I <a href="#requirements">Requirements</a> (Non-Normative)<br>
 J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e27280">Element Derivation</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e27797">Attribute Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.1 <a href="#d3e27291">Element Derivation</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;J.2 <a href="#d3e27808">Attribute Derivation</a><br>
 K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e28790">Requirements</a><br>
-&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e28954">Guidelines</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.1 <a href="#d3e28801">Requirements</a><br>
+&nbsp;&nbsp;&nbsp;&nbsp;K.2 <a href="#d3e28965">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>
@@ -1802,7 +1802,6 @@
 <div class="exampleInner"><pre>
 ttp:cellResolution
   : columns rows                            // <em>columns</em> != 0; <em>rows</em> != 0
-
 columns | rows
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
 </pre></div>
@@ -1863,13 +1862,10 @@
   : designators
   | "all(" designators ")"
   | "any(" designators ")"
-
 designators
   : designator (lwsp designator)*
-
 designator
   : xsd:anyURI
-
 lwsp
   : ( ' ' | '\t' | '\n' | '\r' )+
 </pre></div>
@@ -1976,7 +1972,6 @@
 <div class="exampleInner"><pre>
 ttp:frameRateMultiplier
   : numerator denominator                   // <em>numerator</em> != 0; <em>denominator</em> != 0
-
 numerator | denominator
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
 </pre></div>
@@ -2117,7 +2112,6 @@
 <div class="exampleInner"><pre>
 ttp:mediaOffset
   : sign? <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>                  // restricted to <em>offset-time</em> form
-
 sign
   : "+" | "-"
 </pre></div>
@@ -2164,7 +2158,6 @@
 <div class="exampleInner"><pre>
 ttp:pixelAspectRatio
   : width height                            // <em>width</em> != 0; <em>height</em> != 0
-
 width | height
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
 </pre></div>
@@ -2187,7 +2180,6 @@
 <div class="exampleInner"><pre>
 <span class="deprecated">ttp:profile</span>
   : designator
-
 designator
   : xsd:anyURI
 </pre></div>
@@ -2210,13 +2202,10 @@
   : designators
   | "all(" designators ")"
   | "any(" designators ")"
-
 designators
   : designator (lwsp designator)*
-
 designator
   : xsd:anyURI
-
 lwsp
   : ( ' ' | '\t' | '\n' | '\r' )+
 </pre></div>
@@ -4203,19 +4192,14 @@
   | "rgb" "(" r-value "," g-value "," b-value ")"
   | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
   | <a href="#style-value-namedColor">&lt;namedColor&gt;</a>
-
 rrggbb
   :  <a href="#style-value-hexDigit">&lt;hexDigit&gt;</a>{6}
-
 rrggbbaa
   :  <a href="#style-value-hexDigit">&lt;hexDigit&gt;</a>{8}
-
 r-value | g-value | b-value | a-value
   : component-value
-
 component-value
   : non-negative-integer                    // valid range: [0,255]
-
 non-negative-integer
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
 </pre></div>
@@ -4247,39 +4231,29 @@
 &lt;familyName&gt;
   : unquoted-string
   | quoted-string
-
 unquoted-string
   : identifier ( lwsp identifier )*
-
 lwsp
   : ( ' ' | '\t' | '\n' | '\r' )+
-
 identifier
   : [-]? identifier-start identifier-following*
-
 identifier-start
   : [_a-zA-Z]
   | non-ascii-or-c1
   | escape
-
 identifier-following
   : [_a-zA-Z0-9-]
   | non-ascii-or-c1
   | escape
-
 non-ascii-or-c1
   : [^\0-\237]
-
 escape
   : '\\' <em>char</em>
-
 quoted-string
   : double-quoted-string
   | single-quoted-string
-
 double-quoted-string
   : '"' ( [^"\\] | escape )+ '"'
-
 single-quoted-string
   : "'" ( [^'\\] | escape )+ "'"
 </pre></div>
@@ -4354,29 +4328,21 @@
 &lt;length&gt;
   : scalar
   | percentage
-
 scalar
   : number units
-
 percentage
   : number "%"
-
 sign
   : "+" | "-"
-
 number
   : sign? non-negative-number
-
 non-negative-number
   : non-negative-integer
   | non-negative-real
-
 non-negative-integer
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 non-negative-real
   : <a href="#style-value-digit">&lt;digit&gt;</a>* "." <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 units
   : "px"
   | "em"
@@ -5538,33 +5504,24 @@
 &lt;timeExpression&gt;
   : clock-time
   | offset-time
-
 clock-time
   : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-
 offset-time
-  : time-count fraction? metric
-
+  : time-count fraction? metric?
 hours
   : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
   | <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 minutes | seconds
   : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
-
 frames
   : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
   | <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 sub-frames
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 fraction
   : "." <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 time-count
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 metric
   : "h"                 // hours
   | "m"                 // minutes
@@ -5590,7 +5547,9 @@
 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.19 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">
+when the <code>clock</code> time base applies.</p><p>If a &lt;timeExpression&gt; is expressed in terms of a
+<em>offset-time</em> and no <em>metric</em> is specified, then it is to be treated as
+if a metric of <code>s</code> (seconds) were specified.</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
 <a href="#smil3">[SMIL 3.0]</a> apply to the interpretation of like-named timed elements and timing
 vocabulary defined by this specification, given the following
@@ -5862,24 +5821,18 @@
 <div class="exampleInner"><pre>
 &lt;keySplines&gt;
   : control [ lwsp? ";" lwsp? control ]*
-
 control
   : x1 comma? y1 comma? x2 comma? y2
-
 x1, x2, y1, y2
   : coordinate
-
 coordinate                                // 0 ≥ <em>value</em> ≥ 1
   : whole
   | whole "." fraction
   | "." fraction
-
 whole, fraction
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 comma
   : ","
-
 lwsp
   : ( ' ' | '\t' | '\n' | '\r' )+
 </pre></div>
@@ -5891,15 +5844,12 @@
 <div class="exampleInner"><pre>
 &lt;keyTimes&gt;
   : time [ lwsp? ";" lwsp? time ]*
-
 time                                // 0 ≥ <em>value</em> ≥ 1
   : whole
   | whole "." fraction
   | "." fraction
-
 whole, fraction
   : <a href="#style-value-digit">&lt;digit&gt;</a>+
-
 lwsp
   : ( ' ' | '\t' | '\n' | '\r' )+
 </pre></div>
@@ -5910,7 +5860,6 @@
 &lt;repeatCount&gt;
   : count
   | "indefinite"
-
 count:
   : <a href="#style-value-digit">&lt;digit&gt;</a>+                       // <em>value</em> &gt; 0
 </pre></div>
@@ -6068,7 +6017,6 @@
 agents may be specified (and referenced) wherein different definitions of the
 character specify different actors.</p></div><p>The use of agent metadata is illustrated by the following example.</p><a id="metadata-vocabulary-agent-example-1"></a><table class="example"><caption>Example Fragment – Agent Metadata</caption><tbody><tr><td>
 <div class="exampleInner"><pre>
-
 &lt;tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"&gt;
   &lt;head&gt;
     <span class="strong">&lt;ttm:agent xml:id="connery" type="person"&gt;</span>
@@ -6155,7 +6103,6 @@
 <div class="exampleInner"><pre>
 ttm:role
   role ( <em>S</em> role )*
-
 role
   : "action"
   | "caption"
@@ -6175,10 +6122,8 @@
   | "title"
   | "transcription"
   | extension-role
-
 extension-role
   : "x-" token-char+
-
 token-char
   : { XML NameChar }    // XML 1.1 Production [4a]
 </pre></div>
@@ -6295,9 +6240,9 @@
 a <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>, and, further, is restricted to use a metric of
 <code>s</code> (seconds),
 <code>f</code> (frames),
-<code>t</code> (ticks), or, exceptionally, may elide the metric, in which case <code>s</code> seconds is implied. This
+<code>t</code> (ticks), or may omit the metric, in which case <code>s</code> seconds is implied. This
 begin time is expressed as an offset from the begin time of the <a href="#terms-root-temporal-extent">root temporal extent</a>
-of the source TTML document from which this <a href="#isd-vocabulary-isd"><code>isd:isd</code></a> element was derived.</p><p>An <code>end</code> attribute must be similarlly specified, where the same constraints (and exceptional use of no metric) apply.
+of the source TTML document from which this <a href="#isd-vocabulary-isd"><code>isd:isd</code></a> element was derived.</p><p>An <code>end</code> attribute must be similarlly specified, where the same constraints apply.
 This end time is expressed as an offset from the begin time of the <a href="#terms-root-temporal-extent">root temporal extent</a>
 of the source TTML document from which this <a href="#isd-vocabulary-isd"><code>isd:isd</code></a> element was derived.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Expressed in the terminology of <a href="#smil3">[SMIL 3.0]</a>, the values of these <code>begin</code> and <code>end</code> attributes
 correspond to the resolved begin and end times of the <em>active duration</em> with respect to the <em>document begin</em>.</p></div><p>An <a href="#content-attribute-lang"><code>xml:lang</code></a> attribute must be specified on the
@@ -6387,13 +6332,10 @@
 form:</p><div class="exampleInner"><pre>
 feature-designation
   : feature-namespace designation
-
 feature-namespace
   : <em>TT Feature Namespace</em>                    // http://www.w3.org/ns/ttml/feature/
-
 designation
   : "#" token-char+
-
 token-char
   : { XML NameChar }                        // XML 1.1 Production [4a]
 </pre></div><p>All values of <code>feature-designation</code> not defined by this specification are reserved
@@ -7363,14 +7305,11 @@
 form:</p><div class="exampleInner"><pre>
 extension-designation
   : extension-namespace designation
-
 extension-namespace
   : <em>TT Extension Namespace</em>                  // http://www.w3.org/ns/ttml/extension/
   | <em>Other Extension Namespace</em>               // expressed as an absolute URI
-
 designation
   : "#" token-char+
-
 token-char
   : { XML NameChar }                        // XML 1.1 Production [4a]
 </pre></div><p>If the extension namespace of an extension designation is the TT
@@ -7983,7 +7922,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="d3e27280"></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="d3e27291"></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
@@ -8040,7 +7979,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="d3e27797"></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="d3e27808"></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
@@ -8132,9 +8071,9 @@
 <h2><a id="qa"></a>K QA Framework Compliance (Non-Normative)</h2><p>This appendix specifies the compliance of this specification with the
 requirements and guidelines defined by <a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
 Framework Specifications Guidelines</a>&nbsp;<a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
-<h3><a id="d3e28790"></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="d3e28801"></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="d3e28954"></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="d3e28965"></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">