--- a/ttml11/spec/ttml11.html Wed Jul 10 14:51:20 2013 -0600
+++ b/ttml11/spec/ttml11.html Wed Jul 10 14:52:09 2013 -0600
@@ -80,9 +80,9 @@
.strong { font-weight: bold }
.reqattr { font-weight: bold }
.optattr { font-style: italic }
-</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2013/07/10 18:23:49 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-ED.css"></head><body>Last Modified: $Date: 2013/07/10 20:51:20 $<div id="revisions"></div><div class="head">
<h1><a id="title"></a>Timed Text Markup Language (TTML) 1.1</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2013/07/10 18:23:49 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
+<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2013/07/10 20:51:20 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
<a href="ttml11.html">ttml11.html</a>
</dd><dt>Latest version:</dt><dd><a href="http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml11/spec/ttml11.html?content-type=text/html;charset=utf-8">http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml11/spec/ttml11.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>
@@ -190,15 +190,15 @@
8.3.1 <a href="#style-value-alpha"><alpha></a><br>
8.3.2 <a href="#style-value-color"><color></a><br>
8.3.3 <a href="#style-value-digit"><digit></a><br>
- 8.3.4 <a href="#style-value-duration">Deleted</a><br>
+ 8.3.4 <a href="#style-value-duration"><duration></a><br>
8.3.5 <a href="#style-value-familyName"><familyName></a><br>
8.3.6 <a href="#style-value-genericFamilyName"><genericFamilyName></a><br>
8.3.7 <a href="#style-value-hexDigit"><hexDigit></a><br>
8.3.8 <a href="#style-value-integer"><integer></a><br>
8.3.9 <a href="#style-value-length"><length></a><br>
8.3.10 <a href="#style-value-namedColor"><namedColor></a><br>
- 8.3.11 <a href="#style-value-quotedString">Deleted</a><br>
- 8.3.12 <a href="#style-value-string">Deleted</a><br>
+ 8.3.11 <a href="#style-value-quotedString"><quotedString></a><br>
+ 8.3.12 <a href="#style-value-string"><string></a><br>
8.4 <a href="#semantics-style-resolution">Style Resolution</a><br>
8.4.1 <a href="#semantics-style-association">Style Association</a><br>
8.4.1.1 <a href="#semantics-style-association-inline">Inline Styling</a><br>
@@ -264,7 +264,7 @@
B <a href="#schemas">Schemas</a><br>
B.1 <a href="#ttml-schema-rnc">Relax NG Compact (RNC) Schema</a><br>
B.2 <a href="#ttml-schema-xsd">XML Schema Definition (XSD) Schema</a><br>
-C <a href="#media-types-registration">Media Type Registration</a><br>
+C <a href="#media-types-registration">Media Type Registration</a> (Non-Normative)<br>
D <a href="#features">Features</a><br>
D.1 <a href="#feature-designations">Feature Designations</a><br>
D.1.1 <a href="#feature-animation">#animation</a><br>
@@ -392,14 +392,14 @@
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="#d3e18710">Element Derivation</a><br>
- J.2 <a href="#d3e19189">Attribute Derivation</a><br>
+ J.1 <a href="#d3e18557">Element Derivation</a><br>
+ J.2 <a href="#d3e19036">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e20075">Requirements</a><br>
- K.2 <a href="#d3e20239">Guidelines</a><br>
+ K.1 <a href="#d3e19922">Requirements</a><br>
+ K.2 <a href="#d3e20086">Guidelines</a><br>
L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
-M <a href="#concrete-encoding">Concrete Encoding</a> (Non-Normative)<br>
-N <a href="#time-expression-semantics">Time Expression Semantics</a> (Non-Normative)<br>
+M <a href="#concrete-encoding">Concrete Encoding</a><br>
+N <a href="#time-expression-semantics">Time Expression Semantics</a><br>
N.1 <a href="#time-expression-semantics-clock">Clock Time Base</a><br>
N.2 <a href="#time-expression-semantics-media">Media Time Base</a><br>
N.3 <a href="#time-expression-semantics-smpte">SMPTE Time Base</a><br>
@@ -3367,7 +3367,7 @@
: "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
</pre></div>
</td></tr></tbody></table></div><div class="div3">
-<h4><a id="style-value-duration"></a>8.3.4 Deleted</h4><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been removed due to lack of any normative
+<h4><a id="style-value-duration"></a>8.3.4 <duration></h4><p><em>This section is non-normative.</em></p><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been removed due to lack of any normative
use within this specification. This section is retained in its empty form
in order to prevent section renumbering.</p></div></div><div class="div3">
<h4><a id="style-value-familyName"></a>8.3.5 <familyName></h4><p>A <familyName> expression specifies a font family name.</p><a id="familyName-style-expression-syntax"></a><table class="syntax"><caption>Syntax Representation – <familyName></caption><tbody><tr><td>
@@ -3549,10 +3549,10 @@
</pre></div>
</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>Except for <code>transparent</code>, the set of named colors specified above constitutes a proper
subset of the set of named colors specified by <a href="#svg11">[SVG 1.1]</a>, § 4.2.</p></div></div><div class="div3">
-<h4><a id="style-value-quotedString"></a>8.3.11 Deleted</h4><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been incorporated into
+<h4><a id="style-value-quotedString"></a>8.3.11 <quotedString></h4><p><em>This section is non-normative.</em></p><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been incorporated into
<a href="#style-value-familyName"><b>8.3.5 <familyName></b></a>. This section is retained in its empty form
in order to prevent section renumbering.</p></div></div><div class="div3">
-<h4><a id="style-value-string"></a>8.3.12 Deleted</h4><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been incorporated into
+<h4><a id="style-value-string"></a>8.3.12 <string></h4><p><em>This section is non-normative.</em></p><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this section has been incorporated into
<a href="#style-value-familyName"><b>8.3.5 <familyName></b></a>. This section is retained in its empty form
in order to prevent section renumbering.</p></div></div></div><div class="div2">
<h3><a id="semantics-style-resolution"></a>8.4 Style Resolution</h3><p>This section defines the semantics of style resolution in terms of
@@ -4941,46 +4941,9 @@
of Timed Text Markup Language content as defined by this specification.
In particular, the formal validity of TTML Content
is defined by <a href="#conformance-content"><b>3.1 Content Conformance</b></a>.</p></div></div><div class="div1">
-<h2><a id="media-types-registration"></a>C Media Type Registration</h2><p><em>This appendix is normative.</em></p><p>This appendix registers a new media type,
-"application/ttml+xml" in conformance with
-<a href="http://www.ietf.org/rfc/rfc4288.txt">BCP 13</a> and
-<a href="http://www.w3.org/2002/06/registering-mediatype.html">W3CRegMedia</a>.
-The information in this appendix is being submitted to the Internet
-Engineering Steering Group (IESG) for review, approval, and
-registration with the Internet Assigned Numbers Authority (IANA).</p><dl><dt class="label">Type name:</dt><dd><p>application</p></dd><dt class="label">Subtype name:</dt><dd><p>ttml+xml</p></dd><dt class="label">Required parameters:</dt><dd><p>None.</p></dd><dt class="label">Optional parameters:</dt><dd><dl><dt class="label">charset</dt><dd><p>If specified, the <code>charset</code> parameter must match the XML encoding declaration, or if absent, the actual encoding.</p></dd><dt class="label">profile</dt><dd><p>The document profile of a TTMLDocument Instance may be specified using
-an optional <code>profile</code> parameter, which, if specified,
-the value of which must adhere to the syntax and semantics of
-<code>ttp:profile</code> parameter defined by
-Section
-<a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a>
-of the published specification.</p></dd></dl></dd><dt class="label">Encoding considerations:</dt><dd><p>Same for application/xml, except constrained to either UTF-8 or UTF-16. See <a href="#xml-media">[XML Media Types]</a>, Section
-3.2.</p></dd><dt class="label">Security considerations:</dt><dd><p>As with other XML types and as noted in
-<a href="#xml-media">[XML Media Types]</a>
-Section 10, repeated expansion of maliciously constructed XML entities
-can be used to consume large amounts of memory, which may cause XML
-processors in constrained environments to fail.</p><p>In addition, because of the extensibility features for TTML and of XML
-in general, it is possible that "application/ttml+xml" may describe content
-that has security implications beyond those described here. However,
-TTML does not provide for any sort of active or executable content, and
-if the processor follows only the normative semantics of the published
-specification, this content will be outside TTML namespaces and
-may be ignored. Only in the case where the processor recognizes and
-processes the additional content, or where further processing of that
-content is dispatched to other processors, would security issues
-potentially arise. And in that case, they would fall outside the
-domain of this registration document.</p><p>Although not prohibited, there are no expectations that XML signatures
-or encryption would normally be employed.</p></dd><dt class="label">Interoperability considerations:</dt><dd><p>The published specification describes processing semantics that dictate
-behavior that must be followed when dealing with, among other things,
-unrecognized elements and attributes, both in TTML namespaces and in
-other namespaces.</p><p>Because TTML is extensible, conformant "application/ttml+xml" processors may
-expect (and enforce) that content received is well-formed XML, but it cannot be
-guaranteed that the content is valid to a particular DTD or Schema or
-that the processor will recognize all of the elements and attributes
-in the document.</p><p></p></dd><dt class="label">Published specification:</dt><dd><p>This media type registration is extracted from Appendix C Media Type
-Registration of the Timed Text Markup Language (TTML) 1.0 specification:
-<a href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text Markup Language (TTML) 1.0</a>.</p></dd><dt class="label">Applications that use this media type:</dt><dd><p>TTML is used in the television industry for the purpose of authoring, transcoding and exchanging timed text information and for delivering captions, subtitles, and
-other metadata for television material repurposed for the Web or, more generally, the Internet.</p><p>There is partial and full support of TTML in components used by several Web browsers plugins, and in a number of caption authoring tools.</p></dd><dt class="label">Additional information:</dt><dd><dl><dt class="label">Magic number(s):</dt><dd></dd><dt class="label">File extension(s):</dt><dd><p>.ttml</p></dd><dt class="label">Macintosh file type code(s):</dt><dd><p>"TTML"</p></dd><dt class="label">Fragment identifiers:</dt><dd><p>For documents labeled as application/ttml+xml, the fragment identifier notation is intended to be used with xml:id attributes, as described in section 7.2.1 of the <a href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text Markup Language (TTML) 1.0</a> specification.</p></dd></dl></dd><dt class="label">Person & email address to contact for further information:</dt><dd><p>Timed Text Working Group (public-tt@w3.org)</p></dd><dt class="label">Intended usage:</dt><dd><p>COMMON</p></dd><dt class="label">Restrictions on usage:</dt><dd><p>None</p></dd><dt class="label">Author:</dt><dd><p>The published specification is a work product of the World Wide Web
-Consortium's Timed Text (TT) Working Group.</p></dd><dt class="label">Change controller:</dt><dd><p>The W3C has change control over this specification.</p></dd></dl></div><div class="div1">
+<h2><a id="media-types-registration"></a>C Media Type Registration (Non-Normative)</h2><div class="note"><p class="prefix"><b>Note:</b></p><p>The information from this appendix has been removed since media type
+registration has already occurred. This section is retained in its empty form
+in order to prevent appendix renumbering.</p></div></div><div class="div1">
<h2><a id="features"></a>D Features</h2><p><em>This appendix is normative.</em></p><p>This appendix specifies (1) a set of feature designations, each of which
labels one or more syntactic and/or semantic features defined by this
specification, and (2) for each designated feature, whether the feature is mandatory
@@ -6516,7 +6479,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="d3e18710"></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="d3e18557"></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
@@ -6571,7 +6534,7 @@
and <code>@requiredFeatures</code> on the <code>svg:svg</code> element,
but extended to support distinct specification of optionality.</p></li><li><p>Derived from the use of <code>@baseProfile</code>
and <code>@version</code> on the <code>svg:svg</code> element.</p></li></ol></div></div><div class="div2">
-<h3><a id="d3e19189"></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="d3e19036"></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
@@ -6643,9 +6606,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="d3e20075"></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="d3e19922"></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="d3e20239"></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="d3e20086"></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">
@@ -6672,15 +6635,15 @@
fragments.</p><p>An example of such a fragmentation of a <em>Document Instance</em> is
shown in <a href="#fragment-streaming-graphic"><b>Figure 3 – Fragment Streaming</b></a>.</p><a id="fragment-streaming-graphic"></a><table class="example-images"><caption>Figure 3 – Fragment Streaming</caption><col span="1"><tbody><tr><td><img src="images/streaming.png" alt="Fragment Streaming"></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification does not define a transport buffer model or a decoder
capabilities model.</p></div></div><div class="div1">
-<h2><a id="concrete-encoding"></a>M Concrete Encoding (Non-Normative)</h2><p>In the absence of other requirements, it is recommended that a <em>Document Instance</em> be concretely encoded as a
+<h2><a id="concrete-encoding"></a>M Concrete Encoding</h2><p><em>This appendix is normative.</em></p><p>In the absence of other requirements, a <em>Document Instance</em> should be concretely encoded as a
well-formed XML 1.0 <a href="#xml10">[XML 1.0]</a> document using the UTF-8 character encoding.</p></div><div class="div1">
-<h2><a id="time-expression-semantics"></a>N Time Expression Semantics (Non-Normative)</h2><p>This appendix describes the intended semantics for interpreting time expressions in <em>Document Instances</em>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>It is expected that the information in this appendix will be elevated to normative status in a future revision of this specification.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The phrase <em>local real time</em> as used below is intended to model a virtual real time clock in the document processing context, where
+<h2><a id="time-expression-semantics"></a>N Time Expression Semantics</h2><p><em>This appendix is normative.</em></p><p>This appendix specifies the semantics for interpreting time expressions in <em>Document Instances</em>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The phrase <em>local real time</em> as used below is intended to model a virtual real time clock in the document processing context, where
<em>local</em> means in the immediate proximity of the implementation of this processing context. The intent
of defining relationships with this virtual clock is to establish a locally valid physical realization of time for didactic purposes.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The phrase <em>play rate</em> as used below is intended to model a (possibly variable) parameter in the document processing context wherein
the rate of playback (or interpretation) of time may artificially dilated or narrowed, for example, when slowing down or speeding up the rate of
playback of a <em>Related Media Object</em>. Without loss of generality, the following discussion assumes a fixed play(back) rate. In the case of
variable play rates, appropriate adjustments may need to be made to the resulting computations.</p></div><div class="div2">
-<h3><a id="time-expression-semantics-clock"></a>N.1 Clock Time Base</h3><p>When operating with the <code>clock</code> time base, the following semantics should be applied for interpreting time expressions,
+<h3><a id="time-expression-semantics-clock"></a>N.1 Clock Time Base</h3><p>When operating with the <code>clock</code> time base, the following semantics apply for interpreting time expressions,
as defined by <a href="#timing-value-timeExpression"><timeExpression></a>, and their relationship to media time and local real time.</p><p>The clock time base <span class="strong"><code>C</code></span> is related to local real time <span class="strong"><code>R</code></span>
expressed in an arbitrary (implementation defined) epoch <span class="strong"><code>E</code></span>
as follows:</p><a id="clock-time-and-real-time"></a><table class="semantics"><caption>TTML Semantics – Clock Time and Real Time Relationship</caption><tbody><tr><td>
@@ -6735,7 +6698,7 @@
will continue to advance according to the natural progression of clock time in direct proportion to the reference clock base. Furthermore, if the media play rate changes
during playback, presentation timing is not affected.
</p></div></div><div class="div2">
-<h3><a id="time-expression-semantics-media"></a>N.2 Media Time Base</h3><p>When operating with the <code>media</code> time base, the following semantics should be applied for interpreting time expressions,
+<h3><a id="time-expression-semantics-media"></a>N.2 Media Time Base</h3><p>When operating with the <code>media</code> time base, the following semantics apply for interpreting time expressions,
as defined by <a href="#timing-value-timeExpression"><timeExpression></a>, and their relationship to media time and local real time.</p><p>The media time base <span class="strong"><code>M</code></span> is related to local real time <span class="strong"><code>R</code></span>
expressed in an arbitrary (implementation defined) epoch <span class="strong"><code>E</code></span> as follows:</p><a id="media-time-and-real-time"></a><table class="semantics"><caption>TTML Semantics – Media Time and Real Time Relationship</caption><tbody><tr><td>
<blockquote><p><br>
@@ -6791,7 +6754,7 @@
<br></p></blockquote>
</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>If the computed <code>frameRateMultipler</code> ratio is not integral, then <code>effectiveFrameRate</code> will be a non-integral rational.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The above formalisms assumes that the <em>Root Temporal Extent</em> corresponds with the beginning of a related media object. If
this assumption doesn't hold, then an additional offset that accounts for the difference may be introduced when computing media time <code>M</code>.</p></div></div><div class="div2">
-<h3><a id="time-expression-semantics-smpte"></a>N.3 SMPTE Time Base</h3><p>When operating with the <code>smpte</code> time base, the following semantics should be applied for interpreting time expressions,
+<h3><a id="time-expression-semantics-smpte"></a>N.3 SMPTE Time Base</h3><p>When operating with the <code>smpte</code> time base, the following semantics apply for interpreting time expressions,
as defined by <a href="#timing-value-timeExpression"><timeExpression></a>, and their relationship to media time and local real time.</p><p>If the computed value of the <code>ttp:markerMode</code> parameter is <code>discontinuous</code>, then there is no direct relationship between
time expressions and media time <span class="strong"><code>M</code></span> or local real time <span class="strong"><code>R</code></span>. In
this case, time expressions refer to synchronization events (markers) emitted by the <em>Document Processing Context</em> when <em>SMPTE Time
@@ -6829,7 +6792,7 @@
<br><br>
Notwithstanding the above, if a time expression contains a frame code that is designated as
dropped according to <a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a>, then that time expression
-should be considered to be invalid for purposes of validation assessment.
+must be considered to be invalid for purposes of validation assessment.
<br></p></blockquote>
</td></tr></tbody></table><p>The SMPTE time base <span class="strong"><code>S</code></span> is related to the media time base <span class="strong"><code>M</code></span> as follows:</p><a id="smpte-time-and-media-time"></a><table class="semantics"><caption>TTML Semantics – SMPTE Time and Media Time Relationship</caption><tbody><tr><td>
<blockquote><p><br>