--- a/ttml10/spec/PER-ttaf1-dfxp-201305DD.html Thu Jun 27 10:35:37 2013 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,19945 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en-us">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Timed Text Markup Language (TTML) 1.0 (Second Edition)</title>
- <style type="text/css">
- code { font-family: monospace; }
-
- div.constraint,
- div.issue,
- div.note,
- div.notice { margin-left: 2em; }
-
- ol.enumar { list-style-type: decimal; }
- ol.enumla { list-style-type: lower-alpha; }
- ol.enumlr { list-style-type: lower-roman; }
- ol.enumua { list-style-type: upper-alpha; }
- ol.enumur { list-style-type: upper-roman; }
-
-
- div.exampleInner pre { margin-left: 1em;
- margin-top: 0em; margin-bottom: 0em}
- div.exampleOuter {border: 4px double gray;
- margin: 0em; padding: 0em}
- div.exampleInner { background-color: #d5dee3;
- border-top-width: 4px;
- border-top-style: double;
- border-top-color: #d3d3d3;
- border-bottom-width: 4px;
- border-bottom-style: double;
- border-bottom-color: #d3d3d3;
- padding: 4px; margin: 0em }
- div.exampleWrapper { margin: 4px }
- div.exampleHeader { font-weight: bold;
- margin: 4px}
-
- li p { margin-top: 0.3em; margin-bottom: 0.3em; }
- div.issue { border: 2px solid black; background-color: #ffff66; padding: 0em 1em; margin: 0em 0em }
- table.ednote { border-collapse: collapse; border: 2px solid black; width: 85% }
- table.ednote td { background-color: #ddaa66; border: 2px solid black }
- table.acronyms td.label { width: 15% }
- table.acronyms td.def { width: 65% }
- table.graphic { border: 0px none black; width: 100%; border-collapse: collapse }
- table.graphic caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.graphic td { border: 0px none black; text-align: center }
- table.common { border: 2px solid black; width: 85%; border-collapse: collapse }
- table.common caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.common th { padding: 0em 0.5em; border: 2px solid black; text-align: left }
- table.common td { padding: 0em 0.5em; border: 2px solid black }
- table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.syntax th { border: 0px solid black; text-align: left }
- table.syntax td { border: 0px solid black }
- table.syntax div { background-color: #ffffc8 }
- table.semantics { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.semantics caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.semantics th { border: 0px solid black; text-align: left }
- table.semantics td {
- border-left: 0px solid black;
- border-right: 0px solid black;
- border-top: 4px double #d3d3d3;
- border-bottom: 4px double #d3d3d3;
- background-color: #ccffcc
- }
- table.semantics code.formulae {
- padding: 1em;
- border: 1px dashed #005a9c;
- line-height: 1.1em;
- background-color: #fdfdfd;
- }
- table.example { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.example th { border: 0px solid black; text-align: left }
- table.example td { border: 0px solid black; }
- table.example div { background-color: #c8ffff }
- table.example-images { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images td { border: 0px solid black; text-align: center }
- table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images-bordered td { border: 1px solid red; text-align: left }
- .tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
- .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-PER.css">
-</head>
-
-<body>
- <div class="head">
- <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C"
- height="48" width="72"></a></p>
-
- <h1><a id="title" name="title"></a>Timed Text Markup Language (TTML) 1.0 (Second
- Edition)</h1>
-
- <h2><a id="w3c-doctype" name="w3c-doctype"></a>W3C Proposed Edited Recommendation DD
- May 2013</h2>
-
- <dl>
- <dt>This version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/2013/PER-ttaf1-dfxp-201305DD/">http://www.w3.org/TR/2013/PER-ttaf1-dfxp-201305DD/</a></dd>
-
- <dt>Latest version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</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></dd>
-
- <dt>Editor:</dt>
-
- <dd>Glenn Adams, Cox Communications, Inc.</dd>
-
- <dt>Contributing Authors:</dt>
-
- <dd>Mike Dolan, Invited Expert</dd>
-
- <dd>Geoff Freed, WGBH National Center for Accessible Media</dd>
-
- <dd>Sean Hayes, Microsoft</dd>
-
- <dd>Erik Hodge, RealNetworks</dd>
-
- <dd>David Kirby, British Broadcasting Corporation (BBC)</dd>
-
- <dd>Thierry Michel, W3C</dd>
-
- <dd>Dave Singer, Apple Computer</dd>
- </dl>
-
- <p>Please refer to the <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-issues.html">errata</a>
- for this document, which may include normative corrections.</p>
-
- <p>See also <a href=
- "http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp"><strong>translations</strong></a>.</p>
-
- <p class="copyright"><a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
- (<a href="http://www.csail.mit.edu/"><acronym title=
- "Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
- "http://www.ercim.eu/"><acronym title=
- "European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
- <a href="http://www.keio.ac.jp/">Keio</a>, <a href=
- "http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
- and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
- rules apply.</p>
- </div>
- <hr>
-
- <div>
- <h2><a id="abstract" name="abstract"></a>Abstract</h2>
-
- <p>This document specifies the Timed Text Markup Language (TTML) in terms of a
- vocabulary and semantics thereof.</p>
-
- <p>The Timed Text Markup Language is a content type that represents timed text media
- for the purpose of interchange among authoring systems. Timed text is textual
- information that is intrinsically or extrinsically associated with timing
- information.</p>
-
- <p>It is intended to be used for the purpose of transcoding or exchanging timed text
- information among legacy distribution content formats presently in use for subtitling
- and captioning functions.</p>
-
- <p>In addition to being used for interchange among legacy distribution content
- formats, TTML Content may be used directly as a distribution format, for example,
- providing a standard content format to reference from a <code><track></code>
- element in an HTML5 document, or a <code><text></code> or
- <code><textstream></code> media element in a <a href="#smil21">[SMIL 2.1]</a>
- document.</p>
- </div>
-
- <div>
- <h2><a id="status" name="status"></a>Status of this Document</h2>
-
- <p><em>This section describes the status of this document at the time of its
- publication. Other documents may supersede this document. A list of current W3C
- publications and the latest revision of this technical report can be found in the
- <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
- http://www.w3.org/TR/.</em></p>
-
- <p>This document, published on DD May 2013, is a <a href=
- "http://www.w3.org/2005/10/Process-20051014/tr.html#ProposedEditedRec">Proposed
- Edited Recommendation</a> of the W3C. This second edition is not a new version of
- this specification; its purpose is to clarify a number of issues that have become
- apparent since the first edition was published.</p>
-
- <p>This document has been produced by the <a href=
- "http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as part of the
- W3C <a href="http://www.w3.org/2008/WebVideo/">Video in the Web Activity</a>,
- following the procedures set out for the W3C <a href=
- "http://www.w3.org/Consortium/Process/">Process</a>. The authors of this document are
- listed in the header of this document.</p>
-
- <p>Publication as a Proposed Edited Recommendation does not imply endorsement by the
- W3C Membership. This is a draft document and may be updated, replaced or obsoleted by
- other documents at any time. It is inappropriate to cite this document as other than
- work in progress.</p>
-
- <p>W3C Advisory Committee Members are invited to send formal review comments on this
- Proposed Edited Recommendation to the W3C Team until DD June 2013. Members of the W3C
- Advisory Committee will find the appropriate review form for this document by
- consulting their <a href="http://www.w3.org/2002/09/wbs/myQuestionnaires">list of WBS
- questionnaires</a>.</p>
-
- <p>This document incorporates changes made against the <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">Recommendation</a> of 18
- November 2010 that resolve all errata known at the date of publication. A list of the
- errata that have been applied is provided in <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-changes.html#change-history-rec-to-2e-per">
- Changes from Recommendation to Proposed Edited Recommendation (2nd Ed.)</a>.</p>
-
- <p>Please report errors in and submit comments on this document to the W3C Timed Text
- public comments mailing list, <a href=
- "mailto:public-tt-comments@w3.org">public-tt-comments@w3.org</a>. Please include the
- string <code>[ttml10se]</code> at the beginning of the subject line of your report.
- Each email message should contain only one error report. Archives of the comments and
- responses are available at <a href=
- "http://lists.w3.org/Archives/Public/public-tt-comments/">http://lists.w3.org/Archives/Public/public-tt-comments/</a>.</p>
-
- <p>An updated <a href="http://www.w3.org/2009/05/dfxp-results.html">implementation
- report</a> will be made available, but the decision of the Director to transition
- this document to Proposed Edited Recommendation did not depend on the existence of
- that report.</p>
-
- <p>The Timed Text Working Group plans to submit this specification for consideration
- as a W3C Recommendation (Second Edition) as soon as the Working Group has responded
- formally to all issues raised during the PER period against this document.</p>
-
- <p>This document was produced by a group operating under the <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
- Policy</a>. W3C maintains a <a href=
- "http://www.w3.org/2004/01/pp-impl/34314/status#disclosures" rel="disclosure">public
- list of any patent disclosures</a> made in connection with the deliverables of the
- group; that page also includes instructions for disclosing a patent. An individual
- who has actual knowledge of a patent which the individual believes contains <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
- Claim(s)</a> must disclose the information in accordance with <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of
- the W3C Patent Policy</a>.</p>
- </div>
-
- <div class="toc">
- <h2><a id="contents" name="contents"></a>Table of Contents</h2>
-
- <p class="toc">1 <a href="#intro">Introduction</a><br>
- 1.1 <a href="#model">System Model</a><br>
- 1.2 <a href="#example">Document Example</a><br>
- 2 <a href="#definitions">Definitions</a><br>
- 2.1 <a href="#acronyms">Acronyms</a><br>
- 2.2 <a href="#terms">Terminology</a><br>
- 2.3 <a href="#conventions">Documentation Conventions</a><br>
- 3 <a href="#conformance">Conformance</a><br>
- 3.1 <a href="#conformance-content">Content
- Conformance</a><br>
- 3.2 <a href="#conformance-processor">Processor
- Conformance</a><br>
- 3.2.1 <a href=
- "#conformance-generic-processor">Generic Processor Conformance</a><br>
- 3.2.2 <a href=
- "#conformance-transformation-processor">Transformation Processor Conformance</a><br>
- 3.2.3 <a href=
- "#conformance-presentation-processor">Presentation Processor Conformance</a><br>
- 3.3 <a href="#claims">Claims</a><br>
- 4 <a href="#doctypes">Document Types</a><br>
- 4.1 <a href="#ttml-content-doctype">TTML Content</a><br>
- 5 <a href="#vocabulary">Vocabulary</a><br>
- 5.1 <a href="#vocabulary-namespaces">Namespaces</a><br>
- 5.2 <a href="#vocabulary-profiles">Profiles</a><br>
- 5.3 <a href="#vocabulary-overview">Catalog</a><br>
- 5.3.1 <a href=
- "#core-vocabulary-overview">Core Catalog</a><br>
- 5.3.2 <a href=
- "#extension-vocabulary-overview">Extension Catalog</a><br>
- 6 <a href="#parameters">Parameters</a><br>
- 6.1 <a href="#parameter-element-vocabulary">Parameter Element
- Vocabulary</a><br>
- 6.1.1 <a href=
- "#parameter-vocabulary-profile">ttp:profile</a><br>
- 6.1.2 <a href=
- "#parameter-vocabulary-features">ttp:features</a><br>
- 6.1.3 <a href=
- "#parameter-vocabulary-feature">ttp:feature</a><br>
- 6.1.4 <a href=
- "#parameter-vocabulary-extensions">ttp:extensions</a><br>
- 6.1.5 <a href=
- "#parameter-vocabulary-extension">ttp:extension</a><br>
- 6.2 <a href="#parameter-attribute-vocabulary">Parameter
- Attribute Vocabulary</a><br>
- 6.2.1 <a href=
- "#parameter-attribute-cellResolution">ttp:cellResolution</a><br>
- 6.2.2 <a href=
- "#parameter-attribute-clockMode">ttp:clockMode</a><br>
- 6.2.3 <a href=
- "#parameter-attribute-dropMode">ttp:dropMode</a><br>
- 6.2.4 <a href=
- "#parameter-attribute-frameRate">ttp:frameRate</a><br>
- 6.2.5 <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultiplier</a><br>
- 6.2.6 <a href=
- "#parameter-attribute-markerMode">ttp:markerMode</a><br>
- 6.2.7 <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br>
- 6.2.8 <a href=
- "#parameter-attribute-profile">ttp:profile</a><br>
- 6.2.9 <a href=
- "#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
- 6.2.10 <a href=
- "#parameter-attribute-tickRate">ttp:tickRate</a><br>
- 6.2.11 <a href=
- "#parameter-attribute-timeBase">ttp:timeBase</a><br>
- 7 <a href="#content">Content</a><br>
- 7.1 <a href="#content-element-vocabulary">Content Element
- Vocabulary</a><br>
- 7.1.1 <a href=
- "#document-structure-vocabulary-tt">tt</a><br>
- 7.1.2 <a href=
- "#document-structure-vocabulary-head">head</a><br>
- 7.1.3 <a href=
- "#document-structure-vocabulary-body">body</a><br>
- 7.1.4 <a href=
- "#content-vocabulary-div">div</a><br>
- 7.1.5 <a href=
- "#content-vocabulary-p">p</a><br>
- 7.1.6 <a href=
- "#content-vocabulary-span">span</a><br>
- 7.1.7 <a href=
- "#content-vocabulary-br">br</a><br>
- 7.2 <a href="#content-attribute-vocabulary">Content Attribute
- Vocabulary</a><br>
- 7.2.1 <a href=
- "#content-attribute-id">xml:id</a><br>
- 7.2.2 <a href=
- "#content-attribute-lang">xml:lang</a><br>
- 7.2.3 <a href=
- "#content-attribute-space">xml:space</a><br>
- 8 <a href="#styling">Styling</a><br>
- 8.1 <a href="#styling-element-vocabulary">Styling Element
- Vocabulary</a><br>
- 8.1.1 <a href=
- "#styling-vocabulary-styling">styling</a><br>
- 8.1.2 <a href=
- "#styling-vocabulary-style">style</a><br>
- 8.2 <a href="#styling-attribute-vocabulary">Styling Attribute
- Vocabulary</a><br>
- 8.2.1 <a href=
- "#style-attribute-style">style</a><br>
- 8.2.2 <a href=
- "#style-attribute-backgroundColor">tts:backgroundColor</a><br>
- 8.2.3 <a href=
- "#style-attribute-color">tts:color</a><br>
- 8.2.4 <a href=
- "#style-attribute-direction">tts:direction</a><br>
- 8.2.5 <a href=
- "#style-attribute-display">tts:display</a><br>
- 8.2.6 <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a><br>
- 8.2.7 <a href=
- "#style-attribute-extent">tts:extent</a><br>
- 8.2.8 <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a><br>
- 8.2.9 <a href=
- "#style-attribute-fontSize">tts:fontSize</a><br>
- 8.2.10 <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a><br>
- 8.2.11 <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a><br>
- 8.2.12 <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a><br>
- 8.2.13 <a href=
- "#style-attribute-opacity">tts:opacity</a><br>
- 8.2.14 <a href=
- "#style-attribute-origin">tts:origin</a><br>
- 8.2.15 <a href=
- "#style-attribute-overflow">tts:overflow</a><br>
- 8.2.16 <a href=
- "#style-attribute-padding">tts:padding</a><br>
- 8.2.17 <a href=
- "#style-attribute-showBackground">tts:showBackground</a><br>
- 8.2.18 <a href=
- "#style-attribute-textAlign">tts:textAlign</a><br>
- 8.2.19 <a href=
- "#style-attribute-textDecoration">tts:textDecoration</a><br>
- 8.2.20 <a href=
- "#style-attribute-textOutline">tts:textOutline</a><br>
- 8.2.21 <a href=
- "#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
- 8.2.22 <a href=
- "#style-attribute-visibility">tts:visibility</a><br>
- 8.2.23 <a href=
- "#style-attribute-wrapOption">tts:wrapOption</a><br>
- 8.2.24 <a href=
- "#style-attribute-writingMode">tts:writingMode</a><br>
- 8.2.25 <a href=
- "#style-attribute-zIndex">tts:zIndex</a><br>
- 8.3 <a href="#styling-style-value-expressions">Style Value
- Expressions</a><br>
- 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"><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"><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>
- 8.4.1.2
- <a href="#semantics-style-association-referential">Referential Styling</a><br>
- 8.4.1.3
- <a href="#semantics-style-association-chained-referential">Chained Referential
- Styling</a><br>
- 8.4.1.4
- <a href="#semantics-style-association-nested">Nested Styling</a><br>
- 8.4.2 <a href=
- "#semantics-style-inheritance">Style Inheritance</a><br>
- 8.4.2.1
- <a href="#semantics-style-inheritance-content">Content Style Inheritance</a><br>
- 8.4.2.2
- <a href="#semantics-style-inheritance-region">Region Style Inheritance</a><br>
- 8.4.3 <a href=
- "#semantics-style-resolution-value-categories">Style Resolution Value
- Categories</a><br>
- 8.4.3.1
- <a href="#semantics-style-resolved-value-category-specified">Specified Values</a><br>
- 8.4.3.2
- <a href="#semantics-style-resolved-value-category-computed">Computed Values</a><br>
- 8.4.3.3
- <a href="#semantics-style-resolved-value-category-actual">Actual Values</a><br>
- 8.4.4 <a href=
- "#semantics-style-resolution-processing">Style Resolution Processing</a><br>
- 8.4.4.1
- <a href="#semantics-style-resolution-processing-definitions">Conceptual
- Definitions</a><br>
- 8.4.4.2
- <a href="#semantics-style-resolution-processing-sss">Specified Style Set
- Processing</a><br>
- 8.4.4.3
- <a href="#semantics-style-resolution-processing-css">Computed Style Set
- Processing</a><br>
- 8.4.4.4
- <a href="#semantics-style-resolution-process-overall">Style Resolution
- Process</a><br>
- 9 <a href="#layout">Layout</a><br>
- 9.1 <a href="#layout-element-vocabulary">Layout Element
- Vocabulary</a><br>
- 9.1.1 <a href=
- "#layout-vocabulary-layout">layout</a><br>
- 9.1.2 <a href=
- "#layout-vocabulary-region">region</a><br>
- 9.2 <a href="#layout-attribute-vocabulary">Layout Attribute
- Vocabulary</a><br>
- 9.2.1 <a href=
- "#layout-attribute-region">region</a><br>
- 9.3 <a href="#semantics-region-layout">Region Layout and
- Presentation</a><br>
- 9.3.1 <a href=
- "#semantics-default-region">Default Region</a><br>
- 9.3.2 <a href=
- "#semantics-region-layout-step-1">Intermediate Synchronic Document
- Construction</a><br>
- 9.3.3 <a href=
- "#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
- 9.3.4 <a href=
- "#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
- 9.4 <a href="#semantics-line-layout">Line Layout</a><br>
- 10 <a href="#timing">Timing</a><br>
- 10.1 <a href="#timing-element-vocabulary">Timing Element
- Vocabulary</a><br>
- 10.2 <a href="#timing-attribute-vocabulary">Timing Attribute
- Vocabulary</a><br>
- 10.2.1 <a href=
- "#timing-attribute-begin">begin</a><br>
- 10.2.2 <a href=
- "#timing-attribute-end">end</a><br>
- 10.2.3 <a href=
- "#timing-attribute-dur">dur</a><br>
- 10.2.4 <a href=
- "#timing-attribute-timeContainer">timeContainer</a><br>
- 10.3 <a href="#timing-time-value-expressions">Time Value
- Expressions</a><br>
- 10.3.1 <a href=
- "#timing-value-timeExpression"><timeExpression></a><br>
- 10.4 <a href="#timing-time-intervals">Time Intervals</a><br>
- 11 <a href="#animation">Animation</a><br>
- 11.1 <a href="#animation-element-vocabulary">Animation
- Element Vocabulary</a><br>
- 11.1.1 <a href=
- "#animation-vocabulary-set">set</a><br>
- 11.2 <a href="#animation-attribute-vocabulary">Animation
- Attribute Vocabulary</a><br>
- 12 <a href="#metadata">Metadata</a><br>
- 12.1 <a href="#metadata-element-vocabulary">Metadata Element
- Vocabulary</a><br>
- 12.1.1 <a href=
- "#metadata-vocabulary-metadata">metadata</a><br>
- 12.1.2 <a href=
- "#metadata-vocabulary-title">ttm:title</a><br>
- 12.1.3 <a href=
- "#metadata-vocabulary-desc">ttm:desc</a><br>
- 12.1.4 <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a><br>
- 12.1.5 <a href=
- "#metadata-vocabulary-agent">ttm:agent</a><br>
- 12.1.6 <a href=
- "#metadata-vocabulary-name">ttm:name</a><br>
- 12.1.7 <a href=
- "#metadata-vocabulary-actor">ttm:actor</a><br>
- 12.2 <a href="#metadata-attribute-vocabulary">Metadata
- Attribute Vocabulary</a><br>
- 12.2.1 <a href=
- "#metadata-attribute-agent">ttm:agent</a><br>
- 12.2.2 <a href=
- "#metadata-attribute-role">ttm:role</a><br></p>
-
- <h3><a id="appendices" name="appendices"></a>Appendices</h3>
-
- <p class="toc">A <a href="#reduced-infoset">Reduced XML Infoset</a><br>
- A.1 <a href="#reduced-infoset-document">Document Information
- Item</a><br>
- A.2 <a href="#reduced-infoset-element">Element Information
- Item</a><br>
- A.3 <a href="#reduced-infoset-attribute">Attribute
- Information Item</a><br>
- A.4 <a href="#reduced-infoset-character">Character
- Information Item</a><br>
- 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>
- 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>
- D.1.2 <a href=
- "#feature-backgroundColor">#backgroundColor</a><br>
- D.1.3 <a href=
- "#feature-backgroundColor-block">#backgroundColor-block</a><br>
- D.1.4 <a href=
- "#feature-backgroundColor-inline">#backgroundColor-inline</a><br>
- D.1.5 <a href=
- "#feature-backgroundColor-region">#backgroundColor-region</a><br>
- D.1.6 <a href=
- "#feature-bidi">#bidi</a><br>
- D.1.7 <a href=
- "#feature-cellResolution">#cellResolution</a><br>
- D.1.8 <a href=
- "#feature-clockMode">#clockMode</a><br>
- D.1.9 <a href=
- "#feature-clockMode-gps">#clockMode-gps</a><br>
- D.1.10 <a href=
- "#feature-clockMode-local">#clockMode-local</a><br>
- D.1.11 <a href=
- "#feature-clockMode-utc">#clockMode-utc</a><br>
- D.1.12 <a href=
- "#feature-color">#color</a><br>
- D.1.13 <a href=
- "#feature-content">#content</a><br>
- D.1.14 <a href=
- "#feature-core">#core</a><br>
- D.1.15 <a href=
- "#feature-direction">#direction</a><br>
- D.1.16 <a href=
- "#feature-display">#display</a><br>
- D.1.17 <a href=
- "#feature-display-block">#display-block</a><br>
- D.1.18 <a href=
- "#feature-display-inline">#display-inline</a><br>
- D.1.19 <a href=
- "#feature-display-region">#display-region</a><br>
- D.1.20 <a href=
- "#feature-displayAlign">#displayAlign</a><br>
- D.1.21 <a href=
- "#feature-dropMode">#dropMode</a><br>
- D.1.22 <a href=
- "#feature-dropMode-dropNTSC">#dropMode-dropNTSC</a><br>
- D.1.23 <a href=
- "#feature-dropMode-dropPAL">#dropMode-dropPAL</a><br>
- D.1.24 <a href=
- "#feature-dropMode-nonDrop">#dropMode-nonDrop</a><br>
- D.1.25 <a href=
- "#feature-extent">#extent</a><br>
- D.1.26 <a href=
- "#feature-extent-region">#extent-region</a><br>
- D.1.27 <a href=
- "#feature-extent-root">#extent-root</a><br>
- D.1.28 <a href=
- "#feature-fontFamily">#fontFamily</a><br>
- D.1.29 <a href=
- "#feature-fontFamily-generic">#fontFamily-generic</a><br>
- D.1.30 <a href=
- "#feature-fontFamily-non-generic">#fontFamily-non-generic</a><br>
- D.1.31 <a href=
- "#feature-fontSize">#fontSize</a><br>
- D.1.32 <a href=
- "#feature-fontSize-anamorphic">#fontSize-anamorphic</a><br>
- D.1.33 <a href=
- "#feature-fontSize-isomorphic">#fontSize-isomorphic</a><br>
- D.1.34 <a href=
- "#feature-fontStyle">#fontStyle</a><br>
- D.1.35 <a href=
- "#feature-fontStyle-italic">#fontStyle-italic</a><br>
- D.1.36 <a href=
- "#feature-fontStyle-oblique">#fontStyle-oblique</a><br>
- D.1.37 <a href=
- "#feature-fontWeight">#fontWeight</a><br>
- D.1.38 <a href=
- "#feature-fontWeight-bold">#fontWeight-bold</a><br>
- D.1.39 <a href=
- "#feature-frameRate">#frameRate</a><br>
- D.1.40 <a href=
- "#feature-frameRateMultiplier">#frameRateMultiplier</a><br>
- D.1.41 <a href=
- "#feature-layout">#layout</a><br>
- D.1.42 <a href=
- "#feature-length">#length</a><br>
- D.1.43 <a href=
- "#feature-length-cell">#length-cell</a><br>
- D.1.44 <a href=
- "#feature-length-em">#length-em</a><br>
- D.1.45 <a href=
- "#feature-length-integer">#length-integer</a><br>
- D.1.46 <a href=
- "#feature-length-negative">#length-negative</a><br>
- D.1.47 <a href=
- "#feature-length-percentage">#length-percentage</a><br>
- D.1.48 <a href=
- "#feature-length-pixel">#length-pixel</a><br>
- D.1.49 <a href=
- "#feature-length-positive">#length-positive</a><br>
- D.1.50 <a href=
- "#feature-length-real">#length-real</a><br>
- D.1.51 <a href=
- "#feature-lineBreak-uax14">#lineBreak-uax14</a><br>
- D.1.52 <a href=
- "#feature-lineHeight">#lineHeight</a><br>
- D.1.53 <a href=
- "#feature-markerMode">#markerMode</a><br>
- D.1.54 <a href=
- "#feature-markerMode-continuous">#markerMode-continuous</a><br>
- D.1.55 <a href=
- "#feature-markerMode-discontinuous">#markerMode-discontinuous</a><br>
- D.1.56 <a href=
- "#feature-metadata">#metadata</a><br>
- D.1.57 <a href=
- "#feature-nested-div">#nested-div</a><br>
- D.1.58 <a href=
- "#feature-nested-span">#nested-span</a><br>
- D.1.59 <a href=
- "#feature-opacity">#opacity</a><br>
- D.1.60 <a href=
- "#feature-origin">#origin</a><br>
- D.1.61 <a href=
- "#feature-overflow">#overflow</a><br>
- D.1.62 <a href=
- "#feature-overflow-visible">#overflow-visible</a><br>
- D.1.63 <a href=
- "#feature-padding">#padding</a><br>
- D.1.64 <a href=
- "#feature-padding-1">#padding-1</a><br>
- D.1.65 <a href=
- "#feature-padding-2">#padding-2</a><br>
- D.1.66 <a href=
- "#feature-padding-3">#padding-3</a><br>
- D.1.67 <a href=
- "#feature-padding-4">#padding-4</a><br>
- D.1.68 <a href=
- "#feature-pixelAspectRatio">#pixelAspectRatio</a><br>
- D.1.69 <a href=
- "#feature-presentation">#presentation</a><br>
- D.1.70 <a href=
- "#feature-profile">#profile</a><br>
- D.1.71 <a href=
- "#feature-showBackground">#showBackground</a><br>
- D.1.72 <a href=
- "#feature-structure">#structure</a><br>
- D.1.73 <a href=
- "#feature-styling">#styling</a><br>
- D.1.74 <a href=
- "#feature-styling-chained">#styling-chained</a><br>
- D.1.75 <a href=
- "#feature-styling-inheritance-content">#styling-inheritance-content</a><br>
- D.1.76 <a href=
- "#feature-styling-inheritance-region">#styling-inheritance-region</a><br>
- D.1.77 <a href=
- "#feature-styling-inline">#styling-inline</a><br>
- D.1.78 <a href=
- "#feature-styling-nested">#styling-nested</a><br>
- D.1.79 <a href=
- "#feature-styling-referential">#styling-referential</a><br>
- D.1.80 <a href=
- "#feature-subFrameRate">#subFrameRate</a><br>
- D.1.81 <a href=
- "#feature-textAlign">#textAlign</a><br>
- D.1.82 <a href=
- "#feature-textAlign-absolute">#textAlign-absolute</a><br>
- D.1.83 <a href=
- "#feature-textAlign-relative">#textAlign-relative</a><br>
- D.1.84 <a href=
- "#feature-textDecoration">#textDecoration</a><br>
- D.1.85 <a href=
- "#feature-textDecoration-over">#textDecoration-over</a><br>
- D.1.86 <a href=
- "#feature-textDecoration-through">#textDecoration-through</a><br>
- D.1.87 <a href=
- "#feature-textDecoration-under">#textDecoration-under</a><br>
- D.1.88 <a href=
- "#feature-textOutline">#textOutline</a><br>
- D.1.89 <a href=
- "#feature-textOutline-blurred">#textOutline-blurred</a><br>
- D.1.90 <a href=
- "#feature-textOutline-unblurred">#textOutline-unblurred</a><br>
- D.1.91 <a href=
- "#feature-tickRate">#tickRate</a><br>
- D.1.92 <a href=
- "#feature-timeBase-clock">#timeBase-clock</a><br>
- D.1.93 <a href=
- "#feature-timeBase-media">#timeBase-media</a><br>
- D.1.94 <a href=
- "#feature-timeBase-smpte">#timeBase-smpte</a><br>
- D.1.95 <a href=
- "#feature-timeContainer">#timeContainer</a><br>
- D.1.96 <a href=
- "#feature-time-clock">#time-clock</a><br>
- D.1.97 <a href=
- "#feature-time-clock-with-frames">#time-clock-with-frames</a><br>
- D.1.98 <a href=
- "#feature-time-offset">#time-offset</a><br>
- D.1.99 <a href=
- "#feature-time-offset-with-frames">#time-offset-with-frames</a><br>
- D.1.100 <a href=
- "#feature-time-offset-with-ticks">#time-offset-with-ticks</a><br>
- D.1.101 <a href=
- "#feature-timing">#timing</a><br>
- D.1.102 <a href=
- "#feature-transformation">#transformation</a><br>
- D.1.103 <a href=
- "#feature-unicodeBidi">#unicodeBidi</a><br>
- D.1.104 <a href=
- "#feature-visibility">#visibility</a><br>
- D.1.105 <a href=
- "#feature-visibility-block">#visibility-block</a><br>
- D.1.106 <a href=
- "#feature-visibility-inline">#visibility-inline</a><br>
- D.1.107 <a href=
- "#feature-visibility-region">#visibility-region</a><br>
- D.1.108 <a href=
- "#feature-wrapOption">#wrapOption</a><br>
- D.1.109 <a href=
- "#feature-writingMode">#writingMode</a><br>
- D.1.110 <a href=
- "#feature-writingMode-vertical">#writingMode-vertical</a><br>
- D.1.111 <a href=
- "#feature-writingMode-horizontal">#writingMode-horizontal</a><br>
- D.1.112 <a href=
- "#feature-writingMode-horizontal-lr">#writingMode-horizontal-lr</a><br>
- D.1.113 <a href=
- "#feature-writingMode-horizontal-rl">#writingMode-horizontal-rl</a><br>
- D.1.114 <a href=
- "#feature-zIndex">#zIndex</a><br>
- D.2 <a href="#feature-support">Feature Support</a><br>
- E <a href="#extensions">Extensions</a><br>
- E.1 <a href="#extension-designations">Extension
- Designations</a><br>
- F <a href="#profiles">Profiles</a><br>
- F.1 <a href="#profile-dfxp-transformation">DFXP
- Transformation Profile</a><br>
- F.2 <a href="#profile-dfxp-presentation">DFXP Presentation
- Profile</a><br>
- F.3 <a href="#profile-dfxp-full">DFXP Full Profile</a><br>
- G <a href="#references">References</a><br>
- 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="#d3e18280">Element Derivation</a><br>
- J.2 <a href="#d3e18759">Attribute Derivation</a><br>
- K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e19629">Requirements</a><br>
- K.2 <a href="#d3e19793">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>
- 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>
- O <a href="#common-styling">Common Caption Style Examples</a> (Non-Normative)<br>
- O.1 <a href="#pop-on-example">Pop-On Caption Example</a><br>
- O.2 <a href="#roll-up-example">Roll-Up Caption
- Example</a><br>
- O.3 <a href="#paint-on-example">Paint-On Caption
- Example</a><br>
- P <a href="#acknowledgments">Acknowledgments</a> (Non-Normative)<br></p>
- </div>
- <hr>
-
- <div class="body">
- <div class="div1">
- <h2><a id="intro" name="intro"></a>1 Introduction</h2>
-
- <p><em>Unless specified otherwise, this section and its sub-sections are
- non-normative.</em></p>
-
- <p>The Timed Text Markup Language (TTML) 1.0 provides a standardized representation
- of a particular subset of textual information with which stylistic, layout, and
- timing semantics are associated by an author or an authoring system for the purpose
- of interchange and processing.</p>
-
- <p>TTML is expressly designed to meet only a limited set of requirements
- established by <a href="#ttaf1-req">[TTAF1-REQ]</a>, and summarized in <a href=
- "#requirements"><b>I Requirements</b></a>. In particular, only those requirements
- which service the need of performing interchange with existing, legacy distribution
- systems are satisfied.</p>
-
- <p>In addition to being used for interchange among legacy distribution content
- formats, TTML Content may be used directly as a distribution format (as implied by
- the acronym DFXP), providing, for example, a standard content format to reference
- from a <code><track></code> element in an HTML5 document, or a
- <code><text></code> or <code><textstream></code> media element in a
- <a href="#smil21">[SMIL 2.1]</a> document. Certain properties of TTML support
- streamability of content, as described in <a href="#streaming"><b>L Streaming TTML
- Content</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While TTML was not expressly designed for direct (embedded) integration into
- an HTML or a SMIL document instance, such integration is not precluded.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In some contexts of use, it may be appropriate to employ animated content to
- depict sign language representations of the same content as expressed by a Timed
- Text <em>Document Instance</em>. This use case is not explicitly addressed by
- TTML mechanisms, but may be addressed by some external multimedia integration
- technology, such as SMIL.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In previous drafts of this specification, TTML was referred to as DFXP
- (Distribution Format Exchange Profile). This latter term is retained for
- historical reasons in certain contexts, such as profile names and designators,
- and the short name <code>ttaf1-dfxp</code> used in URLs to refer to this
- specification.</p>
- </div>
-
- <div class="div2">
- <h3><a id="model" name="model"></a>1.1 System Model</h3>
-
- <p>Use of TTML is intended to function in a wider context of Timed Text Authoring
- and Distribution mechanisms that are based upon the system model depicted in
- <a href="#model-graphic"><b>Figure 1 – System Model</b></a>, wherein the Timed
- Text Markup Language serves as a bidirectional interchange format among a
- heterogeneous collection of authoring systems, and as a unidirectional
- interchange format to a heterogeneous collection of distribution formats after
- undergoing transcoding or compilation to the target distribution formats as
- required, and where one particular distribution format is TTML (labeled as "DFXP"
- in the figure).</p><a id="model-graphic" name="model-graphic"></a>
-
- <table class="example-images">
- <caption>
- Figure 1 – System Model
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/model.png" alt="System Model"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="example" name="example"></a>1.2 Document Example</h3>
-
- <p>A TTML <em>Document Instance</em> consists of a <code>tt</code> document
- element that contains a header and a body, where the header specifies document
- level metadata, styling definitions and layout definitions, and the body
- specifies text content intermixed with references to style and layout information
- and inline styling and timing information.</p><a id=
- "ttml-example-document-structure" name="ttml-example-document-structure"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Document Structure
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Document level metadata may specify a document title, description, and
- copyright information. In addition, arbitrary metadata drawn from other
- namespaces may be specified.</p><a id="ttml-example-metadata" name=
- "ttml-example-metadata"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Timed Text TTML Example</ttm:title>
- <ttm:copyright>The Authors (c) 2006</ttm:copyright>
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Styling information may be specified in the form of style specification
- definitions that are referenced by layout and content information, specified
- inline with content information, or both.</p>
-
- <p>In <a href="#ttml-example-styling"><b>Example Fragment – TTML Styling</b></a>,
- four style sets of specifications are defined, with one set serving as a
- collection of default styles.</p><a id="ttml-example-styling" name=
- "ttml-example-styling"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <!-- s1 specifies default color, font, and text alignment -->
- <style xml:id="s1"
- tts:color="white"
- tts:fontFamily="proportionalSansSerif"
- tts:fontSize="22px"
- tts:textAlign="center"
- />
- <!-- alternative using yellow text but otherwise the same as style s1 -->
- <style xml:id="s2" style="s1" tts:color="yellow"/>
- <!-- a style based on s1 but justified to the right -->
- <style xml:id="s1Right" style="s1" tts:textAlign="end" />
- <!-- a style based on s2 but justified to the left -->
- <style xml:id="s2Left" style="s2" tts:textAlign="start" />
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Layout information defines one or more regions into which content is intended
- to be presented. A region definition may reference one or more sets of style
- specifications in order to permit content flowed in the region to inherit from
- these styles. In <a href="#ttml-example-layout"><b>Example Fragment – TTML
- Layout</b></a>, the region definition makes reference to style specification
- <code>s1</code> augmented by specific inline styles which, together, allow
- content flowed into the region to inherit from the region's styles (in the case
- that a style is not already explicitly specified on content or inherited via the
- content hierarchy.)</p><a id="ttml-example-layout" name=
- "ttml-example-layout"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <region xml:id="subtitleArea"
- style="s1"
- tts:extent="560px 62px"
- tts:padding="5px 3px"
- tts:backgroundColor="black"
- tts:displayAlign="after"
- />
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The content of a <em>Document Instance</em> is expressed in its body, which is
- organized in terms of block and inline text elements. The hierarchical
- organization of content elements serves a primary role in determining both
- spatial and temporal relationships. For example, in <a href=
- "#ttml-example-body"><b>Example Fragment – TTML Body</b></a>, each paragraph
- (<code>p</code> element) is flowed into its target region in the specified
- lexical order; furthermore, the active time interval of each paragraph is timed
- in accordance to its parent or sibling according to the applicable time
- containment semantics — in this case, the division parent is interpreted (by
- default) as a parallel time container.</p><a id="ttml-example-body" name=
- "ttml-example-body"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body region="subtitleArea">
- <div>
- <p xml:id="subtitle1" begin="0.76s" end="3.45s">
- It seems a paradox, does it not,
- </p>
- <p xml:id="subtitle2" begin="5.0s" end="10.0s">
- that the image formed on<br/>
- the Retina should be inverted?
- </p>
- <p xml:id="subtitle3" begin="10.0s" end="16.0s" style="s2">
- It is puzzling, why is it<br/>
- we do not see things upside-down?
- </p>
- <p xml:id="subtitle4" begin="17.2s" end="23.0s">
- You have never heard the Theory,<br/>
- then, that the Brain also is inverted?
- </p>
- <p xml:id="subtitle5" begin="23.0s" end="27.0s" style="s2">
- No indeed! What a beautiful fact!
- </p>
- <p xml:id="subtitle6a" begin="28.0s" end="34.6s" style="s2Left">
- But how is it proved?
- </p>
- <p xml:id="subtitle6b" begin="28.0s" end="34.6s" style="s1Right">
- Thus: what we call
- </p>
- <p xml:id="subtitle7" begin="34.6s" end="45.0s" style="s1Right">
- the vertex of the Brain<br/>
- is really its base
- </p>
- <p xml:id="subtitle8" begin="45.0s" end="52.0s" style="s1Right">
- and what we call its base<br/>
- is really its vertex,
- </p>
- <p xml:id="subtitle9a" begin="53.5s" end="58.7s">
- it is simply a question of nomenclature.
- </p>
- <p xml:id="subtitle9b" begin="53.5s" end="58.7s" style="s2">
- How truly delightful!
- </p>
- </div>
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The first subtitle <a href="#ttml-example-subtitle-1"><b>Subtitle 1 – Time
- Interval [0.76, 3.45)</b></a> is presented during the time interval 0.76 to 3.45
- seconds. This subtitle inherits its font family, font size, foreground color, and
- text alignment from the region into which it is presented. Since no region is
- explicitly specified on the paragraph, the nearest ancestor that specifies a
- region determines the targeted region. Note also that content is presented at the
- bottom (after edge) of the containing region due to the
- <code>tts:displayAlign="after"</code> being specified on the region
- definition.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notation "[<em>X</em>,<em>Y</em>]" denotes a closed interval from
- <em>X</em> to <em>Y</em>, including <em>X</em> and <em>Y</em>;
- "[<em>X</em>,<em>Y</em>)" denotes a right half-open interval from <em>X</em> to
- <em>Y</em>, including <em>X</em> but not including <em>Y</em>;
- "(<em>X</em>,<em>Y</em>]" denotes a left half-open interval from <em>X</em> to
- <em>Y</em>, not including <em>X</em> but including <em>Y</em>;
- "(<em>X</em>,<em>Y</em>)" denotes an open interval from <em>X</em> to
- <em>Y</em>, not including <em>X</em> or <em>Y</em>.</p>
- </div><a id="ttml-example-subtitle-1" name="ttml-example-subtitle-1"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 1 – Time Interval [0.76, 3.45)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle1.png" alt="Subtitle 1"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The second subtitle continues with the default style, except that it contains
- two lines of text with an intervening author-specified line break. Note the
- affect of the use of <code>tts:textAlign="center"</code> to specify the
- paragraph's alignment in the inline progression direction.</p><a id=
- "ttml-example-subtitle-2" name="ttml-example-subtitle-2"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 2 – Time Interval [5.0, 10.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle2.png" alt="Subtitle 2"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The third subtitle continues, using a variant style which overrides the
- default style's foreground color with a different color.</p><a id=
- "ttml-example-subtitle-3" name="ttml-example-subtitle-3"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 3 – Time Interval [10.0, 16.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle3.png" alt="Subtitle 3"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fourth subtitle reverts to the default style.</p><a id=
- "ttml-example-subtitle-4" name="ttml-example-subtitle-4"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 4 – Time Interval [17.2, 23.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle4.png" alt="Subtitle 4"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fifth subtitle continues, again using a variant style which overrides the
- default style's foreground color with a different color.</p><a id=
- "ttml-example-subtitle-5" name="ttml-example-subtitle-5"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 5 – Time Interval [23.0, 27.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle5.png" alt="Subtitle 5"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the next active time interval, two distinct subtitles are
- simultaneously active, with the paragraphs expressing each subtitle using
- different styles that override color and paragraph text alignment of the default
- style. Note that the flow order is determined by the lexical order of elements as
- they appear in the content hierarchy.</p><a id="ttml-example-subtitle-6" name=
- "ttml-example-subtitle-6"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 6a and 6b – Time Interval [28.0, 34.6)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle6.png" alt="Subtitles 6a and 6b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The next subtitle is specified in a similar manner using a style override to
- give the paragraph right (end) justification in the inline progression
- direction.</p><a id="ttml-example-subtitle-7" name="ttml-example-subtitle-7"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 7 – Time Interval [34.6, 45.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle7.png" alt="Subtitles 7a and 7b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The eighth subtitle uses the same style override as the previous subtitle in
- order to maintain the right (end) justification of the paragraph.</p><a id=
- "ttml-example-subtitle-8" name="ttml-example-subtitle-8"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 8 – Time Interval [47.3, 49.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle8.png" alt="Subtitle 8"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the final (ninth) active time interval, two distinct subtitles are
- again simultaneously active, but with a different style applied to the second
- paragraph to override the default color. Note that the flow order is determined
- by the lexical order of elements as they appear in the content
- hierarchy.</p><a id="ttml-example-subtitle-9" name="ttml-example-subtitle-9"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 9a and 9b – Time Interval [53.5, 58.7)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle9.png" alt="Subtitles 9a and 9b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The examples shown above demonstrate the primary types of information that may
- be authored using TTML: metadata, styling, layout, timing, and content. In
- typical cases, styling and layout information are separately specified in a
- <em>Document Instance</em>. Content information is expressed in a hierarchical
- fashion that embodies the organization of both spatial (flow) and timing
- information. Content makes direct or indirect references to styling and layout
- information and may specify inline overrides to styling.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="definitions" name="definitions"></a>2 Definitions</h2>
-
- <div class="div2">
- <h3><a id="acronyms" name="acronyms"></a>2.1 Acronyms</h3>
-
- <table class="acronyms" summary="Glossary List">
- <tr>
- <td class="label"><b>DFXP</b></td>
-
- <td class="def">
- <p>Distribution Format Exchange Profile</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT</b></td>
-
- <td class="def">
- <p>Timed Text</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTML</b></td>
-
- <td class="def">
- <p>Timed Text Markup Language</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT AS</b></td>
-
- <td class="def">
- <p>Timed Text Authoring System</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT AF</b></td>
-
- <td class="def">
- <p>Timed Text Authoring Format</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT WG</b></td>
-
- <td class="def">
- <p>Timed Text Working Group</p>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="terms" name="terms"></a>2.2 Terminology</h3>
-
- <dl>
- <dt class="label">Abstract Document Instance</dt>
-
- <dd>
- <p>An instance of an abstract data set as represented by a <em>Reduced XML
- Infoset</em>.</p>
- </dd>
-
- <dt class="label">Abstract Document Type</dt>
-
- <dd>
- <p>A set of constraints that defines a class of <em>XML Information Sets</em>
- <a href="#infoset">[XML InfoSet]</a>.</p>
- </dd>
-
- <dt class="label">Attribute Information Item</dt>
-
- <dd>
- <p>Each specified or defaulted attribute of an XML document corresponds with
- an attribute information item as defined by <a href="#infoset">[XML
- InfoSet]</a>, §2.3.</p>
- </dd>
-
- <dt class="label">Character Information Item</dt>
-
- <dd>
- <p>Each data character appearing in an XML document corresponds with a
- character information item as defined by <a href="#infoset">[XML
- InfoSet]</a>, §2.6.</p>
- </dd>
-
- <dt class="label">Content Processor</dt>
-
- <dd>
- <p>A processing system capable of importing (receiving) Timed Text Markup
- Language content for the purpose of transforming, presenting, or otherwise
- processing the content.</p>
- </dd>
-
- <dt class="label">Content Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that are (or may be) employed by
- Timed Text Markup Language content.</p>
- </dd>
-
- <dt class="label">Content Region</dt>
-
- <dd>
- <p>A logical region into which rendered content is placed when modeling or
- performing presentation processing.</p>
- </dd>
-
- <dt class="label">Document Instance</dt>
-
- <dd>
- <p>A concrete realization of a Timed Text Markup Language document, where the
- concrete form is specific to the context of reference. For example, a
- sequence of bytes that represents an XML serialization of a Timed Text
- document, an internal, parsed representation of such a Timed Text document,
- etc.</p>
- </dd>
-
- <dt class="label">Document Interchange Context</dt>
-
- <dd>
- <p>The implied context or environment external to a <em>Content
- Processor</em> in which document interchange occurs, and in which out-of-band
- protocols or specifications may define certain behavioral defaults, such as
- an implied <em>Content Profile</em>.</p>
- </dd>
-
- <dt class="label">Document Processing Context</dt>
-
- <dd>
- <p>The implied context or environment internal to a <em>Content
- Processor</em> in which document processing occurs, and in which out-of-band
- protocols or specifications may define certain behavioral defaults, such as
- the establishment or creation of a <em>Synthetic Document Syncbase</em>.</p>
- </dd>
-
- <dt class="label">Element Information Item</dt>
-
- <dd>
- <p>Each element appearing in an XML document corresponds with an element
- information item as defined by <a href="#infoset">[XML InfoSet]</a>,
- §2.2.</p>
- </dd>
-
- <dt class="label">Exchange Profile</dt>
-
- <dd>
- <p>A content profile that serves a set of needs for content interchange.</p>
- </dd>
-
- <dt class="label">Extension</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined and
- labeled (using a extension designation) in another (public or private)
- specification.</p>
- </dd>
-
- <dt class="label">Feature</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined and
- labeled (using a feature designation) in this specification (or a future
- revision of this specification).</p>
- </dd>
-
- <dt class="label">Presentation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to layout, format, and
- render, i.e., to present, <em>Timed Text Markup Language</em> content by
- applying the presentation semantics defined in this specification.</p>
- </dd>
-
- <dt class="label">Processor</dt>
-
- <dd>
- <p>See <em>Content Processor</em>.</p>
- </dd>
-
- <dt class="label">Processor Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that must or may be implemented
- (supported) by a content processor.</p>
- </dd>
-
- <dt class="label">Profile Definition Document</dt>
-
- <dd>
- <p>A document that defines a specific collection of features and extensions
- for which support is required or optional in a recipient content
- processor.</p>
- </dd>
-
- <dt class="label">Region</dt>
-
- <dd>
- <p>A logical construct that models authorial intention regarding desired or
- potential presentation processing, and which is represented as a rectangular
- area of a presentation surface into which content is composed and rendered
- during presentation processing.</p>
- </dd>
-
- <dt class="label">Reduced XML Infoset</dt>
-
- <dd>
- <p>An XML Information Set <a href="#infoset">[XML InfoSet]</a> that satisfies
- the constraints specify by <a href="#reduced-infoset"><b>A Reduced XML
- Infoset</b></a>.</p>
- </dd>
-
- <dt class="label">Related Media Object</dt>
-
- <dd>
- <p>A (possibly null) media object associated with or otherwise related to a
- <em>Document Instance</em>. For example, an aggregate audio/video media
- object for which a <em>Document Instance</em> provides caption or subtitle
- information, and with which that <em>Document Instance</em> is
- associated.</p>
- </dd>
-
- <dt class="label">Root Container Region</dt>
-
- <dd>
- <p>A logical region that establishes a coordinate system into which
- <em>Document Instance</em> content regions are placed and optionally
- clipped.</p>
- </dd>
-
- <dt class="label">Root Temporal Extent</dt>
-
- <dd>
- <p>The temporal extent (interval) defined by the temporal beginning and
- ending of a <em>Document Instance</em> in relationship with some external
- application or presentation context.</p>
- </dd>
-
- <dt class="label">SMPTE Time Code</dt>
-
- <dd>
- <p>A time code whose format and semantics are established by <a href=
- "#smpte12m">[SMPTE 12M]</a>, which may be embedded into or otherwise
- associated with media content, such as a broadcast audio/video stream.</p>
- </dd>
-
- <dt class="label">Synthetic Document Syncbase</dt>
-
- <dd>
- <p>A document level <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-Syncbases">
- syncbase</a> <a href="#smil21">[SMIL 2.1]</a>, § 10.7.1, synthesized or
- otherwise established by the <em>Document Processing Context</em> in
- accordance with the <em>Related Media Object</em> or other processing
- criteria.</p>
- </dd>
-
- <dt class="label">Synthetic SMPTE Document Syncbase</dt>
-
- <dd>
- <p>A <em>Synthetic Document Syncbase</em> constructed from <em>SMPTE Time
- Code</em> values embedded in or associated with the <em>Related Media
- Object</em> or otherwise determined by the <em>Document Processing
- Context</em>.</p>
- </dd>
-
- <dt class="label">Timed Text</dt>
-
- <dd>
- <p>Textual information that is intrinsically or extrinsically associated with
- timing information.</p>
- </dd>
-
- <dt class="label">Timed Text Markup Language</dt>
-
- <dd>
- <p>A content type that represents timed text media for the purpose of
- interchange among authoring systems.</p>
- </dd>
-
- <dt class="label">Timed Text Authoring System</dt>
-
- <dd>
- <p>A content authoring system capable of importing and exporting Timed Text
- Markup Language content.</p>
- </dd>
-
- <dt class="label">Transformation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to transform or otherwise
- rewrite <em>Timed Text Markup Language</em> content to either <em>Timed Text
- Markup Language</em> or to another (arbitrary) content format. An example of
- the first is a processor that removes or rewrites TTML features so as to
- conform to a profile of TTML. An example of the latter is a processor that
- translates TTML into a completely different timed text format. Because this
- specification does not otherwise define a target profile or format for
- transformation processing, no further transformation semantics are defined by
- this specification.</p>
- </dd>
-
- <dt class="label">Valid Abstract Document Instance</dt>
-
- <dd>
- <p>An <em>Abstract Document Instance</em> which has been assessed for
- validity and found to be valid as defined by <a href="#doctypes"><b>4
- Document Types</b></a>.</p>
- </dd>
- </dl>
- </div>
-
- <div class="div2">
- <h3><a id="conventions" name="conventions"></a>2.3 Documentation Conventions</h3>
-
- <p>Within normative prose in this specification, the words <em>may</em>,
- <em>should</em>, and <em>must</em> are defined as follows:</p>
-
- <dl class="conformance-keywords">
- <dt class="label">may</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are permitted to, but need not
- behave as described.</p>
- </dd>
-
- <dt class="label">should</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are strongly recommended to,
- but need not behave as described.</p>
- </dd>
-
- <dt class="label">must</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are required to behave as
- described; otherwise, they are in error.</p>
- </dd>
- </dl>
-
- <p>If normative specification language takes an imperative form, then it is to be
- treated as if the term <span class="strong">must</span> applies. Furthermore, if
- normative language takes a declarative form, and this language is governed by
- <span class="strong">must</span>, then it is also to be treated as if the term
- <span class="strong">must</span> applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, the phrases "treat X as an error" and "consider X as an error"
- are to be read as mandatory requirements in the context of use. Similarly, if
- the specification prose is "X must apply", "X applies", or "X is mandatory",
- and "X" is further defined as "X is Y and Z", then, by transitive closure, this
- last declarative phrase is to be read as "Y is mandatory" and "Z is mandatory"
- in the context of use.</p>
- </div>
-
- <p>All normative syntactic definitions of XML representations and other related
- terms are depicted with a light yellow-orange background color and labeled as
- "XML Representation" or "Syntax Representation", such as in the
- following:</p><a id="elt-syntax-example" name="elt-syntax-example"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: example
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<example
- <span class="reqattr">count</span> = integer
- size = (<em>large</em>|<em>medium</em>|<em>small</em>) : medium>
- <em>Content:</em> (all | any*)
-</example>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In an XML representation, bold-face attribute names (e.g. <span class=
- "strong">count</span> above) indicate a required attribute information item, and
- the rest are optional. Where an attribute information item has an enumerated type
- definition, the values are shown separated by vertical bars, as for
- <code>size</code> above; if there is a default value, it is shown following a
- colon. Where an attribute information item has a built-in simple type definition
- defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its
- definition therein is given.</p>
-
- <p>The allowed content of the information item is shown as a grammar fragment,
- using the Kleene operators <code>?</code>, <code>*</code> and <code>+</code>.
- Each element name therein is a hyperlink to its own illustration.</p>
-
- <p>All content of this specification that is not explicitly marked as
- non-normative is considered to be normative. If a section or appendix header
- contains the expression "Non-Normative", then the entirety of the section or
- appendix is considered non-normative.</p>
-
- <p>All paragraphs marked as a <span class="strong">Note</span> are considered
- non-normative.</p>
-
- <p>Example code fragments are depicted with a light blue-green background color
- and labeled as "Example Fragment", such as in the following:</p><a id=
- "example-fragment-1" name="example-fragment-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Sample
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="conformance" name="conformance"></a>3 Conformance</h2>
-
- <p>This section specifies the general conformance requirements for TTML Content and
- processors.</p>
-
- <div class="div2">
- <h3><a id="conformance-content" name="conformance-content"></a>3.1 Content
- Conformance</h3>
-
- <p>A TTML <em>Document Instance</em> conforms to this specification if the
- following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>When transporting a <em>Document Instance</em> in a <em>Document
- Interchange Context</em> in which a Media Type <a href="#media-types">[Media
- Types]</a> identifies the content type of the interchanged <em>Document
- Instance</em>, then the specified media type is
- <code>application/ttml+xml</code> in conformance with <a href="#rfc3023">[XML
- Media Types]</a> § 7, with which an optional <code>profile</code> parameter
- may appear, the value of which conforms to a profile designator as defined by
- <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Document Instance</em> is or can be represented as a Reduced XML
- Infoset as defined by <a href="#reduced-infoset"><b>A Reduced XML
- Infoset</b></a>.</p>
- </li>
-
- <li>
- <p>The Reduced XML Infoset that corresponds to the <em>Document Instance</em>
- is or can be associated with one of the <em>Abstract Document Types</em>
- defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> that corresponds to the <em>Document
- Instance</em> is a <em>Valid Abstract Document Instance</em> of the
- associated <em>Abstract Document Type</em>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> satisfies all additional mandatory
- syntactic and semantic constraints defined by this specification. In
- addition, this Infoset should satisfy the web content accessibility
- guidelines specified by <a href="#wcag">[WCAG]</a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div2">
- <h3><a id="conformance-processor" name="conformance-processor"></a>3.2 Processor
- Conformance</h3>
-
- <div class="div3">
- <h4><a id="conformance-generic-processor" name=
- "conformance-generic-processor"></a>3.2.1 Generic Processor Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> conforms to this specification if the
- following generic processor criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor provides at least one mechanism for notionally
- instantiating a Reduced XML Infoset representation of a conformant
- <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>If a process does or can perform validation of a candidate <em>Document
- Instance</em>, then it provides at least one mechanism to implicitly or
- explicitly associate the <em>Reduced XML Infoset</em> representation of a
- conformant <em>Document Instance</em> with one of the <em>Abstract Document
- Types</em> defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
- </li>
-
- <li>
- <p>The processor does not <em>a priori</em> reject or abort the processing
- of a conformant <em>Document Instance</em> unless the processor does not
- support some required (mandatory) feature specified or implied by a TTML
- Content profile declared to apply to the <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>The processor supports all mandatory processing semantics defined by
- this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>mandatory semantics</em> refers to all explicit use of
- the conformance key phrases <span class="strong">must</span> and
- <span class="strong">must not</span> as well as any declarative statement
- that can be reasonably inferred from such key phrases. For example, these
- mandatory semantics include support for all features marked as mandatory
- in <a href="#feature-support"><b>D.2 Feature Support</b></a>.</p>
- </div>
- </li>
-
- <li>
- <p>If the processor supports some optional processing semantics defined by
- this specification, then it does so in a manner consistent with the defined
- semantics.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>optional semantics</em> refers to all explicit use of
- the conformance key phrases <span class="strong">should</span>,
- <span class="strong">should not</span>, <span class="strong">may</span>,
- and <span class="strong">may not</span>, as well as any declarative
- statement that can be reasonably inferred from such key phrases. For
- example, these optional semantics include support for all features marked
- as optional in <a href="#feature-support"><b>D.2 Feature
- Support</b></a>.</p>
- </div>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-transformation-processor" name=
- "conformance-transformation-processor"></a>3.2.2 Transformation Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Transformation
- Processor</em> if the following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Transformation profile as specified by
- <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-presentation-processor" name=
- "conformance-presentation-processor"></a>3.2.3 Presentation Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Presentation
- Processor</em> if the following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Presentation profile as specified by
- <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="claims" name="claims"></a>3.3 Claims</h3>
-
- <p>Any claim of compliance with respect to the conformance of a TTML <em>Document
- Instance</em> or <em>Content Processor</em> must make reference to an
- implementation compliance statement (ICS).</p>
-
- <p>An implementation compliance statement must identify all mandatory and
- optional features of this specification that are satisfied by the document
- instance or the content processor implementation. In particular, the statement
- must identify the utilized or supported TTML vocabulary profile(s) as defined by
- <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>, and, if a subset or
- superset profile is used or supported, then what features are excluded or
- included in the subset or superset profile.</p>
-
- <p>A <em>Document Instance</em> for which a compliance claim is made must specify
- either (1) a <code>ttp:profile</code> attribute on its root <code>tt</code>
- element as defined by <a href="#parameter-attribute-profile"><b>6.2.8
- ttp:profile</b></a> or (2) a <code>ttp:profile</code> element as a child of the
- <code>head</code> element as defined by <a href=
- "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="doctypes" name="doctypes"></a>4 Document Types</h2>
-
- <p>This section defines the following TTML <em>Abstract Document Types</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-content-doctype"><b>4.1 TTML Content</b></a></p>
- </li>
- </ul>
-
- <p>Each <em>Abstract Document Type</em> consists of the following constraints:</p>
-
- <ul>
- <li>
- <p>a non-empty collection of element types, where each element type consists of
- a name, a (possibly empty) collection of attributes, and a content
- specification</p>
- </li>
-
- <li>
- <p>a non-empty collection of element types that may appear as the document
- element</p>
- </li>
- </ul>
-
- <p>An <em>Abstract Document Instance</em> may be assessed in terms of validity, and
- is considered to be a <em>Valid Abstract Document Instance</em> if it satisfies the
- following condition: if after</p>
-
- <ol class="enumar">
- <li>
- <p>pruning all element information items whose names are not members of the
- collection of element types defined by the associated <em>Abstract Document
- Type</em>, then</p>
- </li>
-
- <li>
- <p>pruning character information item children from any remaining element in
- case that all character children of the element denote XML whitespace
- characters and the element's type is defined as empty in the associated
- <em>Abstract Document Type</em>, and then</p>
- </li>
-
- <li>
- <p>pruning all attribute information items having expanded names such that the
- namespace URI of the expanded names are not listed in <a href=
- "#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>,</p>
- </li>
- </ol>
-
- <p>then the document element is one of the document element types permitted by the
- associated <em>Abstract Document Type</em>, the descendants of the document element
- satisfy their respective element type's content specifications, all required
- attributes are present, and the declared value of each attribute satisfies the type
- declared by the associated <em>Abstract Document Type</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While a conformant processor may not <em>a priori</em> reject a conformant
- <em>Document Instance</em> that adheres to a supported content profile, a given
- <em>Document Instance</em> may be constrained by the author or authoring tool to
- satisfy a more restrictive definition of validity.</p>
- </div>
-
- <div class="div2">
- <h3><a id="ttml-content-doctype" name="ttml-content-doctype"></a>4.1 TTML
- Content</h3>
-
- <p>TTML Content is an <em>Abstract Document Type</em> of a profile of the Timed
- Text Markup Language intended to be used for interchange among distribution
- systems. This document type is defined in terms of the element and attribute
- vocabulary specified in <a href="#vocabulary"><b>5 Vocabulary</b></a>.</p>
-
- <p>This specification references two types of schemas that may be used to
- validate a superset/subset of conformant TTML Content <em>Document
- Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-schema-rnc"><b>B.1 Relax NG Compact (RNC)
- Schema</b></a></p>
- </li>
-
- <li>
- <p><a href="#ttml-schema-xsd"><b>B.2 XML Schema Definition (XSD)
- Schema</b></a></p>
- </li>
- </ul>
-
- <p>The (root) document element of a TTML Content <em>Document Instance</em> must
- be a <code>tt</code> element, as defined by <a href=
- "#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The schemas referenced by this specification do not validate all syntactic
- constraints defined by this specification, and, as such, represent a superset
- of conformant TTML Content. In particular, performing validation with one of
- the above referenced schemas may result in a <em>false positive</em> indication
- of validity. For example, both the RNC and XSD schemas specify that a
- <code>tts:fontFamily</code> attribute must satisfy the <code>xs:string</code>
- XSD data type; however, this data type is a superset of the values permitted to
- be used with the <code>tts:fontFamily</code> attribute.</p>
-
- <p>In addition, the RNC schema may produce a <em>false negative</em> indication
- of validity when using the <code>xml:id</code> attribute with an element in a
- foreign namespace, thus representing a subset of conformant TTML Content. This
- is due to a specific limitation in expressing wildcard patterns involving
- <code>xsd:ID</code> typed attributes in Relax NG schemas. Note that this
- specification defines the formal validity of a <em>Document Instance</em> to be
- based on an <em>Abstract Document Instance</em> from which all foreign
- namespace elements and attributes have been removed. Therefore, the exceptional
- reporting of this false negative does not impact the formal assessment of
- <em>Document Instance</em> validity.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="vocabulary" name="vocabulary"></a>5 Vocabulary</h2>
-
- <p>This section defines the namespaces, profiles, and vocabulary (as an element and
- attribute catalog) of the Timed Text Markup Language (TTML) as follows:</p>
-
- <ul>
- <li>
- <p><a href="#vocabulary-namespaces"><b>5.1 Namespaces</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-profiles"><b>5.2 Profiles</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-overview"><b>5.3 Catalog</b></a></p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="vocabulary-namespaces" name="vocabulary-namespaces"></a>5.1
- Namespaces</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of XML Namespaces
- <a href="#xmlns10">[XML Namespaces 1.0]</a> for elements and certain global
- attributes. The following table specifies this set of namespaces and indicates
- the default prefix used within this specification and the normative URI that
- denotes each namespace.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In a specific <em>Document Instance</em>, it is not required that the
- default prefixes shown below are used. Any prefix or namespace binding that
- satisfies the constraints of XML Namespaces <a href="#xmlns10">[XML Namespaces
- 1.0]</a> may be used that is associated with the specified namespace URI.</p>
- </div><a id="namespace-vocab-table" name="namespace-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 1 – Namespaces
- </caption>
- <col width="30%" span="1">
- <col span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Prefix</th>
-
- <th>Value</th>
- </tr>
-
- <tr>
- <td>TT</td>
-
- <td><code>tt:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml</code></td>
- </tr>
-
- <tr>
- <td>TT Parameter</td>
-
- <td><code>ttp:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#parameter</code></td>
- </tr>
-
- <tr>
- <td>TT Style</td>
-
- <td><code>tts:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#styling</code></td>
- </tr>
-
- <tr>
- <td>TT Metadata</td>
-
- <td><code>ttm:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#metadata</code></td>
- </tr>
-
- <tr>
- <td>TT Profile</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/</code></td>
- </tr>
-
- <tr>
- <td>TT Feature</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/feature/</code></td>
- </tr>
-
- <tr>
- <td>TT Extension</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/extension/</code></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a reference to an element type is used in this specification and the name
- of the element type is not namespace qualified, then the TT Namespace
- applies.</p>
-
- <p>For certain namespaces defined above, the default prefix is specified as
- <em>none</em> if no XML vocabulary is defined in the namespace by this
- specification (nor expected to be defined in a future version of this
- specification). In such cases, the use of the namespace URI is for purposes
- other than defining XML vocabulary, e.g., for designating profiles, features,
- extensions and for dereferencing standard profile definitions.</p>
- </div>
-
- <p>All TTML Namespaces are <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState#namespacedef"><em>mutable</em></a>
- <a href="#nsstate">[NSState]</a>; all undefined names in these namespaces are
- reserved for future standardization by the W3C.</p>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-profiles" name="vocabulary-profiles"></a>5.2 Profiles</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of standard, predefined
- profiles of its vocabulary and associated semantics. The following table
- specifies this set of profiles, indicating a normative name and designator for
- each predefined profile, and where each of these profiles is formally elaborated
- in <a href="#profiles"><b>F Profiles</b></a>.</p><a id="profile-vocab-table"
- name="profile-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 2 – Profiles
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Designator</th>
- </tr>
-
- <tr>
- <td>DFXP Transformation</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Presentation</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Full</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-full</code></td>
- </tr>
- </tbody>
- </table>
-
- <p>A profile designator must adhere to the <code>xsd:anyURI</code> data type
- defined by <a href="#xsd-2">[XML Schema Part 2]</a>, §3.2.17. If the profile
- designator is expressed as a relative URI, then it must be absolutized by using
- the TT Profile Namespace value as the base URI.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if a profile designator is expressed as
- <code>dfxp-presentation</code>, then the absolutized profile designator would
- be <code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code>.</p>
- </div>
-
- <p>A profile designator is not restricted to the set of designators enumerated in
- <a href="#profile-vocab-table"><b>Table 2 – Profiles</b></a>, but may be any URI
- that feasibly dereferences a TTML <em>Profile Definition Document</em>.</p>
-
- <p>The profile of TTML that must be supported by a TTML <em>Content
- Processor</em> in order to process a <em>Document Instance</em> is determined
- either (1) by specifying a <code>ttp:profile</code> attribute on the root
- <code>tt</code> element, as defined by <a href=
- "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a>, or (2) by including
- one or more <code>ttp:profile</code> elements in the <code>head</code> element,
- in accordance with <a href="#parameter-vocabulary-profile"><b>6.1.1
- ttp:profile</b></a>.</p>
-
- <p>If a <code>ttp:profile</code> element appears as a descendant of the
- <code>tt</code> element, then the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute should not
- be specified on the <code>tt</code> element. If both a <code>ttp:profile</code>
- element and a <code>ttp:profile</code> attribute are present (in a given
- <em>Document Instance</em>), then the <code>ttp:profile</code> attribute must be
- ignored for the purpose of determining the declared profile requirements.</p>
-
- <p>If more than one <code>ttp:profile</code> element appears in a <em>Document
- Instance</em>, then all specified profiles apply simultaneously. In such a case,
- if some feature or some extension is specified by one profile to be used
- (mandatory and enabled) and by another profile to be required (mandatory) or
- optional (voluntary), then that feature or extension must be considered to be
- used (mandatory and enabled); if some feature or some extension is specified by
- one profile to be merely required (mandatory) and by another profile to be
- optional (voluntary), then that feature or extension must be considered to be
- required (mandatory).</p>
-
- <p>If neither <a href="#parameter-attribute-profile"><code>ttp:profile</code></a>
- attribute nor <a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a> element is present
- in a <em>Document Instance</em>, and if the <em>Document Interchange Context</em>
- does not make an implicit or explicit reference to a pre-defined Content Profile
- or does not specify a <em>Profile Definition Document</em> or another equivalent
- set of feature designations, then the DFXP Transformation profile applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is not a requirement on a conformant <em>Document Instance</em> that a
- <em>Content Profile</em> be internally defined by use of a
- <code>ttp:profile</code> element or internally referenced by a
- <code>ttp:profile</code> attribute. More specifically, it is permitted that the
- <em>Document Interchange Context</em> determines the applicable <em>Content
- Profile</em> through private agreement, out-of-band protocol, or common use
- (between sender and receiver) of a profile defined by an external
- specification.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is intended that the <code>ttp:profile</code> attribute be used when the
- author wishes to reference one of the standard, predefined profiles of TTML
- Content, and does not wish to modify (by supersetting or subsetting) that
- profile. This attribute may also be used by an author to indicate the use of a
- non-standard profile, in which case the specified profile designator expresses
- a URI that denotes an externally defined <em>Profile Definition Document</em>.
- However, it is not required that a conformant TTML Content processor be able to
- dereference such an externally specified profile definition.</p>
-
- <p>In contrast, it is intended that the <code>ttp:profile</code> element be
- used when the author wishes to make use of a modified predefined profile or
- wishes to include in the <em>Document Instance</em> a non-standard profile
- definition not based upon one of the predefined profiles.</p>
-
- <p>A predefined profile is supersetted by specifying some feature or extension
- to be required (mandatory) that was either not specified in the underlying,
- baseline profile or was specified as optional (voluntary) in the baseline
- profile. A predefined profile is subsetted by specifying some feature or
- extension to be optional (voluntary) that was specified as required in the
- underlying, baseline profile.</p>
-
- <p>When a baseline profile is modified by subsetting, the resulting, derived
- profile is referred to as a <em>subtractive</em> profile; when modified by
- supersetting, the result is referred to as an <em>additive</em> profile. It is
- also possible to define a derived profile that is simultaneously subtractive
- and additive.</p>
- </div>
-
- <p>If a <em>Document Instance</em> makes use of a feature defined by <a href=
- "#feature-designations"><b>D.1 Feature Designations</b></a> and if the intended
- use of the document requires the recognition and processing of that feature, then
- the document must include a <em>required feature</em> or a <em>used feature</em>
- specification in one of its declared or referenced profiles. If a <em>Document
- Instance</em> makes use of an extension designatable by <a href=
- "#extension-designations"><b>E.1 Extension Designations</b></a> and if the
- intended use of the document requires the recognition and processing of that
- extension, then the document must include a <em>required extension</em> or a
- <em>used extension</em> specification in one of its declared or referenced
- profiles.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A required or used feature specification is expressed directly (or
- indirectly by referring to a profile) by means of a <a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a> element where the
- value of its <code>value</code> attribute is <code>required</code> or
- <code>use</code>, respectively. A required or used extension specification is
- expressed directly (or indirectly by referring to a profile) by means of a
- <a href="#parameter-vocabulary-extension"><code>ttp:extension</code></a>
- element where the value of its <code>value</code> attribute is
- <code>required</code> or <code>use</code>, respectively.</p>
- </div>
-
- <p>An example of an author defined additive, derived profile of the DFXP
- Presentation profile is shown below in <a href=
- "#ttml-example-sub-profile"><b>Example Fragment – DFXP Additive
- Profile</b></a>.</p><a id="ttml-example-sub-profile" name=
- "ttml-example-sub-profile"></a>
-
- <table class="example">
- <caption>
- Example Fragment – DFXP Additive Profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <profile use="dfxp-presentation" xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <feature value="required">#fontStyle-italic</feature>
- </features>
- </profile>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the baseline profile is declared to be the DFXP
- Presentation profile, which is then additively modified by making the
- <code>#fontStyle-italic</code> feature required (rather than optional as it is
- defined in <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>). Note also the resetting of the default XMLNS binding on the
- <code>profile</code> element to the TT Parameter Namespace.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-overview" name="vocabulary-overview"></a>5.3 Catalog</h3>
-
- <p>The vocabulary of the Timed Text Markup Language (TTML) is defined in the
- following major catalogs (divisions of vocabulary):</p>
-
- <ul>
- <li>
- <p><a href="#core-vocabulary-overview"><b>5.3.1 Core Catalog</b></a></p>
- </li>
-
- <li>
- <p><a href="#extension-vocabulary-overview"><b>5.3.2 Extension
- Catalog</b></a></p>
- </li>
- </ul>
-
- <p>The core catalog defines the baseline, core vocabulary of TTML, and, in
- particular, the vocabulary of TTML Content. The extension catalog serves as a
- placeholder for extensions to the core vocabulary defined by TTML.</p>
-
- <div class="div3">
- <h4><a id="core-vocabulary-overview" name="core-vocabulary-overview"></a>5.3.1
- Core Catalog</h4>
-
- <p>The core vocabulary catalog is intended to satisfy the needs of TTML while
- providing a baseline vocabulary for future profiles. This vocabulary is divided
- into distinct categories, specified in detail in the following sections:</p>
-
- <ul>
- <li>
- <p><a href="#parameters"><b>6 Parameters</b></a></p>
- </li>
-
- <li>
- <p><a href="#content"><b>7 Content</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling"><b>8 Styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout"><b>9 Layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><b>10 Timing</b></a></p>
- </li>
-
- <li>
- <p><a href="#animation"><b>11 Animation</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata"><b>12 Metadata</b></a></p>
- </li>
- </ul>
-
- <p>The core element vocabulary specified for use with a <em>Document
- Instance</em> is enumerated in <a href="#element-vocab-table"><b>Table 3 –
- Element Vocabulary</b></a>.</p><a id="element-vocab-table" name=
- "element-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 3 – Element Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Content</td>
-
- <td><a href="#document-structure-vocabulary-body">body</a>, <a href=
- "#content-vocabulary-div">div</a>, <a href="#content-vocabulary-p">p</a>,
- <a href="#content-vocabulary-span">span</a>, <a href=
- "#content-vocabulary-br">br</a></td>
- </tr>
-
- <tr>
- <td>Document</td>
-
- <td><a href="#document-structure-vocabulary-tt">tt</a></td>
- </tr>
-
- <tr>
- <td>Head</td>
-
- <td><a href="#document-structure-vocabulary-head">head</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-vocabulary-layout">layout</a>, <a href=
- "#layout-vocabulary-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a></td>
- </tr>
-
- <tr>
- <td>Metadata Items</td>
-
- <td><a href="#metadata-vocabulary-actor">ttm:actor</a>, <a href=
- "#metadata-vocabulary-agent">ttm:agent</a>, <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a>, <a href=
- "#metadata-vocabulary-desc">ttm:desc</a>, <a href=
- "#metadata-vocabulary-name">ttm:name</a>, <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameter Items</td>
-
- <td><a href="#parameter-vocabulary-profile">ttp:profile</a>, <a href=
- "#parameter-vocabulary-features">ttp:features</a>, <a href=
- "#parameter-vocabulary-feature">ttp:feature</a>, <a href=
- "#parameter-vocabulary-extensions">ttp:extensions</a>, <a href=
- "#parameter-vocabulary-extension">ttp:extension</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#styling-vocabulary-styling">styling</a>, <a href=
- "#styling-vocabulary-style">style</a></td>
- </tr>
- </tbody>
- </table>
-
- <p>Element vocabulary groups that are used in defining content models for TTML
- element types are enumerated in <a href="#element-vocab-group-table"><b>Table 4
- – Element Vocabulary Groups</b></a>.</p><a id="element-vocab-group-table" name=
- "element-vocab-group-table"></a>
-
- <table class="common">
- <caption>
- Table 4 – Element Vocabulary Groups
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Group</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation.class</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Block.class</td>
-
- <td><a href="#content-vocabulary-div">div</a> | <a href=
- "#content-vocabulary-p">p</a></td>
- </tr>
-
- <tr>
- <td>Inline.class</td>
-
- <td><a href="#content-vocabulary-span">span</a> | <a href=
- "#content-vocabulary-span">br</a> | <code>#PCDATA</code></td>
- </tr>
-
- <tr>
- <td>Metadata.class</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a> | <a href=
- "#metadata-vocabulary-copyright">ttm:agent</a> | <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a> | <a href=
- "#metadata-vocabulary-desc">ttm:desc</a> | <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameters.class</td>
-
- <td><a href="#parameter-vocabulary-profile">ttp:profile</a></td>
- </tr>
- </tbody>
- </table>
-
- <p>The attribute vocabulary specified for use with the core vocabulary catalog
- is enumerated in <a href="#attribute-vocab-table"><b>Table 5 – Attribute
- Vocabulary</b></a>.</p><a id="attribute-vocab-table" name=
- "attribute-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 5 – Attribute Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Attributes</th>
- </tr>
-
- <tr>
- <td>Core Attributes</td>
-
- <td><a href="#content-attribute-id">xml:id</a>, <a href=
- "#content-attribute-lang">xml:lang</a>, <a href=
- "#content-attribute-space">xml:space</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-attribute-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata Attributes</td>
-
- <td><a href="#metadata-attribute-agent">ttm:agent</a>, <a href=
- "#metadata-attribute-role">ttm:role</a></td>
- </tr>
-
- <tr>
- <td>Parameter Attributes</td>
-
- <td><a href="#parameter-attribute-cellResolution">ttp:cellResolution</a>,
- <a href="#parameter-attribute-clockMode">ttp:clockMode</a>, <a href=
- "#parameter-attribute-dropMode">ttp:dropMode</a>, <a href=
- "#parameter-attribute-frameRate">ttp:frameRate</a>, <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a>,
- <a href="#parameter-attribute-markerMode">ttp:markerMode</a>, <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
- <a href="#parameter-attribute-profile">ttp:profile</a>, <a href=
- "#parameter-attribute-subFrameRate">ttp:subFrameRate</a>, <a href=
- "#parameter-attribute-tickRate">ttp:tickRate</a>, <a href=
- "#parameter-attribute-timeBase">ttp:timeBase</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#style-attribute-style">style</a></td>
- </tr>
-
- <tr>
- <td>Styling Attributes</td>
-
- <td><a href="#style-attribute-backgroundColor">tts:backgroundColor</a>,
- <a href="#style-attribute-color">tts:color</a>, <a href=
- "#style-attribute-direction">tts:direction</a>, <a href=
- "#style-attribute-display">tts:display</a>, <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a>, <a href=
- "#style-attribute-extent">tts:extent</a>, <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a>, <a href=
- "#style-attribute-fontSize">tts:fontSize</a>, <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a>, <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a>, <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a>, <a href=
- "#style-attribute-opacity">tts:opacity</a>, <a href=
- "#style-attribute-origin">tts:origin</a>, <a href=
- "#style-attribute-overflow">tts:overflow</a>, <a href=
- "#style-attribute-padding">tts:padding</a>, <a href=
- "#style-attribute-showBackground">tts:showBackground</a>, <a href=
- "#style-attribute-textAlign">tts:textAlign</a>, <a href=
- "#style-attribute-textDecoration">tts:textDecoration</a>, <a href=
- "#style-attribute-textOutline">tts:textOutline</a>, <a href=
- "#style-attribute-unicodeBidi">tts:unicodeBidi</a>, <a href=
- "#style-attribute-visibility">tts:visibility</a>, <a href=
- "#style-attribute-wrapOption">tts:wrapOption</a>, <a href=
- "#style-attribute-writingMode">tts:writingMode</a>, <a href=
- "#style-attribute-zIndex">tts:zIndex</a></td>
- </tr>
-
- <tr>
- <td>Timing Attributes</td>
-
- <td><a href="#timing-attribute-begin">begin</a>, <a href=
- "#timing-attribute-dur">dur</a>, <a href="#timing-attribute-end">end</a>,
- <a href="#timing-attribute-timeContainer">timeContainer</a></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only those attributes defined as either (1) global, i.e., namespace
- qualified, or (2) shared element-specific, i.e., not namespace qualified but
- shared across multiple element types, are listed in <a href=
- "#attribute-vocab-table"><b>Table 5 – Attribute Vocabulary</b></a> above.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All vocabulary defined by TTML consistently makes use of the so-called
- <em>lowerCamelCase</em> naming convention. In some cases, this results in the
- change of a name when the name was based upon another specification that used
- a different naming convention.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="extension-vocabulary-overview" name=
- "extension-vocabulary-overview"></a>5.3.2 Extension Catalog</h4>
-
- <p>The extension vocabulary catalog is intended for use by future profiles of
- TTML, and is not further defined by this version of this specification.</p>
-
- <p>In addition to standardized extension vocabulary, a conforming <em>Document
- Instance</em> may contain arbitrary namespace qualified elements that reside in
- any namespace other than those namespaces defined for use with this
- specification. Furthermore, a conforming <em>Document Instance</em> may contain
- arbitrary namespace qualified attributes on TTML defined vocabulary where such
- attributes reside in any namespace other than those defined for use with this
- specification.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="parameters" name="parameters"></a>6 Parameters</h2>
-
- <p>This section specifies the <em>parameters</em> matter of the core vocabulary
- catalog, where parameters are to be understood as information that is either (1)
- essential or (2) of significant importance for the purpose of interpreting the
- semantics of other types of information expressed by core vocabulary items or for
- establishing a <em>Document Processing Context</em> by means of which TTML Content
- can be related to an external environment.</p>
-
- <div class="div2">
- <h3><a id="parameter-element-vocabulary" name=
- "parameter-element-vocabulary"></a>6.1 Parameter Element Vocabulary</h3>
-
- <p>The following elements, all defined in the TT Parameter Namespace, specify
- parametric information that applies to a <em>Document Instance</em> or
- <em>Content Processor</em>:</p>
-
- <ul>
- <li>
- <p><a href="#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-features"><b>6.1.2 ttp:features</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-feature"><b>6.1.3 ttp:feature</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extensions"><b>6.1.4
- ttp:extensions</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extension"><b>6.1.5
- ttp:extension</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-profile" name=
- "parameter-vocabulary-profile"></a>6.1.1 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> element is used to specify a collection of used
- (mandatory and enabled), required (mandatory), and optional (voluntary)
- features and extensions that must or may be supported by a <em>Content
- Processor</em> in order to process a <em>Document Instance</em> that makes (or
- may make) use of such features and extensions.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The difference between a <em>feature</em> and an <em>extension</em> is
- where it is defined and how it is labeled: if defined in this specification
- (or a future revision thereof) and labeled with a feature designation in
- <a href="#features"><b>D Features</b></a>, then it is considered to be a
- feature; if defined in another specification and labeled there with an
- extension designation, then it is considered to be an extension. In general,
- features are expected to be defined by the W3C standards process, while
- extensions are expected to be defined by third parties.</p>
- </div>
-
- <p>This specification defines two distinct uses of the <code>ttp:profile</code>
- element:</p>
-
- <ul>
- <li>
- <p>as a child of the <code>head</code> element within a TTML <em>Document
- Instance</em>;</p>
- </li>
-
- <li>
- <p>as the root element of a TTML <em>Profile Definition Document</em>
- instance;</p>
- </li>
- </ul>
-
- <p>When a <code>tt:profile</code> element appears within a TTML <em>Document
- Instance</em>, its purpose is to express authorial intentions about which
- features and extensions must or may be supported by a recipient content
- processor. In addition, the element indirectly expresses information about the
- set of features or extensions that are (or may expected to be) used by the
- <em>Document Instance</em>.</p>
-
- <p>When a <code>tt:profile</code> element is used by a TTML <em>Profile
- Definition Document</em> instance, it serves to publish a machine readable
- specification of a specific TTML Content profile, of which this specification
- defines three such <em>Profile Definition Documents</em> in <a href=
- "#profiles"><b>F Profiles</b></a>.</p>
-
- <p>The <code>ttp:profile</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:features</code> elements, followed by zero or more
- <code>ttp:extensions</code> elements.</p><a id="elt-syntax-parameter-profile"
- name="elt-syntax-parameter-profile"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile
- use = string
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-features">ttp:features</a>*, <a href=
-"#parameter-vocabulary-extensions">ttp:extensions</a>*
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>use</code> attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, and, furthermore, must denote a profile designator in
- accordance with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>. In this
- case, the profile designator must refer to (1) a standard, predefined
- <em>Profile Definition Document</em> as defined by <a href="#profiles"><b>F
- Profiles</b></a>, or (2) a feasibly dereferenceable resource representing a
- valid <em>Profile Definition Document</em> instance. In either case, the
- referenced profile serves as the baseline profile of the specifying
- <code>ttp:profile</code> element.</p>
-
- <p>If the <code>use</code> attribute is not specified, then the baseline
- profile of the <code>ttp:profile</code> element must be considered to be the
- empty (null) profile, i.e., a profile definition containing no feature or
- extension specifications.</p>
-
- <p>The collection of features and extensions of a profile are determined
- according to the following ordered rules:</p>
-
- <ol class="enumar">
- <li>
- <p>initialize the features and extensions of the profile to the empty
- set;</p>
- </li>
-
- <li>
- <p>if a <code>use</code> attribute is present, then augment the profile
- with the set of features and extensions specified by the referenced
- baseline profile;</p>
- </li>
-
- <li>
- <p>for each <code>ttp:feature</code> and <code>ttp:extension</code> element
- descendant of the <code>ttp:profile</code> element, using a post-order
- traversal, merge the specified feature or extension with the features and
- extensions of the profile, where merging a feature or extension entails
- replacing an existing feature or extension specification, if it already
- exists, or adding a new feature or extension specification, if it does not
- yet exist in the profile;</p>
- </li>
- </ol>
-
- <p>A conformant TTML processor is not required to be able to dereference a
- <em>Profile Definition Document</em> that is not one of the standard,
- predefined profiles defined by <a href="#profiles"><b>F Profiles</b></a>.
- Furthermore, a conformant TTML processor may make use of a built-in, static
- form of each standard, predefined profile so as not to require dereferencing a
- network resource.</p>
-
- <p>If a TTML processor is unable to dereference a non-standard <em>Profile
- Definition Document</em>, then it must not further process the document without
- the presence of an explicit override from an end-user or some implementation
- specific parameter traceable to an end-user or to a user or system
- configuration setting. If a TTML processor aborts processing of a <em>Document
- Instance</em> due to the inability to reference a non-standard <em>Profile
- Definition Document</em>, then some end-user notification should be given
- unless the end-user or system has disabled such a notification, or if the
- processor does not permit or entail the intervention of an end-user.</p>
-
- <p>The <code>ttp:profile</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-profile-example-1" name=
- "parameter-vocabulary-profile-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <ttp:feature>#text-outline</ttp:feature>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as the
- baseline profile. This baseline profile is then supersetted (thus creating an
- additive derived profile) by requiring support for <code>#text-outline</code>
- feature.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-features" name=
- "parameter-vocabulary-features"></a>6.1.2 ttp:features</h4>
-
- <p>The <code>ttp:features</code> element is a container element used to group
- infomation about feature support requirements.</p>
-
- <p>The <code>ttp:features</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:feature</code> elements.</p><a id=
- "elt-syntax-parameter-features" name="elt-syntax-parameter-features"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:features
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:features
- xml:base = string : <em>TT Feature Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-feature">ttp:feature</a>*
-</ttp:features>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
- "#xmlbase">[XML Base]</a> and, (3) express a feature namespace as defined by
- <a href="#feature-designations"><b>D.1 Feature Designations</b></a>. If not
- specified, the <code>xml:base</code> attribute's default value applies, which
- is the TT Feature Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
- feature designation URIs expressed by child <code>ttp:feature</code>
- elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-feature" name=
- "parameter-vocabulary-feature"></a>6.1.3 ttp:feature</h4>
-
- <p>The <code>ttp:feature</code> element is used to specify infomation about
- support requirements for a particular feature.</p>
-
- <p>The children of the <code>ttp:feature</code> element must express a
- non-empty sequence of character information items that adheres to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-feature" name=
- "elt-syntax-parameter-feature"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:feature
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:feature>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then, when combined with the feature namespace value
- expressed by the <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:features</code> element, it must express an absolute URI. In either
- case (original absolute URI or resulting absolutized URI), the URI expressed by
- the <code>ttp:feature</code> element must further adhere to the syntax of a
- feature designation as defined by <a href="#feature-designations"><b>D.1
- Feature Designations</b></a>.</p>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then an <code>xml:base</code> attribute should be specified
- on the nearest ancestor <code>ttp:features</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming TTML
- processor must or may implement the designated feature in order to process the
- document. If the value of the <code>value</code> attribute is
- <code>optional</code>, then the processor need not implement or otherwise
- support the feature in order to process the document; if the value is
- <code>required</code>, then the processor must implement or otherwise support
- the feature, irrespective of whether the feature is enabled or disabled, in
- order to process the document; if the value is <code>use</code>, then the
- processor must both (1) implement or otherwise support the feature and (2) have
- enabled (activated) use of the feature.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element information item
- definition. Therefore, if a <code>value</code> attribute is not specified on
- a <code>ttp:feature</code> element, it is equivalent to specifying that
- support for the feature is required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is <code>required</code> or
- <code>use</code> and the TTML processor implementation does not support the
- feature, or if the <code>value</code> attribute is <code>use</code> and the
- TTML processor implementation supports but has disabled that feature, then it
- must not further process the document without the presence of an explicit
- override from an end-user or some implementation specific parameter traceable
- to an end-user or to a user or system configuration setting. If a TTML
- processor aborts processing of a <em>Document Instance</em> due to the
- specification of a required, but unsupported feature by this element, then some
- end-user notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or entail the
- intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is <code>optional</code>,
- and if the TTML processor implementation does not support the feature, then it
- may further process the document even in the case that some use of the feature
- is present in the document. In the case of actual use of a feature designated
- as optional, the default semantics associated with that feature apply; that is,
- the processor may behave as if the feature were not actually used or referenced
- by the document. Notwithstanding the above, the syntactic presence or reference
- to an optional feature by a document must not be considered to be a violation
- of document validity or a barrier to further processing if the syntactic
- expression is well-formed and valid.</p>
-
- <p>If some defined (i.e., standardized) or otherwise well known feature is not
- specified by a <code>ttp:feature</code> element in a given profile, then it
- must be interpreted as if the feature were specified with the
- <code>value</code> attribute equal to <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some feature is not present in a profile definition,
- then it is not to be interpreted as meaning the use of that feature (in a
- <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:feature</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-feature-example-1" name=
- "parameter-vocabulary-feature-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <span class=
-"strong"><ttp:feature value="required">#fontStyle-italic</ttp:feature></span>
- <span class=
-"strong"><ttp:feature value="required">#textDecoration-under</ttp:feature></span>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as the
- baseline profile. This baseline profile is then modified by two
- <code>ttp:feature</code> elements in order to superset the baseline profile
- (since neither <code>#fontStyle-italic</code> nor
- <code>#textDecoration-under</code> are required by the DFXP presentation
- profile).</p>
-
- <p>The effect of this example is to express authorial intentions that italic
- font style and text underlining must be supported.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extensions" name=
- "parameter-vocabulary-extensions"></a>6.1.4 ttp:extensions</h4>
-
- <p>The <code>ttp:extensions</code> element is a container element used to group
- infomation about extension support requirements.</p>
-
- <p>The <code>ttp:extensions</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:extension</code> elements.</p><a id=
- "elt-syntax-parameter-extensions" name="elt-syntax-parameter-extensions"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extensions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extensions
- xml:base = string : <em>TT Extension Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-extension">ttp:extension</a>*
-</ttp:extensions>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
- "#xmlbase">[XML Base]</a> and, (3) express an extension namespace as defined by
- <a href="#extension-designations"><b>E.1 Extension Designations</b></a>. If not
- specified, the <code>xml:base</code> attribute's default value applies, which
- is the TT Extension Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
- feature designation URIs expressed by child <code>ttp:extension</code>
- elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extension" name=
- "parameter-vocabulary-extension"></a>6.1.5 ttp:extension</h4>
-
- <p>The <code>ttp:extension</code> element is used to specify infomation about
- support requirements for a particular extension.</p>
-
- <p>The children of the <code>ttp:extension</code> element must express a
- non-empty sequence of character information items that adheres to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-extension" name=
- "elt-syntax-parameter-extension"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extension
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:extension>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the <code>ttp:extension</code>
- element is a relative URI, then, when combined with the extension namespace
- value expressed by the <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:extensions</code> element, it must express an absolute URI. In either
- case (original absolute URI or resulting absolutized URI), the URI expressed by
- the <code>ttp:extension</code> element must further adhere to the syntax of an
- extension designation as defined by <a href="#extension-designations"><b>E.1
- Extension Designations</b></a>.</p>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then an <code>xml:base</code> attribute should be specified
- on the nearest ancestor <code>ttp:extensions</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming TTML
- processor must or may implement the designated extension in order to process
- the document. If the value of the <code>value</code> attribute is
- <code>optional</code>, then the processor need not implement or otherwise
- support the extension in order to process the document; if the value is
- <code>required</code>, then the processor must implement or otherwise support
- the extension in order to process the document; if the value is
- <code>use</code>, then the processor must both (1) implement or otherwise
- support the extension and (2) enable (activate) use of the extension.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element information item
- definition. Therefore, if a <code>value</code> attribute is not specified on
- a <code>ttp:extension</code> element, it is equivalent to specifying that
- support for the extension is required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is <code>required</code> or
- <code>use</code> and the TTML processor implementation does not support the
- extension, or if the <code>value</code> attribute is <code>use</code> and the
- TTML processor implementation supports but has disabled that extension, then it
- must not further process the document without the presence of an explicit
- override from an end-user or some implementation specific parameter traceable
- to an end-user or to a user or system configuration setting. If a TTML
- processor aborts processing of a <em>Document Instance</em> due to the
- specification of a required, but unsupported extension by this element, then
- some end-user notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or entail the
- intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is <code>optional</code>,
- and if the TTML processor implementation does not support the extension, then
- it may further process the document even in the case that some use of the
- extension is present in the document. In the case of actual use of an extension
- designated as optional, the default semantics associated with that extension
- apply; that is, the processor may behave as if the extension were not actually
- used or referenced by the document. Notwithstanding the above, the syntactic
- presence or reference to an optional extension by a document must not be
- considered to be a violation of document validity or a barrier to further
- processing if the syntactic expression is well-formed and valid.</p>
-
- <p>If some well known extension is not specified by a
- <code>ttp:extension</code> element in a given profile, then it must be
- interpreted as if the extension were specified with the <code>value</code>
- attribute equal to <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some extension is not present in a profile definition,
- then it is not to be interpreted as meaning the use of that extension (in a
- <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:extension</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-extension-example-1" name=
- "parameter-vocabulary-extension-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-transformation">
- <ttp:extensions xml:base="http://example.org/ttaf1/extension/">
- <span class=
-"strong"><ttp:extension value="use">#prefilter-by-language</ttp:extension></span>
- </ttp:extensions>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP transformation profile is used as the
- baseline profile. This baseline profile is then supersetted by specifying
- that support and use is required for a private extension defined in a third
- party namespace.</p>
-
- <p>The effect of this example is to express authorial intentions that a
- recipient processor must support the DFXP transformation profile and must
- also support and enable an extension defined by a third party.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="parameter-attribute-vocabulary" name=
- "parameter-attribute-vocabulary"></a>6.2 Parameter Attribute Vocabulary</h3>
-
- <p>The following attributes are defined in the TT Parameter Namespace.</p>
-
- <ul>
- <li>
- <p><a href="#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-clockMode"><b>6.2.2
- ttp:clockMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5
- ttp:frameRateMultiplier</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-markerMode"><b>6.2.6
- ttp:markerMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7
- ttp:pixelAspectRatio</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
- between adjacent non-terminal components of a TT Parameter value unless some
- other delimiter is permitted and used.</p>
-
- <div class="div3">
- <h4><a id="parameter-attribute-cellResolution" name=
- "parameter-attribute-cellResolution"></a>6.2.1 ttp:cellResolution</h4>
-
- <p>The <code>ttp:cellResolution</code> attribute may be used by an author to
- express the number of horizontal and vertical cells into which the root
- container region area is divided for the purpose of expressing presentation
- semantics in terms of a uniform grid.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-cellResolution-syntax" name=
- "parameter-attribute-cellResolution-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:cellResolution
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:cellResolution
- : columns rows // <em>columns</em> != 0; <em>rows</em> != 0
-
-columns | rows
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, the number of columns and rows must be considered to be 32
- and 15, respectively. If specified, then columns or rows must not be zero
- (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The choice of values 32 and 15 are based on this being the maximum number
- of columns and rows defined by <a href="#cea608c">[CEA-608-C]</a>.</p>
- </div>
-
- <p>A <code>ttp:cellResolution</code> attribute is considered to be significant
- only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a uniform grid is employed only for the purpose of measuring
- lengths and expressing coordinates. In particular, it is not assumed that the
- presentation of text or the alignment of individual glyph areas is
- coordinated with this grid. Such alignment is possible, but requires the use
- of a monospaced font and a font size whose EM square exactly matches the cell
- size.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Except where indicated otherwise, when a <a href=
- "#style-value-length"><length></a> expressed in cells expresses a
- dimension parallel to the inline or block progression dimension, the cell's
- dimension in the inline or block progression dimension applies, respectively.
- For example, if padding (on all four edges) is specified as 0.1c, the cell
- resolution is 20 by 10, and the root container extent is 640 by 480, then,
- assuming top to bottom, left to right writing mode, the start and end padding
- will be 640 / 20 * 0.1 pixels and the before and after padding will be 480 /
- 10 * 0.1 pixels.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-clockMode" name=
- "parameter-attribute-clockMode"></a>6.2.2 ttp:clockMode</h4>
-
- <p>The <code>ttp:clockMode</code> attribute is used to specify the
- interpretation of time expressions as real-time time coordinates when operating
- with time base of <code>clock</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value
- Expressions</b></a> for the specification of time expression syntax and
- semantics.</p>
- </div>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-clockMode-syntax" name=
- "parameter-attribute-clockMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:clockMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:clockMode
- : "local"
- | "gps"
- | "utc"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>clock</code>, then this parameter applies as follows: if the
- parameter's value is <code>local</code>, then time expressions are interpreted
- as local wall-clock time coordinates; if <code>utc</code>, then time
- expressions are interpreted as UTC time coordinates <a href="#utc">[UTC]</a>;
- if <code>gps</code>, then time expressions are interpreted as GPS time
- coordinates <a href="#gps">[GPS]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The primary difference between GPS time and UTC time is that GPS time is
- not adjusted for leap seconds, while UTC time is adjusted as follows: UTC =
- TAI (<em>Temp Atomique International</em>) + <em>leap seconds accumulated
- since 1972</em>. TAI is maintained by the <em>Bureau International des Poids
- et Mesures</em> (BIPM) in Sevres, France. The GPS system time is steered to a
- Master Clock (MC) at the US Naval Observatory which is kept within a close
- but unspecified tolerance of TAI.</p>
- </div>
-
- <p>If not specified, the value of this parameter must be considered to be
- <code>utc</code>.</p>
-
- <p>A <code>ttp:clockMode</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-dropMode" name=
- "parameter-attribute-dropMode"></a>6.2.3 ttp:dropMode</h4>
-
- <p>The <code>ttp:dropMode</code> attribute is used to specify constraints on
- the interpretation and use of frame counts that correspond with <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
- <code>smpte</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-dropMode-syntax" name=
- "parameter-attribute-dropMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:dropMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:dropMode
- : "dropNTSC"
- | "dropPAL"
- | "nonDrop"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>smpte</code>, then this parameter applies as follows: if the
- parameter's value is <code>nonDrop</code>, then, within any given second of a
- time expression, frames count from 0 to <em>N−1</em>, where <em>N</em> is the
- value specified by the <code>ttp:frameRate</code> parameter, but while ignoring
- any value specified by the <code>ttp:frameRateMultiplier</code> parameter.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating in <code>nonDrop</code> mode, a second of a time expression
- may or may not be equal to a second of real time during normal (1x speed)
- forward playback. If the <code>ttp:frameRateMultiplier</code> parameter is
- specified and is not equal to 1:1, then a second of a time expression will
- either be shorter or longer than a second of elapsed play in real time.</p>
- </div>
-
- <p>If this parameter's value is <code>dropNTSC</code>, then, within any given
- second of a time expression except the second <code>00</code>, frames count
- from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
- <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
- the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
- expression is <code>00</code> and the minute of the time expression is not
- <code>00</code>, <code>10</code>, <code>20</code>, <code>30</code>,
- <code>40</code>, or <code>50</code>, then frame codes <code>00</code> and
- <code>01</code> are dropped during that second; otherwise, these frame codes
- are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropNTSC</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
- occurs between consecutive frames as shown in the following sequence of time
- expressions: <code>01:08:59:28</code>, <code>01:08:59:29</code>,
- <code>01:09:00:02</code>, <code>01:09:00:03</code>.</p>
- </div>
-
- <p>If this parameter's value is <code>dropPAL</code>, then, within any given
- second of a time expression except the second <code>00</code>, frames count
- from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
- <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
- the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
- expression is <code>00</code> and the minute of the time expression is even but
- not <code>00</code>, <code>20</code>, or <code>40</code>, then frame codes
- <code>00</code> through <code>03</code> are dropped during that second;
- otherwise, these frame codes are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropPAL</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
- occurs between consecutive frames as shown in the following sequence of time
- expressions: <code>01:09:59:28</code>, <code>01:09:59:29</code>,
- <code>01:10:00:04</code>, <code>01:10:00:05</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <code>dropPAL</code> mode is also known as the <em>M/PAL</em> or
- <em>PAL (M)</em> drop-frame code, which uses PAL modulation with the NTSC
- frame rate of ~29.97 frames/second. The M/PAL system is used primarily in
- Brazil.</p>
- </div>
-
- <p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p>
-
- <p>A <code>ttp:dropMode</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-frameRate" name=
- "parameter-attribute-frameRate"></a>6.2.4 ttp:frameRate</h4>
-
- <p>The <code>ttp:frameRate</code> attribute is used to specify the frame rate
- of a related media object or the intrinsic frame rate of a <em>Document
- Instance</em> in case it is intended to function as an independent media
- object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-frameRate-syntax" name=
- "parameter-attribute-frameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The frame rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>frames</em> as defined by
- <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective frame rate is
- integral, then a frame is interpreted as a division of a second of media time,
- such that if the frame rate is specified as <em>F</em>, then a second of media
- time is divided into <em>F</em> intervals of equal duration, where each
- interval is labeled as frame <em>f</em>, with <em>f</em> ∈
- [0…<em>F−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the frame rate must be considered to be equal to some
- application defined frame rate, or if no application defined frame rate
- applies, then thirty (30) frames per second. If specified, then the frame rate
- must be greater than zero (0).</p>
-
- <p>A <code>ttp:frameRate</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-frameRateMultiplier" name=
- "parameter-attribute-frameRateMultiplier"></a>6.2.5
- ttp:frameRateMultiplier</h4>
-
- <p>The <code>ttp:frameRateMultiplier</code> attribute is used to specify a
- multiplier to be applied to the frame rate specified by a
- <code>ttp:frameRate</code> attribute in order to compute the effective frame
- rate.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-frameRateMultiplier-syntax" name=
- "parameter-attribute-frameRateMultiplier-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRateMultiplier
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRateMultiplier
- : numerator denominator // <em>numerator</em> != 0; <em>denominator</em> != 0
-
-numerator | denominator
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A frame rate multiplier is used when the desired frame rate cannot be
- expressed as an integral number of frames per second.</p>
-
- <p>If not specified, the frame rate multiplier must be considered to be equal
- to one (1:1). Both numerator and denominator must be non-zero.</p>
-
- <p>A <code>ttp:frameRateMultiplier</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The frame rate multiplier used for synchronizing with NTSC <a href=
- "#smpte170m">[SMPTE 170M]</a> formatted video objects at 30 frames per second
- is nominally 1000:1001. The nominal frame rate of NTSC video is defined as
- the chrominance sub-carrier frequency of 3,579,545.45…Hz (= 5.0MHz × 63/88)
- times the ratio 2/455 divided by the number of horizontal lines per frame of
- 525, which yields a frame rate of 29.970029970029… (= 30 × 1000/1001) frames
- per second. Other frame rate multipliers apply to different regions of usage
- and video format standards.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Except in the case of PAL/M, the frame rate multiplier used for
- synchronizing with PAL formatted video objects at 25 frames per second is
- nominally 1:1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-markerMode" name=
- "parameter-attribute-markerMode"></a>6.2.6 ttp:markerMode</h4>
-
- <p>The <code>ttp:markerMode</code> attribute is used to specify constraints on
- the interpretation and use of time expressions that correspond with <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
- <code>smpte</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-markerMode-syntax" name=
- "parameter-attribute-markerMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:markerMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:markerMode
- : "continuous"
- | "discontinuous"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>smpte</code>, then this parameter applies as follows: if the
- parameter's value is <code>continuous</code>, then <a href="#smpte12m">[SMPTE
- 12M]</a> time coordinates may be assumed to be linear and either monotonically
- increasing or decreasing; however, if <code>discontinuous</code>, then any
- assumption must not be made regarding linearity or monotonicity of time
- coordinates.</p>
-
- <p>If not specified, the value of this parameter must be considered to be
- <code>discontinuous</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value for this parameter was originally specified (in <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">TTML 1.0 First
- Edition</a>) as <code>continuous</code>; however, further evaluation of the
- state of the industry indicates this choice was incorrect, and that the most
- common default is <code>discontinuous</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to lack of industry consensus on the utility and interpretation of the
- <code>continuous</code> marker mode, authors are advised to avoid its use.
- Furthermore, the <code>ttp:markerMode</code> is being considered for
- deprecation in the next revision of this specification.</p>
- </div>
-
- <p>A <code>ttp:markerMode</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
-
- <p>If a value of <code>continuous</code> applies, then time expressions may be
- converted to real time coordinates by taking into account the computed frame
- rate and drop mode as expressed by the <code>ttp:dropMode</code> parameter. In
- this case, the <em>Content Processor</em> must create and maintain a
- <em>Synthetic SMPTE Document Syncbase</em> within which these time expressions
- are interpreted as further described in <a href=
- "#timing-time-intervals"><b>10.4 Time Intervals</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>continuous</code> marker mode, there is an implied time coordinate
- space, the <em>Synthetic SMPTE Document Syncbase</em>, defined by the
- monotonically increasing (or decreasing) <a href="#smpte12m">[SMPTE 12M]</a>
- time coordinates, while taking into account the computed frame rate and drop
- mode. All time expressions are interpreted in relationship to this time
- coordinate space based upon <em>SMPTE Time Code</em> synchronization events
- (markers), where the <em>Document Processing Context</em> emits these events
- with implied constraints regarding time coordinate monoticity and
- resynchronization in the presence of dropped frames.</p>
-
- <p>Use of <code>continuous</code> marker mode with the <code>smpte</code>
- time base is different from using the <code>media</code> time base because
- (1) the semantics of the <code>ttp:dropMode</code> parameter apply to the
- former, but not the latter, and (2) <a href="#smpte12m">[SMPTE 12M]</a> time
- coordinates may be applied monotonically to media which has been subjected to
- dilation in time, constriction in time, or reversal in time.</p>
- </div>
-
- <p>If a value of <code>discontinuous</code> applies, then time expressions must
- not be converted to real time coordinates, arithmetical operators (addition,
- multiplication) are not defined on time expressions, and, consequently, any
- expression of a duration must be considered to be invalid.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>discontinuous</code> marker mode, there is no effective time coordinate
- space; rather, all time expressions are interpreted as labeled
- synchronization events (markers), where the <em>Document Processing
- Context</em> emits these events, which, when they correspond with time
- expressions that denote the same label, cause a temporal interval to begin or
- end accordingly.</p>
-
- <p>An additional side-effect of operating in <code>discontinuous</code> mode
- is that time expressions of children have no necessary relationship with time
- expressions of their temporal container; that is, temporal containers and
- children of these containers are temporally activated and inactivated
- independently based on the occurrence of a labeled synchronization (marker)
- event.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notion of marker discontinuity as captured by this parameter is
- logically independent from the method used to count frames as expressed by
- the <code>ttp:dropMode</code> parameter. In particular, even if the
- <code>ttp:dropMode</code> parameter is specified as <code>dropNTSC</code> or
- <code>dropPAL</code>, the marker mode may be specified as
- <code>continuous</code>, even in the presence of frame count discontinuities
- induced by the frame counting method, unless there were some other
- non-linearity or discontinuity in marker labeling, for example, two
- consecutive frames labeled as <code>10:00:00:00</code> and
- <code>10:00:01:00</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-pixelAspectRatio" name=
- "parameter-attribute-pixelAspectRatio"></a>6.2.7 ttp:pixelAspectRatio</h4>
-
- <p>The <code>ttp:pixelAspectRatio</code> attribute may be used by a content
- author to express the aspect ratio of non-square pixels in the production of
- content that makes use of pixel coordinates.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-pixelAspectRatio-syntax" name=
- "parameter-attribute-pixelAspectRatio-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:pixelAspectRatio
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:pixelAspectRatio
- : width height // <em>width</em> != 0; <em>height</em> != 0
-
-width | height
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be
- assumed to apply. If specified, then both width and height must be
- non-zero.</p>
-
- <p>A <code>ttp:pixelAspectRatio</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This parameter may be used by a content transcoder or translator in order
- to convert pixel measurements between different pixel aspect ratios while
- still maintaining authorial layout intentions.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-profile" name=
- "parameter-attribute-profile"></a>6.2.8 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> attribute may be used by a content author to
- express the profile of the Timed Text Markup Language (TTML) used in a
- <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, and, further, must specify a profile designator in accordance
- with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p>
-
- <p>A <code>ttp:profile</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-subFrameRate" name=
- "parameter-attribute-subFrameRate"></a>6.2.9 ttp:subFrameRate</h4>
-
- <p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame
- rate of a related media object or the intrinsic sub-frame rate of a
- <em>Document Instance</em> in case it is intended to function as an independent
- media object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-subFrameRate-syntax" name=
- "parameter-attribute-subFrameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:subFrameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:subFrameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The sub-frame rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>sub-frames</em> as defined
- by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective frame rate is
- integral, a sub-frame is interpreted as a division of a frame of media time,
- such that if the sub-frame rate is specified as <em>S</em>, then a frame of
- media time is divided into <em>S</em> intervals of equal duration, where each
- interval is labeled as sub-frame <em>s</em>, with <em>s</em> ∈
- [0…<em>S−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the sub-frame rate must be considered to be equal to one
- (1). If specified, then the sub-frame rate must be greater than zero (0).</p>
-
- <p>A <code>ttp:subFrameRate</code> attribute is considered to be significant
- only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The sub-frame is sometimes referred to as a <em>field</em> in the context
- of synchronization with an interlaced video media object.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-tickRate" name=
- "parameter-attribute-tickRate"></a>6.2.10 ttp:tickRate</h4>
-
- <p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of
- a related media object or the intrinsic tick rate of content of a <em>Document
- Instance</em> in case it is intended to function as an independent media
- object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-tickRate-syntax" name=
- "parameter-attribute-tickRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:tickRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:tickRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The tick rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>ticks</em> by using the
- <code>t</code> metric as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1 <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies, a tick is interpreted as an
- integral division of a second of media time, such that if the tick rate is
- specified as <em>T</em>, then a second of media time is divided into <em>T</em>
- intervals of equal duration, where each interval is labeled as tick <em>t</em>,
- with <em>t</em> ∈ [0…<em>T−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, then if a frame rate is specified, the tick rate must be
- considered to be the effective frame rate multiplied by the sub-frame rate
- (i.e., ticks are interpreted as sub-frames); or, if no frame rate is specified,
- the tick rate must be considered to be one (1) tick per second of media time.
- If specified, then the tick rate must not be zero (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>There is no predefined relationship between ticks and frames or
- sub-frames. Ticks are an arbitrary division of seconds that permit use of
- fixed point arithmetic rather than fractional (and potentially inexact)
- expressions of seconds.</p>
- </div>
-
- <p>A <code>ttp:tickRate</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-timeBase" name=
- "parameter-attribute-timeBase"></a>6.2.11 ttp:timeBase</h4>
-
- <p>The <code>ttp:timeBase</code> attribute is used to specify the temporal
- coordinate system by means of which time expressions are interpreted in a
- <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-timeBase-syntax" name=
- "parameter-attribute-timeBase-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:timeBase
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:timeBase
- : "media"
- | "smpte"
- | "clock"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base is designated as <code>media</code>, then a time expression
- denotes a coordinate in some media object's time line, where the media object
- may be an external media object with which the content of a <em>Document
- Instance</em> is to be synchronized, or it may be the content of a <em>Document
- Instance</em> itself in a case where the timed text content is intended to
- establish an independent time line.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When using a media time base, if that time base is paused or scaled
- positively or negatively, i.e., the media play rate is not unity, then it is
- expected that the presentation of associated Timed Text content will be
- similarly paused, accelerated, or decelerated, respectively. The means for
- controlling an external media time base is outside the scope of this
- specification.</p>
- </div>
-
- <p>If the time base is designated as <code>smpte</code>, then a time expression
- denotes a <a href="#smpte12m">[SMPTE 12M]</a> time coordinate with which the
- content of a <em>Document Instance</em> is to be synchronized. In this case,
- the value of the <code>ttp:markerMode</code> and <code>ttp:dropMode</code>
- parameters apply, as defined by <a href=
- "#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a> and <a href=
- "#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a>,
- respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the time base is designated as <code>smpte</code>, every time
- expression denotes a media marker value akin to that defined by <a href=
- "#smil21">[SMIL 2.1]</a>, § 10.4.1, except instead of using an opaque marker
- name, a structured <a href="#smpte12m">[SMPTE 12M]</a> time coordinate serves
- as the marker name.</p>
- </div>
-
- <p>If the time base is designated as <code>clock</code>, then the time
- expression denotes a coordinate in some real-world time line as established by
- some real-time clock, such as the local wall-clock time or UTC (Coordinated
- Universal Time) or GPS (Global Positioning System) time lines.</p>
-
- <p>If not specified, the default time base must be considered to be
- <code>media</code>.</p>
-
- <p>A <code>ttp:timeBase</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
-
- <p>When operating with either <code>media</code> or <code>smpte</code> time
- bases, a diachronic presentation of a <em>Document Instance</em> may be subject
- to transformations of the controlling time line, such as temporal reversal,
- dilation (expansion), or constriction (compression); however, when operating
- with the <code>clock</code> time base, no transformations are permitted, and
- diachronic presentation proceeds on a linear, monotonically increasing time
- line based on the passage of real time.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to there being only one time base parameter that applies to a given
- <em>Document Instance</em>, the interpretation of time expressions is uniform
- throughout the <em>Document Instance</em>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics"><b>N Time Expression
- Semantics</b></a> for further details on the interpretation of time
- expressions according to the designated time base.</p>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="content" name="content"></a>7 Content</h2>
-
- <p>This section specifies the <em>content</em> matter of the core vocabulary
- catalog.</p>
-
- <div class="div2">
- <h3><a id="content-element-vocabulary" name="content-element-vocabulary"></a>7.1
- Content Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal content aspects of
- a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-head"><b>7.1.2 head</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-body"><b>7.1.3 body</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><b>7.1.4 div</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><b>7.1.5 p</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><b>7.1.6 span</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><b>7.1.7 br</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-tt" name=
- "document-structure-vocabulary-tt"></a>7.1.1 tt</h4>
-
- <p>The <code>tt</code> element serves as the root document element of a
- <em>Document Instance</em>.</p>
-
- <p>The <code>tt</code> element accepts as its children zero or one
- <code>head</code> element followed by zero or one <code>body</code>
- element.</p><a id="elt-syntax-tt" name="elt-syntax-tt"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: tt
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt
- <a href="#style-attribute-extent">tts:extent</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
- {<em>any attribute in TT Parameter namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#document-structure-vocabulary-head">head</a>?, <a href=
-"#document-structure-vocabulary-body">body</a>?
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <em>Root Temporal Extent</em>, i.e., the time interval over which a
- <em>Document Instance</em> is active, has an implicit duration that is equal to
- the implicit duration of the <code>body</code> element of the document, if the
- <code>body</code> element is present, or zero, if the <code>body</code> element
- is absent.</p>
-
- <p>If the <code>tts:extent</code> attribute is specified on the <code>tt</code>
- element, then it must adhere to <a href="#style-attribute-extent"><b>8.2.7
- tts:extent</b></a>, in which case it specifies the spatial extent of the
- <em>Root Container Region</em> in which content regions are located and
- presented. If no <code>tts:extent</code> attribute is specified, then the
- spatial extent of the <em>Root Container Region</em> is considered to be
- determined by the <em>Document Processing Context</em>. The origin of the
- <em>Root Container Region</em> is determined by the <em>Document Processing
- Context</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If an author desires to signal the (storage or image) aspect ratio of the
- <em>Root Container Region</em> without specifying its resolution, then this
- may be accomplished by using metadata specified in an external namespace,
- such as <code>m708:aspectRatio</code> as defined in <a href=
- "#smpte2052">[SMPTE 2052-11]</a>, §5.4.4. This would permit, for example, the
- interchange of information that reflects the the semantics of <a href=
- "#cea708d">[CEA-708-D]</a> , §4.5 “Caption Service Metadata”, “ASPECT
- RATIO”.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the absence of other requirements, and if a <em>Related Media
- Object</em> exists, then it is recommended that the origin of the <em>Root
- Container Region</em> be established so that it is centered in the region
- within which the <em>Related Media Object</em> is presented.</p>
- </div>
-
- <p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code>
- element. If the attribute value is empty, it signifies that there is no default
- language that applies to the text contained within the <em>Document
- Instance</em>.</p>
-
- <p>If no <code>xml:space</code> attribute is specified upon the <code>tt</code>
- element, then it must be considered as if the attribute had been specified with
- a value of <code>default</code>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-head" name=
- "document-structure-vocabulary-head"></a>7.1.2 head</h4>
-
- <p>The <code>head</code> element is a container element used to group header
- matter, including metadata, profile, styling, and layout information.</p>
-
- <p>The <code>head</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Parameters.class</code> element group, followed by zero
- or one <code>styling</code> element, followed by zero or one
- <code>layout</code> element.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <em>Document Instance</em> as a
- whole, and not just the <code>head</code> element.</p>
-
- <p>Any parameters specified by children in the <code>Parameters.class</code>
- element group applies semantically to the <em>Document Instance</em> as a
- whole, and not just the <code>head</code> element.</p>
-
- <p>A <code>styling</code> child element is used to specify style constructs
- that are referenced from other style constructs, by layout constructs, and by
- content elements.</p>
-
- <p>A <code>layout</code> child element is used to specify layout constructs
- that are referenced by content elements.</p><a id="elt-syntax-head" name=
- "elt-syntax-head"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: head
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<head
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Parameters.class</a>*, <a href=
-"#styling-vocabulary-styling">styling</a>?, <a href=
-"#layout-vocabulary-layout">layout</a>?
-</head>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>head</code> element, the implied time interval of this element is defined
- to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-body" name=
- "document-structure-vocabulary-body"></a>7.1.3 body</h4>
-
- <p>The <code>body</code> element functions as a logical container and a
- temporal structuring element for a sequence of textual content units
- represented as logical divisions.</p>
-
- <p>The <code>body</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more <code>div</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>body</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>body</code> element.</p><a id="elt-syntax-body" name=
- "elt-syntax-body"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#content-vocabulary-div">div</a>*
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may specify a temporal interval for a <code>body</code> element
- using the <code>begin</code>, <code>dur</code>, and <code>end</code>
- attributes. If the begin point of this interval remains unspecified, then the
- begin point is interpreted as the beginning point of the <em>Root Temporal
- Extent</em>. Similarly, if the end point of this interval remains unspecified,
- then the end point is interpreted as the ending point of the <em>Root Temporal
- Extent</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <em>Document Instance</em> referenced from a SMIL presentation is
- expected to follow the same timing rules as apply to other SMIL media
- objects.</p>
- </div>
-
- <p>If relative begin or end times are specified on the <code>body</code>
- element, then these times are resolved by reference to the beginning and ending
- time of the <em>Root Temporal Extent</em>.</p>
-
- <p>If the <em>Root Temporal Extent</em> is shorter than the computed duration
- of the <code>body</code> element, then the active time interval of a
- <code>body</code> element is truncated to the active end point of the <em>Root
- Temporal Extent</em>.</p>
-
- <p>An author may associate a set of style properties with a <code>body</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>body</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>div</code>, <code>p</code>, <code>span</code>
- and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>body</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-div" name="content-vocabulary-div"></a>7.1.4
- div</h4>
-
- <p>The <code>div</code> element functions as a logical container and a temporal
- structuring element for a sequence of textual content units represented as
- logical sub-divisions or paragraphs.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When rendered on a continuous (non-paged) visual presentation medium, a
- <code>div</code> element is expected to generate one or more block areas that
- contain zero or more child block areas generated by the <code>div</code>
- element's descendant <code>p</code> elements.</p>
-
- <p>If some block area generated by a <code>div</code> element does not
- contain any child areas, then it is not expected to be presented.</p>
- </div>
-
- <p>The <code>div</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more <code>div</code> or <code>p</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>div</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>div</code> element.</p><a id="elt-syntax-div" name="elt-syntax-div"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: div
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<div
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Block.class</a>*
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>div</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>div</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>div</code>, <code>p</code>, <code>span</code>,
- and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>div</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-p" name="content-vocabulary-p"></a>7.1.5 p</h4>
-
- <p>A <code>p</code> element represents a logical paragraph, serving as a
- transition between block level and inline level formatting semantics.</p>
-
- <p>The <code>p</code> element accepts as its children zero or more elements in
- the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more intermixed <code>span</code> elements, <code>br</code> elements, or text
- nodes interpreted as an anonymous spans.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>p</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>p</code> element.</p><a id="elt-syntax-p" name="elt-syntax-p"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: p
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>p</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>p</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a <code>p</code>
- element, then it must be interpreted as having <em>parallel</em> time
- containment semantics.</p>
-
- <p>If a sequence of children of a <code>p</code> element consists solely of
- character information items, then that sequence must be considered to be an
- <em>anonymous span</em> for the purpose of applying style properties that apply
- to <code>span</code> elements.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The presentation semantics of TTML effectively implies that a
- <code>p</code> element constitutes a line break. In particular, it is
- associated with a block-stacking constraint both before the first generated
- line area and after the last generated line area. See <a href=
- "#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a>
- for further details.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-span" name="content-vocabulary-span"></a>7.1.6
- span</h4>
-
- <p>The <code>span</code> element functions as a logical container and a
- temporal structuring element for a sequence of textual content units having
- inline level formatting semantics.</p>
-
- <p>When presented on a visual medium, a <code>span</code> element is intended
- to generate a sequence of inline areas, each containing one or more glyph
- areas.</p>
-
- <p>The <code>span</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more intermixed <code>span</code> elements, <code>br</code> elements, or text
- nodes interpreted as anonymous spans.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>span</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>span</code> element.</p><a id="elt-syntax-span" name=
- "elt-syntax-span"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: span
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<span
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</span>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>span</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>span</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>span</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-br" name="content-vocabulary-br"></a>7.1.7
- br</h4>
-
- <p>The <code>br</code> element denotes an explicit line break.</p><a id=
- "elt-syntax-br" name="elt-syntax-br"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: br
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<br
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*
-</br>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When presented on a visual medium, the presence of a <code>br</code> element
- must be interpreted as a forced line break.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The visual presentation of a <code>br</code> element is intended to
- produce the same effect as the control character <code>CR</code> (U+000D)
- followed by the control code <code>LF</code> (U+000A) when presented on a
- teletype device. Therefore, two <code>br</code> elements in sequence will
- produce a different effect than a single <code>br</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="content-attribute-vocabulary" name=
- "content-attribute-vocabulary"></a>7.2 Content Attribute Vocabulary</h3>
-
- <p>This section defines the following common attributes used with many or all
- element types in the core vocabulary catalog:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id"><b>7.2.1 xml:id</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-lang"><b>7.2.2 xml:lang</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-space"><b>7.2.3 xml:space</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="content-attribute-id" name="content-attribute-id"></a>7.2.1
- xml:id</h4>
-
- <p>The <code>xml:id</code> attribute is used as defined by <a href=
- "#xmlid">[XML ID]</a>.</p>
-
- <p>The <code>xml:id</code> attribute may be used with any element in the core
- vocabulary catalog.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-lang" name="content-attribute-lang"></a>7.2.2
- xml:lang</h4>
-
- <p>The <code>xml:lang</code> attribute is used as defined by <a href=
- "#xml10">[XML 1.0]</a>, §2.12, <em>Language Identification</em>.</p>
-
- <p>The <code>xml:lang</code> attribute must be specified on the <code>tt</code>
- element and may be specified by an instance of any other element type in the
- core vocabulary catalog.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-space" name="content-attribute-space"></a>7.2.3
- xml:space</h4>
-
- <p>The <code>xml:space</code> attribute is used as defined by <a href=
- "#xml10">[XML 1.0]</a>, §2.10, <em>White Space Handling</em>.</p>
-
- <p>The <code>xml:space</code> attribute may be used with any element in the
- core vocabulary catalog.</p>
-
- <p>The semantics of the value <code>default</code> are fixed to mean that when
- performing presentation processing of a <em>Document Instance</em> as described
- by <a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
- Processing</b></a>, processing must occur as if the following properties were
- specified on the affected elements of an equivalent intermediate XSL-FO
- document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="auto"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="treat-as-space"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="true"</code></p>
- </li>
-
- <li>
- <p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
- </li>
- </ul>
-
- <p>Similarly, the semantics of the value <code>preserve</code> are fixed to
- mean that when performing presentation processing, processing must occur as if
- the following properties were specified on the affected elements of an
- equivalent intermediate XSL-FO document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="preserve"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="false"</code></p>
- </li>
-
- <li>
- <p><code>white-space-treatment="preserve"</code></p>
- </li>
- </ul>
-
- <p>When performing other types of processing intended to eventually result in a
- visual presentation by means other than those described in this specification,
- the semantics of space collapsing and preservation as described above should be
- respected. For other types of processing, the treatment of the
- <code>xml:space</code> attribute is processor dependent, but should respect the
- semantics described above if possible.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="styling" name="styling"></a>8 Styling</h2>
-
- <p>This section specifies the <em>styling</em> matter of the core vocabulary
- catalog, where styling is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the presentation of
- that content.</p>
-
- <p>Styling attributes are included in TTML to enable authorial intent of
- presentation to be included within a self-contained document. This section
- describes the semantics of style presentation in terms of a standard processing
- model. TTML Processors are not required to present <em>Document Instances</em> in
- any particular way; but an implementation of this model by a TTML Presentation
- Processor that provides externally observable results that are consistent with this
- model is likely to lead to a user experience that closely resembles the experience
- intended by the documents' authors.</p>
-
- <p>The semantics of TTML style presentation are described in terms of the model in
- <a href="#xsl11">[XSL 1.1]</a>. The intended effect of the attributes in this
- section are to be compatible with the layout model of XSL. Presentation agents may
- however use any technology to satisfy the authorial intent of the document. In
- particular since <a href="#css2">[CSS2]</a> is a subset of this model, a CSS
- processor may be used for the features that the models have in common.</p>
-
- <p>No normative use of an <code><?xml-stylesheet ... ?></code> processing
- instruction is defined by this specification.</p>
-
- <div class="div2">
- <h3><a id="styling-element-vocabulary" name="styling-element-vocabulary"></a>8.1
- Styling Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal styling aspects of
- a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-styling" name=
- "styling-vocabulary-styling"></a>8.1.1 styling</h4>
-
- <p>The <code>styling</code> element is a container element used to group
- styling matter, including metadata that applies to styling matter.</p>
-
- <p>The <code>styling</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>style</code> elements.</p><a id="elt-syntax-styling" name=
- "elt-syntax-styling"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>styling</code> element, the implied time interval of this element is
- defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-style" name="styling-vocabulary-style"></a>8.1.2
- style</h4>
-
- <p>The <code>style</code> element is used to define a set of style
- specifications expressed as a specified style set in accordance with <a href=
- "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style Set
- Processing</b></a>.</p>
-
- <p>The <code>style</code> element accepts as its children zero or more
- <code>metadata</code> elements.</p><a id="elt-syntax-style" name=
- "elt-syntax-style"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</style>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <code>style</code> element appears as a descendant of a
- <code>region</code> element, then the <code>style</code> element must be
- ignored for the purpose of computing referential styles as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, when referential styling is used by an element to refer to
- a <code>style</code> element, then the referenced <code>style</code> element
- must appear as a descendant of the <code>styling</code> element, and not in
- any other context.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this version of this specification, the <code>style</code> element is
- the only non-metadata element that is not defined to accept
- <code>Metadata.class</code> children. It is expected that this asymmetry will
- be corrected in the next revision of this specification.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-attribute-vocabulary" name=
- "styling-attribute-vocabulary"></a>8.2 Styling Attribute Vocabulary</h3>
-
- <p>This section defines the <a href="#style-attribute-style"><b>8.2.1
- style</b></a> attribute used with both style definition elements as well as
- content elements.</p>
-
- <p>In addition, this section specifies the following attributes in the TT Style
- Namespace for use with style definition elements, certain layout elements, and
- content elements that support inline style specifications:</p>
-
- <ul>
- <li>
- <p><a href="#style-attribute-backgroundColor"><b>8.2.2
- tts:backgroundColor</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-color"><b>8.2.3 tts:color</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-direction"><b>8.2.4 tts:direction</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-display"><b>8.2.5 tts:display</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-displayAlign"><b>8.2.6
- tts:displayAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-extent"><b>8.2.7 tts:extent</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontFamily"><b>8.2.8 tts:fontFamily</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontSize"><b>8.2.9 tts:fontSize</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontStyle"><b>8.2.10 tts:fontStyle</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontWeight"><b>8.2.11 tts:fontWeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-lineHeight"><b>8.2.12 tts:lineHeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-opacity"><b>8.2.13 tts:opacity</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-origin"><b>8.2.14 tts:origin</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-overflow"><b>8.2.15 tts:overflow</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-padding"><b>8.2.16 tts:padding</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-showBackground"><b>8.2.17
- tts:showBackground</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textAlign"><b>8.2.18 tts:textAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textDecoration"><b>8.2.19
- tts:textDecoration</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textOutline"><b>8.2.20
- tts:textOutline</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-unicodeBidi"><b>8.2.21
- tts:unicodeBidi</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-visibility"><b>8.2.22 tts:visibility</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-wrapOption"><b>8.2.23 tts:wrapOption</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-writingMode"><b>8.2.24
- tts:writingMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-zIndex"><b>8.2.25 tts:zIndex</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
- between adjacent non-terminal components of a value of a TT Style or TT Style
- Extension Property value unless some other delimiter is permitted and used.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification makes use of <em>lowerCamelCased</em> local names for
- style attributes that are based upon like-named properties defined by <a href=
- "#xsl11">[XSL 1.1]</a>. This convention is likewise extended to token values of
- such properties.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A style property may be expressed as a specified attribute on any content
- element type independently of whether the property applies to that element
- type. This capability permits the expression of an inheritable style property
- on ancestor elements to which the property does not apply.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-style" name="style-attribute-style"></a>8.2.1
- style</h4>
-
- <p>The <code>style</code> attribute is used by referential style association to
- reference one or more <code>style</code> elements each of which define a
- specified style set.</p>
-
- <p>The <code>style</code> attribute may be specified by an instance of the
- following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
- </ul>
-
- <p>If specified, the value of a <code>style</code> attribute must adhere to the
- <code>IDREFS</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, § 3.3.10.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See the specific element type definitions that permit use of the
- <code>style</code> attribute, as well as <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>, for further information on its semantics.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-backgroundColor" name=
- "style-attribute-backgroundColor"></a>8.2.2 tts:backgroundColor</h4>
-
- <p>The <code>tts:backgroundColor</code> attribute is used to specify a style
- property that defines the background color of a region or an area generated by
- content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-backgroundColor" name=
- "style-property-details-backgroundColor"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>transparent</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The <code>tts:backgroundColor</code> style is illustrated by the following
- example.</p><a id="style-attribute-backgroundColor-example-1" name=
- "style-attribute-backgroundColor-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="306px 114px"/>
- <style <span class="strong">tts:backgroundColor="red"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:padding="3px 40px"/>
-</region>
-...
-<p region="r1" <span class=
-"strong">tts:backgroundColor="purple"</span> tts:textAlign="center">
- Twinkle, twinkle, little bat!<br/>
- How <span <span class=
-"strong">tts:backgroundColor="green"</span>>I wonder</span> where you're at!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-backgroundColor-example-1-images" name=
- "style-attribute-backgroundColor-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/backgroundColor.png" alt=
- "TTML backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-color" name="style-attribute-color"></a>8.2.3
- tts:color</h4>
-
- <p>The <code>tts:color</code> attribute is used to specify a style property
- that defines the foreground color of marks associated with an area generated by
- content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-color" name=
- "style-property-details-color"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td>see prose</td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The initial value of the <code>tts:color</code> property is considered to be
- implementation dependent. In the absence of end-user preference information, a
- conformant presentation processor should use an initial value that is highly
- contrastive to the background color of the root container region.</p>
-
- <p>The <code>tts:color</code> style is illustrated by the following
- example.</p><a id="style-attribute-color-example-1" name=
- "style-attribute-color-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:color="white"</span>/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- In spring, when woods are <span <span class=
-"strong">tts:color="green"</span>>getting green</span>,<br/>
- I'll try and tell you what I mean.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-color-example-1-images" name=
- "style-attribute-color-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/color.png" alt="TTML color style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-direction" name=
- "style-attribute-direction"></a>8.2.4 tts:direction</h4>
-
- <p>The <code>tts:direction</code> attribute is used to specify a style property
- that defines the directionality of an embedding or override according to the
- Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-direction" name=
- "style-property-details-direction"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>ltr</code> | <code>rtl</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>ltr</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must ignore the attribute.</p>
-
- <p>The <code>tts:direction</code> style is illustrated by the following
- example.</p><a id="style-attribute-direction-example-1" name=
- "style-attribute-direction-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Direction
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span tts:unicodeBidi="bidiOverride" <span class=
-"strong">tts:direction="rtl"</span>>where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-direction-example-1-images" name=
- "style-attribute-direction-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Direction
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/direction.png" alt=
- "TTML direction style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-display" name="style-attribute-display"></a>8.2.5
- tts:display</h4>
-
- <p>The <code>tts:display</code> attribute is used to specify a style property
- that defines whether an element is a candidate for layout and composition in a
- region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-display" name=
- "style-property-details-display"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the affected
- element is a candidate for region layout and presentation; however, if the
- value is <code>none</code>, then the affected element and its descendants must
- be considered ineligible for region layout and presentation.</p>
-
- <p>The <code>tts:display</code> style is illustrated by the following
- example.</p><a id="style-attribute-display-example-1" name=
- "style-attribute-display-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="369px 119px"
- tts:backgroundColor="black"
- tts:color="white"
- tts:displayAlign="before"
- tts:textAlign="start"/>
-</region>
-...
-<div region="r1">
- <p dur="5s">
- [[[
- <span <span class="strong">tts:display="none"</span>>
- <set begin="1s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- Beautiful soup,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="2s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- so rich and green,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="3s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- waiting in a hot tureen!
- </span>
- ]]]
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-display-example-1-images" name=
- "style-attribute-display-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/display_0.png" alt=
- "TTML display style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_1.png" alt=
- "TTML display style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_2.png" alt=
- "TTML display style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_3.png" alt=
- "TTML display style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_4.png" alt=
- "TTML display style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-displayAlign" name=
- "style-attribute-displayAlign"></a>8.2.6 tts:displayAlign</h4>
-
- <p>The <code>tts:displayAlign</code> attribute is used to specify a style
- property that defines the alignment of block areas in the block progression
- direction.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-displayAlign" name=
- "style-property-details-displayAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>before</code> | <code>center</code> | <code>after</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>before</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>before</code> were
- specified.</p>
-
- <p>The <code>tts:displayAlign</code> style is illustrated by the following
- example.</p><a id="style-attribute-displayAlign-example-1" name=
- "style-attribute-displayAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="128px 66px" tts:origin="0px 0px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:extent="192px 66px" tts:origin="128px 66px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r3">
- <style tts:extent="128px 66px"/> style tts:origin="0px 132px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r4">
- <style tts:extent="192px 66px" tts:origin="128px 198px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-...
-<div>
- <p region="r1">I sent a message to the fish:</p>
- <p region="r2">I told them<br/> "This is what I wish."</p>
- <p region="r3">The little fishes of the sea,</p>
- <p region="r4">They sent an<br/> answer back to me.</p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-displayAlign-example-1-images" name=
- "style-attribute-displayAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/displayAlign.png" alt=
- "TTML displayAlign style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-extent" name="style-attribute-extent"></a>8.2.7
- tts:extent</h4>
-
- <p>The <code>tts:extent</code> attribute is used to specify the <em>width</em>
- and <em>height</em> of a region area (which may be the root container
- region).</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-extent" name=
- "style-property-details-extent"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href="#style-value-length"><length></a>
- <a href="#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of root container region</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they must be
- interpreted as <em>width</em> and <em>height</em>, where the first
- specification is the <em>width</em>, and the second specification is the
- <em>height</em>, where, if either <em>width</em> or <em>height</em> is negative
- or zero, then extent must be considered zero in both inline and block
- progression dimensions.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the initial value
- of the style property must be considered to be the same as the root container
- extent.</p>
-
- <p>The root container extent is determined either by a <code>tts:extent</code>
- specified on the <code>tt</code> element, if present, or by the external
- authoring context, if not present. If <code>tts:extent</code> is specified on
- the <code>tt</code> element, then the width and height must be expressed in
- terms of two <a href="#style-value-length"><length></a> specifications,
- and these specifications must be expressed as non-percentage, definite lengths
- using pixel units.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:extent</code> style is illustrated by the following
- example.</p><a id="style-attribute-extent-example-1" name=
- "style-attribute-extent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Extent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:extent="330px 122px"</span>/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- 'Tis the voice of the Lobster:<br/>
- I heard him declare,<br/>
- "You have baked me too brown,<br/>
- I must sugar my hair."
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-extent-example-1-images" name=
- "style-attribute-extent-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Extent
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/extent.png" alt="TTML extent style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontFamily" name=
- "style-attribute-fontFamily"></a>8.2.8 tts:fontFamily</h4>
-
- <p>The <code>tts:fontFamily</code> attribute is used to specify a style
- property that defines the font family from which glyphs are selected for glyph
- areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontFamily" name=
- "style-property-details-fontFamily"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td>(<a href="#style-value-familyName"><familyName></a> | <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>)
- (<code>","</code> (<a href=
- "#style-value-familyName"><familyName></a> | <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>))*</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>default</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The initial value, <code>default</code>, is a generic font family name,
- and is further described in <a href="#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a> below.</p>
- </div>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified font family is not available, then a presentation processor
- must attempt to map the specified font family to an available font family that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font family as if the value <code>default</code> were
- specified.</p>
-
- <p>The <code>tts:fontFamily</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontFamily-example-1" name=
- "style-attribute-fontFamily-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="474px 146px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style <span class="strong">tts:fontFamily="proportionalSansSerif"</span>/>
-</region>
-...
-<div region="r1">
- <p>
- "The time has come," the Walrus said,<br/>
- "to talk of many things:
- </p>
- <p tts:textAlign="end" <span class=
-"strong">tts:fontFamily="monospaceSerif"</span>>
- Of shoes, and ships, and sealing wax,<br/>
- Of cabbages and kings,
- </p>
- <p>
- And why the sea is boiling hot,<br/>
- and whether pigs have wings."
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontFamily-example-1-images" name=
- "style-attribute-fontFamily-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontFamily.png" alt=
- "TTML fontFamily style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontSize" name="style-attribute-fontSize"></a>8.2.9
- tts:fontSize</h4>
-
- <p>The <code>tts:fontSize</code> attribute is used to specify a style property
- that defines the font size for glyphs that are selected for glyph areas
- generated by content flowed into a region, where font size is interpreted as a
- scaling transform to the font's design EM square.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontSize" name=
- "style-property-details-fontSize"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1c</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to parent element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a single <a href="#style-value-length"><length></a> value is
- specified, then this length applies equally to horizontal and vertical scaling
- of a glyph's EM square; if two <a href="#style-value-length"><length></a>
- values are specified, then the first expresses the horizontal scaling and the
- second expresses vertical scaling.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Use of independent horizontal and vertical font sizes is expected to be
- used with cell based units in order to denote fonts that are two rows in
- height and one column in width.</p>
- </div>
-
- <p>If horizontal and vertical sizes are expressed independently, then the units
- of the <a href="#style-value-length"><length></a> values must be the
- same.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used to
- express font size must be non-negative.</p>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>1c</code> were
- specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The expression <code>1c</code> means one cell, where <code>'c'</code>
- expresses the <em>cell</em> length unit as defined by <a href=
- "#style-value-length"><b>8.3.9 <length></b></a>.</p>
- </div>
-
- <p>The <code>tts:fontSize</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontSize-example-1" name=
- "style-attribute-fontSize-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="299px 97px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style <span class="strong">tts:fontSize="18px"</span>/>
-</region>
-...
-<p region="r1">
- Then fill up the glasses<br/>
- with treacle and ink,<br/>
- Or anything else<br/>
- that is <span <span class=
-"strong">tts:fontSize="24px"</span>>pleasant</span> to drink.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontSize-example-1-images" name=
- "style-attribute-fontSize-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontSize.png" alt=
- "TTML fontSize style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontStyle" name=
- "style-attribute-fontStyle"></a>8.2.10 tts:fontStyle</h4>
-
- <p>The <code>tts:fontStyle</code> attribute is used to specify a style property
- that defines the font style to apply to glyphs that are selected for glyph
- areas generated by content flowed into a region, where the mapping from font
- style value to specific font face or style parameterization is not determined
- by this specification.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontStyle" name=
- "style-property-details-fontStyle"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>italic</code> | <code>oblique</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>Use of the value <code>oblique</code> denote a shear transformation (at an
- unspecified angle) in the inline progression dimension.</p>
-
- <p>If a specified font style is not available, then a presentation processor
- must attempt to map the specified font style to an available font style that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font style as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:fontStyle</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontStyle-example-1" name=
- "style-attribute-fontStyle-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="331px 84px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- In autumn, when the leaves are brown,<br/>
- Take pen and ink, and <span <span class=
-"strong">tts:fontStyle="italic"</span>>write it down.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontStyle-example-1-images" name=
- "style-attribute-fontStyle-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontStyle.png" alt=
- "TTML fontStyle style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontWeight" name=
- "style-attribute-fontWeight"></a>8.2.11 tts:fontWeight</h4>
-
- <p>The <code>tts:fontWeight</code> attribute is used to specify a style
- property that defines the font weight to apply to glyphs that are selected for
- glyph areas generated by content flowed into a region, where the mapping from
- font weight value to specific font face or weight parameterization is not
- determined by this specification.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontWeight" name=
- "style-property-details-fontWeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>bold</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified font weight is not available, then a presentation processor
- must attempt to map the specified font weight to an available font weight that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font weight as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:fontWeight</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontWeight-example-1" name=
- "style-attribute-fontWeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="376px 95px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- They told me you had been to her,<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>and mentioned me to him:</span><br/>
- She gave me a good character<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>but said I could not swim.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontWeight-example-1-images" name=
- "style-attribute-fontWeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontWeight.png" alt=
- "TTML fontWeight style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-lineHeight" name=
- "style-attribute-lineHeight"></a>8.2.12 tts:lineHeight</h4>
-
- <p>The <code>tts:lineHeight</code> attribute is used to specify a style
- property that defines the inter-baseline separation between line areas
- generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-lineHeight" name=
- "style-property-details-lineHeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>normal</code>, then the initial
- value of the style property must be considered to be the same as the largest
- font size that applies to any descendant element.</p>
-
- <p>If specified as a <a href="#style-value-length"><length></a>, then the
- length must be non-negative.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:lineHeight</code> style is illustrated by the following
- example.</p><a id="style-attribute-lineHeight-example-1" name=
- "style-attribute-lineHeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="255px 190px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="16px"/>
- <style <span class="strong">tts:lineHeight="32px"</span>/>
-</region>
-...
-<p region="r1">
- He thought he saw an elephant,<br/>
- That practised on a fife:<br/>
- He looked again, and found it was<br/>
- A letter from his wife.<br/>
- "At length I realise," he said,<br/>
- "The bitterness of Life.
-"</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-lineHeight-example-1-images" name=
- "style-attribute-lineHeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/lineHeight.png" alt=
- "TTML lineHeight style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-opacity" name="style-attribute-opacity"></a>8.2.13
- tts:opacity</h4>
-
- <p>The <code>tts:opacity</code> attribute is used to specify a style property
- that defines the opacity (or conversely, the transparency) of marks associated
- with a region.</p>
-
- <p>When presented onto a visual medium, the opacity of the region is applied
- uniformly and on a linear scale to all marks produced by content targeted to
- the region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-opacity" name=
- "style-property-details-opacity"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-alpha"><alpha></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1.0</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>An <a href="#style-value-alpha"><alpha></a> value greater than 1.0
- must be considered equivalent to an <a href=
- "#style-value-alpha"><alpha></a> value of 1.0.</p>
-
- <p>The <code>tts:opacity</code> style is illustrated by the following
- example.</p><a id="style-attribute-opacity-example-1" name=
- "style-attribute-opacity-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1" dur="5s">
- <set begin="0s" dur="1s" <span class="strong">tts:opacity="1.00"</span>/>
- <set begin="1s" dur="1s" <span class="strong">tts:opacity="0.75"</span>/>
- <set begin="2s" dur="1s" <span class="strong">tts:opacity="0.50"</span>/>
- <set begin="3s" dur="1s" <span class="strong">tts:opacity="0.25"</span>/>
- <set begin="4s" dur="1s" <span class="strong">tts:opacity="0.00"</span>/>
- <style tts:extent="304px 77px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- The sun was shining on the sea
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-opacity-example-1-images" name=
- "style-attribute-opacity-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/opacity_0.png" alt=
- "TTML opacity style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_1.png" alt=
- "TTML opacity style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_2.png" alt=
- "TTML opacity style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_3.png" alt=
- "TTML opacity style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_4.png" alt=
- "TTML opacity style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-origin" name="style-attribute-origin"></a>8.2.14
- tts:origin</h4>
-
- <p>The <code>tts:origin</code> attribute is used to specify the <em>x</em> and
- <em>y</em> coordinates of the origin of a region area with respect to the
- origin of the root container extent, if specified, or the external authoring
- context, if not specified.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-origin" name=
- "style-property-details-origin"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href="#style-value-length"><length></a>
- <a href="#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of root container region</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they must be
- interpreted as <em>x</em> and <em>y</em> coordinates, where the first
- specification is the <em>x</em> coordinate, and the second specification is the
- <em>y</em> coordinate.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the initial value
- of the style property must be considered to be the same as the root container
- origin.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:origin</code> style is illustrated by the following
- example.</p><a id="style-attribute-origin-example-1" name=
- "style-attribute-origin-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Origin
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:origin="40px 40px"</span>/>
- <style tts:extent="308px 92px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- "To dine!" she shrieked in dragon-wrath.<br/>
- "To swallow wines all foam and froth!<br/>
- To simper at a table-cloth!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-origin-example-1-images" name=
- "style-attribute-origin-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Origin
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/origin.png" alt="TTML origin style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-overflow" name="style-attribute-overflow"></a>8.2.15
- tts:overflow</h4>
-
- <p>The <code>tts:overflow</code> attribute is used to specify a style property
- that defines whether a region area is clipped or not if the descendant areas of
- the region overflow its extent.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-overflow" name=
- "style-property-details-overflow"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>visible</code>, then content should
- not be clipped outside of the affected region, and region composition and
- layout must be performed as if the region's width and height were
- unconstrained, but with a well-defined origin. If the value is
- <code>hidden</code>, then content should be clipped outside of the affected
- region.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Unless a manual line break element <code>br</code> is used by the content
- author, a paragraph of a given region will generate no more than one line
- area in that region if the value of the <code>tts:overflow</code> style that
- applies to the region is <code>visible</code> and if the applicable
- <code>tts:wrapOption</code> style is <code>noWrap</code>.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>hidden</code> were
- specified.</p>
-
- <p>The <code>tts:overflow</code> style is illustrated by the following
- example.</p><a id="style-attribute-overflow-example-1" name=
- "style-attribute-overflow-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="visible"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 43px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="hidden"</span>/>
-</region>
-...
-<p region="r1">
- "But wait a bit," the Oysters cried,<br/>
- "Before we have our chat;
-</p>
-<p region="r2">
- For some of us are out of breath,<br/>
- And all of us are fat!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-overflow-example-1-images" name=
- "style-attribute-overflow-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/overflow.png" alt=
- "TTML overflow style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>tts:noWrap</code> is set to
- <code>noWrap</code> to prevent automatic line wrapping (breaking); if this
- were not specified, then overflow would occur in the block progression
- direction as opposed to the inline progression direction.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-padding" name="style-attribute-padding"></a>8.2.16
- tts:padding</h4>
-
- <p>The <code>tts:padding</code> attribute is used to specify padding (or inset)
- space on all sides of a region area.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-padding" name=
- "style-property-details-padding"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>0px</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of region</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of one <a href=
- "#style-value-length"><length></a> specification, then that length
- applies to all edges of the affected areas. If the value consists of two
- <a href="#style-value-length"><length></a> specifications, then the first
- applies to the before and after edges, and the second applies to the start and
- end edges. If three <a href="#style-value-length"><length></a>
- specifications are provided, then the first applies to the before edge, the
- second applies to the start and end edges, and the third applies to the after
- edge. If four <a href="#style-value-length"><length></a> specifications
- are provided, then they apply to before, end, after, and start edges,
- respectively.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>0px</code> were
- specified.</p>
-
- <p>The <code>tts:padding</code> style is illustrated by the following
- example.</p><a id="style-attribute-padding-example-1" name=
- "style-attribute-padding-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Padding
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="446px 104px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style <span class="strong">tts:padding="10px 40px"</span>/>
-</region>
-...
-<p region="r1" tts:backgroundColor="red">
- Just the place for a Snark! I have said it twice:<br/>
- That alone should encourage the crew.<br/>
- Just the place for a Snark! I have said it thrice:<br/>
- What I tell you three times is true.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When rendering an area to which padding applies, the background color that
- applies to the area is rendered into the padded portion of the area.</p><a id=
- "style-attribute-padding-example-1-images" name=
- "style-attribute-padding-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Padding
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/padding.png" alt="TTML padding style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-showBackground" name=
- "style-attribute-showBackground"></a>8.2.17 tts:showBackground</h4>
-
- <p>The <code>tts:showBackground</code> attribute is used to specify constraints
- on when the background color of a region is intended to be presented.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-showBackground" name=
- "style-property-details-showBackground"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>always</code> | <code>whenActive</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>always</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>always</code>, then the background
- color of a region is always rendered when performing presentation processing on
- a visual medium; if the value is <code>whenActive</code>, then the background
- color of a region is rendered only when some content is selected into the
- region.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>always</code> were
- specified.</p>
-
- <p>The <code>tts:showBackground</code> style is illustrated by the following
- example.</p><a id="style-attribute-showBackground-example-1" name=
- "style-attribute-showBackground-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Show Background
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="265px 100px"/>
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:showBackground="always"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:origin="205px 60px"/>
- <style tts:extent="290px 100px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:showBackground="whenActive"</span>/>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textAlign" name=
- "style-attribute-textAlign"></a>8.2.18 tts:textAlign</h4>
-
- <p>The <code>tts:textAlign</code> attribute is used to specify a style property
- that defines how inline areas are aligned within a containing block area in the
- inline progression direction.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textAlign" name=
- "style-property-details-textAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>left</code> | <code>center</code> | <code>right</code> |
- <code>start</code> | <code>end</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>start</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>start</code> were
- specified.</p>
-
- <p>The <code>tts:textAlign</code> style is illustrated by the following
- example.</p><a id="style-attribute-textAlign-example-1" name=
- "style-attribute-textAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="start"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 47px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="end"</span>/>
-</region>
-...
-<p region="r1">
- Beware the Jabberwock, my son!<br/>
- The jaws that bite, the claws that catch!
-</p>
-<p region="r2">
- Beware the Jubjub bird, and shun<br/>
- The frumious Bandersnatch!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textAlign-example-1-images" name=
- "style-attribute-textAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textAlign.png" alt=
- "TTML textAlign style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textDecoration" name=
- "style-attribute-textDecoration"></a>8.2.19 tts:textDecoration</h4>
-
- <p>The <code>tts:textDecoration</code> attribute is used to specify a style
- property that defines a text decoration effect to apply to glyph areas or other
- inline areas that are generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textDecoration" name=
- "style-property-details-textDecoration"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | [ [ <code>underline</code> |
- <code>noUnderline</code> ] || [ <code>lineThrough</code> |
- <code>noLineThrough</code> ] || [ <code>overline</code> |
- <code>noOverline</code> ] ]</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>none</code> were
- specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The syntax used above in defining the value of this property is based on
- the value component syntax defined in <a href="#css2">[CSS2]</a>, § 1.4.2.1.
- In essence, one or more of the values separated by <code>||</code> may appear
- in the property value in any order, such as <code>"noUnderline overline
- lineThrough"</code>.</p>
- </div>
-
- <p>The <code>tts:textDecoration</code> style is illustrated by the following
- example.</p><a id="style-attribute-textDecoration-example-1" name=
- "style-attribute-textDecoration-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="385px 82px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:padding="5px 2px"/>
- <style <span class="strong">tts:textDecoration="underline"</span>/>
-</region>
-...
-<p region="r1">
- The sea was wet<span <span class=
-"strong">tts:textDecoration="noUnderline"</span>> as </span>wet
- <span <span class="strong">tts:textDecoration="noUnderline"</span>>
- could be,<br/>
- The sand was dry as dry.<br/>
- <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>There weren't any</span>
- You <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>couldn't</span>
- could not see a cloud<br/>
- Because no cloud was in the sky.
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textDecoration-example-1-images" name=
- "style-attribute-textDecoration-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textDecoration.png" alt=
- "TTML textDecoration style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textOutline" name=
- "style-attribute-textOutline"></a>8.2.20 tts:textOutline</h4>
-
- <p>The <code>tts:textOutline</code> attribute is used to specify a style
- property that defines a text outline effect to apply to glyphs that are
- selected for glyph areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textOutline" name=
- "style-property-details-textOutline"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | <a href="#style-value-color"><color></a>?
- <a href="#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The value of this attribute consists of an optional <a href=
- "#style-value-color"><color></a> term followed by one or two <a href=
- "#style-value-length"><length></a> terms. If a <em>color</em> term is
- present, then it denotes the outline color; if no <em>color</em> term is
- present, the computed value of the <code>tts:color</code> applies. The first
- <em>length</em> term denotes the outline thickness and the second length term,
- if present, indicates the blur radius.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When a <a href="#style-value-length"><length></a> expressed in cells
- is used in a <code>tts:textOutline</code> value, the cell's dimension in the
- block progression dimension applies. For example, if text outline thickness
- is specified as 0.1c, the cell resolution is 20 by 10, and the root container
- extent is 640 by 480, then the outline thickness will be a nominal 480 / 10 *
- 0.1 pixels, i.e., 4.8px, without taking into account rasterization
- effects.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>none</code> were
- specified.</p>
-
- <p>The <code>tts:textOutline</code> style is illustrated by the following
- example.</p><a id="style-attribute-textOutline-example-1" name=
- "style-attribute-textOutline-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="transparent"/>
- <style tts:color="yellow"/>
- <style <span class="strong">tts:textOutline="black 2px 0px"</span>/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="24px"/>
-</region>
-...
-<p>
- How doth the little crocodile<br/>
- Improve its shining tail,<br/>
- And pour the waters of the Nile<br/>
- On every golden scale!<br/>
- How cheerfully he seems to grin,<br/>
- How neatly spreads his claws,<br/>
- And welcomes little fishes in,<br/>
- With gently smiling jaws!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textOutline-example-1-images" name=
- "style-attribute-textOutline-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textOutline.png" alt=
- "backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-unicodeBidi" name=
- "style-attribute-unicodeBidi"></a>8.2.21 tts:unicodeBidi</h4>
-
- <p>The <code>tts:unicodeBidi</code> attribute is used to specify a style
- property that defines a directional embedding or override according to the
- Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-unicodeBidi" name=
- "style-property-details-unicodeBidi"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>embed</code> |
- <code>bidiOverride</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:unicodeBidi</code> style is illustrated by the following
- example.</p><a id="style-attribute-unicodeBidi-example-1" name=
- "style-attribute-unicodeBidi-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span <span class=
-"strong">tts:unicodeBidi="bidiOverride"</span> tts:direction="rtl">where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-unicodeBidi-example-1-images" name=
- "style-attribute-unicodeBidi-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/unicodeBidi.png" alt=
- "TTML unicodeBidi style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-visibility" name=
- "style-attribute-visibility"></a>8.2.22 tts:visibility</h4>
-
- <p>The <code>tts:visibility</code> attribute is used to specify a style
- property that defines whether generated areas are visible or not when rendered
- on a visual presentation medium.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-visibility" name=
- "style-property-details-visibility"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>visible</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The <code>tts:visibility</code> style has no affect on content layout or
- composition, but merely determines whether composed content is visible or
- not.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>visible</code>
- were specified.</p>
-
- <p>The <code>tts:visibility</code> style is illustrated by the following
- example.</p><a id="style-attribute-visibility-example-1" name=
- "style-attribute-visibility-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="398px 121px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style/>
-</region>
-...
-<p region="r1" dur="4s">
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="1s" <span class="strong">tts:visibility="visible"</span>/>
- Curiouser
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="2s" <span class="strong">tts:visibility="visible"</span>/>
- and
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="3s" <span class="strong">tts:visibility="visible"</span>/>
- curiouser!
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-visibility-example-1-images" name=
- "style-attribute-visibility-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/visibility_0.png" alt=
- "TTML visibility style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_1.png" alt=
- "TTML visibility style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_2.png" alt=
- "TTML visibility style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_3.png" alt=
- "TTML visibility style property - [3,4)"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-wrapOption" name=
- "style-attribute-wrapOption"></a>8.2.23 tts:wrapOption</h4>
-
- <p>The <code>tts:wrapOption</code> attribute is used to specify a style
- property that defines whether or not automatic line wrapping (breaking) applies
- within the context of the affected element.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-wrapOption" name=
- "style-property-details-wrapOption"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>wrap</code> | <code>noWrap</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>wrap</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>wrap</code> were
- specified.</p>
-
- <p>The <code>tts:wrapOption</code> style is illustrated by the following
- example.</p><a id="style-attribute-wrapOption-example-1" name=
- "style-attribute-wrapOption-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="192px 117px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:overflow="hidden"/>
- <style <span class="strong">tts:wrapOption="noWrap"</span>/>
-</region>
-...
-<p>
- I'll tell thee everything I can:<br/>
- There's little to relate.<br/>
- I saw an aged aged man,<br/>
- A-sitting on a gate.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-wrapOption-example-1-images" name=
- "style-attribute-wrapOption-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/wrapOption.png" alt=
- "TTML wrapOption style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-writingMode" name=
- "style-attribute-writingMode"></a>8.2.24 tts:writingMode</h4>
-
- <p>The <code>tts:writingMode</code> attribute is used to specify a style
- property that defines the block and inline progression directions to be used
- for the purpose of stacking block and inline areas within a region area.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-writingMode" name=
- "style-property-details-writingMode"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>lrtb</code> | <code>rltb</code> | <code>tbrl</code> |
- <code>tblr</code> | <code>lr</code> | <code>rl</code> |
- <code>tb</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>lrtb</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>lrtb</code> were
- specified.</p>
-
- <p>The <code>tts:writingMode</code> style is illustrated by the following
- example.</p><a id="style-attribute-writingMode-example-1" name=
- "style-attribute-writingMode-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="50px 570px"/>
- <style tts:origin="0px 0px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="tbrl"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="310px 50px"/>
- <style tts:origin="70px 120px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="rltb"</span>/>
-</region>
-...
-<p region="r1">
- I sometimes dig for buttered rolls,<br/>
- Or set limed twigs for crabs:
-</p>
-<p region="r2" tts:direction="rtl" tts:unicodeBidi="bidiOverride">
- I sometimes search the grassy knolls for the wheels of Hansom-cabs.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-writingMode-example-1-images" name=
- "style-attribute-writingMode-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/writingMode.png" alt=
- "TTML writingMode style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the second paragraph in the above example that targets region
- <code>r2</code>, the <code>tts:unicodeBidi</code> and
- <code>tts:direction</code> properties are set to <code>bidiOverride</code>
- and <code>rtl</code>, respectively, in order to override the normally
- left-to-right directionality of characters in the Latin script.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-zIndex" name="style-attribute-zIndex"></a>8.2.25
- tts:zIndex</h4>
-
- <p>The <code>tts:zIndex</code> attribute is used to specify a style property
- that defines the front-to-back ordering of region areas in the case that they
- overlap.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-zIndex" name=
- "style-property-details-zIndex"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href=
- "#style-value-integer"><integer></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If two areas are associated with the same Z-index value, then, if those
- areas overlap in space, the area(s) generated by lexically subsequent elements
- must be rendered over area(s) generated by lexically prior elements, where
- lexical order is defined as the postorder traversal of a <em>Document
- Instance</em>.</p>
-
- <p>The semantics of the value <code>auto</code> are those defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 7.30.18, where the <code>tt</code> element is
- considered to establish the root stacking context.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:zIndex</code> style is illustrated by the following
- example.</p><a id="style-attribute-zIndex-example-1" name=
- "style-attribute-zIndex-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="0"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:origin="100px 60px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="1"</span>/>
-</region>
-<region xml:id="r3">
- <style tts:origin="0px 120px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="2"</span>/>
-</region>
-<region xml:id="r4">
- <style tts:origin="100px 180px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="3"</span>/>
-</region>
-...
-<p region="r1">
- I passed by his garden, and marked, with one eye,<br/>
- How the Owl and the Panther were sharing a pie.
-</p>
-<p region="r2">
- The Panther took pie-crust, and gravy, and meat,<br/>
- While the Owl had the dish as its share of the treat.
-</p>
-<p region="r3">
- When the pie was all finished, the Owl, as a boon,<br/>
- Was kindly permitted to pocket the spoon:
-</p>
-<p region="r4">
- While the Panther received knife and fork<br/>
- with a growl,<br/>
- And concluded the banquet by...
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-zIndex-example-1-images" name=
- "style-attribute-zIndex-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/zIndex.png" alt="TTML zIndex style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-style-value-expressions" name=
- "styling-style-value-expressions"></a>8.3 Style Value Expressions</h3>
-
- <p>Style property values include the use of the following expressions:</p>
-
- <ul>
- <li>
- <p><a href="#style-value-alpha"><b>8.3.1 <alpha></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-color"><b>8.3.2 <color></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-digit"><b>8.3.3 <digit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-duration"><b>8.3.4 <duration></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-familyName"><b>8.3.5 <familyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-hexDigit"><b>8.3.7 <hexDigit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-integer"><b>8.3.8 <integer></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-length"><b>8.3.9 <length></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-namedColor"><b>8.3.10 <namedColor></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-quotedString"><b>8.3.11
- <quotedString></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-string"><b>8.3.12 <string></b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="style-value-alpha" name="style-value-alpha"></a>8.3.1
- <alpha></h4>
-
- <p>An <alpha> expression is used to express an opacity value, where 0
- means fully transparent and 1 means fully opaque.</p><a id=
- "alpha-style-expression-syntax" name="alpha-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <alpha>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<alpha>
- : <em>float</em>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above syntax representation, the syntactic element
- <em><code>float</code></em> must adhere to the lexical representation defined
- by <a href="#xsd-2">[XML Schema Part 2]</a> § 3.2.4.1. If the value
- represented is less than 0.0, then it must be interpreted as equal to 0.0;
- similarly, if the value represented is greater than 1.0, then it must be
- interpreted as 1.0. The value NaN must be interpreted as 0.0.</p>
-
- <p>If a presentation processor does not support a specific, valid opacity
- value, then it must interpret it as being equal to the closest supported
- value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-color" name="style-value-color"></a>8.3.2
- <color></h4>
-
- <p>A <color> expression is used to specify a named color, exact RGB color
- triple, or exact RGBA color tuple, where the alpha component, if expressed, is
- maximum (255) at 100% opacity and minimum (0) at 0% opacity, and where the
- applicable color space is defined by <a href="#srgb">[SRGB]</a>.</p><a id=
- "color-style-expression-syntax" name="color-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <color>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<color>
- : "#" rrggbb
- | "#" rrggbbaa
- | "rgb" "(" r-value "," g-value "," b-value ")"
- | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
- | <a href="#style-value-namedColor"><namedColor></a>
-
-rrggbb
- : <a href="#style-value-hexDigit"><hexDigit></a>{6}
-
-rrggbbaa
- : <a href="#style-value-hexDigit"><hexDigit></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"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When expressing RGB component values, these values are considered to
- <span class="strong">not</span> be premultiplied by alpha.</p>
-
- <p>For the purpose of performing presentation processing such that non-opaque
- or non-transparent alpha or opacity values apply, then the semantics of
- compositing functions are defined with respect to the use of the <a href=
- "#srgb">[SRGB]</a> color space for both inputs and outputs of the composition
- function.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of <a href="#srgb">[SRGB]</a> for the stated semantics of
- composition is not meant to prevent an actual processor from using some other
- color space either for internal or external purposes. For example, a
- presentation processor may ultimately convert the SRGB values used here to
- the YUV color space for rendition on a television device.</p>
- </div>
-
- <p>If a presentation processor does not support a specific, valid color or
- alpha value, then it must interpret it as being equal to the closest supported
- value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-digit" name="style-value-digit"></a>8.3.3
- <digit></h4>
-
- <p>A <digit> is used to express integers and other types of numbers or
- tokens.</p><a id="digit-style-expression-syntax" name=
- "digit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <digit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<digit>
- : "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" name="style-value-duration"></a>8.3.4
- <duration></h4>
-
- <p>A <duration> expression is used to express a temporal duration
- value.</p><a id="duration-style-expression-syntax" name=
- "duration-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <duration>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<duration>
- : <a href="#style-value-digit"><digit></a>+ ( "." <a href=
-"#style-value-digit"><digit></a>+ )? metric
-
-metric
- : "s" // seconds
- | "ms" // milliseconds
- | "f" // frames
- | "t" // ticks
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>It is an error to omit the metric component of a duration.</p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>discontinuous</code> mode, a duration expression must be considered to
- denote a duration in (local) real-time, independently of the governing time
- base.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-familyName" name="style-value-familyName"></a>8.3.5
- <familyName></h4>
-
- <p>A <familyName> expression specifies a font family name.</p>
-
- <p>If the name contains a quotation delimiter character, then it must be
- expressed as a <quotedString>. If the name contains a whitespace
- character, then it should be expressed as a <quotedString>; however, if
- it is expressed as a <string>, then it must not contain a
- <code>COMMA</code> ',' character.</p><a id="familyName-style-expression-syntax"
- name="familyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <familyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<familyName>
- : <a href="#style-value-string"><string></a>
- | <a href="#style-value-quotedString"><quotedString></a>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-genericFamilyName" name=
- "style-value-genericFamilyName"></a>8.3.6 <genericFamilyName></h4>
-
- <p>A <genericFamilyName> expression specifies a font family using a
- general token that indicates a class of font families.</p>
-
- <p>The resolution of a generic family name to a concrete font instance is
- considered to be implementation dependent, both in the case of content
- authoring and content interpretation.</p><a id=
- "genericFamilyName-style-expression-syntax" name=
- "genericFamilyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <genericFamilyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<genericFamilyName>
- : "default"
- | "monospace"
- | "sansSerif"
- | "serif"
- | "monospaceSansSerif"
- | "monospaceSerif"
- | "proportionalSansSerif"
- | "proportionalSerif"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The mapping between a generic (font) family name and an actual font is not
- determined by this specification; however, the distinction of monospace versus
- proportional and serif versus sans-serif should be maintained if possible when
- performing presentation.</p>
-
- <p>If a generic (font) family name of <code>monospace</code> is specified, then
- it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
- or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
- and <code>serif</code> are to be interpreted as equivalent to
- <code>proportionalSansSerif</code> and <code>proportionalSerif</code>,
- respectively.</p>
-
- <p>If the generic family name <code>default</code> is specified (or implied by
- an initial value), then its typographic characteristics is considered to be
- implementation dependent; however, it is recommended that this default font
- family be mapped to an monospaced, sans-serif font.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-hexDigit" name="style-value-hexDigit"></a>8.3.7
- <hexDigit></h4>
-
- <p>A <hexDigit> is used to express integers and other types of numbers or
- tokens that employ base 16 arithmetic.</p>
-
- <p>For the purpose of parsing, no distinction must be made between lower and
- upper case.</p><a id="hexDigit-style-expression-syntax" name=
- "hexDigit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <hexDigit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<hexDigit>
- : <a href="#style-value-digit"><digit></a>
- | "a" | "b" | "c" | "d" | "e" | "f"
- | "A" | "B" | "C" | "D" | "E" | "F"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-integer" name="style-value-integer"></a>8.3.8
- <integer></h4>
-
- <p>An <integer> expression is used to express an arbitrary, signed
- integral value.</p><a id="integer-style-expression-syntax" name=
- "integer-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <integer>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<integer>
- : ( "+" | "-" )? <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-length" name="style-value-length"></a>8.3.9
- <length></h4>
-
- <p>A <length> expression is used to express either a coordinate component
- of point in a cartesian space or a distance between two points in a cartesian
- space.</p><a id="length-style-expression-syntax" name=
- "length-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <length>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<length>
- : 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"><digit></a>+
-
-non-negative-real
- : <a href="#style-value-digit"><digit></a>* "." <a href=
-"#style-value-digit"><digit></a>+
-
-units
- : "px"
- | "em"
- | "c" // abbreviation of "cell"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>It is an error to omit the units component of a scalar length value.</p>
-
- <p>The semantics of the unit of measure <code>px</code> (pixel) are as defined
- by <a href="#xsl11">[XSL 1.1]</a>, § 5.9.13.</p>
-
- <p>When specified relative to a font whose size is expressed as a single length
- measure or as two length measures of equal length, the unit of measure
- <code>em</code> is considered to be identical to that defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 5.9.13; however, when specified relative to a font
- whose size is expressed as two length measures of non-equal lengths, then one
- <code>em</code> is equal to the inline progression dimension of the
- anamorphically scaled font when used to specify lengths in the inline
- progression direction and equal to the block progression dimension of the
- scaled font when used to specify lengths in the block progression
- direction.</p>
-
- <p>The semantics of the unit of measure <code>c</code> (cell) are defined by
- the parameter <a href="#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-namedColor" name="style-value-namedColor"></a>8.3.10
- <namedColor></h4>
-
- <p>A <namedColor> is used to express an RGBA color with a convenient
- name, and where the applicable color space is defined by <a href=
- "#srgb">[SRGB]</a>.</p>
-
- <p>For the purpose of parsing, no distinction must be made between lower and
- upper case.</p><a id="namedColor-style-expression-syntax" name=
- "namedColor-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <namedColor>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<namedColor>
- : "transparent" // #00000000
- | "black" // #000000ff
- | "silver" // #c0c0c0ff
- | "gray" // #808080ff
- | "white" // #ffffffff
- | "maroon" // #800000ff
- | "red" // #ff0000ff
- | "purple" // #800080ff
- | "fuchsia" // #ff00ffff
- | "magenta" // #ff00ffff (= fuchsia)
- | "green" // #008000ff
- | "lime" // #00ff00ff
- | "olive" // #808000ff
- | "yellow" // #ffff00ff
- | "navy" // #000080ff
- | "blue" // #0000ffff
- | "teal" // #008080ff
- | "aqua" // #00ffffff
- | "cyan" // #00ffffff (= aqua)
-</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" name="style-value-quotedString"></a>8.3.11
- <quotedString></h4>
-
- <p>A <quotedString> is used to express a delimited string that may
- contain a whitespace or a quotation delimiter character. Two types of quotation
- delimiters are provided in order to accommodate strings that contain the other
- delimiter.</p><a id="quotedString-style-expression-syntax" name=
- "quotedString-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <quotedString>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<quotedString>
- : "\"" ( <em>char</em> - { "\"" } )* "\""
- | "\'" ( <em>char</em> - { "\'" } )* "\'"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above syntax representation, the syntactic element
- <em><code>char</code></em> must adhere to production [2] <code>Char</code> as
- defined by <a href="#xml10">[XML 1.0]</a> § 2.2.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-string" name="style-value-string"></a>8.3.12
- <string></h4>
-
- <p>A <string> expression consists of a sequence of characters where no
- character is a quotation delimiter character.</p><a id=
- "string-style-expression-syntax" name="string-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <string>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<string>
- : ( <em>char</em> - { "\"" | "\'" } )+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above syntax representation, the syntactic element
- <em><code>char</code></em> must adhere to production [2] <code>Char</code> as
- defined by <a href="#xml10">[XML 1.0]</a> § 2.2.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-style-resolution" name="semantics-style-resolution"></a>8.4
- Style Resolution</h3>
-
- <p>This section defines the semantics of style resolution in terms of a standard
- processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association"><b>8.4.1 Style
- Association</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance"><b>8.4.2 Style
- Inheritance</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-value-categories"><b>8.4.3 Style
- Resolution Value Categories</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation of this model is permitted provided that the externally
- observable results are consistent with the results produced by this model.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of style resolution employed here are based upon <a href=
- "#xsl11">[XSL 1.1]</a>, § 5.</p>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-association" name=
- "semantics-style-association"></a>8.4.1 Style Association</h4>
-
- <p>Style association is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each content
- and layout element.</p>
-
- <p>Style matter may be associated with content and layout matter in a number of
- ways:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-inline">inline styling</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-association-referential">referential
- styling</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-association-chained-referential">chained
- referential styling</a></p>
- </li>
- </ul>
-
- <p>In addition to the above, style matter may be associated with layout matter
- using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-nested">nested styling</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-association-inline" name=
- "semantics-style-association-inline"></a>8.4.1.1 Inline Styling</h5>
-
- <p>Style properties may be expressed in an inline manner by direct
- specification of an attribute from the TT Style Namespace on the affected
- element. When expressed in this manner, the association of style information
- is referred to as <em>inline styling</em>.</p>
-
- <p>Style properties associated by inline styling are afforded a higher
- priority than all other forms of style association.</p><a id=
- "style-association-example-1" name="style-association-example-1"></a>
-
- <table class="example">
- <caption>
- Example – Inline Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class="strong">tts:color="white"</span>>White 1 <span <span class=
-"strong">tts:color="yellow"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1 "</code> and
- <code>" White 2"</code>, which are interpreted as anonymous spans, are not
- associated with a color style property; rather, they inherit their color
- style from their parent <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-referential" name=
- "semantics-style-association-referential"></a>8.4.1.2 Referential
- Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and referenced
- by the affected element using the <code>style</code> attribute. When
- expressed in this manner, the association of style information is referred to
- as <em>referential styling</em>.</p>
-
- <p>If a <code>style</code> attribute specifies multiple references, then
- those references are evaluated in the specified order, and that order applies
- to resolution of the value of a style property in the case that it is
- specified along multiple reference paths.</p>
-
- <p>The use of referential styling is restricted to making reference to
- <code>style</code> element descendants of a <code>styling</code> element. It
- is considered an error to reference a <code>style</code> element that is a
- descendant of a <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of referential styling encourages the reuse of style
- specifications while sacrificing locality of reference.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style properties by a
- hybrid mixture of inline and referential styling, in which case inline
- styling is given priority as described above by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div><a id="style-association-example-2" name=
- "style-association-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class="strong">xml:id="s1"</span> tts:color="white"/>
-<style <span class="strong">xml:id="s2"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White 1 <span <span class=
-"strong">style="s2"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1 "</code> and
- <code>" White 2"</code>, which are interpreted as anonymous spans, are not
- associated with a color style property; rather, they inherit their color
- style from their parent <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-chained-referential" name=
- "semantics-style-association-chained-referential"></a>8.4.1.3 Chained
- Referential Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and may
- themselves reference other out-of-line style properties, thus creating a
- chain of references starting at the affected element. When expressed in this
- manner, the association of style information is referred to as <em>chained
- referential styling</em>.</p>
-
- <p>If the same style property is specified in more than one referenced style
- set, then the last referenced style set applies, where the order of
- application starts from the affected element and proceeds to referenced style
- sets, and, in turn, to subsequent, recursively referenced style sets.</p>
-
- <p>A loop in a sequence of chained style references must be considered an
- error.</p>
-
- <p>The use of referential styling is restricted to making reference to
- <code>style</code> element descendants of a <code>styling</code> element. It
- is considered an error to reference a <code>style</code> element that is a
- descendant of a <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of chained referential styling encourages the grouping of style
- specifications into general and specific sets, which further aids in style
- specification reuse.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style properties by a
- hybrid mixture of inline, referential styling, and chained referential
- styling, in which case inline styling is given priority as described above
- by <a href="#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div><a id="style-association-example-3" name=
- "style-association-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Chained Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class=
-"strong">xml:id="s1"</span> tts:color="white" tts:fontFamily="monospaceSerif"/>
-<style <span class="strong">xml:id="s2"</span> <span class=
-"strong">style="s1"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White Monospace</p>
-<p <span class="strong">style="s2"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-nested" name=
- "semantics-style-association-nested"></a>8.4.1.4 Nested Styling</h5>
-
- <p>Style properties may be expressed in an nested manner by direct
- specification of one or more <code>style</code> element children of the
- affected element. When expressed in this manner, the association of style
- information is referred to as <em>nested styling</em>.</p>
-
- <p>Style properties associated by nested styling are afforded a lower
- priority than inline styling but with higher priority than referential
- styling.</p><a id="style-association-example-4" name=
- "style-association-example-4"></a>
-
- <table class="example">
- <caption>
- Example – Nested Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <span class="strong"><style tts:extent="128px 66px"/></span>
- <span class="strong"><style tts:origin="0px 0px"/></span>
- <span class="strong"><style tts:displayAlign="center"/></span>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this version of this specification, nested styling applies only to
- the <code>region</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-inheritance" name=
- "semantics-style-inheritance"></a>8.4.2 Style Inheritance</h4>
-
- <p>Style inheritance is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each content
- and layout element.</p>
-
- <p>Styles are further propagated to content matter using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-inheritance-content">content style
- inheritance</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance-content">region style
- inheritance</a></p>
- </li>
- </ul>
-
- <p>For the purpose of determining inherited styles, the element hierarchy of an
- intermediate synchronic document form of a <em>Document Instance</em> must be
- used, where such intermediate forms are defined by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
- Construction</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate synchronic document form is utilized rather than the
- original form in order to facilitate region inheritance processing.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-content" name=
- "semantics-style-inheritance-content"></a>8.4.2.1 Content Style
- Inheritance</h5>
-
- <p>Style properties are inherited from ancestor content elements within an
- intermediate synchronic document if a style property is not associated with a
- content element (or an anonymous span) and the style property is designated
- as inheritable.</p>
-
- <p>If a style property is determined to require inheritance, then the
- inherited value must be the value of the same named style property in the
- computed style set of the element's immediate ancestor element within the
- applicable intermediate synchronic document.</p><a id=
- "style-inheritance-example-2" name="style-inheritance-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Content Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>>
- <span tts:color="yellow">Yellow Monospace</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>span</code> element that encloses the
- character items <code>Yellow Monospace</code> is not associated with a
- <code>tts:fontFamily</code> style property and this property is
- inheritable; therefore, the value of the <code>tts:fontFamily</code> style
- is inherited from the computed style set of the ancestor <code>p</code>
- element, and is added to the specified style set of the <code>span</code>
- element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-region" name=
- "semantics-style-inheritance-region"></a>8.4.2.2 Region Style
- Inheritance</h5>
-
- <p>Style properties are inherited from a region element in the following
- case:</p>
-
- <ol class="enumar">
- <li>
- <p>if a style property <em>P</em> is not associated with a content
- element or an anonymous span <em>E</em> and the style property is
- designated as inheritable, and</p>
- </li>
-
- <li>
- <p>if that style property <em>P</em> is in the computed style set of
- region <em>R</em>, and</p>
- </li>
-
- <li>
- <p>if that element <em>E</em> is flowed into (presented within) region
- <em>R</em>.</p>
- </li>
- </ol><a id="style-inheritance-example-3" name=
- "style-inheritance-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Region Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region <span class="strong">xml:id="r1"</span>>
- <style tts:color="yellow"/>
- <style tts:fontFamily="monospaceSerif"/>
-</region>
-...
-<p <span class="strong">region="r1"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the anonymous span that encloses the character
- items <code>Yellow Monospace</code> effectively inherits the
- <code>tts:color</code> and <code>tts:fontFamily</code> styles specified on
- the <code>region</code> element into which the <code>p</code> element is
- flowed (presented).</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-value-categories" name=
- "semantics-style-resolution-value-categories"></a>8.4.3 Style Resolution Value
- Categories</h4>
-
- <p>During style resolution, layout, and presentation processing, three
- categories of style property values are distinguished as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-resolved-value-category-specified">specified
- values</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolved-value-category-computed">computed
- values</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolved-value-category-actual">actual
- values</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-specified" name=
- "semantics-style-resolved-value-category-specified"></a>8.4.3.1 Specified
- Values</h5>
-
- <p>Values of style properties that are associated with or inherited by an
- element or anonymous span are referred to as <em>specified values</em>. The
- set of all specified style properties of a given element is referred to as
- the <em>specified style set</em> of that element.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-computed" name=
- "semantics-style-resolved-value-category-computed"></a>8.4.3.2 Computed
- Values</h5>
-
- <p>When style properties are specified using relative value expressions, such
- as a named color, a relative unit (e.g., cell), or a percentage, then they
- need to be further resolved into absolute units, such as an RGB triple,
- pixels, etc.</p>
-
- <p>During the style resolution process, all specified style values are
- reinterpreted (or recalculated) in absolute terms, and then recorded as
- <em>computed values</em>. The set of all computed style properties of a given
- element is referred to as the <em>computed style set</em> of that
- element.</p>
-
- <p>When a style value is inherited, either explicitly or implicitly, it is
- the computed value of the style that is inherited from an ancestor element.
- This is required since the resolution of certain relative units, such as
- percentage, require evaluating the expression in the immediate (local)
- context of reference, and not in a distant (remote) context of reference
- where the related (resolving) expression is not available.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-actual" name=
- "semantics-style-resolved-value-category-actual"></a>8.4.3.3 Actual
- Values</h5>
-
- <p>During the actual presentation process, other transformations occur that
- map some value expressions to concrete, physical values. For example, the
- colors of computed style values are further subjected to closest color
- approximation and gamma correction during the display process. In addition,
- length value expressions that use pixels in computed style values are
- considered to express logical rather than physical (device) pixels.
- Consequently, these logical pixels are subject to being further transformed
- or mapped to physical (device) pixels during presentation.</p>
-
- <p>The final values that result from the logical to device mapping process
- are referred to as <em>actual values</em>. The set of all actual style
- properties of a given element is referred to as the <em>actual style set</em>
- of that element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>More than one set of actual values may be produced during the process of
- presentation. For example, a TTML presentation processor device may output
- an RGBA component video signal which is then further transformed by an NTSC
- or PAL television to produce a final image. In this case, both color and
- dimensions may further be modified prior to presentation.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In general, a TTML presentation processor will not have access to actual
- style set values; as a consequence, no further use or reference to actual
- values is made below when formally describing the style resolution
- process.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-processing" name=
- "semantics-style-resolution-processing"></a>8.4.4 Style Resolution
- Processing</h4>
-
- <p>The process of style resolution is defined herein as the procedure (and
- results thereof) for resolving (determining) the computed values of all style
- properties that apply to content and layout elements:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-resolution-processing-definitions"><b>8.4.4.1
- Conceptual Definitions</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2
- Specified Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed
- Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-process-overall"><b>8.4.4.4 Style
- Resolution Process</b></a></p>
- </li>
- </ul>
-
- <p>The process described here forms an integral sub-process of <a href=
- "#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a>.</p>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-definitions" name=
- "semantics-style-resolution-processing-definitions"></a>8.4.4.1 Conceptual
- Definitions</h5>
-
- <p>For the purpose of interpreting the style resolution processing model
- specified below, the following conceptual definitions apply:</p>
-
- <dl>
- <dt class="label">[style property]</dt>
-
- <dd>
- <p>a style property, <em>P</em>, is considered to consist of a tuple
- <code>[name, value]</code>, where the name of the property is a tuple
- <code>[namespace value, unqualified name]</code> and the value of the
- property is a tuple <code>[category, type, value
- expression]</code></p><a id=
- "conceptual-definition-example-style-property" name=
- "conceptual-definition-example-style-property"></a>
-
- <table class="example">
- <caption>
- Example – conceptual style property
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-[
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red"]
-]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </dd>
-
- <dt class="label">[style (property) set]</dt>
-
- <dd>
- <p>a style (property) set consists of an unordered collection of style
- properties, where no two style properties within the set have an
- identical name, where by "identical name" is meant equality of namespace
- value of name tuple and unqualified name of name tuple;</p>
-
- <p>in a specified style (property) set, the category of each style
- property is "specified"; a specified style (property) set of an element
- <em>E</em> is referred to as <em>SSS(E)</em>;</p><a id=
- "conceptual-definition-example-specified-style-set" name=
- "conceptual-definition-example-specified-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (specified) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["specified", <em>length</em>, "1c" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["specified", <em>length</em>, "117%" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>in a computed style (property) set, the category of each style
- property is either "specified" or "computed"; a computed style (property)
- set of an element <em>E</em> is referred to as <em>CSS(E)</em>;</p><a id=
- "conceptual-definition-example-computed-style-set" name=
- "conceptual-definition-example-computed-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (computed) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["computed", <em>color</em>, 0xFF0000 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["computed", <em>length</em>, "24px" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["computed", <em>length</em>, "28px" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </dd>
-
- <dt class="label">[style (property) merging]</dt>
-
- <dd>
- <p>a style property <em>P<sub>new</sub></em> is merged into a style
- (property) set, <em>SS</em>, as follows: if a style property
- <em>P<sub>old</sub></em> is already present in <em>SS</em> where the name
- of <em>P<sub>new</sub></em> is identical to the name of
- <em>P<sub>old</sub></em>, then replace <em>P<sub>old</sub></em> in
- <em>SS</em> with <em>P<sub>new</sub></em>; otherwise, add
- <em>P<sub>new</sub></em> to <em>SS</em>;</p>
- </dd>
-
- <dt class="label">[style (property) set merging]</dt>
-
- <dd>
- <p>a style (property) set <em>SS<sub>new</sub></em> is merged into an
- existing style (property) set <em>SS<sub>old</sub></em> as follows: for
- each style property <em>P<sub>new</sub></em> in
- <em>SS<sub>new</sub></em>, merge <em>P<sub>new</sub></em> into
- <em>SS<sub>old</sub></em>;</p>
- </dd>
- </dl>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-sss" name=
- "semantics-style-resolution-processing-sss"></a>8.4.4.2 Specified Style Set
- Processing</h5>
-
- <p>The specified style set <em>SSS</em> of an element or anonymous span
- <em>E</em>, <em>SSS(E)</em>, is determined according to the following ordered
- rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[initialization]</span> initialize the specified
- style set <em>SSS</em> of <em>E</em> to the empty set;</p>
- </li>
-
- <li>
- <p><span class="strong">[referential and chained referential
- styling]</span> for each <code>style</code> element
- <em>S<sub>REF</sub></em> referenced by a <code>style</code> attribute
- specified on <em>E</em>, and in the order specified in the
- <code>style</code> attribute, then, if <em>S<sub>REF</sub></em> is a
- descendant of a <code>styling</code> element, merge the specified style
- set of <em>S<sub>REF</sub></em>, <em>SSS(S<sub>REF</sub>)</em>, into the
- specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[nested styling]</span> for each nested
- <code>style</code> element child <em>S<sub>NEST</sub></em> of <em>E</em>,
- and in the specified order of child elements, merge the specified style
- set of <em>S<sub>NEST</sub></em>, <em>SSS(S<sub>NEST</sub>)</em>, into
- the specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[inline styling]</span> for each style property
- <em>P</em> expressed as a specified styling attribute of <em>E</em>,
- merge <em>P</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[animation styling]</span> for each style
- property <em>P</em> expressed as a specified styling attribute of an
- immediate animation (<code>set</code>) element child of element
- <em>E</em>, merge <em>P</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[implicit inheritance]</span> if the element type
- of <em>E</em> is not the styling element type <code>style</code>, then
- for each inheritable style property <em>P<sub>INH</sub></em> in the set
- of style properties defined above in <a href=
- "#styling-attribute-vocabulary"><b>8.2 Styling Attribute
- Vocabulary</b></a>, perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if <em>P<sub>INH</sub></em> is present in the specified style set
- of <em>E</em>, <em>SSS(E)</em>, then continue to the next inheritable
- style property;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is the layout element type
- <code>region</code>, then set <em>P′</em> to the initial value of
- property <em>P</em>, where the initial value of a property is
- determined according to the specific property definition found above
- in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute
- Vocabulary</b></a>;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is a content element type or
- anonymous span, then set <em>P′</em> to the result of looking up the
- value of <em>P</em> in the computed style set of the immediate
- ancestor element of <em>E</em>, i.e., <em>CSS(PARENT(E))</em>;</p>
- </li>
-
- <li>
- <p>if the value of <em>P′</em> is not undefined, then merge
- <em>P′</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>.</p>
- </li>
- </ol>
- </li>
- </ol>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-css" name=
- "semantics-style-resolution-processing-css"></a>8.4.4.3 Computed Style Set
- Processing</h5>
-
- <p>The computed style set <em>CSS</em> of an element or anonymous span
- <em>E</em>, <em>CSS(E)</em>, is determined according to the following ordered
- rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[resolve specified styles]</span> determine
- (obtain) the specified style set <em>SSS</em> of <em>E</em>, namely,
- <em>SSS(E)</em>, in accordance with <a href=
- "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style
- Set Processing</b></a>;</p>
- </li>
-
- <li>
- <p><span class="strong">[initialization]</span> initialize
- <em>CSS(E)</em> to a (deep) copy of <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[filter]</span> if <em>E</em> is a
- <code>style</code> element, then return <em>CSS(E)</em> as the resulting
- computed style set without further resolution; otherwise, continue with
- the next rule;</p>
- </li>
-
- <li>
- <p><span class="strong">[relative value resolution]</span> for each style
- property <em>P</em> in <em>CSS(E)</em>, where the value type of
- <em>P</em> is relative, perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>replace the relative value of <em>P</em> with an equivalent,
- non-relative (computed) value;</p>
- </li>
-
- <li>
- <p>set the category of <em>P</em> to "computed";</p>
- </li>
- </ol>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>As a result of the filtering rule above, the computed style set of a
- <code>style</code> element includes only specified values, in which case
- relative value expressions remain relative; consequently, the resolution of
- relative value expressions (that may be assigned by means of referential
- style association) always takes place in the context of a layout or content
- element which has a presentation context, and not in the non-presentation,
- declaration context of a referentiable <code>style</code> element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-process-overall" name=
- "semantics-style-resolution-process-overall"></a>8.4.4.4 Style Resolution
- Process</h5>
-
- <p>The top-level style resolution process is defined as follows: using a
- preorder traversal of each element and anonymous span, <em>E</em>, of an
- intermediate synchronic document, <em>DOC<sub>inter</sub></em>, perform the
- following ordered sub-steps:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[filter]</span> if the element type of <em>E</em>
- is not the styling element type <code>style</code>, is not the layout
- element type <code>region</code>, and is not one of the content element
- types <code>body</code>, <code>div</code>, <code>p</code>,
- <code>span</code>, <code>br</code>, or anonymous span, then continue to
- the next element in the preorder traversal;</p>
- </li>
-
- <li>
- <p><span class="strong">[resolve computed styles]</span> determine
- (obtain) the computed style set <em>CSS</em> of <em>E</em>, namely,
- <em>CSS(E)</em>, in accordance with <a href=
- "#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed Style
- Set Processing</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="layout" name="layout"></a>9 Layout</h2>
-
- <p>This section specifies the <em>layout</em> matter of the core vocabulary
- catalog, where layout is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the presentation of
- that content.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The two layers of layout and style matter are considered to be independently
- separable. Layout matter specifies one or more spaces or areas into which content
- is intended to be presented, while style matter specifies the manner in which
- presentation occurs within the layout.</p>
-
- <p>In certain cases, a content author may choose to embed (inline) style matter
- directly into layout or content matter. In such cases, an alternative exists –
- use of referential styling – in which the style matter is not embedded
- (inlined).</p>
- </div>
-
- <div class="div2">
- <h3><a id="layout-element-vocabulary" name="layout-element-vocabulary"></a>9.1
- Layout Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal layout aspects of a
- <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-layout" name="layout-vocabulary-layout"></a>9.1.1
- layout</h4>
-
- <p>The <code>layout</code> element is a container element used to group layout
- matter, including metadata that applies to layout matter.</p>
-
- <p>The <code>layout</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>region</code> elements.</p><a id="elt-syntax-layout" name=
- "elt-syntax-layout"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#layout-vocabulary-region">region</a>*
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>layout</code> element, the implied time interval of this element is
- defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-region" name="layout-vocabulary-region"></a>9.1.2
- region</h4>
-
- <p>The <code>region</code> element is used to define a space or area into which
- content is to be flowed for the purpose of presentation.</p>
-
- <p>In addition, and in accordance with <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>, the <code>region</code> element may be used to specify
- inheritable style properties to be inherited by content that is flowed into
- it.</p>
-
- <p>The <code>region</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more elements in the <code>Animation.class</code> element group, followed by
- zero or more <code>style</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>region</code> element and its
- descendants as a whole. Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>region</code> element. Any <code>style</code> child element must be
- considered a local style definition that applies only to the containing
- <code>region</code> element, i.e., does not apply for resolving referential
- styling.</p><a id="elt-syntax-region" name="elt-syntax-region"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#metadata-attribute-role">ttm:role</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If <code>begin</code> and (or) <code>end</code> attributes are specified on
- a <code>region</code> element, then they specify the beginning and (or) ending
- points of a time interval during which the region is eligible for activation
- and with respect to which animation child elements of the region are timed. If
- specified, these begin and end points are relative to the time interval of the
- nearest ancestor element associated with a time interval, irregardless of
- whether that interval is explicit or implied.</p>
-
- <p>The nearest ancestor element of a <code>region</code> element that is
- associated with a time interval is the <em>Document Instance</em>'s root
- <code>tt</code> element.</p>
-
- <p>If a <code>dur</code> attribute is specified on the <code>region</code>
- element, then it specifies the simple duration of the region.</p>
-
- <p>For the purpose of determining the semantics of presentation processing, a
- region that is temporally inactive must not produce any visible marks when
- presented on a visual medium.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>region</code> element may be associated with a time interval for
- two purposes: (1) in order to temporally bound the presentation of the region
- and its content, and (2) to provide a temporal context in which animations of
- region styles may be effected.</p>
-
- <p>For example, an author may wish a region that is otherwise empty, but may
- have a visible background color to be presented starting at some time and
- continuing over the region's duration. The simple duration of the region
- serves additionally to scope the presentation effects of content that is
- targeted to the region. An author may also wish to move a region within the
- root container extent or change a region's background color by means of
- animation effects. In both of these cases, it is necessary to posit an active
- time interval for a region.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>region</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
-
- <p>If a <a href="#metadata-attribute-role"><code>ttm:role</code></a> attribute
- is specified on a <code>region</code> element, then it must adhere to the value
- syntax defined by <a href="#metadata-attribute-role-syntax"><b>Syntax
- Representation – ttm:role</b></a>, and where the role(s) identified by this
- attribute expresses the semantic role(s) of the region independently from the
- semantic role(s) of any content targeted to (associated with) the region.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="layout-attribute-vocabulary" name=
- "layout-attribute-vocabulary"></a>9.2 Layout Attribute Vocabulary</h3>
-
- <p>This section defines the <a href="#layout-attribute-region"><b>9.2.1
- region</b></a> attribute used with content elements.</p>
-
- <div class="div3">
- <h4><a id="layout-attribute-region" name="layout-attribute-region"></a>9.2.1
- region</h4>
-
- <p>The <code>region</code> attribute is used to reference a <code>region</code>
- element which defines a space or area into which a content element is intended
- to be flowed.</p>
-
- <p>The <code>region</code> attribute may be specified by an instance of the
- following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#semantics-region-layout"><b>9.3 Region Layout and
- Presentation</b></a> below for further information on content flow in a
- region.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-region-layout" name="semantics-region-layout"></a>9.3 Region
- Layout and Presentation</h3>
-
- <p>This section defines the semantics of region layout and presentation in terms
- of a standard processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-default-region"><b>9.3.1 Default Region</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic
- Document Construction</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
- Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-example"><b>9.3.4 Elaborated Example
- (Informative)</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation is permitted provided that the externally observable
- results are consistent with the results produced by this model.</p>
-
- <div class="div3">
- <h4><a id="semantics-default-region" name="semantics-default-region"></a>9.3.1
- Default Region</h4>
-
- <p>If a <em>Document Instance</em> does not specify a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element, then a <em>default
- region</em> is implied with the following characteristics:</p>
-
- <ul>
- <li>
- <p>the identity of the default region is considered to be anonymous;</p>
- </li>
-
- <li>
- <p>the extent of the default region is the same as the root container
- region;</p>
- </li>
-
- <li>
- <p>the temporal interval of the default region is the same as temporal
- interval of the <em>Document Instance</em>;</p>
- </li>
- </ul>
-
- <p>Furthermore, if no <a href=
- "#layout-vocabulary-region"><code>region</code></a> element was specified, then
- the <a href="#layout-attribute-region"><code>region</code></a> attribute must
- not be specified on any content element in the <em>Document Instance</em>.</p>
-
- <p>If a default region is implied for a given <em>Document Instance</em>, then
- the <a href="#document-structure-vocabulary-body"><code>body</code></a> element
- is implicitly targeted to (associated with) the default region.</p>
-
- <p>When implying a default region, the <em>Document Instance</em> is to be
- treated as if a <a href="#layout-vocabulary-region"><code>region</code></a>
- element and its parent <a href=
- "#layout-vocabulary-layout"><code>layout</code></a> element were specified in a
- <a href="#document-structure-vocabulary-head"><code>head</code></a> element,
- and a matching <a href="#layout-attribute-region"><code>region</code></a>
- attribute were specified on the <a href=
- "#document-structure-vocabulary-body"><code>body</code></a> element as shown in
- the following example:</p><a id="semantics-default-region-example" name=
- "semantics-default-region-example"></a>
-
- <table class="example">
- <caption>
- Example – Implied Default Region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <span class="strong"><layout>
- <region xml:id="anonymous"/>
- </layout></span>
- </head>
- <body <span class="strong">region="anonymous"</span>/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a default <code>region</code> element and
- <code>region</code> attribute are implied. In addition, a <code>layout</code>
- container element is implied for the implied <code>region</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-1" name=
- "semantics-region-layout-step-1"></a>9.3.2 Intermediate Synchronic Document
- Construction</h4>
-
- <p>For the purposes of performing presentation processing, the active time
- duration of a <em>Document Instance</em> is divided into a sequence of time
- coordinates where at each time coordinate, some element becomes temporally
- active or inactive, then, at each such time coordinate, a <em>Document
- Instance</em> is mapped from its original, source form,
- <em>DOC<sub>source</sub></em> , to an intermediate synchronic document form,
- <em>DOC<sub>inter</sub></em> , as follows:</p>
-
- <ol class="enumar">
- <li>
- <p>for each temporally active region <em>R</em>, replicate the sub-tree of
- <em>DOC<sub>source</sub></em> headed by the <code>body</code> element;</p>
- </li>
-
- <li>
- <p>evaluating this sub-tree in a postorder traversal, prune elements if
- they are not a content element, if they are temporally inactive, if they
- are empty, or if they aren't associated with region <em>R</em>;</p>
- </li>
-
- <li>
- <p>if the pruned sub-tree is non-empty, then reparent it to the <em>R</em>
- element;</p>
- </li>
-
- <li>
- <p>finally, after completing the above steps, prune the original
- <code>body</code> element from the intermediate document, then prune all
- <code>region</code>, <code>begin</code>, <code>end</code>, and
- <code>dur</code> attributes, which are no longer semantically relevant;</p>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the term <em>prune</em>, when used in reference to an
- element, means that the element is to be removed from its parent's children,
- which, in turn, implies that the descendants of the pruned element will no
- longer be descendants of the element's parent. When <em>prune</em> is used in
- reference to an attribute, it means that attribute is to be removed from its
- associated (owning) element node.</p>
- </div>
-
- <p>A content element is associated with a region according to the following
- ordered rules, where the first rule satisfied is used and remaining rules are
- skipped:</p>
-
- <ol class="enumar">
- <li>
- <p>if the element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute, then the
- element is associated with the region referenced by that attribute;</p>
- </li>
-
- <li>
- <p>if some ancestor of that element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute, then the
- element is associated with the region referenced by the most immediate
- ancestor that specifies this attribute;</p>
- </li>
-
- <li>
- <p>if the element contains a descendant element that specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute, then the
- element is associated with the region referenced by that attribute;</p>
- </li>
-
- <li>
- <p>if a default region was implied (due to the absence of any <a href=
- "#layout-vocabulary-region"><code>region</code></a> element), then the
- element is associated with the default region;</p>
- </li>
-
- <li>
- <p>the element is not associated with any region.</p>
- </li>
- </ol>
-
- <p>The result of performing the processing described above will be a sequence
- of <em>N</em> intermediate synchronic <em>Document Instances</em>,
- <em>DOC<sub><span>inter<sub>0</sub></span></sub></em> …
- <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>.</p>
-
- <div class="note" id="semantics-smooth-scrolling-recommendation">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Where an implementation is able to detect significant similarity between
- two adjacent synchronic <em>Document Instances</em>,
- <em>DOC<sub><span>inter<sub>N</sub></span></sub></em>
- <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>, then it is preferred
- that the implementation make the transition between presenting the two
- instances as smooth as possible, e.g., as described by <a href=
- "#cea608c">[CEA-608-C]</a>, § C.3.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-2" name=
- "semantics-region-layout-step-2"></a>9.3.3 Synchronic Flow Processing</h4>
-
- <p>Subsequent to performing a temporal (synchronic) slice and subsequent
- remapping of regionally selected content hierarchy, the resulting intermediate
- synchronic document is subjected to a flow transformation step that produces a
- rooted flow object tree represented as an XSL FO document instance as defined
- by <a href="#xsl11">[XSL 1.1]</a>, and semantically extended by TTML specific
- style properties that have no XSL FO counterpart.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the use of XSL FO is intended to be conceptual only,
- employed solely for the purpose of defining the normative presentation
- semantics of TTML. An actual implementation of this algorithm is not required
- to create or process XSL-FO representations. In particular, it is possible to
- implement these semantics using alternative presentation models, such as
- Cascading Style Sheets (CSS).</p>
- </div>
-
- <p>Each intermediate synchronic document produced by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
- Construction</b></a> is mapped to an XSL FO document instance, <em>F</em>, as
- follows:</p>
-
- <ol class="enumar">
- <li>
- <p>perform the following ordered sub-steps to create anonymous spans:</p>
-
- <ol class="enumla">
- <li>
- <p>for each significant text node in a content element, synthesize an
- anonymous span to enclose the text node, substituting the new anonymous
- span for the original text node child in its sibling and parent
- hierarchy;</p>
- </li>
-
- <li>
- <p>for each contiguous sequence of anonymous spans, replace the
- sequence with a single anonymous span which contains a sequence of text
- nodes representing the individual text node children of the original
- sequence of anonymous spans;</p>
- </li>
-
- <li>
- <p>for each span element whose child is a single anonymous span,
- replace the anonymous span with its sequence of child text nodes;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>resolve styles according to <a href=
- "#semantics-style-resolution-process-overall"><b>8.4.4.4 Style Resolution
- Process</b></a>;</p>
- </li>
-
- <li>
- <p>map the <code>tt</code> element to an <code>fo:root</code> element,
- populated initially with an <code>fo:layout-master-set</code> element that
- contains a valid <code>fo:simple-page-master</code> that, in turn, contains
- an <code>fo:region-body</code> child, where the root container extent
- expressed on the <code>tt</code> element is mapped to
- <code>page-width</code> and <code>page-height</code> attributes on the
- <code>fo:simple-page-master</code> element;</p>
- </li>
-
- <li>
- <p>map the <code>layout</code> element to an <code>fo:page-sequence</code>
- element and a child <code>fo:flow</code> element that reference the page
- master and page region defined by the simple page master produced
- above;</p>
- </li>
-
- <li>
- <p>map each non-empty <code>region</code> element to an
- <code>fo:block-container</code> element with an
- <code>absolute-position</code> attribute with value <code>absolute</code>,
- and where the region's position and extent are mapped to equivalent
- <code>top</code>, <code>left</code>, <code>width</code>, and
- <code>height</code> attributes;</p>
- </li>
-
- <li>
- <p>for each <code>body</code>, <code>div</code>, and <code>p</code> element
- that is not associated with a <code>tts:display</code> style property with
- the value <code>none</code>, map the element to a distinct
- <code>fo:block</code> element, populating the style properties of
- <code>fo:block</code> by using the computed style set associated with each
- original TTML Content element;</p>
- </li>
-
- <li>
- <p>for the resulting <code>fo:block</code> formatting object produced in
- the previous step that corresponds to the <code>body</code> element,
- perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>after</code>, then synthesize and insert as the first child of
- this <code>fo:block</code> an empty <code>fo:block</code> with the
- following attributes: <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of the former
- two attributes is the height or width of the containing
- <code>fo:block-container</code> element, whichever of these is
- designated as the block progression dimension, and where the value of
- the last is <code>retain</code>;</p>
- </li>
-
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>before</code>, then synthesize and insert as the last child of
- this <code>fo:block</code> an empty <code>fo:block</code> with the
- following attributes: <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of the former
- two attributes is the height or width of the containing
- <code>fo:block-container</code> element, whichever of these is
- designated as the block progression dimension, and where the value of
- the last is <code>retain</code>;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>for each <code>span</code> element that is not associated with a
- <code>tts:display</code> style property with the value <code>none</code>
- and for each anonymous span that is a child of a <code>p</code> or
- <code>span</code> element, map the element or sequence of character items
- to a distinct <code>fo:inline</code> element, populating the style
- properties of <code>fo:inline</code> by using the computed style set
- associated with each original TTML Content element or anonymous span;</p>
- </li>
-
- <li>
- <p>for each <code>br</code> element that is not associated with a
- <code>tts:display</code> style property with the value <code>none</code>,
- map the element to a distinct <code>fo:character</code> element having the
- following properties:</p>
-
- <ul>
- <li>
- <p><code>character="&#x000A;"</code></p>
- </li>
-
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
- </ul>
- </li>
-
- <li>
- <p>for each TTML style property attribute in some computed style set that
- has no counterpart in <a href="#xsl11">[XSL 1.1]</a>, map that attribute
- directly through to the relevant formatting object produced by the input
- TTML Content element to which the style property applies;</p>
- </li>
-
- <li>
- <p>optionally, synthesize a unique <code>id</code> attribute on each
- resulting formatting object element that relates that element to the input
- element that resulted in that formatting object element;</p>
- </li>
- </ol>
-
- <p>For each resulting document instance F, if processing requires presentation
- on a visual medium, then apply formatting and rendering semantics consistent
- with that prescribed by <a href="#xsl11">[XSL 1.1]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In an XSL FO area tree produced by formatting <em>F</em> using an <a href=
- "#xsl11">[XSL 1.1]</a> formatting processor, the
- <code>page-viewport-area</code>, which is generated by
- <code>fo:page-sequence</code> element by reference to the sole generated
- <code>fo:simple-page-master</code> element, would correspond to the <em>root
- container region</em> defined above in <a href="#definitions"><b>2
- Definitions</b></a>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to the possible presence of TTML style properties or style property
- values in a given <em>Document Instance</em> for which there is no <a href=
- "#xsl11">[XSL 1.1]</a> counterpart, Implementors should recognize that it is
- the layout model of <a href="#xsl11">[XSL 1.1]</a> that is being referenced
- by this specification, not the requirement to use a compliant <a href=
- "#xsl11">[XSL 1.1]</a> formatting processor, since such would not necessarily
- be sufficient to satisfy the full presentation semantics defined by this
- specification, and would contain a large number of features not needed to
- implement the presentation semantics of TTML.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The purpose of inserting additional, collapsible space in the block
- progression dimension of the <code>fo:block</code> that corresponds with the
- <code>body</code> element is to ensure that the before and after edges of
- this <code>fo:block</code> are coincident with the before and after edges of
- the <code>fo:block-container</code> that corresponds to the containing
- <code>region</code>, while simultaneously taking into account the needs to
- satisfy alignment in the block progression dimension. For example, this
- assures that the background color associated with the <code>body</code>
- element, if not <code>transparent</code>, will fill the containing region
- wholly.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-example" name=
- "semantics-region-layout-example"></a>9.3.4 Elaborated Example
- (Informative)</h4>
-
- <p>An example of the processing steps described above is elaborated below,
- starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source
- Document</b></a>.</p><a id="region-mapping-example-1-s" name=
- "region-mapping-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Sample Source Document
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- </layout>
- </head>
- <body xml:id="b1">
- <div xml:id="d1" begin="0s" dur="2s">
- <p xml:id="p1" region="r1">Text 1</p>
- <p xml:id="p2" region="r2">Text 2</p>
- </div>
- <div xml:id="d2" begin="1s" dur="2s">
- <p xml:id="p3" region="r2">Text 3</p>
- <p xml:id="p4" region="r1">Text 4</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above document, the content hierarchy consists of two divisions, each
- containing two paragraphs. This content is targeted (selected into) one of two
- non-overlapping regions that are styled identically except for their position
- and their foreground colors, the latter of which is inherited by and applies to
- the (and, in this case, anonymous) spans reparented into the regions.</p>
-
- <p>The following, first intermediate document shows the synchronic state at
- time interval [0,1), during which time only division <code>d1</code> is
- temporally active, and where paragraphs <code>p1</code> and <code>p2</code>
- (and their ancestors) are selected into regions <code>r1</code> and
- <code>r2</code>, respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate documents shown below are not valid <em>Document
- Instances</em>, but rather, are representations of possible internal
- processing states used for didactic purposes.</p>
- </div><a id="region-mapping-example-1-i0" name=
- "region-mapping-example-1-i0"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An XSL FO document instance that would yield rendering consistent with TTML,
- and which may be produced by performing flow processing upon the first
- intermediate document is illustrated below.</p><a id=
- "region-mapping-example-1-f0" name="region-mapping-example-1-f0"></a>
-
- <table class="example">
- <caption>
- Example – XSL FO Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="m1"
- page-width="640px" page-height="480px">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-reference="m1">
- <fo:flow flow-name="xsl-region-body">
- <!-- region (r1) -->
- <fo:block-container id="r1" absolute-position="absolute"
- left="10px" top="100px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-1">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-1">
- <!-- p (p1) -->
- <fo:block id="p1" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="red">Text 1</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- <!-- region (r2) -->
- <fo:block-container id="r2" absolute-position="absolute"
- left="10px" top="300px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-2">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-2">
- <!-- p (p2) -->
- <fo:block id="p2" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="yellow">Text 2</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- </fo:flow>
- </fo:page-sequence>
-</fo:root>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, second intermediate document shows the synchronic state at
- time interval [1,2), at which time both divisions <code>d1</code> and
- <code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
- <code>p4</code> (and their ancestors) are selected into region <code>r1</code>
- and paragraphs <code>p2</code> and <code>p3</code> (and their ancestors) are
- selected into region <code>r2</code>.</p><a id="region-mapping-example-1-i1"
- name="region-mapping-example-1-i1"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [1s,2s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, third intermediate document shows the synchronic state at
- time interval [2,3), at which time only division <code>d2</code> is temporally
- active, and where paragraphs <code>p4</code> and <code>p3</code> (and their
- ancestors) are selected into regions <code>r1</code> and <code>r2</code>,
- respectively.</p><a id="region-mapping-example-1-i2" name=
- "region-mapping-example-1-i2"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [2s,3s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-line-layout" name="semantics-line-layout"></a>9.4 Line
- Layout</h3>
-
- <p>If a profile that applies to a <em>Document Instance</em> requires use of the
- <a href="#feature-lineBreak-uax14">#lineBreak-uax14</a> feature (i.e., the value
- attribute for the feature is specified as <code>use</code>), then the
- recommendations defined by <a href=
- "http://www.unicode.org/reports/tr14/#Algorithm">Line Breaking Algorithm</a>
- <a href="#uax14">[UAX14]</a> apply when performing line layout on the content of
- the <em>Document Instance</em>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="timing" name="timing"></a>10 Timing</h2>
-
- <p>This section specifies the <em>timing</em> matter of the core vocabulary
- catalog, where timing is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the temporal
- presentation of that content.</p>
-
- <div class="div2">
- <h3><a id="timing-element-vocabulary" name="timing-element-vocabulary"></a>10.1
- Timing Element Vocabulary</h3>
-
- <p>No timing related element vocabulary is defined for use in the core vocabulary
- catalog.</p>
- </div>
-
- <div class="div2">
- <h3><a id="timing-attribute-vocabulary" name=
- "timing-attribute-vocabulary"></a>10.2 Timing Attribute Vocabulary</h3>
-
- <p>This section defines the following basic timing attributes for use with timed
- elements:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin"><b>10.2.1 begin</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end"><b>10.2.2 end</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur"><b>10.2.3 dur</b></a></p>
- </li>
- </ul>
-
- <p>In addition, this section defines the <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a> attribute for
- use with timed elements that serve simultaneously as timing containers.</p>
-
- <div class="div3">
- <h4><a id="timing-attribute-begin" name="timing-attribute-begin"></a>10.2.1
- begin</h4>
-
- <p>The <code>begin</code> attribute is used to specify the begin point of a
- temporal interval associated with a timed element. If specified, the value of a
- <code>begin</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The begin point of a temporal interval is included in the interval; i.e.,
- the interval is left-wise closed.</p>
-
- <p>The semantics of the <code>begin</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-end" name="timing-attribute-end"></a>10.2.2
- end</h4>
-
- <p>The <code>end</code> attribute is used to specify the ending point of a
- temporal interval associated with a timed element. If specified, the value of
- an <code>end</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The ending point of a temporal interval is not included in the interval;
- i.e., the interval is right-wise open.</p>
-
- <p>The presentation effects of a non-empty active temporal interval include the
- frame immediately prior to the frame (or tick) equal to or immediately
- following the time specified by the ending point, but do not extend into this
- latter frame (or tick).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if an active interval is [10s,10.33333s), and the frame rate
- is 30 frames per second, then the presentation effects of the interval are
- limited to frames 300 through 309 only (assuming that 0s corresponds with
- frame 0). The same holds if the active interval is specified as
- [300f,310f).</p>
- </div>
-
- <p>The semantics of the <code>end</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-dur" name="timing-attribute-dur"></a>10.2.3
- dur</h4>
-
- <p>The <code>dur</code> attribute is used to specify the duration of a temporal
- interval associated with a timed element. If specified, the value of a
- <code>dur</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the <code>clock-time</code> form of a <timeExpression>
- specification is used with a <code>dur</code> attribute, it is intended to be
- interpreted as a difference between two implied clock time expressions.</p>
- </div>
-
- <p>When a <em>Document Instance</em> specifies the use of the
- <code>smpte</code> time base and <code>discontinuous</code> marker mode, the
- <code>dur</code> attribute must not be specified on any element.</p>
-
- <p>The semantics of the <code>dur</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the context of the subset of <a href="#smil21">[SMIL 2.1]</a> semantics
- supported by this specification, the active duration of an element that
- specifies both <code>end</code> and <code>dur</code> attributes is equal to
- the lesser of the value of the <code>dur</code> attribute and the difference
- between the value of the <code>end</code> attribute and the element's begin
- time.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-timeContainer" name=
- "timing-attribute-timeContainer"></a>10.2.4 timeContainer</h4>
-
- <p>The <code>timeContainer</code> attribute is used to specify a local temporal
- context by means of which timed child elements are temporally situated.</p>
-
- <p>If specified, the value of a <code>timeContainer</code> attribute must be
- one of the following:</p>
-
- <ul>
- <li>
- <p><code>par</code></p>
- </li>
-
- <li>
- <p><code>seq</code></p>
- </li>
- </ul>
-
- <p>If the time container semantics of an element instance is <code>par</code>,
- then the temporal intervals of child elements are considered to apply in
- parallel, i.e., simultaneously in time. Furthermore, the specification of the
- time interval of each child element is considered to be relative to the
- temporal interval of the container element instance. For the purpose of
- determining the <a href="#smil21">[SMIL 2.1]</a> <code>endsync</code> semantics
- of a <code>par</code> time container, a default value of <code>all</code>
- applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a default value of <code>all</code> for the
- <code>endsync</code> behavior is distinct from <a href="#smil21">[SMIL
- 2.1]</a> which uses a default value of <code>last</code>.</p>
- </div>
-
- <p>If the time container semantics of an element instance is <code>seq</code>,
- then the temporal intervals of child elements are considered to apply in
- sequence, i.e., sequentially in time. Furthermore, the specification of the
- time interval of each child element is considered to be relative to the
- temporal interval of its sibling elements, unless it is the first child
- element, in which case it is considered to be relative to the temporal interval
- of the container element instance.</p>
-
- <p>Each time container is considered to constitute an independent time base,
- i.e., time coordinate system.</p>
-
- <p>If a <code>timeContainer</code> attribute is not specified on an element
- that has time container semantics, then <code>par</code> time container
- semantics must apply.</p>
-
- <p>Time container semantics applies only to the following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <p>The semantics of parallel and sequential time containment are those defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.2, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-value-expressions" name=
- "timing-time-value-expressions"></a>10.3 Time Value Expressions</h3>
-
- <p>Timing attribute values include the use of the following expressions:</p>
-
- <ul>
- <li>
- <p><a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="timing-value-timeExpression" name=
- "timing-value-timeExpression"></a>10.3.1 <timeExpression></h4>
-
- <p>A <timeExpression> is used to specify a coordinate within some time
- base, where the applicable time base is determined by the
- <code>ttp:timeBase</code> parameter, and where the semantics defined by
- <a href="#time-expression-semantics"><b>N Time Expression Semantics</b></a>
- apply.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a>, <a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>, <a href="#parameter-attribute-tickRate"><b>6.2.10
- ttp:tickRate</b></a>, and <a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a> for further information on explicit specification of
- frame rate, sub-frame rate, tick rate, and time base.</p>
- </div><a id="timeExpression-syntax" name="timeExpression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <timeExpression>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : clock-time
- | offset-time
-
-clock-time
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-
-offset-time
- : time-count fraction? metric
-
-hours
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
-
-minutes | seconds
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
-
-frames
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
-
-sub-frames
- : <a href="#style-value-digit"><digit></a>+
-
-fraction
- : "." <a href="#style-value-digit"><digit></a>+
-
-time-count
- : <a href="#style-value-digit"><digit></a>+
-
-metric
- : "h" // hours
- | "m" // minutes
- | "s" // seconds
- | "ms" // milliseconds
- | "f" // frames
- | "t" // ticks
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>,
- then leading zeroes are used when expressing hours, minutes, seconds, and
- frames less than 10. Minutes are constrained to the range [0…59], while seconds
- are constrained to [0…60], where the value 60 applies only to leap seconds.</p>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
- and a <em>frames</em> term is specified, then the value of this term must be
- constrained to the interval [0…<em>F-1</em>], where <em>F</em> is the frame
- rate determined by the <code>ttp:frameRate</code> parameter as defined by
- <a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a>. It is
- considered an error if a <em>frames</em> term or <code>f</code> (frames) metric
- is specified when the <code>clock</code> time base applies.</p>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
- and a <em>sub-frames</em> term is specified, then the value of this term must
- be constrained to the interval [0…<em>S-1</em>], where <em>S</em> is the
- sub-frame rate determined by the <code>ttp:subFrameRate</code> parameter as
- defined by <a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>. It is considered an error if a <em>sub-frames</em>
- term is specified when the <code>clock</code> time base applies.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-intervals" name="timing-time-intervals"></a>10.4 Time
- Intervals</h3>
-
- <p>The semantics of time containment, durations, and intervals defined by
- <a href="#smil21">[SMIL 2.1]</a> apply to the interpretation of like-named timed
- elements and timing vocabulary defined by this specification, given the following
- constraints:</p>
-
- <ul>
- <li>
- <p>The implicit duration of an anonymous span is defined as follows: if the
- anonymous span's parent time container is a parallel time container, then the
- implicit duration is equivalent to the <code>indefinite</code> duration value
- as defined by <a href="#smil21">[SMIL 2.1]</a>; if the anonymous span's
- parent time container is a sequential time container, then the implicit
- duration is equivalent to zero.</p>
- </li>
-
- <li>
- <p>The implicit duration of a <code>body</code>, <code>div</code>,
- <code>p</code>, or <code>span</code> element is determined in accordance to
- (1) whether the element is a parallel or sequential time container, (2) the
- default <code>endsync</code> semantics defined above by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>, and (3)
- the semantics of <a href="#smil21">[SMIL 2.1]</a> as applied to these time
- containers.</p>
- </li>
-
- <li>
- <p>The implicit duration of the <code>region</code> element is defined to be
- equivalent to the <code>indefinite</code> duration value as defined by
- <a href="#smil21">[SMIL 2.1]</a>.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>clock</code>, then time expressions
- are considered to be equivalent to wall-clock based timing in <a href=
- "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
- "#time-expression-semantics-clock"><b>N.1 Clock Time Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>media</code>, then time expressions
- are considered to be equivalent to offset based timing in <a href=
- "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
- "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>smpte</code>, then time expressions
- are considered to be equivalent to either offset based timing or event based
- timing in <a href="#smil21">[SMIL 2.1]</a>, where the specific semantics of
- <a href="#time-expression-semantics-smpte"><b>N.3 SMPTE Time Base</b></a>
- apply.</p>
- </li>
- </ul>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="animation" name="animation"></a>11 Animation</h2>
-
- <p>This section specifies the <em>animation</em> matter of the core vocabulary
- catalog, where animation is to be understood as a separable layer of information
- that combines timing and styling in order to denote authorial intention about
- (temporally) dynamic styling of content.</p>
-
- <div class="div2">
- <h3><a id="animation-element-vocabulary" name=
- "animation-element-vocabulary"></a>11.1 Animation Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal animation aspects
- of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><b>11.1.1 set</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="animation-vocabulary-set" name="animation-vocabulary-set"></a>11.1.1
- set</h4>
-
- <p>The <code>set</code> element is used as a child element of a content element
- or a <code>region</code> element in order to express a discrete change of some
- style parameter value that applies over some time interval.</p>
-
- <p>The <code>set</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group.</p><a id="elt-syntax-set"
- name="elt-syntax-set"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<set
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>a single attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
-</set>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of multiple <code>set</code> element children may be used to
- effect fade and position transitions.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate content styling
- is illustrated below:</p><a id="animation-vocabulary-set-example-1" name=
- "animation-vocabulary-set-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Content Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<p dur="5s" tts:color="yellow">
-<span class="strong"><set begin="1s" dur="1s" tts:color="red"/></span>
-<span class="strong"><set begin="2s" dur="1s" tts:color="green"/></span>
-<span class="strong"><set begin="3s" dur="1s" tts:color="red"/></span>
-Text with Flashing Colors!
-</p>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the foreground color of the content "Text with
- Flashing Colors" is animated from yellow, to red, to green, to red, then back
- to yellow over a 5 second period.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate region styling
- is illustrated below:</p><a id="animation-vocabulary-set-example-2" name=
- "animation-vocabulary-set-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Region Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
- xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
- xmlns:tts="http://www.w3.org/ns/ttml#styling"
- ttp:cellResolution="40 16">
- <head>
- <layout>
- <region xml:id="r1" timeContainer="seq">
- <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <span class="strong"><set dur="2s" tts:origin=" 2c 2c"/></span>
- <span class="strong"><set dur="3s" tts:origin=" 8c 14c"/></span>
- <span class="strong"><set dur="2s" tts:origin="14c 4c"/></span>
- <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <style tts:extent="24c 2c"/>
- </region>
- </layout>
- </head>
- <body region="r1">...</body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the root container region is divided into a cell
- grid of 40 columns and 16 rows. A region, <code>r1</code>, with dimensions of
- 24 columns and 2 rows is then positioned within the root container region,
- with its position varying over time in order to create an effect of moving
- the region, which may be desirable so as to avoid obscuring characters in an
- underlying video with captions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the <code>set</code> element are based upon that defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 3.6.2.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="animation-attribute-vocabulary" name=
- "animation-attribute-vocabulary"></a>11.2 Animation Attribute Vocabulary</h3>
-
- <p>No animation related attribute vocabulary is defined for use in the core
- vocabulary catalog.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="metadata" name="metadata"></a>12 Metadata</h2>
-
- <p>This section specifies the <em>metadata</em> matter of the core vocabulary
- catalog, where metadata is to be understood as a separable layer of information
- that applies to parameters, content, style, layout, timing, and even metadata
- itself, where the information represented by metadata takes one of two forms: (1)
- metadata defined by this specification for standardized use in a <em>Document
- Instance</em>, and (2) arbitrary metadata defined outside of the scope of this
- specification, whose use and semantics depend entirely upon an application's use of
- TTML Content.</p>
-
- <div class="div2">
- <h3><a id="metadata-element-vocabulary" name=
- "metadata-element-vocabulary"></a>12.1 Metadata Element Vocabulary</h3>
-
- <p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1 metadata</b></a> element
- serves as a generic container element for grouping metadata information.</p>
-
- <p>In addition, the following elements, all defined in the TT Metadata Namespace,
- provide standard representations for common metadata that is expected to be
- commonly used in a <em>Document Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-vocabulary-title"><b>12.1.2 ttm:title</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-desc"><b>12.1.3 ttm:desc</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-copyright"><b>12.1.4
- ttm:copyright</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-agent"><b>12.1.5 ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-name"><b>12.1.6 ttm:name</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-actor"><b>12.1.7 ttm:actor</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-metadata" name=
- "metadata-vocabulary-metadata"></a>12.1.1 metadata</h4>
-
- <p>The <code>metadata</code> element functions as a generic container for
- metadata information.</p>
-
- <p>Metadata information may be expressed by a <code>metadata</code> element in
- one of two (non-mutually exclusive) manners: (1) by specifying one or more
- metadata attributes on the <code>metadata</code> element, and (2) by specifying
- one or more child elements in the <code>metadata</code> element that express
- metadata. Both types of metadata are referred to in this document as
- <em>metadata items</em>.</p><a id="elt-syntax-metadata" name=
- "elt-syntax-metadata"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> ({<em>any element in TT Metadata namespace</em>}|{<em>any element not in any TT namespace</em>})*
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The meaning of a specific metadata item must be evaluated in the context
- of where it appears. The core vocabulary catalog permits an arbitrary number
- of <code>metadata</code> element children of any content element type except
- for the <code>tt</code> element. See specific element vocabulary definitions
- for any constraints that apply to such usage.</p>
- </div>
-
- <p>The use of document metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-1" name=
- "metadata-vocabulary-metadata-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Document Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<head>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Document Metadata Example</ttm:title>
- <ttm:desc>This document employs document metadata.</ttm:desc>
- </metadata>
-</head>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The use of element metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-2" name=
- "metadata-vocabulary-metadata-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Chapter 6 – Sherlock Holmes Gives a Demonstration</ttm:title>
- <ttm:desc>Holmes shows Watson how the murderer entered the window.</ttm:desc>
- </metadata>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The use of metadata attribute items is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-3" name=
- "metadata-vocabulary-metadata-example-3"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Metadata Attribute Items
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div xmlns:ext="http://example.org/ttaf1#metadata">
- <metadata ext:ednote="remove this division prior to publishing"/>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a global attribute from a foreign (external)
- namespace is used to express a metadata attribute that applies semantically
- to the containing <code>div</code> element. Note that the attribute may also
- be expressed directly on the <code>div</code> element; however, in this case
- the author wishes to segregate certain metadata attributes by expressing them
- indirectly on <code>metadata</code> elements.</p>
- </div>
-
- <p>The use of foreign element metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-4" name=
- "metadata-vocabulary-metadata-example-4"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<metadata
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:dcterms="http://purl.org/dc/terms/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <dc:title>Foreign Element Metadata Example</dc:title>
- <dc:description>Express metadata using elements in foreign namespace.</dc:description>
- <dc:format xsi:type="dcterms:IMT">application/ttml+xml</dc:format>
-</metadata>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a number of elements defined by the Dublin Core
- metadata vocabulary are used to express document level metadata.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-title" name=
- "metadata-vocabulary-title"></a>12.1.2 ttm:title</h4>
-
- <p>The <code>ttm:title</code> element is used to express a human-readable title
- of a specific element instance.</p><a id="elt-syntax-metadata-title" name=
- "elt-syntax-metadata-title"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:title
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:title
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:title>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:title</code> element is defined by this
- specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:title</code> element are shown above in <a href=
- "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
- Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-desc" name="metadata-vocabulary-desc"></a>12.1.3
- ttm:desc</h4>
-
- <p>The <code>ttm:desc</code> element is used to express a human-readable
- description of a specific element instance.</p><a id="elt-syntax-metadata-desc"
- name="elt-syntax-metadata-desc"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:desc
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:desc
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:desc>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:desc</code> element is defined by this
- specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:desc</code> element are shown above in <a href=
- "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
- Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-copyright" name=
- "metadata-vocabulary-copyright"></a>12.1.4 ttm:copyright</h4>
-
- <p>The <code>ttm:copyright</code> element is used to express a human-readable
- copyright that applies to some scoping level.</p>
-
- <p>A copyright statement that applies to a document as a whole should appear as
- a child of the <code>head</code> element.</p><a id=
- "elt-syntax-metadata-copyright" name="elt-syntax-metadata-copyright"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:copyright
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:copyright
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:copyright>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:copyright</code> element is defined by
- this specification.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-agent" name=
- "metadata-vocabulary-agent"></a>12.1.5 ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> element is used to define an agent for the
- purpose of associating content information with an agent who is involved in the
- production or expression of that content.</p>
-
- <p>The <code>ttm:agent</code> element accepts as its children zero or more
- <code>ttm:name</code> elements followed by zero or one <code>ttm:actor</code>
- element.</p>
-
- <p>At least one <code>ttm:name</code> element child should be specified that
- expresses a name for the agent, whether it be the name of a person, character,
- group, or organization.</p><a id="elt-syntax-metadata-agent" name=
- "elt-syntax-metadata-agent"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:agent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:agent
- <span class=
-"reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#metadata-vocabulary-name">ttm:name</a>*, <a href=
-"#metadata-vocabulary-actor">ttm:actor</a>?
-</ttm:agent>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:agent</code> element, and, if specified, must have one of the
- following values:</p>
-
- <ul>
- <li>
- <p><code>person</code></p>
- </li>
-
- <li>
- <p><code>character</code></p>
- </li>
-
- <li>
- <p><code>group</code></p>
- </li>
-
- <li>
- <p><code>organization</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>If the value of the <code>type</code> attribute is <code>character</code>,
- then the <code>ttm:agent</code> element instance should specify a
- <code>ttm:actor</code> child that specifies the agent that plays the role of
- the actor.</p>
-
- <p>A <code>ttm:agent</code> metadata item is considered to be significant only
- when specified as a child of the <code>head</code> element or as a child of a
- <code>metadata</code> element child of the <code>head</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>ttm:agent</code> element instance is typically referenced using a
- <code>ttm:agent</code> attribute on a content element.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a character agent is played by multiple actors, then multiple character
- 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" name=
- "metadata-vocabulary-agent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Agent Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-
-<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <head>
- <span class="strong"><ttm:agent xml:id="connery" type="person"></span>
- <ttm:name type="family">Connery</ttm:name>
- <ttm:name type="given">Thomas Sean</ttm:name>
- <ttm:name type="alias">Sean</ttm:name>
- <ttm:name type="full">Sir Thomas Sean Connery</ttm:name>
- <span class="strong"></ttm:agent></span>
- <span class="strong"><ttm:agent xml:id="bond" type="character"></span>
- <ttm:name type="family">Bond</ttm:name>
- <ttm:name type="given">James</ttm:name>
- <ttm:name type="alias">007</ttm:name>
- <ttm:actor agent="connery"/>
- <span class="strong"></ttm:agent></span>
- </head>
- <body>
- <div>
- ...
- <p <span class=
-"strong">ttm:agent="bond"</span>>I travel, a sort of licensed troubleshooter.</p>
- ...
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, two agents, a real (person) agent, Sean Connery, and
- a fictitious (character) agent, James Bond, are defined, where the latter is
- linked to the former by means of the a <code>ttm:actor</code> element. A
- reference is then made from content (the <code>p</code> element) to the
- character agent associated with (responsible for producing) that content.
- Note that in this example the <code>ttm:agent</code> metadata items are
- specified as immediate children of the document's <code>head</code> element
- rather than being placed in a container <code>metadata</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-name" name="metadata-vocabulary-name"></a>12.1.6
- ttm:name</h4>
-
- <p>The <code>ttm:name</code> element is used to specify a name of a person,
- character, group, or organization.</p><a id="elt-syntax-metadata-name" name=
- "elt-syntax-metadata-name"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:name
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:name
- <span class=
-"reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:name>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:name</code> element, and, if specified, must have one of the
- following values:</p>
-
- <ul>
- <li>
- <p><code>full</code></p>
- </li>
-
- <li>
- <p><code>family</code></p>
- </li>
-
- <li>
- <p><code>given</code></p>
- </li>
-
- <li>
- <p><code>alias</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>The relationship between the type of a name and the syntactic expression of
- the name is not defined by this specification.</p>
-
- <p>Two examples of the <code>ttm:name</code> element are shown above in
- <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-actor" name=
- "metadata-vocabulary-actor"></a>12.1.7 ttm:actor</h4>
-
- <p>The <code>ttm:actor</code> element is used to link the definition of a
- (role-based) character agent with another agent that portrays the
- character.</p><a id="elt-syntax-metadata-actor" name=
- "elt-syntax-metadata-actor"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:actor
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:actor
- <span class="reqattr">agent</span> = IDREF
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</ttm:actor>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <code>agent</code> attribute of a <code>ttm:actor</code> element must
- reference a <code>ttm:agent</code> element that denotes the person, group, or
- organization acting the part of a character.</p>
-
- <p>An example of the <code>ttm:actor</code> element is shown above in <a href=
- "#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="metadata-attribute-vocabulary" name=
- "metadata-attribute-vocabulary"></a>12.2 Metadata Attribute Vocabulary</h3>
-
- <p>This section specifies the following attributes in the TT Metadata Namespace
- for use with the <code>metadata</code> element and with certain content
- elements:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-attribute-agent"><b>12.2.1 ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-role"><b>12.2.2 ttm:role</b></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only certain metadata item attributes may be used with content elements. See
- the definitions of content elements to determine permissible usage.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-agent" name="metadata-attribute-agent"></a>12.2.1
- ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> attribute takes an <code>IDREFS</code> value, and
- is used with certain content elements to designate the agents that perform or
- are involved in the performance of the content.</p>
-
- <p>If specified, a <code>ttm:agent</code> attribute must reference
- <code>ttm:agent</code> element instances that appear as a descendent of the
- same <em>Document Instance</em> as that of the referring element.</p>
-
- <p>An example of the <code>ttm:agent</code> attribute is shown above in
- <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-role" name="metadata-attribute-role"></a>12.2.2
- ttm:role</h4>
-
- <p>The <code>ttm:role</code> attribute may be used by a content author to
- express the roles, functions, or characteristics of some content element that
- is so labeled.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax, where the syntactic element <em>S</em> must adhere to production [3]
- <code>S</code> as defined by <a href="#xml10">[XML 1.0]</a> §
- 2.3:</p><a id="metadata-attribute-role-syntax" name=
- "metadata-attribute-role-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttm:role
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttm:role
- role ( <em>S</em> role )*
-
-role
- : "action"
- | "caption"
- | "description"
- | "dialog"
- | "expletive"
- | "kinesic"
- | "lyrics"
- | "music"
- | "narration"
- | "quality"
- | "sound"
- | "source"
- | "suppressed"
- | "reproduction"
- | "thought"
- | "title"
- | "transcription"
- | extension-role
-
-extension-role
- : "x-" token-char+
-
-token-char
- : { XML NameChar } // XML 1.1 Production [4a]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All values of <code>ttm:role</code> that do not start with the prefix
- <code>x-</code> are reserved for future standardization.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If using a custom <code>x-</code> prefixed form of <code>ttm:role</code>,
- it is recommended that an organization unique infix be used as well in order
- to prevent collisions. For example, <code>x-example-org-custom-role</code>.
- Furthermore, a registry for role values is available at <a href=
- "http://www.w3.org/wiki/TTML/RoleRegistry">http://www.w3.org/wiki/TTML/RoleRegistry</a>
- in order to promote interoperability and collision avoidance.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="back">
- <div class="div1">
- <h2><a id="reduced-infoset" name="reduced-infoset"></a>A Reduced XML Infoset</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>For the purposes of this specification, a <em>Reduced XML Infoset</em> is an XML
- Information Set <a href="#infoset">[XML InfoSet]</a> that consists of only the
- following information items and information item properties:</p>
-
- <div class="div2">
- <h3><a id="reduced-infoset-document" name="reduced-infoset-document"></a>A.1
- Document Information Item</h3>
-
- <ul>
- <li>
- <p><code>[document element]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-element" name="reduced-infoset-element"></a>A.2
- Element Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[children]</code></p>
- </li>
-
- <li>
- <p><code>[attributes]</code></p>
- </li>
- </ul>
-
- <p>Child information items <code>[children]</code> are reduced to only element
- and character information items.</p>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-attribute" name="reduced-infoset-attribute"></a>A.3
- Attribute Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[normalized value]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-character" name="reduced-infoset-character"></a>A.4
- Character Information Item</h3>
-
- <ul>
- <li>
- <p><code>[character code]</code></p>
- </li>
- </ul>
-
- <p>Contiguous character information items are not required to be represented
- distinctly, but may be aggregated (chunked) into a sequence of character codes
- (i.e., a character string).</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="schemas" name="schemas"></a>B Schemas</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following schemas for use with <em>Document
- Instances</em>:</p>
-
- <ul>
- <li>
- <p>Relax NG, Compact Syntax (RNC) Schema</p>
- </li>
-
- <li>
- <p>XML Schema Definition (XSD) Schema</p>
- </li>
- </ul>
-
- <p>In any case where a schema specified by this appendix differs from the normative
- definitions of document type, element type, or attribute type as defined by the
- body of this specification, then the body of this specification takes
- precedence.</p>
-
- <div class="div2">
- <h3><a id="ttml-schema-rnc" name="ttml-schema-rnc"></a>B.1 Relax NG Compact (RNC)
- Schema</h3>
-
- <p>A Relax NG Compact Syntax (RNC) <a href="#rng">[RELAX NG]</a> based schema for
- TTML Content is available at <a href="rnc/schema.zip">ZIP Archive</a>. This
- schema does not normatively define the validity 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 class="div2">
- <h3><a id="ttml-schema-xsd" name="ttml-schema-xsd"></a>B.2 XML Schema Definition
- (XSD) Schema</h3>
-
- <p>A W3C XML Schema Definition (XSD) <a href="#xsd-1">[XML Schema Part 1]</a>
- based schema for TTML Content is available at <a href="xsd/schema.zip">ZIP
- Archive</a>. This schema does not normatively define the validity 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" name="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 <em>Document Instance</em> 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]</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]</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
- must expect 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>
- </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
- for television material repurposed for 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>
-
- <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="features" name="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 or optional for a
- transformation or presentation processor.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A TTML processor is said to <em>implement the transformation semantics</em> or
- <em>implement the presentation semantics</em> of feature designation <em>F</em>
- if it satisfies the requirements of this appendix with respect to the definition
- of feature designation <em>F</em> as pertains to transformation or presentation
- processing, respectively.</p>
- </div>
-
- <div class="div2">
- <h3><a id="feature-designations" name="feature-designations"></a>D.1 Feature
- Designations</h3>
-
- <p>A feature designation is expressed as a string that adheres to the following
- 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 for future standardization.</p>
-
- <p>The following sub-sections define all feature designations, expressed as
- relative URIs (fragment identifiers) with respect to the TT Feature Namespace
- base URI.</p>
-
- <div class="div3">
- <h4><a id="feature-animation" name="feature-animation"></a>D.1.1
- #animation</h4>
-
- <p>A TTML transformation processor supports the <code>#animation</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#animation"><b>11 Animation</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><code>set</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#animation</code> feature
- if it implements presentation semantic support for the same vocabulary
- enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor" name="feature-backgroundColor"></a>D.1.2
- #backgroundColor</h4>
-
- <p>A TTML transformation processor supports the <code>#backgroundColor</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#backgroundColor</code>
- feature if it (1) implements presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute and (2) is capable of displaying or generating an output display
- signal that distinguishes between at least sixteen (16) values of color,
- including all primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-block" name=
- "feature-backgroundColor-block"></a>D.1.3 #backgroundColor-block</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-block</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate a block area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-block</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates a block area and (2)
- is capable of displaying or generating an output display signal that
- distinguishes between at least sixteen (16) values of color, including all
- primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-inline" name=
- "feature-backgroundColor-inline"></a>D.1.4 #backgroundColor-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-inline</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate an inline area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-inline</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates an inline area and
- (2) is capable of displaying or generating an output display signal that
- distinguishes between at least sixteen (16) values of color, including all
- primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-region" name=
- "feature-backgroundColor-region"></a>D.1.5 #backgroundColor-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-region</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-region</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element and (2) is capable
- of displaying or generating an output display signal that distinguishes between
- at least sixteen (16) values of color, including all primary and secondary
- colors of the SRGB color space .</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-bidi" name="feature-bidi"></a>D.1.6 #bidi</h4>
-
- <p>A TTML processor supports the <code>#bidi</code> feature if it supports the
- following features:</p>
-
- <ul>
- <li>
- <p><a href="#feature-direction"><code>#direction</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-cellResolution" name="feature-cellResolution"></a>D.1.7
- #cellResolution</h4>
-
- <p>A TTML transformation processor supports the <code>#cellResolution</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#cellResolution</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode" name="feature-clockMode"></a>D.1.8
- #clockMode</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-gps" name="feature-clockMode-gps"></a>D.1.9
- #clockMode-gps</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-gps</code>
- feature if it recognizes and is capable of transforming the <code>gps</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-gps</code>
- feature if it implements presentation semantic support for the <code>gps</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-local" name="feature-clockMode-local"></a>D.1.10
- #clockMode-local</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-local</code>
- feature if it recognizes and is capable of transforming the <code>local</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-local</code>
- feature if it implements presentation semantic support for the
- <code>local</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-utc" name="feature-clockMode-utc"></a>D.1.11
- #clockMode-utc</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-utc</code>
- feature if it recognizes and is capable of transforming the <code>utc</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-utc</code>
- feature if it implements presentation semantic support for the <code>utc</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-color" name="feature-color"></a>D.1.12 #color</h4>
-
- <p>A TTML transformation processor supports the <code>#color</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-color"><code>tts:color</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#color</code> feature if it
- (1) implements presentation semantic support for the <a href=
- "#style-attribute-color"><code>tts:color</code></a> attribute and (2) is
- capable of displaying or generating an output display signal that distinguishes
- between at least sixteen (16) values of color, including all primary and
- secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-content" name="feature-content"></a>D.1.13 #content</h4>
-
- <p>A TTML transformation processor supports the <code>#content</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><code>br</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#content</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-core" name="feature-core"></a>D.1.14 #core</h4>
-
- <p>A TTML transformation processor supports the <code>#core</code> feature if
- it recognizes and is capable of transforming the following core attributes
- vocabulary defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id">@<code>xml:id</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-id">@<code>xml:lang</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-id">@<code>xml:space</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#core</code> feature if it
- implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-direction" name="feature-direction"></a>D.1.15
- #direction</h4>
-
- <p>A TTML transformation processor supports the <code>#direction</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#direction</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display" name="feature-display"></a>D.1.16 #display</h4>
-
- <p>A TTML transformation processor supports the <code>#display</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#display</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-block" name="feature-display-block"></a>D.1.17
- #display-block</h4>
-
- <p>A TTML transformation processor supports the <code>#display-block</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate a block area during
- presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#display-block</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a content element that generates a block area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-inline" name="feature-display-inline"></a>D.1.18
- #display-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#display-inline</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate an inline area during
- presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#display-inline</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a content element that generates an inline area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-region" name="feature-display-region"></a>D.1.19
- #display-region</h4>
-
- <p>A TTML transformation processor supports the <code>#display-region</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a <a href="#layout-vocabulary-region"><code>region</code></a>
- element.</p>
-
- <p>A TTML presentation processor supports the <code>#display-region</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-displayAlign" name="feature-displayAlign"></a>D.1.20
- #displayAlign</h4>
-
- <p>A TTML transformation processor supports the <code>#displayAlign</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#displayAlign</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode" name="feature-dropMode"></a>D.1.21 #dropMode</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode</code> feature if
- it implements presentation semantic support for the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropNTSC" name=
- "feature-dropMode-dropNTSC"></a>D.1.22 #dropMode-dropNTSC</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-dropNTSC</code>
- feature if it recognizes and is capable of transforming the
- <code>dropNTSC</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-dropNTSC</code>
- feature if it implements presentation semantic support for the
- <code>dropNTSC</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropPAL" name="feature-dropMode-dropPAL"></a>D.1.23
- #dropMode-dropPAL</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-dropPAL</code>
- feature if it recognizes and is capable of transforming the
- <code>dropPAL</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-dropPAL</code>
- feature if it implements presentation semantic support for the
- <code>dropPAL</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-nonDrop" name="feature-dropMode-nonDrop"></a>D.1.24
- #dropMode-nonDrop</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-nonDrop</code>
- feature if it recognizes and is capable of transforming the
- <code>nonDrop</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-nonDrop</code>
- feature if it implements presentation semantic support for the
- <code>nonDrop</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent" name="feature-extent"></a>D.1.25 #extent</h4>
-
- <p>A TTML transformation processor supports the <code>#extent</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#extent</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-region" name="feature-extent-region"></a>D.1.26
- #extent-region</h4>
-
- <p>A TTML transformation processor supports the <code>#extent-region</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the <code>#extent-region</code>
- feature if it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-root" name="feature-extent-root"></a>D.1.27
- #extent-root</h4>
-
- <p>A TTML transformation processor supports the <code>#extent-root</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- the <a href="#document-structure-vocabulary-tt"><code>tt</code></a>
- element.</p>
-
- <p>A TTML presentation processor supports the <code>#extent-root</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily" name="feature-fontFamily"></a>D.1.28
- #fontFamily</h4>
-
- <p>A TTML transformation processor supports the <code>#fontFamily</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontFamily</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-generic" name=
- "feature-fontFamily-generic"></a>D.1.29 #fontFamily-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-generic</code> feature if it recognizes and is capable of
- transforming <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values when used
- with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontFamily-generic</code>
- feature if it implements presentation semantic support for <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values when used
- with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-non-generic" name=
- "feature-fontFamily-non-generic"></a>D.1.30 #fontFamily-non-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-non-generic</code> feature if it recognizes and is capable of
- transforming <a href="#style-value-familyName"><familyName></a> values
- when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontFamily-non-generic</code> feature if it implements presentation
- semantic support for <a href="#style-value-familyName"><familyName></a>
- values when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize" name="feature-fontSize"></a>D.1.31 #fontSize</h4>
-
- <p>A TTML transformation processor supports the <code>#fontSize</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-anamorphic" name=
- "feature-fontSize-anamorphic"></a>D.1.32 #fontSize-anamorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-anamorphic</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
- consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize-anamorphic</code>
- feature if it implements presentation semantic support for defined values of
- the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-isomorphic" name=
- "feature-fontSize-isomorphic"></a>D.1.33 #fontSize-isomorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-isomorphic</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
- consist of a single <a href="#style-value-length"><length></a>
- specification.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize-isomorphic</code>
- feature if it implements presentation semantic support for defined values of
- the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of a single <a href="#style-value-length"><length></a>
- specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle" name="feature-fontStyle"></a>D.1.34
- #fontStyle</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-italic" name="feature-fontStyle-italic"></a>D.1.35
- #fontStyle-italic</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle-italic</code>
- feature if it recognizes and is capable of transforming the <code>italic</code>
- value of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle-italic</code>
- feature if it implements presentation semantic support for the
- <code>italic</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-oblique" name=
- "feature-fontStyle-oblique"></a>D.1.36 #fontStyle-oblique</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle-oblique</code>
- feature if it recognizes and is capable of transforming the
- <code>oblique</code> value of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle-oblique</code>
- feature if it implements presentation semantic support for the
- <code>oblique</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight" name="feature-fontWeight"></a>D.1.37
- #fontWeight</h4>
-
- <p>A TTML transformation processor supports the <code>#fontWeight</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontWeight</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight-bold" name="feature-fontWeight-bold"></a>D.1.38
- #fontWeight-bold</h4>
-
- <p>A TTML transformation processor supports the <code>#fontWeight-bold</code>
- feature if it recognizes and is capable of transforming <code>bold</code> value
- of the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontWeight-bold</code>
- feature if it implements presentation semantic support for the
- <code>bold</code> of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRate" name="feature-frameRate"></a>D.1.39
- #frameRate</h4>
-
- <p>A TTML transformation processor supports the <code>#frameRate</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#frameRate</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRateMultiplier" name=
- "feature-frameRateMultiplier"></a>D.1.40 #frameRateMultiplier</h4>
-
- <p>A TTML transformation processor supports the
- <code>#frameRateMultiplier</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#frameRateMultiplier</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-layout" name="feature-layout"></a>D.1.41 #layout</h4>
-
- <p>A TTML transformation processor supports the <code>#layout</code> feature if
- it (1) recognizes and is capable of transforming the following vocabulary
- defined by <a href="#layout"><b>9 Layout</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#layout-vocabulary-layout"><code>layout</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-attribute-region">@<code>region</code></a></p>
- </li>
- </ul>
-
- <p>and (2) supports the following attributes when applied to the <a href=
- "#layout-vocabulary-region"><code>region</code></a> element:</p>
-
- <ul>
- <li>
- <p><a href="#style-attribute-extent"><code>tts:extent</code></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-origin"><code>tts:origin</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#layout</code> feature if
- it implements presentation semantic support for the same vocabulary and
- features enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length" name="feature-length"></a>D.1.42 #length</h4>
-
- <p>A TTML transformation processor supports the <code>#length</code> feature if
- it recognizes and is capable of transforming all defined values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length</code> is intended to imply support for the
- following features: <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, <code>#length-negative</code>,
- <code>#length-cell</code>, <code>#length-em</code>,
- <code>#length-percentage</code>, and <code>#length-pixel</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-cell" name="feature-length-cell"></a>D.1.43
- #length-cell</h4>
-
- <p>A TTML transformation processor supports the <code>#length-cell</code>
- feature if it recognizes and is capable of transforming scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-cell</code> feature
- if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-cell</code> does not, by itself, imply support
- for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-em" name="feature-length-em"></a>D.1.44
- #length-em</h4>
-
- <p>A TTML transformation processor supports the <code>#length-em</code> feature
- if it recognizes and is capable of transforming scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that use
- <code>em</code> (EM) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-em</code> feature
- if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>em</code> (EM) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-em</code> does not, by itself, imply support for
- <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-integer" name="feature-length-integer"></a>D.1.45
- #length-integer</h4>
-
- <p>A TTML transformation processor supports the <code>#length-integer</code>
- feature if it recognizes and is capable of transforming integer values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-integer</code>
- feature if it implements presentation semantic support for integer values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-integer</code> does not, by itself, imply
- support for <code>#length-positive</code> or <code>#length-negative</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-negative" name="feature-length-negative"></a>D.1.46
- #length-negative</h4>
-
- <p>A TTML transformation processor supports the <code>#length-negative</code>
- feature if it recognizes and is capable of transforming negative values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-negative</code>
- feature if it implements presentation semantic support for negative values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-negative</code> does not, by itself, imply
- support for <code>#length-integer</code> or <code>#length-real</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-percentage" name=
- "feature-length-percentage"></a>D.1.47 #length-percentage</h4>
-
- <p>A TTML transformation processor supports the <code>#length-percentage</code>
- feature if it recognizes and is capable of transforming percentage values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-percentage</code>
- feature if it implements presentation semantic support for percentage values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-percentage</code> does not, by itself, imply
- support for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-pixel" name="feature-length-pixel"></a>D.1.48
- #length-pixel</h4>
-
- <p>A TTML transformation processor supports the <code>#length-pixel</code>
- feature if it recognizes and is capable of transforming scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-pixel</code>
- feature if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-pixel</code> does not, by itself, imply support
- for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-positive" name="feature-length-positive"></a>D.1.49
- #length-positive</h4>
-
- <p>A TTML transformation processor supports the <code>#length-positive</code>
- feature if it recognizes and is capable of transforming positive values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-positive</code>
- feature if it implements presentation semantic support for positive values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> is intended to imply support for
- zero valued <a href="#style-value-length"><length></a> style value
- expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> does not, by itself, imply
- support for <code>#length-integer</code> or <code>#length-real</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-real" name="feature-length-real"></a>D.1.50
- #length-real</h4>
-
- <p>A TTML transformation processor supports the <code>#length-real</code>
- feature if it recognizes and is capable of transforming real values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-real</code> feature
- if it implements presentation semantic support for real values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> is intended to imply support for
- integer valued <a href="#style-value-length"><length></a> style value
- expressions as well as real valued expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> does not, by itself, imply support
- for <code>#length-positive</code> or <code>#length-negative</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineBreak-uax14" name="feature-lineBreak-uax14"></a>D.1.51
- #lineBreak-uax14</h4>
-
- <p>A TTML transformation processor supports the <code>#lineBreak-uax14</code>
- feature if it recognizes and is capable of transforming requirements expressed
- by <a href="#uax14">[UAX14]</a> into its target document space.</p>
-
- <p>A TTML presentation processor supports the <code>#lineBreak-uax14</code>
- feature if it implements presentation semantic support for <a href=
- "#uax14">[UAX14]</a> as applies to line breaking.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineHeight" name="feature-lineHeight"></a>D.1.52
- #lineHeight</h4>
-
- <p>A TTML transformation processor supports the <code>#lineHeight</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#lineHeight</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode" name="feature-markerMode"></a>D.1.53
- #markerMode</h4>
-
- <p>A TTML transformation processor supports the <code>#markerMode</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#markerMode</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-continuous" name=
- "feature-markerMode-continuous"></a>D.1.54 #markerMode-continuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-continuous</code> feature if it recognizes and is capable of
- transforming the <code>continuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-continuous</code> feature if it implements presentation
- semantic support for the <code>continuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-discontinuous" name=
- "feature-markerMode-discontinuous"></a>D.1.55 #markerMode-discontinuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-discontinuous</code> feature if it recognizes and is capable
- of transforming the <code>discontinuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-discontinuous</code> feature if it implements presentation
- semantic support for the <code>discontinuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-metadata" name="feature-metadata"></a>D.1.56 #metadata</h4>
-
- <p>A TTML transformation processor supports the <code>#metadata</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#metadata"><b>12 Metadata</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-vocabulary-metadata"><code>metadata</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:desc</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:copyright</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:name</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:actor</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-agent">@<code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-role">@<code>ttm:role</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#metadata</code> feature if
- it recognizes and is capable of presenting the information expressed by the
- same vocabulary enumerated above.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification does not define a standardized form for the
- presentation of metadata information. The presentation or ability to present
- metadata information is considered to be implementation dependent.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-div" name="feature-nested-div"></a>D.1.57
- #nested-div</h4>
-
- <p>A TTML transformation processor supports the <code>#nested-div</code>
- feature if it recognizes and is capable of transforming nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the <code>#nested-div</code> feature
- if it implements presentation semantic support for nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-span" name="feature-nested-span"></a>D.1.58
- #nested-span</h4>
-
- <p>A TTML transformation processor supports the <code>#nested-span</code>
- feature if it recognizes and is capable of transforming nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the <code>#nested-span</code> feature
- if it implements presentation semantic support for nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-opacity" name="feature-opacity"></a>D.1.59 #opacity</h4>
-
- <p>A TTML transformation processor supports the <code>#opacity</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#opacity</code> feature if
- it (1) implements presentation semantic support for the <a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a> attribute and (2) is
- capable of displaying or generating an output display signal that distinguishes
- between at least eight (8) values of opacity.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-origin" name="feature-origin"></a>D.1.60 #origin</h4>
-
- <p>A TTML transformation processor supports the <code>#origin</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#origin</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow" name="feature-overflow"></a>D.1.61 #overflow</h4>
-
- <p>A TTML transformation processor supports the <code>#overflow</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#overflow</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow-visible" name="feature-overflow-visible"></a>D.1.62
- #overflow-visible</h4>
-
- <p>A TTML transformation processor supports the <code>#overflow-visible</code>
- feature if it recognizes and is capable of transforming the
- <code>visible</code> value of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#overflow-visible</code>
- feature if it implements presentation semantic support for the
- <code>visible</code> value of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding" name="feature-padding"></a>D.1.63 #padding</h4>
-
- <p>A TTML transformation processor supports the <code>#padding</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#padding</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-1" name="feature-padding-1"></a>D.1.64
- #padding-1</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-1</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of one <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-1</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of one <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-2" name="feature-padding-2"></a>D.1.65
- #padding-2</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-2</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of two <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-2</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of two <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-3" name="feature-padding-3"></a>D.1.66
- #padding-3</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-3</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of three <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-3</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of three <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-4" name="feature-padding-4"></a>D.1.67
- #padding-4</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-4</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of four <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-4</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of four <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-pixelAspectRatio" name="feature-pixelAspectRatio"></a>D.1.68
- #pixelAspectRatio</h4>
-
- <p>A TTML transformation processor supports the <code>#pixelAspectRatio</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#pixelAspectRatio</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-presentation" name="feature-presentation"></a>D.1.69
- #presentation</h4>
-
- <p>A TTML processor supports the <code>#presentation</code> feature if it (1)
- satisfies the generic processor criteria defined by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>, (2) implements support for the region and line layout
- semantics defined by <a href="#semantics-region-layout"><b>9.3 Region Layout
- and Presentation</b></a> and <a href="#semantics-line-layout"><b>9.4 Line
- Layout</b></a>, respectively, and (3) implements presentation semantics for the
- following features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
-
- <p>In addition, a TTML processor that supports the <code>#presentation</code>
- feature should satisfy the user agent accessibility guidelines specified by
- <a href="#uaag">[UAAG]</a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-profile" name="feature-profile"></a>D.1.70 #profile</h4>
-
- <p>A TTML transformation processor supports the <code>#profile</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute on the
- <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element and
- transforming the following vocabulary defined by <a href=
- "#parameter-element-vocabulary"><b>6.1 Parameter Element
- Vocabulary</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#parameter-vocabulary-profile"><code>ttp:profile</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-feature"><code>ttp:feature</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#profile</code> feature if
- it implements presentation semantic support for the same vocabulary specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-showBackground" name="feature-showBackground"></a>D.1.71
- #showBackground</h4>
-
- <p>A TTML transformation processor supports the <code>#showBackground</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#showBackground</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-structure" name="feature-structure"></a>D.1.72
- #structure</h4>
-
- <p>A TTML transformation processor supports the <code>#structure</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-tt"><code>tt</code></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-head"><code>head</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#structure</code> feature
- if it implements presentation semantic support for the same vocabulary
- enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling" name="feature-styling"></a>D.1.73 #styling</h4>
-
- <p>A TTML transformation processor supports the <code>#styling</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#styling"><b>8 Styling</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#styling-vocabulary-styling"><code>styling</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-style">@<code>style</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#styling</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-chained" name="feature-styling-chained"></a>D.1.74
- #styling-chained</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-chained</code>
- feature if it recognizes and is capable of transforming chained style
- association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-chained</code>
- feature if it implements presentation semantic support for chained style
- association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-content" name=
- "feature-styling-inheritance-content"></a>D.1.75
- #styling-inheritance-content</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is capable of
- transforming content style inheritance as defined by <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-content</code> feature if it implements presentation
- semantic support for content style inheritance as defined by <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-region" name=
- "feature-styling-inheritance-region"></a>D.1.76
- #styling-inheritance-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is capable of
- transforming region style inheritance as defined by <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-region</code> feature if it implements presentation
- semantic support for region style inheritance as defined by <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inline" name="feature-styling-inline"></a>D.1.77
- #styling-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-inline</code>
- feature if it recognizes and is capable of transforming inline style
- association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-inline</code>
- feature if it implements presentation semantic support for inline style
- association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-nested" name="feature-styling-nested"></a>D.1.78
- #styling-nested</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-nested</code>
- feature if it recognizes and is capable of transforming nested style
- association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-nested</code>
- feature if it implements presentation semantic support for nested style
- association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-referential" name=
- "feature-styling-referential"></a>D.1.79 #styling-referential</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-referential</code> feature if it recognizes and is capable of
- transforming referential style association as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-referential</code>
- feature if it implements presentation semantic support for referential style
- association as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-subFrameRate" name="feature-subFrameRate"></a>D.1.80
- #subFrameRate</h4>
-
- <p>A TTML transformation processor supports the <code>#subFrameRate</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#subFrameRate</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign" name="feature-textAlign"></a>D.1.81
- #textAlign</h4>
-
- <p>A TTML transformation processor supports the <code>#textAlign</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-absolute" name=
- "feature-textAlign-absolute"></a>D.1.82 #textAlign-absolute</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-absolute</code> feature if it recognizes and is capable of
- transforming the <code>left</code>, <code>center</code>, and <code>right</code>
- values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign-absolute</code>
- feature if it implements presentation semantic support for the
- <code>left</code>, <code>center</code>, and <code>right</code> values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-relative" name=
- "feature-textAlign-relative"></a>D.1.83 #textAlign-relative</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-relative</code> feature if it recognizes and is capable of
- transforming the <code>start</code>, <code>center</code>, and <code>end</code>
- values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign-relative</code>
- feature if it implements presentation semantic support for the
- <code>start</code>, <code>center</code>, and <code>end</code> values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration" name="feature-textDecoration"></a>D.1.84
- #textDecoration</h4>
-
- <p>A TTML transformation processor supports the <code>#textDecoration</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textDecoration</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-over" name=
- "feature-textDecoration-over"></a>D.1.85 #textDecoration-over</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-over</code> feature if it recognizes and is capable of
- transforming the <code>overline</code> and <code>noOverline</code> values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textDecoration-over</code>
- feature if it implements presentation semantic support for the
- <code>overline</code> and <code>noOverline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-through" name=
- "feature-textDecoration-through"></a>D.1.86 #textDecoration-through</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-through</code> feature if it recognizes and is capable of
- transforming the <code>lineThrough</code> and <code>noLineThrough</code> values
- of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-through</code> feature if it implements presentation
- semantic support for the <code>lineThrough</code> and
- <code>noLineThrough</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-under" name=
- "feature-textDecoration-under"></a>D.1.87 #textDecoration-under</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-under</code> feature if it recognizes and is capable of
- transforming the <code>underline</code> and <code>noUnderline</code> values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-under</code> feature if it implements presentation
- semantic support for the <code>underline</code> and <code>noUnderline</code>
- values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline" name="feature-textOutline"></a>D.1.88
- #textOutline</h4>
-
- <p>A TTML transformation processor supports the <code>#textOutline</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textOutline</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-blurred" name=
- "feature-textOutline-blurred"></a>D.1.89 #textOutline-blurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-blurred</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- includes a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the <code>#textOutline-blurred</code>
- feature if it implements presentation semantic support for values of the
- <a href="#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that includes a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-unblurred" name=
- "feature-textOutline-unblurred"></a>D.1.90 #textOutline-unblurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-unblurred</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- does not include a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textOutline-unblurred</code> feature if it implements presentation
- semantic support for values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- does not include a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-tickRate" name="feature-tickRate"></a>D.1.91 #tickRate</h4>
-
- <p>A TTML transformation processor supports the <code>#tickRate</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#tickRate</code> feature if
- it implements presentation semantic support for the <a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-clock" name="feature-timeBase-clock"></a>D.1.92
- #timeBase-clock</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-clock</code>
- feature if it recognizes and is capable of transforming the <code>clock</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
- feature.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-clock</code>
- feature if it implements presentation semantic support for the
- <code>clock</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
- feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-media" name="feature-timeBase-media"></a>D.1.93
- #timeBase-media</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-media</code>
- feature if it recognizes and is capable of transforming the <code>media</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-media</code>
- feature if it implements presentation semantic support for the
- <code>media</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-smpte" name="feature-timeBase-smpte"></a>D.1.94
- #timeBase-smpte</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-smpte</code>
- feature if it recognizes and is capable of transforming the <code>smpte</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
- feature.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-smpte</code>
- feature if it implements presentation semantic support for the
- <code>smpte</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
- feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeContainer" name="feature-timeContainer"></a>D.1.95
- #timeContainer</h4>
-
- <p>A TTML transformation processor supports the <code>#timeContainer</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#timeContainer</code>
- feature if it implements presentation semantic support for the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock" name="feature-time-clock"></a>D.1.96
- #time-clock</h4>
-
- <p>A TTML transformation processor supports the <code>#time-clock</code>
- feature if it recognizes and is capable of transforming all values of the
- <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
- the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the <code>#time-clock</code> feature
- if it implements presentation semantic support for the same syntax specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock-with-frames" name=
- "feature-time-clock-with-frames"></a>D.1.97 #time-clock-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-clock-with-frames</code> feature if it supports the <a href=
- "#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
- <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
- it recognizes and is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-clock-with-frames</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset" name="feature-time-offset"></a>D.1.98
- #time-offset</h4>
-
- <p>A TTML transformation processor supports the <code>#time-offset</code>
- feature if it recognizes and is capable of transforming all values of the
- <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
- the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? ( "h" | "m" | "s" | "ms" )
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the <code>#time-offset</code> feature
- if it implements presentation semantic support for the same syntax specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-frames" name=
- "feature-time-offset-with-frames"></a>D.1.99 #time-offset-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-frames</code> feature if it supports the <a href=
- "#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
- <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
- it recognizes and is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "f"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-frames</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-ticks" name=
- "feature-time-offset-with-ticks"></a>D.1.100 #time-offset-with-ticks</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-ticks</code> feature if it supports the <a href=
- "#feature-tickRate"><code>#tickRate</code></a> feature and if it recognizes and
- is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "t"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-ticks</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timing" name="feature-timing"></a>D.1.101 #timing</h4>
-
- <p>A TTML transformation processor supports the <code>#timing</code> feature if
- it recognizes and is capable of transforming the following vocabulary defined
- by <a href="#timing"><b>10 Timing</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin">@<code>begin</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur">@<code>dur</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end">@<code>end</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#timing</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-transformation" name="feature-transformation"></a>D.1.102
- #transformation</h4>
-
- <p>A TTML processor supports the <code>#transformation</code> feature if it (1)
- satisfies the generic processor criteria defined by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor Conformance</b></a>
- and (2) implements the transformation semantics of the following features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-unicodeBidi" name="feature-unicodeBidi"></a>D.1.103
- #unicodeBidi</h4>
-
- <p>A TTML transformation processor supports the <code>#unicodeBidi</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#unicodeBidi</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility" name="feature-visibility"></a>D.1.104
- #visibility</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-block" name=
- "feature-visibility-block"></a>D.1.105 #visibility-block</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-block</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate a block area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-block</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates a block area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-inline" name=
- "feature-visibility-inline"></a>D.1.106 #visibility-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-inline</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate an inline area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-inline</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates an inline area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-region" name=
- "feature-visibility-region"></a>D.1.107 #visibility-region</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-region</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-region</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-wrapOption" name="feature-wrapOption"></a>D.1.108
- #wrapOption</h4>
-
- <p>A TTML transformation processor supports the <code>#wrapOption</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#wrapOption</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode" name="feature-writingMode"></a>D.1.109
- #writingMode</h4>
-
- <p>A TTML transformation processor supports the <code>#writingMode</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#writingMode</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-vertical" name=
- "feature-writingMode-vertical"></a>D.1.110 #writingMode-vertical</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-vertical</code> feature if it recognizes and is capable of
- transforming the <code>tbrl</code>, <code>tblr</code>, and <code>tb</code>
- values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-vertical</code> feature if it implements presentation
- semantic support for the <code>tbrl</code>, <code>tblr</code>, and
- <code>tb</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal" name=
- "feature-writingMode-horizontal"></a>D.1.111 #writingMode-horizontal</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>lrtb</code>, <code>rltb</code>, <code>lr</code> and
- <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal</code> feature if it implements presentation
- semantic support for the <code>lrtb</code>, <code>rltb</code>, <code>lr</code>
- and <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-lr" name=
- "feature-writingMode-horizontal-lr"></a>D.1.112 #writingMode-horizontal-lr</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>lrtb</code> and <code>lr</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-lr</code> feature if it implements presentation
- semantic support for the <code>lrtb</code> and <code>lr</code> values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-rl" name=
- "feature-writingMode-horizontal-rl"></a>D.1.113 #writingMode-horizontal-rl</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>rltb</code> and <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-rl</code> feature if it implements presentation
- semantic support for the <code>rltb</code> and <code>rl</code> values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-zIndex" name="feature-zIndex"></a>D.1.114 #zIndex</h4>
-
- <p>A TTML transformation processor supports the <code>#zIndex</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#zIndex</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="feature-support" name="feature-support"></a>D.2 Feature Support</h3>
-
- <p>The following table, <a href="#feature-support-table"><b>Table D-1 – Feature
- Support</b></a>, enumerates every defined feature designation (expressed without
- the TT Feature Namespace), and, for each designated feature, specifies whether
- the feature must be implemented, i.e., is mandatory (M), or may be implemented,
- i.e., is optional (O), for transformation and presentation processors.</p><a id=
- "feature-support-table" name="feature-support-table"></a>
-
- <table class="common">
- <caption>
- Table D-1 – Feature Support
- </caption>
- <col width="60%" span="1">
- <col width="20%" span="1">
- <col width="20%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Transformation</span></td>
-
- <td><span class="strong">Presentation</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-animation"><code>#animation</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor"><code>#backgroundColor</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-bidi"><code>#bidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-cellResolution"><code>#cellResolution</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode"><code>#clockMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode-gps"><code>#clockMode-gps</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-clockMode-local"><code>#clockMode-local</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode-utc"><code>#clockMode-utc</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-color"><code>#color</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-direction"><code>#direction</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display"><code>#display</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-block"><code>#display-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-inline"><code>#display-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-region"><code>#display-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-displayAlign"><code>#displayAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-dropMode"><code>#dropMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent"><code>#extent</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent-region"><code>#extent-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent-root"><code>#extent-root</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontFamily"><code>#fontFamily</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontSize"><code>#fontSize</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontWeight"><code>#fontWeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-frameRate"><code>#frameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-layout"><code>#layout</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length"><code>#length</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-cell"><code>#length-cell</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-em"><code>#length-em</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-integer"><code>#length-integer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-negative"><code>#length-negative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-percentage"><code>#length-percentage</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-pixel"><code>#length-pixel</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-positive"><code>#length-positive</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-real"><code>#length-real</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-lineHeight"><code>#lineHeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-markerMode"><code>#markerMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-metadata"><code>#metadata</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-nested-div"><code>#nested-div</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-nested-span"><code>#nested-span</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-opacity"><code>#opacity</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-origin"><code>#origin</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-overflow"><code>#overflow</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-overflow-visible"><code>#overflow-visible</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding"><code>#padding</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-1"><code>#padding-1</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-2"><code>#padding-2</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-3"><code>#padding-3</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-4"><code>#padding-4</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-presentation"><code>#presentation</code></a></td>
-
- <td>O</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-showBackground"><code>#showBackground</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling"><code>#styling</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-chained"><code>#styling-chained</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling-inline"><code>#styling-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling-nested"><code>#styling-nested</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-referential"><code>#styling-referential</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-subFrameRate"><code>#subFrameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textAlign"><code>#textAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-relative"><code>#textAlign-relative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textDecoration"><code>#textDecoration</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-over"><code>#textDecoration-over</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-through"><code>#textDecoration-through</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-under"><code>#textDecoration-under</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textOutline"><code>#textOutline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-tickRate"><code>#tickRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-clock"><code>#timeBase-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-media"><code>#timeBase-media</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeContainer"><code>#timeContainer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-clock"><code>#time-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-transformation"><code>#transformation</code></a></td>
-
- <td>M</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-visibility"><code>#visibility</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-block"><code>#visibility-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-inline"><code>#visibility-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-region"><code>#visibility-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-wrapOption"><code>#wrapOption</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-writingMode"><code>#writingMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-zIndex"><code>#zIndex</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-transformation-mandatory-table"><b>Table D-2 – Mandatory Features -
- Transformation</b></a>, enumerates all mandatory features for a TTML
- Transformation Processor, providing additional comments to summarize the context
- of usage or the nature of the feature. The <em>Profile Definition Document</em>
- that defines the corresponding DFXP Transformation Profile is specified in
- <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a>.</p><a id="feature-transformation-mandatory-table" name=
- "feature-transformation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-2 – Mandatory Features - Transformation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
- "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
- "#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
- "#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-transformation"><code>#transformation</code></a></td>
-
- <td></td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-presentation-mandatory-table"><b>Table D-3 – Mandatory Features -
- Presentation</b></a>, enumerates all mandatory features for a TTML Presentation
- Processor, providing additional comments to summarize the context of usage or the
- nature of the feature. The <em>Profile Definition Document</em> that defines the
- corresponding DFXP Presentation Profile is specified in <a href=
- "#profile-dfxp-presentation"><b>F.2 DFXP Presentation Profile</b></a>.</p><a id=
- "feature-presentation-mandatory-table" name=
- "feature-presentation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-3 – Mandatory Features - Presentation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
- "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
- "#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-presentation"><code>#presentation</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
- "#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="extensions" name="extensions"></a>E Extensions</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the syntactic form of extension designations, which are
- used to express authorial intent regarding the support for extension mechanisms in
- a TTML processor.</p>
-
- <div class="div2">
- <h3><a id="extension-designations" name="extension-designations"></a>E.1
- Extension Designations</h3>
-
- <p>An extension designation is expressed as a string that adheres to the
- following 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 Extension
- Namespace, then all values of the following <code>designation</code> token are
- reserved for future standardization.</p>
-
- <p>If the extension namespace of an extension designation is not the TT Extension
- Namespace, i.e., is an <em>Other Extension Namespace</em>, then the extension
- namespace must be expressed as an absolute URI capable of serving as a base URI
- used in combination with a <code>designation</code> token that takes the form of
- a fragment identifier.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="profiles" name="profiles"></a>F Profiles</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following standard TTML profiles:</p>
-
- <ul>
- <li>
- <p><a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-full"><b>F.3 DFXP Full Profile</b></a></p>
- </li>
- </ul>
-
- <p>Each TTML profile is defined in terms of a <em>Profile Definition Document</em>,
- which is expressed as an XML document wherein the root element adheres to <a href=
- "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
-
- <div class="div2">
- <h3><a id="profile-dfxp-transformation" name=
- "profile-dfxp-transformation"></a>F.1 DFXP Transformation Profile</h3>
-
- <p>The DFXP Transformation Profile is intended to be used to express minimum
- compliance for transformation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-transformation" profile of ttaf1 -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#presentation</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-presentation" name="profile-dfxp-presentation"></a>F.2
- DFXP Presentation Profile</h3>
-
- <p>The DFXP Presentation Profile is intended to be used to express minimum
- compliance for presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-presentation" profile of ttaf1-dfxp -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#transformation</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-full" name="profile-dfxp-full"></a>F.3 DFXP Full
- Profile</h3>
-
- <p>The DFXP Full Profile is intended to be used to express maximum compliance for
- both transformation and presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-full" profile of ttaf1-dfxp -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#animation</feature>
- <feature value="required">#backgroundColor-block</feature>
- <feature value="required">#backgroundColor-inline</feature>
- <feature value="required">#backgroundColor-region</feature>
- <feature value="required">#backgroundColor</feature>
- <feature value="required">#bidi</feature>
- <feature value="required">#cellResolution</feature>
- <feature value="required">#clockMode-gps</feature>
- <feature value="required">#clockMode-local</feature>
- <feature value="required">#clockMode-utc</feature>
- <feature value="required">#clockMode</feature>
- <feature value="required">#color</feature>
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#direction</feature>
- <feature value="required">#display-block</feature>
- <feature value="required">#display-inline</feature>
- <feature value="required">#display-region</feature>
- <feature value="required">#display</feature>
- <feature value="required">#displayAlign</feature>
- <feature value="required">#dropMode-dropNTSC</feature>
- <feature value="required">#dropMode-dropPAL</feature>
- <feature value="required">#dropMode-nonDrop</feature>
- <feature value="required">#dropMode</feature>
- <feature value="required">#extent-region</feature>
- <feature value="required">#extent-root</feature>
- <feature value="required">#extent</feature>
- <feature value="required">#fontFamily-generic</feature>
- <feature value="required">#fontFamily-non-generic</feature>
- <feature value="required">#fontFamily</feature>
- <feature value="required">#fontSize-anamorphic</feature>
- <feature value="required">#fontSize-isomorphic</feature>
- <feature value="required">#fontSize</feature>
- <feature value="required">#fontStyle-italic</feature>
- <feature value="required">#fontStyle-oblique</feature>
- <feature value="required">#fontStyle</feature>
- <feature value="required">#fontWeight-bold</feature>
- <feature value="required">#fontWeight</feature>
- <feature value="required">#frameRate</feature>
- <feature value="required">#frameRateMultiplier</feature>
- <feature value="required">#layout</feature>
- <feature value="required">#length-cell</feature>
- <feature value="required">#length-em</feature>
- <feature value="required">#length-integer</feature>
- <feature value="required">#length-negative</feature>
- <feature value="required">#length-percentage</feature>
- <feature value="required">#length-pixel</feature>
- <feature value="required">#length-positive</feature>
- <feature value="required">#length-real</feature>
- <feature value="required">#length</feature>
- <feature value="required">#lineBreak-uax14</feature>
- <feature value="required">#lineHeight</feature>
- <feature value="required">#markerMode-continuous</feature>
- <feature value="required">#markerMode-discontinuous</feature>
- <feature value="required">#markerMode</feature>
- <feature value="required">#metadata</feature>
- <feature value="required">#nested-div</feature>
- <feature value="required">#nested-span</feature>
- <feature value="required">#opacity</feature>
- <feature value="required">#origin</feature>
- <feature value="required">#overflow-visible</feature>
- <feature value="required">#overflow</feature>
- <feature value="required">#padding-1</feature>
- <feature value="required">#padding-2</feature>
- <feature value="required">#padding-3</feature>
- <feature value="required">#padding-4</feature>
- <feature value="required">#padding</feature>
- <feature value="required">#pixelAspectRatio</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#showBackground</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#styling-chained</feature>
- <feature value="required">#styling-inheritance-content</feature>
- <feature value="required">#styling-inheritance-region</feature>
- <feature value="required">#styling-inline</feature>
- <feature value="required">#styling-nested</feature>
- <feature value="required">#styling-referential</feature>
- <feature value="required">#styling</feature>
- <feature value="required">#subFrameRate</feature>
- <feature value="required">#textAlign-absolute</feature>
- <feature value="required">#textAlign-relative</feature>
- <feature value="required">#textAlign</feature>
- <feature value="required">#textDecoration-over</feature>
- <feature value="required">#textDecoration-through</feature>
- <feature value="required">#textDecoration-under</feature>
- <feature value="required">#textDecoration</feature>
- <feature value="required">#textOutline-blurred</feature>
- <feature value="required">#textOutline-unblurred</feature>
- <feature value="required">#textOutline</feature>
- <feature value="required">#tickRate</feature>
- <feature value="required">#time-clock-with-frames</feature>
- <feature value="required">#time-clock</feature>
- <feature value="required">#time-offset-with-frames</feature>
- <feature value="required">#time-offset-with-ticks</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timeBase-clock</feature>
- <feature value="required">#timeBase-media</feature>
- <feature value="required">#timeBase-smpte</feature>
- <feature value="required">#timeContainer</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <feature value="required">#unicodeBidi</feature>
- <feature value="required">#visibility-block</feature>
- <feature value="required">#visibility-inline</feature>
- <feature value="required">#visibility-region</feature>
- <feature value="required">#visibility</feature>
- <feature value="required">#wrapOption</feature>
- <feature value="required">#writingMode-horizontal-lr</feature>
- <feature value="required">#writingMode-horizontal-rl</feature>
- <feature value="required">#writingMode-horizontal</feature>
- <feature value="required">#writingMode-vertical</feature>
- <feature value="required">#writingMode</feature>
- <feature value="required">#zIndex</feature>
- <!-- optional (voluntary) feature support -->
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="references" name="references"></a>G References</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <dl>
- <dt class="label"><a id="css2" name="css2"></a>CSS2</dt>
-
- <dd>Bert Bos et al., <a href=
- "http://www.w3.org/TR/1998/REC-CSS2-19980512/"><cite>Cascading Style Sheets,
- Level 2</cite></a>, W3C Recommendation, 12 May 1998. (See <a href=
- "http://www.w3.org/TR/1998/REC-CSS2-19980512/">http://www.w3.org/TR/1998/REC-CSS2-19980512/</a>.)</dd>
-
- <dt class="label"><a id="gps" name="gps"></a>GPS</dt>
-
- <dd><a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global Positioning
- System</cite></a>, US Naval Observatory. (See <a href=
- "http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</a>.)</dd>
-
- <dt class="label"><a id="media-types" name="media-types"></a>Media Types</dt>
-
- <dd>Ned Freed and Nathaniel Borenstein, <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt"><cite>Multipurpose Internet Mail
- Extensions (MIME) Part Two: Media Types</cite></a>, RFC 2046, November 1996,
- IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</a>.)</dd>
-
- <dt class="label"><a id="rng" name="rng"></a>RELAX NG</dt>
-
- <dd>ISO/IEC 19757-2, <a href="http://www.iso.org/"><cite>Information technology –
- Document Schema Definition Language (DSDL) – Part 2: Regular-grammar-based
- validation – RELAX NG</cite></a>, International Organization for Standardization
- (ISO).</dd>
-
- <dt class="label"><a id="smil21" name="smil21"></a>SMIL 2.1</dt>
-
- <dd>Dick Bultermann, et al., <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/"><cite>Synchronized Multimedia
- Integration Language (SMIL 2.1)</cite></a>, W3C Recommendation, 13 December 2005.
- (See <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</a>.)</dd>
-
- <dt class="label"><a id="smpte12m" name="smpte12m"></a>SMPTE 12M</dt>
-
- <dd>ANSI/SMPTE 12M, <a href="https://www.smpte.org/"><cite>Television, Audio and
- Film – Time and Control Code</cite></a>, SMPTE Standard.</dd>
-
- <dt class="label"><a id="srgb" name="srgb"></a>SRGB</dt>
-
- <dd>IEC 61966-2-1, <a href="http://www.iec.ch/"><cite>Multimedia systems and
- equipment – Colour measurement and management – Part 2-1: Colour management –
- Default RGB colour space – sRGB</cite></a>, International Electrotechnical
- Commission (IEC).</dd>
-
- <dt class="label"><a id="uaag" name="uaag"></a>UAAG</dt>
-
- <dd>Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds., <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/"><cite>User Agent Accessibility
- Guidelines 1.0</cite></a>, W3C Recommendation, 17 December 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</a>.)</dd>
-
- <dt class="label"><a id="utc" name="utc"></a>UTC</dt>
-
- <dd>Recommendation TF.460, <a href="http://www.itu.int/"><cite>Standard-Frequency
- and Time-Signal Emissions</cite></a>, International Telecommunciations Union,
- Radio Sector (ITU-R).</dd>
-
- <dt class="label"><a id="uax14" name="uax14"></a>UAX14</dt>
-
- <dd>Asmus Freytag, <a href=
- "http://www.unicode.org/reports/tr14/tr14-17.html"><cite>Line Breaking
- Properties</cite></a>, Unicode Consortium, 29 August 2005. (See <a href=
- "http://www.unicode.org/reports/tr14/tr14-17.html">http://www.unicode.org/reports/tr14/tr14-17.html</a>.)</dd>
-
- <dt class="label"><a id="wcag" name="wcag"></a>WCAG</dt>
-
- <dd>Ben Caldwell, et al., Eds., <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/"><cite>Web Content Accessibility
- Guidelines (WCAG) 2.0</cite></a>, W3C Recommendation, 11 December 2008. (See
- <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/">http://www.w3.org/TR/2008/REC-WCAG20-20081211/</a>.)</dd>
-
- <dt class="label"><a id="xml10" name="xml10"></a>XML 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/"><cite>Extensible Markup Language
- (XML) 1.0 (Fifth Edition)</cite></a>, W3C Recommendation, 26 November 2008. (See
- <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>.)</dd>
-
- <dt class="label"><a id="xml11" name="xml11"></a>XML 1.1</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/"><cite>Extensible Markup Language
- (XML) 1.1 (Second Edition)</cite></a>, W3C Recommendation, 16 August 2006, edited
- in place 29 September 2006. (See <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/">http://www.w3.org/TR/2006/REC-xml11-20060816/</a>.)</dd>
-
- <dt class="label"><a id="xmlbase" name="xmlbase"></a>XML Base</dt>
-
- <dd>Jonathan Marsh and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/"><cite>XML Base (Second
- Edition)</cite></a>, W3C Recommendation, 28 January 2009. (See <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/">http://www.w3.org/TR/2009/REC-xmlbase-20090128/</a>.)</dd>
-
- <dt class="label"><a id="xmlid" name="xmlid"></a>XML ID</dt>
-
- <dd>Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds., <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/"><cite>xml:id Version
- 1.0</cite></a>, W3C Recommendation, 09 September 2005. (See <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>.)</dd>
-
- <dt class="label"><a id="xml-media" name="xml-media"></a>XML Media</dt>
-
- <dd>Makato Murata, Simon St. Laurent, Kan Khon, Eds., <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>, RFC
- 3023, January 2001, IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)</dd>
-
- <dt class="label"><a id="infoset" name="infoset"></a>XML InfoSet</dt>
-
- <dd>John Cowan and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML Information Set
- (Second Edition)</cite></a>, W3C Recommendation, 04 February 2004. (See <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>.)</dd>
-
- <dt class="label"><a id="rfc3023" name="rfc3023"></a>XML Media Types</dt>
-
- <dd>Makato Murata, et al., <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>, RFC
- 3023, January 2001, IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)</dd>
-
- <dt class="label"><a id="xmlns10" name="xmlns10"></a>XML Namespaces 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/"><cite>Namespaces in XML 1.0
- (Third Edition)</cite></a>, W3C Recommendation, 8 December 2009. (See <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/">http://www.w3.org/TR/2009/REC-xml-names-20091208/</a>.)</dd>
-
- <dt class="label"><a id="xsd-1" name="xsd-1"></a>XML Schema Part 1</dt>
-
- <dd>Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, Eds.,
- <a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part 1:
- Structures</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
- "http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>.)</dd>
-
- <dt class="label"><a id="xsd-2" name="xsd-2"></a>XML Schema Part 2</dt>
-
- <dd>Paul Biron and Ashok Malhotra, <a href=
- "http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2:
- Datatypes</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
- "http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.)</dd>
-
- <dt class="label"><a id="xsl11" name="xsl11"></a>XSL 1.1</dt>
-
- <dd>Anders Berglund, <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/"><cite>Extensible Stylesheet
- Language (XSL) Version 1.1</cite></a>, W3C Recommendation, 05 December 2006. (See
- <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="other-references" name="other-references"></a>H Other References
- (Non-Normative)</h2>
-
- <dl>
- <dt class="label"><a id="ccreq" name="ccreq"></a>CC-DECODER-REQ</dt>
-
- <dd><a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- <cite>Closed Caption Decoder Requirements for Analog Television</cite></a>,
- United States Code of Federal Regulations, Title 47, Volume 1, Part 15, § 15.119.
- (See <a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml</a>.)</dd>
-
- <dt class="label"><a id="cea608c" name="cea608c"></a>CEA-608-C</dt>
-
- <dd>EIA/CEA-608-C, <a href="http://www.ce.org/"><cite>Line 21 Data
- Services</cite></a>, EIA/CEA Standard, Consumer Electronics Association
- (CEA).</dd>
-
- <dt class="label"><a id="cea708d" name="cea708d"></a>CEA-708-D</dt>
-
- <dd>CEA-708-D, <a href="http://www.ce.org/"><cite>Digital Television (DTV) Closed
- Captioning</cite></a>, CEA Standard, Consumer Electronics Association (CEA).</dd>
-
- <dt class="label"><a id="css3-color" name="css3-color"></a>CSS3 Color</dt>
-
- <dd>Tantek Çelik and Chris Lilley, <a href=
- "http://www.w3.org/TR/2003/CR-css3-color-20030514/"><cite>CSS3 Color
- Module</cite></a>, W3C Candidate Recommendation, 14 May 2003. (See <a href=
- "http://www.w3.org/TR/2003/CR-css3-color-20030514/">http://www.w3.org/TR/2003/CR-css3-color-20030514/</a>.)</dd>
-
- <dt class="label"><a id="dcmes" name="dcmes"></a>DCMES 1.1</dt>
-
- <dd>Dublin Core Metadata Initiative, <a href=
- "http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata Element Set,
- Version 1.1: Reference Description</cite></a>. (See <a href=
- "http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)</dd>
-
- <dt class="label"><a id="mpeg7-5" name="mpeg7-5"></a>MPEG7-5</dt>
-
- <dd>ISO/IEC 15938-5, <a href="http://www.iso.org/"><cite>Information technology –
- Multimedia content description interface – Part 5: Multimedia description
- schemes</cite></a>, International Organization for Standardization (ISO).</dd>
-
- <dt class="label"><a id="nsstate" name="nsstate"></a>NSState</dt>
-
- <dd>Norman Walsh, Ed., <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html"><cite>The
- Disposition of Names in an XML Namespace</cite></a>, TAG Finding, 9 January 2006.
- (See <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html">http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09</a>.)</dd>
-
- <dt class="label"><a id="qaf-sg" name="qaf-sg"></a>QAF SG</dt>
-
- <dd>Karl Dubost, et al., <a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/"><cite>QA Framework:
- Specifications Guidelines</cite></a>, W3C Recommendation, 17 August 2005. (See
- <a href=
- "http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</a>.)</dd>
-
- <dt class="label"><a id="smpte170m" name="smpte170m"></a>SMPTE 170M</dt>
-
- <dd>ANSI/SMPTE 170M, <a href="http://www.smpte.org/"><cite>Television – Composite
- Analog Video Signal – NTSC for Studio Applications</cite></a>, SMPTE
- Standard.</dd>
-
- <dt class="label"><a id="smpte2052" name="smpte2052"></a>SMPTE 2052-11</dt>
-
- <dd>SMPTE 2052-11, <a href="http://www.smpte.org/"><cite>Conversion from CEA-708
- Caption Data to SMPTE-TT</cite></a>, SMPTE Recommended Practice.</dd>
-
- <dt class="label"><a id="svg11" name="svg11"></a>SVG 1.1</dt>
-
- <dd>Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds., <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/"><cite>Scalable Vector Graphics
- (SVG) 1.1 Specification</cite></a>, W3C Recommendation, 14 January 2003. (See
- <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</a>.)</dd>
-
- <dt class="label"><a id="ttaf1-req" name="ttaf1-req"></a>TTAF1-REQ</dt>
-
- <dd>Glenn Adams, Ed., <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/"><cite>Timed Text (TT)
- Authoring Format 1.0 Use Cases and Requirements</cite></a>, W3C Working Group
- Note, 27 April 2006. (See <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</a>.)</dd>
-
- <dt class="label"><a id="xhtml10" name="xhtml10"></a>XHTML 1.0</dt>
-
- <dd>Steven Pemberton, et al., <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTML™ 1.0, The Extensible
- Hypertext Markup Language (Second Edition)</cite></a>, W3C Recommendation, 01
- August 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="requirements" name="requirements"></a>I Requirements
- (Non-Normative)</h2>
-
- <p>The Distribution Format Exchange Profile (DFXP) of the Timed Text Authoring
- Format (TTML) satisfies a subset of the requirements established by <a href=
- "#ttaf1-req">[TTAF1-REQ]</a>. The following table enumerates these requirements and
- indicates the extent to which they are satisfied by this specification, where
- <em>S</em> denotes a requirement is satisfied, <em>P</em> denotes a requirement is
- partially satisfied, and <em>N</em> denotes a requirement is not
- satisfied.</p><a id="requirements-table" name="requirements-table"></a>
-
- <table class="common">
- <caption>
- Table I-1 – Requirement Satisfaction
- </caption>
- <col width="10%" span="1">
- <col width="40%" span="1">
- <col width="10%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>ID</th>
-
- <th>Name</th>
-
- <th>Status</th>
-
- <th>Comments</th>
- </tr>
-
- <tr>
- <td>R100</td>
-
- <td>Specification Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R101</td>
-
- <td>Specification Modularity</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R102</td>
-
- <td>Specification Organization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R103</td>
-
- <td>Core and Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R104</td>
-
- <td>Evolution of Core</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R105</td>
-
- <td>Ownership of Core</td>
-
- <td>S</td>
-
- <td>TT namespaces</td>
- </tr>
-
- <tr>
- <td>R106</td>
-
- <td>Surjection of Core</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R107</td>
-
- <td>Evolution of Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R108</td>
-
- <td>Ownership of Periphery</td>
-
- <td>S</td>
-
- <td>Non-TT namespaces</td>
- </tr>
-
- <tr>
- <td>R109</td>
-
- <td>Transformation</td>
-
- <td>S</td>
-
- <td>Supports 3GPP, QText, RealText, SAMI</td>
- </tr>
-
- <tr>
- <td>R110</td>
-
- <td>Streamable Transformation</td>
-
- <td>S</td>
-
- <td>Progressive decoding</td>
- </tr>
-
- <tr>
- <td>R111</td>
-
- <td>Accessibility – Content</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R112</td>
-
- <td>Accessibility – Authoring System</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R200</td>
-
- <td>Authorability</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R201</td>
-
- <td>Multiple Natural Languages</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R202</td>
-
- <td>Natural Language Coverage</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R203</td>
-
- <td>Natural Language Association Granularity</td>
-
- <td>S</td>
-
- <td>See <code>xml:lang</code></td>
- </tr>
-
- <tr>
- <td>R204</td>
-
- <td>Minimum Character Representability</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R205</td>
-
- <td>Intrinsic and Extrinsic Text Content</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R206</td>
-
- <td>Markup Association</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R207</td>
-
- <td>Conditional Content</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R208</td>
-
- <td>Flowed Text</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R209</td>
-
- <td>Logical Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R210</td>
-
- <td>Presentational Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td>Implied mapping from logical flowed text.</td>
- </tr>
-
- <tr>
- <td>R211</td>
-
- <td>Flowed Text Vocabulary Relationship</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R212</td>
-
- <td>Flowed Text Vocabulary Separation</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R213</td>
-
- <td>Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R214</td>
-
- <td>Non-Flowed Text Vocabulary</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R215</td>
-
- <td>Hybrid Flowed and Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R216</td>
-
- <td>Hyperlinking</td>
-
- <td>N</td>
-
- <td>Can support via XLink</td>
- </tr>
-
- <tr>
- <td>R217</td>
-
- <td>Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R218</td>
-
- <td>Non-Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R219</td>
-
- <td>Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R220</td>
-
- <td>Non-Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R221</td>
-
- <td>Descriptive Vocabulary</td>
-
- <td>S</td>
-
- <td>See <code>ttm:agent</code>, <code>ttm:role</code></td>
- </tr>
-
- <tr>
- <td>R222</td>
-
- <td>Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R223</td>
-
- <td>Non-Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R290</td>
-
- <td>Markup Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R291</td>
-
- <td>Markup Format and Unicode Interaction</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R292</td>
-
- <td>Extrinsic Resource References</td>
-
- <td>N</td>
-
- <td>No extrinsic references</td>
- </tr>
-
- <tr>
- <td>R293</td>
-
- <td>Schema Validity Specification</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R300</td>
-
- <td>Inline Styling</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Inline Styling Form</td>
-
- <td>P</td>
-
- <td>Inline and referential styling</td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling Form</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R304</td>
-
- <td>Styling Prioritization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R305</td>
-
- <td>Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R306</td>
-
- <td>Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports absolute position, background color, color, display none,
- display alignment, font family, font size, font style, font weight, height,
- line height, origin, opacity, overflow, padding (before, after, start, end),
- text alignment, text shadow (as outline), visibility, width, writing mode,
- z-index</td>
- </tr>
-
- <tr>
- <td>R390</td>
-
- <td>Style Parameter Symmetry</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R391</td>
-
- <td>Style Parameter Definitions</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R392</td>
-
- <td>Style Parameter Shorthands</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R401</td>
-
- <td>Inline Timing</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R402</td>
-
- <td>Out-of-Line Timing</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R403</td>
-
- <td>Synchronization Parameters</td>
-
- <td>P</td>
-
- <td>Supports begin, end, dur</td>
- </tr>
-
- <tr>
- <td>R404</td>
-
- <td>Synchronization Parameter Value Spaces</td>
-
- <td>P</td>
-
- <td>Supports offset values, media marker values (SMPTE 12M), wall-clock
- values</td>
- </tr>
-
- <tr>
- <td>R405</td>
-
- <td>Time Containment Semantics</td>
-
- <td>P</td>
-
- <td>Supports sequential, parallel</td>
- </tr>
-
- <tr>
- <td>R500</td>
-
- <td>Animation Modes</td>
-
- <td>P</td>
-
- <td>Supports discrete</td>
- </tr>
-
- <tr>
- <td>R502</td>
-
- <td>Highlight Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:backgroundColor="..."/></code></td>
- </tr>
-
- <tr>
- <td>R503</td>
-
- <td>Fade Transition Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:opacity="..."/></code></td>
- </tr>
-
- <tr>
- <td>R504</td>
-
- <td>Animated Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R505</td>
-
- <td>Animated Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports animating background color, color, display, opacity, origin,
- visibility</td>
- </tr>
-
- <tr>
- <td>N506</td>
-
- <td>Animated Content</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R600</td>
-
- <td>Metadata Item Association</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code>, <code>Metadata.class</code></td>
- </tr>
-
- <tr>
- <td>R601</td>
-
- <td>Metadata Item Constituents</td>
-
- <td>P</td>
-
- <td>Supports name, value</td>
- </tr>
-
- <tr>
- <td>R602</td>
-
- <td>Metadata Item Value Representation</td>
-
- <td>P</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R603</td>
-
- <td>Metadata Item Extensibility</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R604</td>
-
- <td>Metadata Item Validation</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R690</td>
-
- <td>Dublin Core Preference</td>
-
- <td>N</td>
-
- <td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>,
- <code>ttm:title</code></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div1">
- <h2><a id="derivation" name="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="d3e18280" name="d3e18280"></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 the model (if a
- model is indicated); the fourth column specifies details about the derivation;
- the last column refers to additional notes describing the nature of the
- derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a notation is use
- to indicate the addition or removal of an attribute. For example, in the
- derivation of the <code>tt:div</code> element, the details column includes
- "-@class", which denotes that the <code>class</code> attribute that is specified
- for use with the <code>xhtml:div</code> model element is not specified for use
- with the corresponding TTML element; in contrast, the details column includes
- "+@begin", which denotes that a <code>begin</code> attribute is added that is not
- specified for use with the <code>xhtml:div</code> model element.</p><a id=
- "element-vocab-derivation-table" name="element-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-1 – Elements
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Element</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-body"><code>tt:body</code></a></td>
-
- <td><code>xhtml:body</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*; content model subsetted to
- zero or more division (div) children, and supersetted by optional metadata
- and animation children</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-br"><code>tt:br</code></a></td>
-
- <td><code>xhtml:br</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space; content
- model supersetted by optional metadata and animation children for congruity
- with other content vocabulary</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-div"><code>tt:div</code></a></td>
-
- <td><code>xhtml:div</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more paragraph (p) children, and supersetted by
- optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-head"><code>tt:head</code></a></td>
-
- <td><code>xhtml:head</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model changed to
- optional metadata children, followed by optional styling child, followed by
- optional layout child</td>
-
- <td>1,3</td>
- </tr>
-
- <tr>
- <td><a href="#layout-vocabulary-layout"><code>tt:layout</code></a></td>
-
- <td><code>fo:simple-page-master</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-metadata"><code>tt:metadata</code></a></td>
-
- <td><code>svg:metadata</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model subsetted
- to foreign namespace element content only (no #PCDATA)</td>
-
- <td>3,5</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-p"><code>tt:p</code></a></td>
-
- <td><code>xhtml:p</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more span children, and supersetted by optional
- metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href="#layout-vocabulary-region"><code>tt:region</code></a></td>
-
- <td><code>fo:region-*</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#animation-vocabulary-set"><code>tt:set</code></a></td>
-
- <td><code>svg:set</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@* except begin, dur, end; +@tts:*, +@xml:lang, +@xml:space</td>
-
- <td>3,6</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-span"><code>tt:span</code></a></td>
-
- <td><code>xhtml:span</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more #PCDATA or break (br) children, and supersetted
- by optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href="#styling-vocabulary-style"><code>tt:style</code></a></td>
-
- <td><em>style specification</em></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>XML representation of identified set of pairs of style property name
- and value, with optional inclusion of other styles by reference to other
- style elements</td>
-
- <td>7</td>
- </tr>
-
- <tr>
- <td><a href="#styling-vocabulary-styling"><code>tt:styling</code></a></td>
-
- <td><code>xhtml:style</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>XML representation of a set of style specifications sets, each
- represented by a style child element</td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href="#document-structure-vocabulary-tt"><code>tt:tt</code></a></td>
-
- <td><code>xhtml:html</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model subsetted by
- permitting body and/or head to be optional</td>
-
- <td>1,8</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-actor"><code>ttm:actor</code></a></td>
-
- <td><code>mpeg7:Creator</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-agent"><code>ttm:agent</code></a></td>
-
- <td><code>mpeg7:Agent</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-copyright"><code>ttm:copyright</code></a></td>
-
- <td><code>mpeg7:CopyrightString</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-desc"><code>ttm:desc</code></a></td>
-
- <td><code>svg:desc</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-name"><code>ttm:name</code></a></td>
-
- <td><code>mpeg7:Name</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></td>
-
- <td><code>svg:title</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a></td>
-
- <td><code>@baseProfile</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>11</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Derivation is indicated with respect to the strict DTD defined by
- <a href="#xhtml10">[XHTML 1.0]</a>, §A.1.</p>
- </li>
-
- <li>
- <p>The <code>class</code> attribute is effectively replaced by the
- <code>style</code> attribute, which, instead of specifying an inline style,
- refers indirectly to one or more <a href=
- "#styling-vocabulary-style"><code>style</code></a> elements that define a
- set of style specification sets.</p>
- </li>
-
- <li>
- <p>The <code>xml:lang</code> and <code>xml:space</code> attributes are
- defined for all element types in order to support their inheritance
- semantics to operate in the context of foreign namespace elements.</p>
- </li>
-
- <li>
- <p>Derivation is conceptual (notional) only.</p>
- </li>
-
- <li>
- <p>The <code>xml:base</code> attribute is not used since there are no
- external references from core vocabulary.</p>
- </li>
-
- <li>
- <p>The <code>attributeName</code> and <code>to</code> attributes of
- <code>svg:set</code> are replaced by the direct expression of the target
- attribute name and value by use of a <code>tts:*</code> attribute.</p>
- </li>
-
- <li>
- <p>CSS style specification syntax is mapped to XML by use of attributes
- defined in the TT Style Namespace.</p>
- </li>
-
- <li>
- <p>The <code>xml:id</code> attribute is defined for use on all element
- types.</p>
- </li>
-
- <li>
- <p>The <code>style</code> attribute is supported only on content
- elements.</p>
- </li>
-
- <li>
- <p>Derived from the use of <code>@requiredExtensions</code> 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="d3e18759" name="d3e18759"></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 the model (if a
- model is indicated); the fourth column specifies details about the derivation;
- the last column refers to additional notes describing the nature of the
- derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a notation is use
- to indicate the addition or removal of an attribute value. For example, in the
- derivation of the <code>timeContainer</code> attribute, the details column
- includes "-excl", which denotes that the <code>excl</code> value that is
- specified for use with the <code>timeContainer</code> model attribute is not
- specified for use with the corresponding TTML attribute; similarly, an
- "+<em>value</em>" in the details column indicates that the attribute's values
- have been extended to include <em>value</em>.</p>
-
- <p>Only those attributes that are specified for use on more than one TTML element
- type are listed below. Those per-element namespace attributes that are uniquely
- defined for a specific TTML element type are not listed below, but are considered
- to be part of the specific element type's derivation described in <a href=
- "#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
- above.</p><a id="attribute-vocab-derivation-table" name=
- "attribute-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-2 – Attributes
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Attribute</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-begin"><code>begin</code></a></td>
-
- <td><code>begin</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-dur"><code>dur</code></a></td>
-
- <td><code>dur</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-end"><code>end</code></a></td>
-
- <td><code>end</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#layout-attribute-region"><code>region</code></a></td>
-
- <td><code>master-reference</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-style"><code>style</code></a></td>
-
- <td><code>class</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>dereferences style specification(s) directly</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a></td>
-
- <td><code>timeContainer</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>-excl, -none; no default attribute value</td>
-
- <td>5</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-attribute-agent"><code>ttm:agent</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute agent of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#metadata-attribute-role"><code>ttm:role</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute role of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses uniform grid resolution for cell based coordinates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>determines how to interpret time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses integral frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to express non-integral, rational frame rates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses marker continuity semantics</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses pixel aspect ratio of related media</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses profile of TTML used by <em>Document Instance</em></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses frame counting (drop) modes</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses sub-frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret tick based time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret semantics of time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a></td>
-
- <td><code>background-color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,6</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-color"><code>tts:color</code></a></td>
-
- <td><code>color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>6</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-direction"><code>tts:direction</code></a></td>
-
- <td><code>direction</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-display"><code>tts:display</code></a></td>
-
- <td><code>display</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>only <code>auto</code>, <code>none</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a></td>
-
- <td><code>display-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-extent"><code>tts:extent</code></a></td>
-
- <td><code>width</code>, <code>height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a></td>
-
- <td><code>font-family</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, extends generic family names</td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-fontSize"><code>tts:fontSize</code></a></td>
-
- <td><code>font-size</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a></td>
-
- <td><code>font-weight</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-bolder</code>, <code>-lighter</code>,
- <code>-<number></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a></td>
-
- <td><code>line-height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-<number></code>,
- <code>-<space></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-opacity"><code>tts:opacity</code></a></td>
-
- <td><code>opacity</code></td>
-
- <td><a href="#css3-color">[CSS3 Color]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-origin"><code>tts:origin</code></a></td>
-
- <td><code>top</code>, <code>left</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-overflow"><code>tts:overflow</code></a></td>
-
- <td><code>overflow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-auto</code>,
- <code>-error-if-overflow</code>;</td>
-
- <td>8</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-padding"><code>tts:padding</code></a></td>
-
- <td><code>padding</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a></td>
-
- <td><code>showBackground</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a></td>
-
- <td><code>text-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a></td>
-
- <td><code>text-decoration</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,10,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a></td>
-
- <td><code>text-shadow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>11,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a></td>
-
- <td><code>unicode-bidi</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a></td>
-
- <td><code>visibility</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-collapse</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-wrapOption"><code>tts:wrapOption</code></a></td>
-
- <td><code>wrap-option</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a></td>
-
- <td><code>writing-mode</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>+tblr</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-zIndex"><code>tts:zIndex</code></a></td>
-
- <td><code>z-index</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-id"><code>xml:id</code></a></td>
-
- <td><code>xml:id</code></td>
-
- <td><a href="#xmlid">[XML ID]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-lang"><code>xml:lang</code></a></td>
-
- <td><code>xml:lang</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-space"><code>xml:space</code></a></td>
-
- <td><code>xml:space</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>see notes</td>
-
- <td>12</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Attribute name and/or value(s) are normalized to use
- <em>lowerCamelCase</em> naming convention.</p>
- </li>
-
- <li>
- <p>Restricted to expressing a clock value that denotes one of the following
- in accordance to whether the parameter expressed by the
- <code>ttp:timeBase</code> attribute is <code>media</code>,
- <code>smpte</code>, or <code>clock</code>, respectively: (1) an offset from
- an implicit syncbase that is linked to a media time line, (2) an event time
- that represents the occurrence of an implicit media marker, or (3) a
- wall-clock time.</p>
- </li>
-
- <li>
- <p>Syntactically subsets and supersets the <a href="#smil21">[SMIL
- 2.1]</a> <code>Clock-value</code> syntax as follows: (1) requires
- non-negative <code>Full-clock-value</code> or <code>Timecount-value</code>;
- (2) if <code>Full-clock-value</code> then <em>hours</em> must be two or
- more digits; (3) if <code>Timecount-value</code>, then <em>metric</em> must
- be specified; (4) uses <code>m</code> as alias for <code>min</code> metric
- to denote minutes; (5) adds <code>f</code> and <code>t</code> metrics
- denoting frames and ticks, respectively; (6) adds alternative expression of
- optional <code>Fraction</code> in <code>Full-clock-value</code> by
- specifying frame count or frame count with subframe count.</p>
- </li>
-
- <li>
- <p>Interpretation of time expression is further constrained by parameters
- expressed by <code>ttp:clockMode</code>, <code>ttp:dropMode</code>,
- <code>ttp:frameRate</code>, <code>ttp:frameRateMultiplier</code>,
- <code>ttp:markerMode</code>, <code>ttp:subFrameRate</code>,
- <code>ttp:tickRate</code>, and <code>ttp:timeBase</code> attributes.</p>
- </li>
-
- <li>
- <p>Uses subset of named colors from model to which two aliases are added as
- follows: <code>magenta</code> as <code>fuchsia</code>, and
- <code>cyan</code> as <code>aqua</code>.</p>
- </li>
-
- <li>
- <p>If not specified, then parallel (par) container semantics apply to the
- element types specified by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>.</p>
- </li>
-
- <li>
- <p>Restricts size to length specification which can be a percentage; adds
- optional second length (or percentage) for specifying separate horizontal
- and vertical scaling of glyph's EM square.</p>
- </li>
-
- <li>
- <p>Expressed in terms of writing mode relative padding properties rather
- than absolute padding properties.</p>
- </li>
-
- <li>
- <p>Excludes <code>blink</code> and <code>no-blink</code> values.</p>
- </li>
-
- <li>
- <p>Uses only one length specification instead of two, where one length
- defines distance of outline effect from nominal edge of glyph contour
- outline perpendicular to point of glyph contour. Percentage lengths are
- also added to express outline effect in relative to font size. Outline
- effects are intended to be drawn both outside of outer closed contours and
- inside of inner closed contours.</p>
- </li>
-
- <li>
- <p>On root element, default attribute value specified as
- <code>default</code>, which is defined in terms of whitespace
- normalization. Semantics of preservation and default normalization are
- defined in terms of presentation semantics by <a href=
- "#content-attribute-space"><b>7.2.3 xml:space</b></a>.</p>
- </li>
-
- <li>
- <p>Defined to be inheritable.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="qa" name="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="d3e19629" name="d3e19629"></a>K.1 Requirements</h3><a id=
- "qa-framework-requirements-table" name="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="d3e19793" name="d3e19793"></a>K.2 Guidelines</h3><a id=
- "qa-framework-guidelines-table" name="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">
- <h2><a id="streaming" name="streaming"></a>L Streaming TTML Content
- (Non-Normative)</h2>
-
- <p>TTML Content is designed to support streamability by implementing the following
- properties:</p>
-
- <ul>
- <li>
- <p>can be progressively encoded (i.e., does not require computing subsequent
- data prior to sending current data);</p>
- </li>
-
- <li>
- <p>can be progressively decoded (i.e., does not require forward references, but
- uses only reverse references when necessary);</p>
- </li>
-
- <li>
- <p>does not require dereferencing (and subsequent loading) of any resources
- other than TTML Content (i.e., no embedded URIs);</p>
- </li>
-
- <li>
- <p>does not support alternative content forms (e.g., different language,
- graphics formats, time bases) in a single document;</p>
- </li>
-
- <li>
- <p>has timing structure compiled into inline format that makes possible a
- temporal ordering of content that follows temporal presentation order;</p>
- </li>
-
- <li>
- <p>constrains content models to prevent arbitrary nested content
- structures;</p>
- </li>
- </ul>
-
- <p>One possible means by which TTML Content may be streamed is to partition a
- <em>Document Instance</em>'s information set into non-overlapping fragments, where
- one particular fragment, call it the <em>root fragment</em>, represents the front
- matter (head) of the <em>Document Instance</em> as well as its top level structural
- elements, and other fragments represent content whose time intervals are expected
- to be active in parallel.</p>
-
- <p>In applications that require arbitrary (random) entry into a stream, i.e., the
- property of being able to start reading data at an arbitrary data access unit, the
- root fragment will be repetitively transmitted (inserted) into the stream in order
- to permit a decoder to resynchronize and acquire sufficient structural information
- in the information set in order to interpret subsequent content 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" name=
- "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" name="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 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" name="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 <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 speeding up or slowing down 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" name=
- "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, 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"
- name="clock-time-and-real-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Real Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><code>R = C + epochOffset + discontinuityOffset</code><br>
- <br>
- where <code>C ∈ ℜ</code>, <code>0 ≤ C < ∞</code>, <code>C</code> in
- seconds since the most immediately prior midnight of the reference
- clock base;<br>
- <br>
- <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
- <code>epochOffset</code> in seconds, with 0 being the beginning of
- epoch <code>E</code>, and where the value of <code>epochOffset</code>
- is determined from the computed value of the <code>ttp:clockMode</code>
- parameter as follows:<br>
- <br>
- (1) if <code>local</code>, then the difference between the local real
- time at the most immediately prior local midnight and the local real
- time at the beginning of epoch <code>E</code>, expressed in
- seconds;<br>
- <br>
- (2) if <code>gps</code>, then the difference between the GPS time at
- the most immediately prior GPS midnight and the GPS time at the
- beginning of epoch <code>E</code>, expressed in seconds;<br>
- <br>
- (3) if <code>utc</code>, then the difference between the UTC time at
- the most immediately prior UTC midnight and the UTC time at the
- beginning of epoch <code>E</code>, expressed in seconds;<br>
- <br>
- <code>discontinuityOffset ∈ ℜ</code>, <code>−∞ < discontinuityOffset
- < ∞</code>, <code>discontinuityOffset</code> in seconds, and where
- the value of <code>discontinuityOffset</code> is equal to the sum of
- leap seconds (and fractions thereof) that have been added (or
- subtracted) since the most immediately prior midnight in the reference
- clock base;<br>
- <br>
- and <code>epochOffset</code> and <code>discontinuityOffset</code> are
- determined once and only once prior to the beginning of the <em>Root
- Temporal Extent</em> such that during the period between value
- determination and the beginning of the <em>Root Temporal Extent</em>
- there occurs no local midnight or reference clock base
- discontinuity.<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related to clock
- time <span class="strong"><code>C</code></span> as follows:</p><a id=
- "time-expressions-and-clock-time" name="time-expressions-and-clock-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Clock Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p>If a time expression uses the <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
- metric, then:<br>
- <br>
- <code>C = 3600 * hours + 60 * minutes + seconds</code><br>
- <br>
- where <code>hours</code>, <code>minutes</code>, <code>seconds</code>
- components are extracted from time expression if present, or zero if
- not present.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em> form that
- uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>C = ticks / tickRate</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <em>frames</em> and <em>sub-frames</em> terms and the frames
- (<code>f</code>) metric of time expressions do not apply when using the
- <code>clock</code> time base.</p>
- </div>
-
- <p>The clock time base <span class="strong"><code>C</code></span> is independent
- of media time <span class="strong"><code>M</code></span>:</p><a id=
- "clock-time-and-media-time" name="clock-time-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><code>M ¬∝ C</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, timing is disconnected from (not necessarily proportional
- to) media time when the <code>clock</code> time base is used. For example, if
- the media play rate is zero (0), media playback is suspended; however, timing
- coordinates 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" name=
- "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, 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"
- name="media-time-and-real-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Media Time and Real Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><code>R = playRate * M + epochOffset</code><br>
- <br>
- where <code>M ∈ ℜ</code>, <code>0 ≤ M < ∞</code>, <code>M</code> in
- seconds, with 0 corresponding to the beginning of the <em>Root Temporal
- Extent</em>;<br>
- <br>
- <code>playRate ∈ ℜ</code>, <code>−∞ < playRate < ∞</code>,
- <code>playRate</code> is unit-less, and where the value of
- <code>playRate</code> is determined by the document processing
- context;<br>
- <br>
- and <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
- <code>epochOffset</code> in seconds, with 0 corresponding to the
- beginning of an epoch <code>E</code>, and where the value of
- <code>epochOffset</code> is the difference between the local real time
- at the beginning of the <em>Root Temporal Extent</em> and the local
- real time at the the beginning of epoch <code>E</code>, expressed in
- seconds.</p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related to media
- time <span class="strong"><code>M</code></span> in accordance to the
- <code>ttp:frameRate</code>, <code>ttp:subFrameRate</code>, and
- <code>ttp:frameRateMultipler</code> parameters as follows:</p><a id=
- "time-expressions-and-media-time" name="time-expressions-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p>If a time expression uses a <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
- metric, then:<br>
- <br>
- <code>M = containerBegin + 3600 * hours + 60 * minutes + seconds +
- ((frames + (subFrames / subFrameRate)) / effectiveFrameRate)</code><br>
- <br>
- where <code>containerBegin</code> is the media time that corresponds to
- the beginning of the nearest ancestor time container or zero (0) if
- this time container is the <em>Root Temporal Extent</em>;<br>
- <br>
- the <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
- <code>frames</code>, <code>subFrames</code> components are extracted
- from time expression if present, or zero if not present;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em> form that
- uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>M = containerBegin + ticks / tickRate</code><br>
- <br>
- where <code>containerBegin</code> is as described above;<br>
- <br>
- the <code>ticks</code> component is extracted from time expression;<br>
- <br>
- and <code>tickRate</code> is the computed value of the
- <code>ttp:tickRate</code> parameter;<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" name=
- "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, 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 Codes</em> are encountered in the
- <em>Related Media Object</em>.</p>
-
- <p>Otherwise, if the computed value of the <code>ttp:markerMode</code> parameter
- is <code>continuous</code>, then the relationships between time expressions and
- local real time and media time are as described below in terms of a <em>Synthetic
- SMPTE Document Syncbase</em>, here referred to as the SMPTE time base
- <span class="strong"><code>S</code></span>.</p><a id=
- "time-expressions-and-smpte-time" name="time-expressions-and-smpte-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and SMPTE Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><code>S = (countedFrames - droppedFrames + (subFrames /
- subFrameRate)) / effectiveFrameRate</code><br>
- <br>
- where<br>
- <br>
- <code>countedFrames = (3600 * hours + 60 * minutes + seconds) *
- frameRate + frames</code><br>
- <br>
- <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
- <code>frames</code>, <code>subFrames</code> components are extracted
- from time expression if present, or zero if not present;<br>
- <br>
- <code>droppedFrames</code> is computed as follows:<br>
- <br>
- 1. let <em>dropMode</em> be the computed value of the
- <code>ttp:dropMode</code> parameter;<br>
- <br>
- 2. if <em>dropMode</em> is <code>dropNTSC</code>, let
- <code>droppedFrames = (hours * 54 + floor(minutes - minutes/10)) *
- 2</code>;<br>
- <br>
- 3. otherwise, if <em>dropMode</em> is <code>dropPAL</code>, let
- <code>droppedFrames = (hours * 27 + floor(minutes/2 - minutes/20)) *
- 4</code>;<br>
- <br>
- 4. otherwise, let <code>droppedFrames = 0</code>;<br>
- <br>
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<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.<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" name=
- "smpte-time-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – SMPTE Time and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><code>M = containerBegin + S</code><br>
- <br>
- where <code>containerBegin</code> is the SMPTE time that corresponds to
- the beginning of the nearest ancestor time container or zero (0) if
- this time container is the <em>Root Temporal Extent</em>;<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Given the derived media time base as described above, then media time base
- <span class="strong"><code>M</code></span> is related to the local real time
- <span class="strong"><code>R</code></span> as described in <a href=
- "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> above.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="common-styling" name="common-styling"></a>O Common Caption Style
- Examples (Non-Normative)</h2>
-
- <p>This section provides examples of the following common caption styles using TTML
- Content to obtain the desired behavior:</p>
-
- <ul>
- <li>
- <p>Pop-On Captions</p>
- </li>
-
- <li>
- <p>Roll-Up Captions</p>
- </li>
-
- <li>
- <p>Paint-On Captions</p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="pop-on-example" name="pop-on-example"></a>O.1 Pop-On Caption
- Example</h3>
-
- <p>An example of paint-on captions. In this example, two regions are targeted
- with alternating, paint-on content, where content is timed using explicit
- sequential time containment rules. Each paragraph is non-overlapping in time and
- appears in the same single row of its targeted region.</p><a id=
- "pop-on-example-1-s" name="pop-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Pop-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 1c"/>
- <region xml:id="r2" tts:color="yellow" tts:origin="10c 8c" tts:extent="40c 1c"/>
- </layout>
- </head>
- <body>
- <div timeContainer="seq">
- <p region="r1" dur="4s">Lorem ipsum dolor sit</p
- <p region="r2" dur="4s">Amet consectetur adipiscing elit</p>
- <p region="r1" dur="6s">Sed do eiusmod tempor incididunt labore</p>
- <p region="r2" dur="4s">et dolore magna aliqua</p>
- <p region="r1" dur="7s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="roll-up-example" name="roll-up-example"></a>O.2 Roll-Up Caption
- Example</h3>
-
- <p>An example of roll-up captions. Roll-up effects are achieved by using
- overlapped time intervals, where zero, one, or two paragraphs appear in the
- region at a given time. Each paragraph consumes a single row (line) of the region
- since no wrapping occurs. Depending on whether a presentation processor supports
- <a href="#semantics-smooth-scrolling-recommendation">smooth scrolling between
- adjacent synchronic intermediate document instances</a>, the transitions, i.e.,
- moving an old paragraph (line) out and a new paragraph (line) in, will be either
- smooth or discrete.</p><a id="roll-up-example-1-s" name=
- "roll-up-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Roll-Up Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 2c"/>
- </layout>
- </head>
- <body>
- <div region="r1">
- <p begin="0s" end="8s">Lorem ipsum dolor sit</p
- <p begin="4s" end="12s">Amet consectetur adipiscing elit</p>
- <p begin="8s" end="18s">Sed do eiusmod tempor incididunt labore</p>
- <p begin="14s" end="25s">et dolore magna aliqua</p>
- <p begin="18s" end="29s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="paint-on-example" name="paint-on-example"></a>O.3 Paint-On Caption
- Example</h3>
-
- <p>An example of paint-on captions. Paint-on effects are achieved by using timed
- <code>span</code> elements in order to expose (paint) inline text units, e.g.,
- words, over some time interval. Here, five paragraphs have their individual words
- sequentially timed in order to paint one new word every second. The end of the
- active duration of each inline element coincides with the end of the
- <code>div</code> element's parallel time container, so that once a word is
- painted, it remains in the region (on its rendered line) until the
- <code>div</code> element's active time interval lapses.</p><a id=
- "paint-on-example-1-s" name="paint-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Paint-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 5c"/>
- </layout>
- </head>
- <body>
- <div begin="0s" end="25s">
- <p>
- <span begin="0s">Lorem</span>
- <span begin="1s">ipsum</span>
- <span begin="2s">dolor</span>
- <span begin="3s">sit</span>
- </p>
- <p>
- <span begin="4s">Amet</span>
- <span begin="5s">consectetur</span>
- <span begin="6s">adipiscing</span>
- <span begin="7s">elit</span>
- </p>
- <p>
- <span begin="8s">Sed</span>
- <span begin="9s">do</span>
- <span begin="10s">eiusmod</span>
- <span begin="11s">tempor</span>
- <span begin="12s">incididunt </span>
- <span begin="13s">labore</span>
- </p>
- <p>
- <span begin="14s">et</span>
- <span begin="15s">dolore</span>
- <span begin="16s">magna</span>
- <span begin="17s">aliqua</span>
- </p>
- <p>
- <span begin="18s">Ut</span>
- <span begin="19s">enim</span>
- <span begin="20s">ad</span>
- <span begin="21s">minim</span>
- <span begin="22s">veniam</span>
- <span begin="23s">quis,</span>
- <span begin="24s">nostrud</span>
- </p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="acknowledgments" name="acknowledgments"></a>P Acknowledgments
- (Non-Normative)</h2>
-
- <p>The editor acknowledges the current and former members of the Timed Text Working
- Group, the members of other W3C Working Groups, and industry experts in other
- forums who have contributed directly or indirectly to the process or content of
- this document as follows:</p>
-
- <p>Glenn Adams, Thomas Bause-Mason, John Birch, Kees Blom, Bert Bos, Brad Botkin,
- Dick Bulterman, Frans de Jong, Mike Dolan, Martin Dürst, Donald Evans, Geoff Freed,
- Al Gilman, Giles Godart-Brown, Markus Gylling, Markku Hakkinen, Sean Hayes, Erik
- Hodge, Philipp Hoschka, Suzi Hyun, Michael Jordan, Masahiko Kaneko, Courtney
- Kennedy, George Kerscher, David Kirby, Andrew Kirkpatrick, Philippe Le Hégaret,
- Chris Lilley, Pierre-Anthony Lemieux, Jason Livingston, Monica Martin, Thierry
- Michel, Matthew May, Frank Olivier, Soohong Daniel Park, Silvia Pfeiffer, Brian
- Raymor, David Ronca, Patrick Schmitz, David Singer, Craig Smithpeters, Andreas Tai,
- and Mohamed Zergaoui.</p>
-
- <p>The editor wishes to especially acknowledge the following contributions by
- members: Micheal Dolan (SMPTE time codes, streaming; SMPTE liaison), David Kirby
- (introductory example document; SMPTE time codes, descriptive metadata; EBU/AAF
- liaison), Geoff Freed (styling and example images of style properties), Sean Hayes
- (advanced profile concepts, including applicative timing), Eric Hodge (timing),
- Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p>
-
- <p>The Working Group dedicates this specification to our colleague David Kirby.</p>
- </div>
- </div>
-</body>
-</html>
Binary file ttml10/spec/PER-ttaf1-dfxp-201305DD.zip has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709.zip has changed
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml10/spec/PER-ttaf1-dfxp-20130709/PER-ttaf1-dfxp-20130709.html Fri Jun 28 00:19:59 2013 -0600
@@ -0,0 +1,20379 @@
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
+
+<html lang="en-us">
+<head>
+ <meta name="generator" content=
+ "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
+ <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
+
+ <title>Timed Text Markup Language (TTML) 1.0 (Second Edition)</title>
+ <style type="text/css">
+code { font-family: monospace; }
+
+ div.constraint,
+ div.issue,
+ div.note,
+ div.notice { margin-left: 2em; }
+
+ ol.enumar { list-style-type: decimal; }
+ ol.enumla { list-style-type: lower-alpha; }
+ ol.enumlr { list-style-type: lower-roman; }
+ ol.enumua { list-style-type: upper-alpha; }
+ ol.enumur { list-style-type: upper-roman; }
+
+
+ div.exampleInner pre { margin-left: 1em;
+ margin-top: 0em; margin-bottom: 0em}
+ div.exampleOuter {border: 4px double gray;
+ margin: 0em; padding: 0em}
+ div.exampleInner { background-color: #d5dee3;
+ border-top-width: 4px;
+ border-top-style: double;
+ border-top-color: #d3d3d3;
+ border-bottom-width: 4px;
+ border-bottom-style: double;
+ border-bottom-color: #d3d3d3;
+ padding: 4px; margin: 0em }
+ div.exampleWrapper { margin: 4px }
+ div.exampleHeader { font-weight: bold;
+ margin: 4px}
+
+ li p { margin-top: 0.3em; margin-bottom: 0.3em; }
+ div.issue { border: 2px solid black; background-color: #ffff66; padding: 0em 1em; margin: 0em 0em }
+ table.ednote { border-collapse: collapse; border: 2px solid black; width: 85% }
+ table.ednote td { background-color: #ddaa66; border: 2px solid black }
+ table.acronyms td.label { width: 15% }
+ table.acronyms td.def { width: 65% }
+ table.graphic { border: 0px none black; width: 100%; border-collapse: collapse }
+ table.graphic caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+ table.graphic td { border: 0px none black; text-align: center }
+ table.common { border: 2px solid black; width: 85%; border-collapse: collapse }
+ table.common caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+ table.common th { padding: 0em 0.5em; border: 2px solid black; text-align: left }
+ table.common td { padding: 0em 0.5em; border: 2px solid black }
+ table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
+ table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+ table.syntax th { border: 0px solid black; text-align: left }
+ table.syntax td { border: 0px solid black }
+ table.syntax div { background-color: #ffffc8 }
+ table.semantics { border: 0px solid black; width: 85%; border-collapse: collapse }
+ table.semantics caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+ table.semantics th { border: 0px solid black; text-align: left }
+ table.semantics td {
+ border-left: 0px solid black;
+ border-right: 0px solid black;
+ border-top: 4px double #d3d3d3;
+ border-bottom: 4px double #d3d3d3;
+ background-color: #ccffcc
+ }
+ table.semantics code.formulae {
+ padding: 1em;
+ border: 1px dashed #005a9c;
+ line-height: 1.1em;
+ background-color: #fdfdfd;
+ }
+ table.example { border: 0px solid black; width: 85%; border-collapse: collapse }
+ table.example caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+ table.example th { border: 0px solid black; text-align: left }
+ table.example td { border: 0px solid black; }
+ table.example div { background-color: #c8ffff }
+ table.example-images { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
+ table.example-images caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+ table.example-images td { border: 0px solid black; text-align: center }
+ table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
+ table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+ table.example-images-bordered td { border: 1px solid red; text-align: left }
+ .tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
+ .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-PER.css">
+</head>
+
+<body>
+ <div class="head">
+ <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C"
+ height="48" width="72"></a></p>
+
+ <h1><a id="title" name="title"></a>Timed Text Markup Language (TTML) 1.0 (Second
+ Edition)</h1>
+
+ <h2><a id="w3c-doctype" name="w3c-doctype"></a>W3C Proposed Edited Recommendation 09
+ July 2013</h2>
+
+ <dl>
+ <dt>This version:</dt>
+
+ <dd><a href=
+ "http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/">http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/</a></dd>
+
+ <dt>Latest version:</dt>
+
+ <dd><a href=
+ "http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</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></dd>
+
+ <dt>Editor:</dt>
+
+ <dd>Glenn Adams, Cox Communications, Inc.</dd>
+
+ <dt>Contributing Authors:</dt>
+
+ <dd>Mike Dolan, Invited Expert</dd>
+
+ <dd>Geoff Freed, WGBH National Center for Accessible Media</dd>
+
+ <dd>Sean Hayes, Microsoft</dd>
+
+ <dd>Erik Hodge, RealNetworks</dd>
+
+ <dd>David Kirby, British Broadcasting Corporation (BBC)</dd>
+
+ <dd>Thierry Michel, W3C</dd>
+
+ <dd>Dave Singer, Apple Computer</dd>
+ </dl>
+
+ <p>Please refer to the <a href=
+ "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-issues.html">errata</a>
+ for this document, which may include normative corrections.</p>
+
+ <p>See also <a href=
+ "http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp"><strong>translations</strong></a>.</p>
+
+ <p class="copyright"><a href=
+ "http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
+ (<a href="http://www.csail.mit.edu/"><acronym title=
+ "Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
+ "http://www.ercim.eu/"><acronym title=
+ "European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
+ <a href="http://www.keio.ac.jp/">Keio</a>, <a href=
+ "http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href=
+ "http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
+ <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
+ and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
+ rules apply.</p>
+ </div>
+ <hr>
+
+ <div>
+ <h2><a id="abstract" name="abstract"></a>Abstract</h2>
+
+ <p>This document specifies the Timed Text Markup Language (TTML) in terms of a
+ vocabulary and semantics thereof.</p>
+
+ <p>The Timed Text Markup Language is a content type that represents timed text media
+ for the purpose of interchange among authoring systems. Timed text is textual
+ information that is intrinsically or extrinsically associated with timing
+ information.</p>
+
+ <p>It is intended to be used for the purpose of transcoding or exchanging timed text
+ information among legacy distribution content formats presently in use for subtitling
+ and captioning functions.</p>
+
+ <p>In addition to being used for interchange among legacy distribution content
+ formats, TTML Content may be used directly as a distribution format, for example,
+ providing a standard content format to reference from a <code><track></code>
+ element in an HTML5 document, or a <code><text></code> or
+ <code><textstream></code> media element in a <a href="#smil21">[SMIL 2.1]</a>
+ document.</p>
+ </div>
+
+ <div>
+ <h2><a id="status" name="status"></a>Status of this Document</h2>
+
+ <p><em>This section describes the status of this document at the time of its
+ publication. Other documents may supersede this document. A list of current W3C
+ publications and the latest revision of this technical report can be found in the
+ <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
+ http://www.w3.org/TR/.</em></p>
+
+ <p>This document, published on 09 July 2013, is a <a href=
+ "http://www.w3.org/2005/10/Process-20051014/tr.html#ProposedEditedRec">Proposed
+ Edited Recommendation</a> of the W3C. This second edition is not a new version of
+ this specification; its purpose is to clarify a number of issues that have become
+ apparent since the first edition was published.</p>
+
+ <p>This document has been produced by the <a href=
+ "http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as part of the
+ W3C <a href="http://www.w3.org/2008/WebVideo/">Video in the Web Activity</a>,
+ following the procedures set out for the W3C <a href=
+ "http://www.w3.org/Consortium/Process/">Process</a>. The authors of this document are
+ listed in the header of this document, including input and review by liaisons from
+ the <a href="http://www3.ebu.ch/cms/en/home">European Broadcasting Union (EBU)</a>,
+ and the <a href="https://www.smpte.org">Society of Motion Picture & Television
+ Engineers (SMPTE)</a>.</p>
+
+ <p>Publication as a Proposed Edited Recommendation does not imply endorsement by the
+ W3C Membership. This is a draft document and may be updated, replaced or obsoleted by
+ other documents at any time. It is inappropriate to cite this document as other than
+ work in progress.</p>
+
+ <p>W3C Advisory Committee Members are invited to send formal review comments on this
+ Proposed Edited Recommendation to the W3C Team until 06 August 2013. Members of the
+ W3C Advisory Committee will find the appropriate review form for this document by
+ consulting their <a href="http://www.w3.org/2002/09/wbs/myQuestionnaires">list of WBS
+ questionnaires</a>.</p>
+
+ <p>This document incorporates changes made against the <a href=
+ "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">Recommendation</a> of 18
+ November 2010 that resolve all errata known at the date of publication. A list of the
+ errata that have been applied is provided in <a href=
+ "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-changes.html#change-history-rec-to-2e-per">
+ Changes from Recommendation to Proposed Edited Recommendation (2nd Ed.)</a>.</p>
+
+ <p>Please report errors in and submit comments on this document to the W3C Timed Text
+ public comments mailing list, <a href=
+ "mailto:public-tt-comments@w3.org">public-tt-comments@w3.org</a>. Please include the
+ string <code>[ttml10se]</code> at the beginning of the subject line of your report.
+ Each email message should contain only one error report. Archives of the comments and
+ responses are available at <a href=
+ "http://lists.w3.org/Archives/Public/public-tt-comments/">http://lists.w3.org/Archives/Public/public-tt-comments/</a>.</p>
+
+ <p>An updated <a href="http://www.w3.org/2009/05/dfxp-results.html">implementation
+ report</a> will be made available, but the decision of the Director to transition
+ this document to Proposed Edited Recommendation did not depend on the existence of
+ that report.</p>
+
+ <p>The Timed Text Working Group plans to submit this specification for consideration
+ as a W3C Recommendation (Second Edition) as soon as the Working Group has responded
+ formally to all issues raised during the PER review period against this document.</p>
+
+ <p>This document was produced by a group operating under the <a href=
+ "http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
+ Policy</a>. W3C maintains a <a href=
+ "http://www.w3.org/2004/01/pp-impl/34314/status#disclosures" rel="disclosure">public
+ list of any patent disclosures</a> made in connection with the deliverables of the
+ group; that page also includes instructions for disclosing a patent. An individual
+ who has actual knowledge of a patent which the individual believes contains <a href=
+ "http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
+ Claim(s)</a> must disclose the information in accordance with <a href=
+ "http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of
+ the W3C Patent Policy</a>.</p>
+ </div>
+
+ <div class="toc">
+ <h2><a id="contents" name="contents"></a>Table of Contents</h2>
+
+ <p class="toc">1 <a href="#intro">Introduction</a><br>
+ 1.1 <a href="#model">System Model</a><br>
+ 1.2 <a href="#example">Document Example</a><br>
+ 2 <a href="#definitions">Definitions</a><br>
+ 2.1 <a href="#acronyms">Acronyms</a><br>
+ 2.2 <a href="#terms">Terminology</a><br>
+ 2.3 <a href="#conventions">Documentation Conventions</a><br>
+ 3 <a href="#conformance">Conformance</a><br>
+ 3.1 <a href="#conformance-content">Content
+ Conformance</a><br>
+ 3.2 <a href="#conformance-processor">Processor
+ Conformance</a><br>
+ 3.2.1 <a href=
+ "#conformance-generic-processor">Generic Processor Conformance</a><br>
+ 3.2.2 <a href=
+ "#conformance-transformation-processor">Transformation Processor Conformance</a><br>
+ 3.2.3 <a href=
+ "#conformance-presentation-processor">Presentation Processor Conformance</a><br>
+ 3.3 <a href="#claims">Claims</a><br>
+ 4 <a href="#doctypes">Document Types</a><br>
+ 4.1 <a href="#ttml-content-doctype">TTML Content</a><br>
+ 5 <a href="#vocabulary">Vocabulary</a><br>
+ 5.1 <a href="#vocabulary-namespaces">Namespaces</a><br>
+ 5.2 <a href="#vocabulary-profiles">Profiles</a><br>
+ 5.3 <a href="#vocabulary-overview">Catalog</a><br>
+ 5.3.1 <a href=
+ "#core-vocabulary-overview">Core Catalog</a><br>
+ 5.3.2 <a href=
+ "#extension-vocabulary-overview">Extension Catalog</a><br>
+ 6 <a href="#parameters">Parameters</a><br>
+ 6.1 <a href="#parameter-element-vocabulary">Parameter Element
+ Vocabulary</a><br>
+ 6.1.1 <a href=
+ "#parameter-vocabulary-profile">ttp:profile</a><br>
+ 6.1.2 <a href=
+ "#parameter-vocabulary-features">ttp:features</a><br>
+ 6.1.3 <a href=
+ "#parameter-vocabulary-feature">ttp:feature</a><br>
+ 6.1.4 <a href=
+ "#parameter-vocabulary-extensions">ttp:extensions</a><br>
+ 6.1.5 <a href=
+ "#parameter-vocabulary-extension">ttp:extension</a><br>
+ 6.2 <a href="#parameter-attribute-vocabulary">Parameter
+ Attribute Vocabulary</a><br>
+ 6.2.1 <a href=
+ "#parameter-attribute-cellResolution">ttp:cellResolution</a><br>
+ 6.2.2 <a href=
+ "#parameter-attribute-clockMode">ttp:clockMode</a><br>
+ 6.2.3 <a href=
+ "#parameter-attribute-dropMode">ttp:dropMode</a><br>
+ 6.2.4 <a href=
+ "#parameter-attribute-frameRate">ttp:frameRate</a><br>
+ 6.2.5 <a href=
+ "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultiplier</a><br>
+ 6.2.6 <a href=
+ "#parameter-attribute-markerMode">ttp:markerMode</a><br>
+ 6.2.7 <a href=
+ "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br>
+ 6.2.8 <a href=
+ "#parameter-attribute-profile">ttp:profile</a><br>
+ 6.2.9 <a href=
+ "#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
+ 6.2.10 <a href=
+ "#parameter-attribute-tickRate">ttp:tickRate</a><br>
+ 6.2.11 <a href=
+ "#parameter-attribute-timeBase">ttp:timeBase</a><br>
+ 7 <a href="#content">Content</a><br>
+ 7.1 <a href="#content-element-vocabulary">Content Element
+ Vocabulary</a><br>
+ 7.1.1 <a href=
+ "#document-structure-vocabulary-tt">tt</a><br>
+ 7.1.2 <a href=
+ "#document-structure-vocabulary-head">head</a><br>
+ 7.1.3 <a href=
+ "#document-structure-vocabulary-body">body</a><br>
+ 7.1.4 <a href=
+ "#content-vocabulary-div">div</a><br>
+ 7.1.5 <a href=
+ "#content-vocabulary-p">p</a><br>
+ 7.1.6 <a href=
+ "#content-vocabulary-span">span</a><br>
+ 7.1.7 <a href=
+ "#content-vocabulary-br">br</a><br>
+ 7.2 <a href="#content-attribute-vocabulary">Content Attribute
+ Vocabulary</a><br>
+ 7.2.1 <a href=
+ "#content-attribute-id">xml:id</a><br>
+ 7.2.2 <a href=
+ "#content-attribute-lang">xml:lang</a><br>
+ 7.2.3 <a href=
+ "#content-attribute-space">xml:space</a><br>
+ 8 <a href="#styling">Styling</a><br>
+ 8.1 <a href="#styling-element-vocabulary">Styling Element
+ Vocabulary</a><br>
+ 8.1.1 <a href=
+ "#styling-vocabulary-styling">styling</a><br>
+ 8.1.2 <a href=
+ "#styling-vocabulary-style">style</a><br>
+ 8.2 <a href="#styling-attribute-vocabulary">Styling Attribute
+ Vocabulary</a><br>
+ 8.2.1 <a href=
+ "#style-attribute-style">style</a><br>
+ 8.2.2 <a href=
+ "#style-attribute-backgroundColor">tts:backgroundColor</a><br>
+ 8.2.3 <a href=
+ "#style-attribute-color">tts:color</a><br>
+ 8.2.4 <a href=
+ "#style-attribute-direction">tts:direction</a><br>
+ 8.2.5 <a href=
+ "#style-attribute-display">tts:display</a><br>
+ 8.2.6 <a href=
+ "#style-attribute-displayAlign">tts:displayAlign</a><br>
+ 8.2.7 <a href=
+ "#style-attribute-extent">tts:extent</a><br>
+ 8.2.8 <a href=
+ "#style-attribute-fontFamily">tts:fontFamily</a><br>
+ 8.2.9 <a href=
+ "#style-attribute-fontSize">tts:fontSize</a><br>
+ 8.2.10 <a href=
+ "#style-attribute-fontStyle">tts:fontStyle</a><br>
+ 8.2.11 <a href=
+ "#style-attribute-fontWeight">tts:fontWeight</a><br>
+ 8.2.12 <a href=
+ "#style-attribute-lineHeight">tts:lineHeight</a><br>
+ 8.2.13 <a href=
+ "#style-attribute-opacity">tts:opacity</a><br>
+ 8.2.14 <a href=
+ "#style-attribute-origin">tts:origin</a><br>
+ 8.2.15 <a href=
+ "#style-attribute-overflow">tts:overflow</a><br>
+ 8.2.16 <a href=
+ "#style-attribute-padding">tts:padding</a><br>
+ 8.2.17 <a href=
+ "#style-attribute-showBackground">tts:showBackground</a><br>
+ 8.2.18 <a href=
+ "#style-attribute-textAlign">tts:textAlign</a><br>
+ 8.2.19 <a href=
+ "#style-attribute-textDecoration">tts:textDecoration</a><br>
+ 8.2.20 <a href=
+ "#style-attribute-textOutline">tts:textOutline</a><br>
+ 8.2.21 <a href=
+ "#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
+ 8.2.22 <a href=
+ "#style-attribute-visibility">tts:visibility</a><br>
+ 8.2.23 <a href=
+ "#style-attribute-wrapOption">tts:wrapOption</a><br>
+ 8.2.24 <a href=
+ "#style-attribute-writingMode">tts:writingMode</a><br>
+ 8.2.25 <a href=
+ "#style-attribute-zIndex">tts:zIndex</a><br>
+ 8.3 <a href="#styling-style-value-expressions">Style Value
+ Expressions</a><br>
+ 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.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.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>
+ 8.4.1.2
+ <a href="#semantics-style-association-referential">Referential Styling</a><br>
+ 8.4.1.3
+ <a href="#semantics-style-association-chained-referential">Chained Referential
+ Styling</a><br>
+ 8.4.1.4
+ <a href="#semantics-style-association-nested">Nested Styling</a><br>
+ 8.4.2 <a href=
+ "#semantics-style-inheritance">Style Inheritance</a><br>
+ 8.4.2.1
+ <a href="#semantics-style-inheritance-content">Content Style Inheritance</a><br>
+ 8.4.2.2
+ <a href="#semantics-style-inheritance-region">Region Style Inheritance</a><br>
+ 8.4.3 <a href=
+ "#semantics-style-resolution-value-categories">Style Resolution Value
+ Categories</a><br>
+ 8.4.3.1
+ <a href="#semantics-style-resolved-value-category-specified">Specified Values</a><br>
+ 8.4.3.2
+ <a href="#semantics-style-resolved-value-category-computed">Computed Values</a><br>
+ 8.4.3.3
+ <a href="#semantics-style-resolved-value-category-actual">Actual Values</a><br>
+ 8.4.4 <a href=
+ "#semantics-style-resolution-processing">Style Resolution Processing</a><br>
+ 8.4.4.1
+ <a href="#semantics-style-resolution-processing-definitions">Conceptual
+ Definitions</a><br>
+ 8.4.4.2
+ <a href="#semantics-style-resolution-processing-sss">Specified Style Set
+ Processing</a><br>
+ 8.4.4.3
+ <a href="#semantics-style-resolution-processing-css">Computed Style Set
+ Processing</a><br>
+ 8.4.4.4
+ <a href="#semantics-style-resolution-process-overall">Style Resolution
+ Process</a><br>
+ 9 <a href="#layout">Layout</a><br>
+ 9.1 <a href="#layout-element-vocabulary">Layout Element
+ Vocabulary</a><br>
+ 9.1.1 <a href=
+ "#layout-vocabulary-layout">layout</a><br>
+ 9.1.2 <a href=
+ "#layout-vocabulary-region">region</a><br>
+ 9.2 <a href="#layout-attribute-vocabulary">Layout Attribute
+ Vocabulary</a><br>
+ 9.2.1 <a href=
+ "#layout-attribute-region">region</a><br>
+ 9.3 <a href="#semantics-region-layout">Region Layout and
+ Presentation</a><br>
+ 9.3.1 <a href=
+ "#semantics-default-region">Default Region</a><br>
+ 9.3.2 <a href=
+ "#semantics-region-layout-step-1">Intermediate Synchronic Document
+ Construction</a><br>
+ 9.3.3 <a href=
+ "#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
+ 9.3.4 <a href=
+ "#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
+ 9.4 <a href="#semantics-line-layout">Line Layout</a><br>
+ 10 <a href="#timing">Timing</a><br>
+ 10.1 <a href="#timing-element-vocabulary">Timing Element
+ Vocabulary</a><br>
+ 10.2 <a href="#timing-attribute-vocabulary">Timing Attribute
+ Vocabulary</a><br>
+ 10.2.1 <a href=
+ "#timing-attribute-begin">begin</a><br>
+ 10.2.2 <a href=
+ "#timing-attribute-end">end</a><br>
+ 10.2.3 <a href=
+ "#timing-attribute-dur">dur</a><br>
+ 10.2.4 <a href=
+ "#timing-attribute-timeContainer">timeContainer</a><br>
+ 10.3 <a href="#timing-time-value-expressions">Time Value
+ Expressions</a><br>
+ 10.3.1 <a href=
+ "#timing-value-timeExpression"><timeExpression></a><br>
+ 10.4 <a href="#timing-time-intervals">Time Intervals</a><br>
+ 11 <a href="#animation">Animation</a><br>
+ 11.1 <a href="#animation-element-vocabulary">Animation
+ Element Vocabulary</a><br>
+ 11.1.1 <a href=
+ "#animation-vocabulary-set">set</a><br>
+ 11.2 <a href="#animation-attribute-vocabulary">Animation
+ Attribute Vocabulary</a><br>
+ 12 <a href="#metadata">Metadata</a><br>
+ 12.1 <a href="#metadata-element-vocabulary">Metadata Element
+ Vocabulary</a><br>
+ 12.1.1 <a href=
+ "#metadata-vocabulary-metadata">metadata</a><br>
+ 12.1.2 <a href=
+ "#metadata-vocabulary-title">ttm:title</a><br>
+ 12.1.3 <a href=
+ "#metadata-vocabulary-desc">ttm:desc</a><br>
+ 12.1.4 <a href=
+ "#metadata-vocabulary-copyright">ttm:copyright</a><br>
+ 12.1.5 <a href=
+ "#metadata-vocabulary-agent">ttm:agent</a><br>
+ 12.1.6 <a href=
+ "#metadata-vocabulary-name">ttm:name</a><br>
+ 12.1.7 <a href=
+ "#metadata-vocabulary-actor">ttm:actor</a><br>
+ 12.2 <a href="#metadata-attribute-vocabulary">Metadata
+ Attribute Vocabulary</a><br>
+ 12.2.1 <a href=
+ "#metadata-attribute-agent">ttm:agent</a><br>
+ 12.2.2 <a href=
+ "#metadata-attribute-role">ttm:role</a><br></p>
+
+ <h3><a id="appendices" name="appendices"></a>Appendices</h3>
+
+ <p class="toc">A <a href="#reduced-infoset">Reduced XML Infoset</a><br>
+ A.1 <a href="#reduced-infoset-document">Document Information
+ Item</a><br>
+ A.2 <a href="#reduced-infoset-element">Element Information
+ Item</a><br>
+ A.3 <a href="#reduced-infoset-attribute">Attribute
+ Information Item</a><br>
+ A.4 <a href="#reduced-infoset-character">Character
+ Information Item</a><br>
+ 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>
+ 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>
+ D.1.2 <a href=
+ "#feature-backgroundColor">#backgroundColor</a><br>
+ D.1.3 <a href=
+ "#feature-backgroundColor-block">#backgroundColor-block</a><br>
+ D.1.4 <a href=
+ "#feature-backgroundColor-inline">#backgroundColor-inline</a><br>
+ D.1.5 <a href=
+ "#feature-backgroundColor-region">#backgroundColor-region</a><br>
+ D.1.6 <a href=
+ "#feature-bidi">#bidi</a><br>
+ D.1.7 <a href=
+ "#feature-cellResolution">#cellResolution</a><br>
+ D.1.8 <a href=
+ "#feature-clockMode">#clockMode</a><br>
+ D.1.9 <a href=
+ "#feature-clockMode-gps">#clockMode-gps</a><br>
+ D.1.10 <a href=
+ "#feature-clockMode-local">#clockMode-local</a><br>
+ D.1.11 <a href=
+ "#feature-clockMode-utc">#clockMode-utc</a><br>
+ D.1.12 <a href=
+ "#feature-color">#color</a><br>
+ D.1.13 <a href=
+ "#feature-content">#content</a><br>
+ D.1.14 <a href=
+ "#feature-core">#core</a><br>
+ D.1.15 <a href=
+ "#feature-direction">#direction</a><br>
+ D.1.16 <a href=
+ "#feature-display">#display</a><br>
+ D.1.17 <a href=
+ "#feature-display-block">#display-block</a><br>
+ D.1.18 <a href=
+ "#feature-display-inline">#display-inline</a><br>
+ D.1.19 <a href=
+ "#feature-display-region">#display-region</a><br>
+ D.1.20 <a href=
+ "#feature-displayAlign">#displayAlign</a><br>
+ D.1.21 <a href=
+ "#feature-dropMode">#dropMode</a><br>
+ D.1.22 <a href=
+ "#feature-dropMode-dropNTSC">#dropMode-dropNTSC</a><br>
+ D.1.23 <a href=
+ "#feature-dropMode-dropPAL">#dropMode-dropPAL</a><br>
+ D.1.24 <a href=
+ "#feature-dropMode-nonDrop">#dropMode-nonDrop</a><br>
+ D.1.25 <a href=
+ "#feature-extent">#extent</a><br>
+ D.1.26 <a href=
+ "#feature-extent-region">#extent-region</a><br>
+ D.1.27 <a href=
+ "#feature-extent-root">#extent-root</a><br>
+ D.1.28 <a href=
+ "#feature-fontFamily">#fontFamily</a><br>
+ D.1.29 <a href=
+ "#feature-fontFamily-generic">#fontFamily-generic</a><br>
+ D.1.30 <a href=
+ "#feature-fontFamily-non-generic">#fontFamily-non-generic</a><br>
+ D.1.31 <a href=
+ "#feature-fontSize">#fontSize</a><br>
+ D.1.32 <a href=
+ "#feature-fontSize-anamorphic">#fontSize-anamorphic</a><br>
+ D.1.33 <a href=
+ "#feature-fontSize-isomorphic">#fontSize-isomorphic</a><br>
+ D.1.34 <a href=
+ "#feature-fontStyle">#fontStyle</a><br>
+ D.1.35 <a href=
+ "#feature-fontStyle-italic">#fontStyle-italic</a><br>
+ D.1.36 <a href=
+ "#feature-fontStyle-oblique">#fontStyle-oblique</a><br>
+ D.1.37 <a href=
+ "#feature-fontWeight">#fontWeight</a><br>
+ D.1.38 <a href=
+ "#feature-fontWeight-bold">#fontWeight-bold</a><br>
+ D.1.39 <a href=
+ "#feature-frameRate">#frameRate</a><br>
+ D.1.40 <a href=
+ "#feature-frameRateMultiplier">#frameRateMultiplier</a><br>
+ D.1.41 <a href=
+ "#feature-layout">#layout</a><br>
+ D.1.42 <a href=
+ "#feature-length">#length</a><br>
+ D.1.43 <a href=
+ "#feature-length-cell">#length-cell</a><br>
+ D.1.44 <a href=
+ "#feature-length-em">#length-em</a><br>
+ D.1.45 <a href=
+ "#feature-length-integer">#length-integer</a><br>
+ D.1.46 <a href=
+ "#feature-length-negative">#length-negative</a><br>
+ D.1.47 <a href=
+ "#feature-length-percentage">#length-percentage</a><br>
+ D.1.48 <a href=
+ "#feature-length-pixel">#length-pixel</a><br>
+ D.1.49 <a href=
+ "#feature-length-positive">#length-positive</a><br>
+ D.1.50 <a href=
+ "#feature-length-real">#length-real</a><br>
+ D.1.51 <a href=
+ "#feature-lineBreak-uax14">#lineBreak-uax14</a><br>
+ D.1.52 <a href=
+ "#feature-lineHeight">#lineHeight</a><br>
+ D.1.53 <a href=
+ "#feature-markerMode">#markerMode</a><br>
+ D.1.54 <a href=
+ "#feature-markerMode-continuous">#markerMode-continuous</a><br>
+ D.1.55 <a href=
+ "#feature-markerMode-discontinuous">#markerMode-discontinuous</a><br>
+ D.1.56 <a href=
+ "#feature-metadata">#metadata</a><br>
+ D.1.57 <a href=
+ "#feature-nested-div">#nested-div</a><br>
+ D.1.58 <a href=
+ "#feature-nested-span">#nested-span</a><br>
+ D.1.59 <a href=
+ "#feature-opacity">#opacity</a><br>
+ D.1.60 <a href=
+ "#feature-origin">#origin</a><br>
+ D.1.61 <a href=
+ "#feature-overflow">#overflow</a><br>
+ D.1.62 <a href=
+ "#feature-overflow-visible">#overflow-visible</a><br>
+ D.1.63 <a href=
+ "#feature-padding">#padding</a><br>
+ D.1.64 <a href=
+ "#feature-padding-1">#padding-1</a><br>
+ D.1.65 <a href=
+ "#feature-padding-2">#padding-2</a><br>
+ D.1.66 <a href=
+ "#feature-padding-3">#padding-3</a><br>
+ D.1.67 <a href=
+ "#feature-padding-4">#padding-4</a><br>
+ D.1.68 <a href=
+ "#feature-pixelAspectRatio">#pixelAspectRatio</a><br>
+ D.1.69 <a href=
+ "#feature-presentation">#presentation</a><br>
+ D.1.70 <a href=
+ "#feature-profile">#profile</a><br>
+ D.1.71 <a href=
+ "#feature-showBackground">#showBackground</a><br>
+ D.1.72 <a href=
+ "#feature-structure">#structure</a><br>
+ D.1.73 <a href=
+ "#feature-styling">#styling</a><br>
+ D.1.74 <a href=
+ "#feature-styling-chained">#styling-chained</a><br>
+ D.1.75 <a href=
+ "#feature-styling-inheritance-content">#styling-inheritance-content</a><br>
+ D.1.76 <a href=
+ "#feature-styling-inheritance-region">#styling-inheritance-region</a><br>
+ D.1.77 <a href=
+ "#feature-styling-inline">#styling-inline</a><br>
+ D.1.78 <a href=
+ "#feature-styling-nested">#styling-nested</a><br>
+ D.1.79 <a href=
+ "#feature-styling-referential">#styling-referential</a><br>
+ D.1.80 <a href=
+ "#feature-subFrameRate">#subFrameRate</a><br>
+ D.1.81 <a href=
+ "#feature-textAlign">#textAlign</a><br>
+ D.1.82 <a href=
+ "#feature-textAlign-absolute">#textAlign-absolute</a><br>
+ D.1.83 <a href=
+ "#feature-textAlign-relative">#textAlign-relative</a><br>
+ D.1.84 <a href=
+ "#feature-textDecoration">#textDecoration</a><br>
+ D.1.85 <a href=
+ "#feature-textDecoration-over">#textDecoration-over</a><br>
+ D.1.86 <a href=
+ "#feature-textDecoration-through">#textDecoration-through</a><br>
+ D.1.87 <a href=
+ "#feature-textDecoration-under">#textDecoration-under</a><br>
+ D.1.88 <a href=
+ "#feature-textOutline">#textOutline</a><br>
+ D.1.89 <a href=
+ "#feature-textOutline-blurred">#textOutline-blurred</a><br>
+ D.1.90 <a href=
+ "#feature-textOutline-unblurred">#textOutline-unblurred</a><br>
+ D.1.91 <a href=
+ "#feature-tickRate">#tickRate</a><br>
+ D.1.92 <a href=
+ "#feature-timeBase-clock">#timeBase-clock</a><br>
+ D.1.93 <a href=
+ "#feature-timeBase-media">#timeBase-media</a><br>
+ D.1.94 <a href=
+ "#feature-timeBase-smpte">#timeBase-smpte</a><br>
+ D.1.95 <a href=
+ "#feature-timeContainer">#timeContainer</a><br>
+ D.1.96 <a href=
+ "#feature-time-clock">#time-clock</a><br>
+ D.1.97 <a href=
+ "#feature-time-clock-with-frames">#time-clock-with-frames</a><br>
+ D.1.98 <a href=
+ "#feature-time-offset">#time-offset</a><br>
+ D.1.99 <a href=
+ "#feature-time-offset-with-frames">#time-offset-with-frames</a><br>
+ D.1.100 <a href=
+ "#feature-time-offset-with-ticks">#time-offset-with-ticks</a><br>
+ D.1.101 <a href=
+ "#feature-timing">#timing</a><br>
+ D.1.102 <a href=
+ "#feature-transformation">#transformation</a><br>
+ D.1.103 <a href=
+ "#feature-unicodeBidi">#unicodeBidi</a><br>
+ D.1.104 <a href=
+ "#feature-visibility">#visibility</a><br>
+ D.1.105 <a href=
+ "#feature-visibility-block">#visibility-block</a><br>
+ D.1.106 <a href=
+ "#feature-visibility-inline">#visibility-inline</a><br>
+ D.1.107 <a href=
+ "#feature-visibility-region">#visibility-region</a><br>
+ D.1.108 <a href=
+ "#feature-wrapOption">#wrapOption</a><br>
+ D.1.109 <a href=
+ "#feature-writingMode">#writingMode</a><br>
+ D.1.110 <a href=
+ "#feature-writingMode-vertical">#writingMode-vertical</a><br>
+ D.1.111 <a href=
+ "#feature-writingMode-horizontal">#writingMode-horizontal</a><br>
+ D.1.112 <a href=
+ "#feature-writingMode-horizontal-lr">#writingMode-horizontal-lr</a><br>
+ D.1.113 <a href=
+ "#feature-writingMode-horizontal-rl">#writingMode-horizontal-rl</a><br>
+ D.1.114 <a href=
+ "#feature-zIndex">#zIndex</a><br>
+ D.2 <a href="#feature-support">Feature Support</a><br>
+ E <a href="#extensions">Extensions</a><br>
+ E.1 <a href="#extension-designations">Extension
+ Designations</a><br>
+ F <a href="#profiles">Profiles</a><br>
+ F.1 <a href="#profile-dfxp-transformation">DFXP
+ Transformation Profile</a><br>
+ F.2 <a href="#profile-dfxp-presentation">DFXP Presentation
+ Profile</a><br>
+ F.3 <a href="#profile-dfxp-full">DFXP Full Profile</a><br>
+ G <a href="#references">References</a><br>
+ 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="#d3e18678">Element Derivation</a><br>
+ J.2 <a href="#d3e19157">Attribute Derivation</a><br>
+ K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
+ K.1 <a href="#d3e20043">Requirements</a><br>
+ K.2 <a href="#d3e20207">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>
+ 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>
+ O <a href="#common-styling">Common Caption Style Examples</a> (Non-Normative)<br>
+ O.1 <a href="#pop-on-example">Pop-On Caption Example</a><br>
+ O.2 <a href="#roll-up-example">Roll-Up Caption
+ Example</a><br>
+ O.3 <a href="#paint-on-example">Paint-On Caption
+ Example</a><br>
+ P <a href="#acknowledgments">Acknowledgments</a> (Non-Normative)<br></p>
+ </div>
+ <hr>
+
+ <div class="body">
+ <div class="div1">
+ <h2><a id="intro" name="intro"></a>1 Introduction</h2>
+
+ <p><em>Unless specified otherwise, this section and its sub-sections are
+ non-normative.</em></p>
+
+ <p>The Timed Text Markup Language (TTML) 1.0 provides a standardized representation
+ of a particular subset of textual information with which stylistic, layout, and
+ timing semantics are associated by an author or an authoring system for the purpose
+ of interchange and processing.</p>
+
+ <p>TTML is expressly designed to meet only a limited set of requirements
+ established by <a href="#ttaf1-req">[TTAF1-REQ]</a>, and summarized in <a href=
+ "#requirements"><b>I Requirements</b></a>. In particular, only those requirements
+ which service the need of performing interchange with existing, legacy distribution
+ systems are satisfied.</p>
+
+ <p>In addition to being used for interchange among legacy distribution content
+ formats, TTML Content may be used directly as a distribution format (as implied by
+ the acronym DFXP), providing, for example, a standard content format to reference
+ from a <code><track></code> element in an HTML5 document, or a
+ <code><text></code> or <code><textstream></code> media element in a
+ <a href="#smil21">[SMIL 2.1]</a> document. Certain properties of TTML support
+ streamability of content, as described in <a href="#streaming"><b>L Streaming TTML
+ Content</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>While TTML was not expressly designed for direct (embedded) integration into
+ an HTML or a SMIL document instance, such integration is not precluded.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In some contexts of use, it may be appropriate to employ animated content to
+ depict sign language representations of the same content as expressed by a Timed
+ Text <em>Document Instance</em>. This use case is not explicitly addressed by
+ TTML mechanisms, but may be addressed by some external multimedia integration
+ technology, such as SMIL.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In previous drafts of this specification, TTML was referred to as DFXP
+ (Distribution Format Exchange Profile). This latter term is retained for
+ historical reasons in certain contexts, such as profile names and designators,
+ and the short name <code>ttaf1-dfxp</code> used in URLs to refer to this
+ specification.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="model" name="model"></a>1.1 System Model</h3>
+
+ <p>Use of TTML is intended to function in a wider context of Timed Text Authoring
+ and Distribution mechanisms that are based upon the system model depicted in
+ <a href="#model-graphic"><b>Figure 1 – System Model</b></a>, wherein the Timed
+ Text Markup Language serves as a bidirectional interchange format among a
+ heterogeneous collection of authoring systems, and as a unidirectional
+ interchange format to a heterogeneous collection of distribution formats after
+ undergoing transcoding or compilation to the target distribution formats as
+ required, and where one particular distribution format is TTML (labeled as "DFXP"
+ in the figure).</p><a id="model-graphic" name="model-graphic"></a>
+
+ <table class="example-images">
+ <caption>
+ Figure 1 – System Model
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/model.png" alt="System Model"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div2">
+ <h3><a id="example" name="example"></a>1.2 Document Example</h3>
+
+ <p>A TTML <em>Document Instance</em> consists of a <code>tt</code> document
+ element that contains a header and a body, where the header specifies document
+ level metadata, styling definitions and layout definitions, and the body
+ specifies text content intermixed with references to style and layout information
+ and inline styling and timing information.</p><a id=
+ "ttml-example-document-structure" name="ttml-example-document-structure"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – TTML Document Structure
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <metadata/>
+ <styling/>
+ <layout/>
+ </head>
+ <body/>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Document level metadata may specify a document title, description, and
+ copyright information. In addition, arbitrary metadata drawn from other
+ namespaces may be specified.</p><a id="ttml-example-metadata" name=
+ "ttml-example-metadata"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – TTML Metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <ttm:title>Timed Text TTML Example</ttm:title>
+ <ttm:copyright>The Authors (c) 2006</ttm:copyright>
+</metadata>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Styling information may be specified in the form of style specification
+ definitions that are referenced by layout and content information, specified
+ inline with content information, or both.</p>
+
+ <p>In <a href="#ttml-example-styling"><b>Example Fragment – TTML Styling</b></a>,
+ four style sets of specifications are defined, with one set serving as a
+ collection of default styles.</p><a id="ttml-example-styling" name=
+ "ttml-example-styling"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – TTML Styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<styling xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <!-- s1 specifies default color, font, and text alignment -->
+ <style xml:id="s1"
+ tts:color="white"
+ tts:fontFamily="proportionalSansSerif"
+ tts:fontSize="22px"
+ tts:textAlign="center"
+ />
+ <!-- alternative using yellow text but otherwise the same as style s1 -->
+ <style xml:id="s2" style="s1" tts:color="yellow"/>
+ <!-- a style based on s1 but justified to the right -->
+ <style xml:id="s1Right" style="s1" tts:textAlign="end" />
+ <!-- a style based on s2 but justified to the left -->
+ <style xml:id="s2Left" style="s2" tts:textAlign="start" />
+</styling>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Layout information defines one or more regions into which content is intended
+ to be presented. A region definition may reference one or more sets of style
+ specifications in order to permit content flowed in the region to inherit from
+ these styles. In <a href="#ttml-example-layout"><b>Example Fragment – TTML
+ Layout</b></a>, the region definition makes reference to style specification
+ <code>s1</code> augmented by specific inline styles which, together, allow
+ content flowed into the region to inherit from the region's styles (in the case
+ that a style is not already explicitly specified on content or inherited via the
+ content hierarchy.)</p><a id="ttml-example-layout" name=
+ "ttml-example-layout"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – TTML Layout
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<layout xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <region xml:id="subtitleArea"
+ style="s1"
+ tts:extent="560px 62px"
+ tts:padding="5px 3px"
+ tts:backgroundColor="black"
+ tts:displayAlign="after"
+ />
+</layout>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The content of a <em>Document Instance</em> is expressed in its body, which is
+ organized in terms of block and inline text elements. The hierarchical
+ organization of content elements serves a primary role in determining both
+ spatial and temporal relationships. For example, in <a href=
+ "#ttml-example-body"><b>Example Fragment – TTML Body</b></a>, each paragraph
+ (<code>p</code> element) is flowed into its target region in the specified
+ lexical order; furthermore, the active time interval of each paragraph is timed
+ in accordance to its parent or sibling according to the applicable time
+ containment semantics — in this case, the division parent is interpreted (by
+ default) as a parallel time container.</p><a id="ttml-example-body" name=
+ "ttml-example-body"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – TTML Body
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<body region="subtitleArea">
+ <div>
+ <p xml:id="subtitle1" begin="0.76s" end="3.45s">
+ It seems a paradox, does it not,
+ </p>
+ <p xml:id="subtitle2" begin="5.0s" end="10.0s">
+ that the image formed on<br/>
+ the Retina should be inverted?
+ </p>
+ <p xml:id="subtitle3" begin="10.0s" end="16.0s" style="s2">
+ It is puzzling, why is it<br/>
+ we do not see things upside-down?
+ </p>
+ <p xml:id="subtitle4" begin="17.2s" end="23.0s">
+ You have never heard the Theory,<br/>
+ then, that the Brain also is inverted?
+ </p>
+ <p xml:id="subtitle5" begin="23.0s" end="27.0s" style="s2">
+ No indeed! What a beautiful fact!
+ </p>
+ <p xml:id="subtitle6a" begin="28.0s" end="34.6s" style="s2Left">
+ But how is it proved?
+ </p>
+ <p xml:id="subtitle6b" begin="28.0s" end="34.6s" style="s1Right">
+ Thus: what we call
+ </p>
+ <p xml:id="subtitle7" begin="34.6s" end="45.0s" style="s1Right">
+ the vertex of the Brain<br/>
+ is really its base
+ </p>
+ <p xml:id="subtitle8" begin="45.0s" end="52.0s" style="s1Right">
+ and what we call its base<br/>
+ is really its vertex,
+ </p>
+ <p xml:id="subtitle9a" begin="53.5s" end="58.7s">
+ it is simply a question of nomenclature.
+ </p>
+ <p xml:id="subtitle9b" begin="53.5s" end="58.7s" style="s2">
+ How truly delightful!
+ </p>
+ </div>
+</body>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The first subtitle <a href="#ttml-example-subtitle-1"><b>Subtitle 1 – Time
+ Interval [0.76, 3.45)</b></a> is presented during the time interval 0.76 to 3.45
+ seconds. This subtitle inherits its font family, font size, foreground color, and
+ text alignment from the region into which it is presented. Since no region is
+ explicitly specified on the paragraph, the nearest ancestor that specifies a
+ region determines the targeted region. Note also that content is presented at the
+ bottom (after edge) of the containing region due to the
+ <code>tts:displayAlign="after"</code> being specified on the region
+ definition.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The notation "[<em>X</em>,<em>Y</em>]" denotes a closed interval from
+ <em>X</em> to <em>Y</em>, including <em>X</em> and <em>Y</em>;
+ "[<em>X</em>,<em>Y</em>)" denotes a right half-open interval from <em>X</em> to
+ <em>Y</em>, including <em>X</em> but not including <em>Y</em>;
+ "(<em>X</em>,<em>Y</em>]" denotes a left half-open interval from <em>X</em> to
+ <em>Y</em>, not including <em>X</em> but including <em>Y</em>;
+ "(<em>X</em>,<em>Y</em>)" denotes an open interval from <em>X</em> to
+ <em>Y</em>, not including <em>X</em> or <em>Y</em>.</p>
+ </div><a id="ttml-example-subtitle-1" name="ttml-example-subtitle-1"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 1 – Time Interval [0.76, 3.45)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle1.png" alt="Subtitle 1"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The second subtitle continues with the default style, except that it contains
+ two lines of text with an intervening author-specified line break. Note the
+ effects of the use of <code>tts:textAlign="center"</code> to specify the
+ paragraph's alignment in the inline progression direction.</p><a id=
+ "ttml-example-subtitle-2" name="ttml-example-subtitle-2"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 2 – Time Interval [5.0, 10.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle2.png" alt="Subtitle 2"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The third subtitle continues, using a variant style which overrides the
+ default style's foreground color with a different color.</p><a id=
+ "ttml-example-subtitle-3" name="ttml-example-subtitle-3"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 3 – Time Interval [10.0, 16.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle3.png" alt="Subtitle 3"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The fourth subtitle reverts to the default style.</p><a id=
+ "ttml-example-subtitle-4" name="ttml-example-subtitle-4"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 4 – Time Interval [17.2, 23.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle4.png" alt="Subtitle 4"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The fifth subtitle continues, again using a variant style which overrides the
+ default style's foreground color with a different color.</p><a id=
+ "ttml-example-subtitle-5" name="ttml-example-subtitle-5"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 5 – Time Interval [23.0, 27.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle5.png" alt="Subtitle 5"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>During the next active time interval, two distinct subtitles are
+ simultaneously active, with the paragraphs expressing each subtitle using
+ different styles that override color and paragraph text alignment of the default
+ style. Note that the flow order is determined by the lexical order of elements as
+ they appear in the content hierarchy.</p><a id="ttml-example-subtitle-6" name=
+ "ttml-example-subtitle-6"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitles 6a and 6b – Time Interval [28.0, 34.6)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle6.png" alt="Subtitles 6a and 6b"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The next subtitle is specified in a similar manner using a style override to
+ give the paragraph right (end) justification in the inline progression
+ direction.</p><a id="ttml-example-subtitle-7" name="ttml-example-subtitle-7"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 7 – Time Interval [34.6, 45.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle7.png" alt="Subtitles 7a and 7b"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The eighth subtitle uses the same style override as the previous subtitle in
+ order to maintain the right (end) justification of the paragraph.</p><a id=
+ "ttml-example-subtitle-8" name="ttml-example-subtitle-8"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitle 8 – Time Interval [47.3, 49.0)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle8.png" alt="Subtitle 8"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>During the final (ninth) active time interval, two distinct subtitles are
+ again simultaneously active, but with a different style applied to the second
+ paragraph to override the default color. Note that the flow order is determined
+ by the lexical order of elements as they appear in the content
+ hierarchy.</p><a id="ttml-example-subtitle-9" name="ttml-example-subtitle-9"></a>
+
+ <table class="example-images">
+ <caption>
+ Subtitles 9a and 9b – Time Interval [53.5, 58.7)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/subtitle9.png" alt="Subtitles 9a and 9b"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The examples shown above demonstrate the primary types of information that may
+ be authored using TTML: metadata, styling, layout, timing, and content. In
+ typical cases, styling and layout information are separately specified in a
+ <em>Document Instance</em>. Content information is expressed in a hierarchical
+ fashion that embodies the organization of both spatial (flow) and timing
+ information. Content makes direct or indirect references to styling and layout
+ information and may specify inline overrides to styling.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="definitions" name="definitions"></a>2 Definitions</h2>
+
+ <div class="div2">
+ <h3><a id="acronyms" name="acronyms"></a>2.1 Acronyms</h3>
+
+ <table class="acronyms" summary="Glossary List">
+ <tr>
+ <td class="label"><b>DFXP</b></td>
+
+ <td class="def">
+ <p>Distribution Format Exchange Profile</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="label"><b>TT</b></td>
+
+ <td class="def">
+ <p>Timed Text</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="label"><b>TTML</b></td>
+
+ <td class="def">
+ <p>Timed Text Markup Language</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="label"><b>TTAF</b></td>
+
+ <td class="def">
+ <p>Timed Text Authoring Format</p>
+ </td>
+ </tr>
+
+ <tr>
+ <td class="label"><b>TTWG</b></td>
+
+ <td class="def">
+ <p>Timed Text Working Group</p>
+ </td>
+ </tr>
+ </table>
+ </div>
+
+ <div class="div2">
+ <h3><a id="terms" name="terms"></a>2.2 Terminology</h3>
+
+ <dl>
+ <dt class="label">Abstract Document Instance</dt>
+
+ <dd>
+ <p>An instance of an abstract data set as represented by a <em>Reduced XML
+ Infoset</em>.</p>
+ </dd>
+
+ <dt class="label">Abstract Document Type</dt>
+
+ <dd>
+ <p>A set of constraints that defines a class of <em>XML Information Sets</em>
+ <a href="#infoset">[XML InfoSet]</a>.</p>
+ </dd>
+
+ <dt class="label">Attribute Information Item</dt>
+
+ <dd>
+ <p>Each specified or defaulted attribute of an XML document corresponds with
+ an attribute information item as defined by <a href="#infoset">[XML
+ InfoSet]</a>, §2.3.</p>
+ </dd>
+
+ <dt class="label">Character Information Item</dt>
+
+ <dd>
+ <p>Each data character appearing in an XML document corresponds with a
+ character information item as defined by <a href="#infoset">[XML
+ InfoSet]</a>, §2.6.</p>
+ </dd>
+
+ <dt class="label">Computed Cell Size</dt>
+
+ <dd>
+ <p>The size (extent) of a cell computed by dividing the width of the <em>Root
+ Container Region</em> by the column count, i.e., the number of cells in the
+ horizontal axis, and by dividing the height of the <em>Root Container
+ Region</em> by the row count, i.e., the number of cells in the vertical axis,
+ where the column and row counts are determined by the
+ <code>ttp:cellResolution</code> parameter attribute.</p>
+ </dd>
+
+ <dt class="label">Content Processor</dt>
+
+ <dd>
+ <p>A processing system capable of importing (receiving) Timed Text Markup
+ Language content for the purpose of transforming, presenting, or otherwise
+ processing the content.</p>
+ </dd>
+
+ <dt class="label">Content Profile</dt>
+
+ <dd>
+ <p>A collection of features and extensions that are (or may be) employed by
+ Timed Text Markup Language content.</p>
+ </dd>
+
+ <dt class="label">Content Region</dt>
+
+ <dd>
+ <p>A logical region into which rendered content is placed when modeling or
+ performing presentation processing.</p>
+ </dd>
+
+ <dt class="label">Document Instance</dt>
+
+ <dd>
+ <p>A concrete realization of a Timed Text Markup Language document, where the
+ concrete form is specific to the context of reference. For example, a
+ sequence of bytes that represents an XML serialization of a Timed Text
+ document, an internal, parsed representation of such a Timed Text document,
+ etc.</p>
+ </dd>
+
+ <dt class="label">Document Interchange Context</dt>
+
+ <dd>
+ <p>The implied context or environment external to a <em>Content
+ Processor</em> in which document interchange occurs, and in which out-of-band
+ protocols or specifications may define certain behavioral defaults, such as
+ an implied <em>Content Profile</em>.</p>
+ </dd>
+
+ <dt class="label">Document Processing Context</dt>
+
+ <dd>
+ <p>The implied context or environment internal to a <em>Content
+ Processor</em> in which document processing occurs, and in which out-of-band
+ protocols or specifications may define certain behavioral defaults, such as
+ the establishment or creation of a <em>Synthetic Document Syncbase</em>.</p>
+ </dd>
+
+ <dt class="label">Element Information Item</dt>
+
+ <dd>
+ <p>Each element appearing in an XML document corresponds with an element
+ information item as defined by <a href="#infoset">[XML InfoSet]</a>,
+ §2.2.</p>
+ </dd>
+
+ <dt class="label">Exchange Profile</dt>
+
+ <dd>
+ <p>A content profile that serves a set of needs for content interchange.</p>
+ </dd>
+
+ <dt class="label">Extension</dt>
+
+ <dd>
+ <p>A syntactic or semantic expression or capability that is defined and
+ labeled (using a extension designation) in another (public or private)
+ specification.</p>
+ </dd>
+
+ <dt class="label">Feature</dt>
+
+ <dd>
+ <p>A syntactic or semantic expression or capability that is defined and
+ labeled (using a feature designation) in this specification (or a future
+ revision of this specification).</p>
+ </dd>
+
+ <dt class="label">Presentation Processor</dt>
+
+ <dd>
+ <p>A <em>Content Processor</em> which purpose is to layout, format, and
+ render, i.e., to present, <em>Timed Text Markup Language</em> content by
+ applying the presentation semantics defined in this specification.</p>
+ </dd>
+
+ <dt class="label">Processor</dt>
+
+ <dd>
+ <p>See <em>Content Processor</em>.</p>
+ </dd>
+
+ <dt class="label">Processor Profile</dt>
+
+ <dd>
+ <p>A collection of features and extensions that must or may be implemented
+ (supported) by a content processor.</p>
+ </dd>
+
+ <dt class="label">Profile Definition Document</dt>
+
+ <dd>
+ <p>A document that defines a specific collection of features and extensions
+ for which support is required or optional in a recipient content
+ processor.</p>
+ </dd>
+
+ <dt class="label">Region</dt>
+
+ <dd>
+ <p>A logical construct that models authorial intention regarding desired or
+ potential presentation processing, and which is represented as a rectangular
+ area of a presentation surface into which content is composed and rendered
+ during presentation processing.</p>
+ </dd>
+
+ <dt class="label">Reduced XML Infoset</dt>
+
+ <dd>
+ <p>An XML Information Set <a href="#infoset">[XML InfoSet]</a> that satisfies
+ the constraints specify by <a href="#reduced-infoset"><b>A Reduced XML
+ Infoset</b></a>.</p>
+ </dd>
+
+ <dt class="label">Related Media Object</dt>
+
+ <dd>
+ <p>A (possibly null) media object associated with or otherwise related to a
+ <em>Document Instance</em>. For example, an aggregate audio/video media
+ object for which a <em>Document Instance</em> provides caption or subtitle
+ information, and with which that <em>Document Instance</em> is
+ associated.</p>
+ </dd>
+
+ <dt class="label">Related Media Object Region</dt>
+
+ <dd>
+ <p>When a non-null <em>Related Media Object</em> exists, the region in which
+ a presentation processor presents this media object.</p>
+ </dd>
+
+ <dt class="label">Root Container Region</dt>
+
+ <dd>
+ <p>A logical region that establishes a coordinate system into which
+ <em>Document Instance</em> content regions are placed and optionally
+ clipped.</p>
+ </dd>
+
+ <dt class="label">Root Temporal Extent</dt>
+
+ <dd>
+ <p>The temporal extent (interval) defined by the temporal beginning and
+ ending of a <em>Document Instance</em> in relationship with some external
+ application or presentation context.</p>
+ </dd>
+
+ <dt class="label">SMPTE Time Code</dt>
+
+ <dd>
+ <p>A time code whose format and semantics are established by <a href=
+ "#smpte12m">[SMPTE 12M]</a>, which may be embedded into or otherwise
+ associated with media content, such as a broadcast audio/video stream.</p>
+ </dd>
+
+ <dt class="label">Synthetic Document Syncbase</dt>
+
+ <dd>
+ <p>A document level <a href=
+ "http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-Syncbases">
+ syncbase</a> <a href="#smil21">[SMIL 2.1]</a>, § 10.7.1, synthesized or
+ otherwise established by the <em>Document Processing Context</em> in
+ accordance with the <em>Related Media Object</em> or other processing
+ criteria.</p>
+ </dd>
+
+ <dt class="label">Synthetic SMPTE Document Syncbase</dt>
+
+ <dd>
+ <p>A <em>Synthetic Document Syncbase</em> constructed from <em>SMPTE Time
+ Code</em> values embedded in or associated with the <em>Related Media
+ Object</em> or otherwise determined by the <em>Document Processing
+ Context</em>.</p>
+ </dd>
+
+ <dt class="label">Timed Text</dt>
+
+ <dd>
+ <p>Textual information that is intrinsically or extrinsically associated with
+ timing information.</p>
+ </dd>
+
+ <dt class="label">Timed Text Markup Language</dt>
+
+ <dd>
+ <p>A content type that represents timed text media for the purpose of
+ interchange among authoring systems.</p>
+ </dd>
+
+ <dt class="label">Timed Text Authoring System</dt>
+
+ <dd>
+ <p>A content authoring system capable of importing and exporting Timed Text
+ Markup Language content.</p>
+ </dd>
+
+ <dt class="label">Transformation Processor</dt>
+
+ <dd>
+ <p>A <em>Content Processor</em> which purpose is to transform or otherwise
+ rewrite <em>Timed Text Markup Language</em> content to either <em>Timed Text
+ Markup Language</em> or to another (arbitrary) content format. An example of
+ the first is a processor that removes or rewrites TTML features so as to
+ conform to a profile of TTML. An example of the latter is a processor that
+ translates TTML into a completely different timed text format. Because this
+ specification does not otherwise define a target profile or format for
+ transformation processing, no further transformation semantics are defined by
+ this specification.</p>
+ </dd>
+
+ <dt class="label">Valid Abstract Document Instance</dt>
+
+ <dd>
+ <p>An <em>Abstract Document Instance</em> which has been assessed for
+ validity and found to be valid as defined by <a href="#doctypes"><b>4
+ Document Types</b></a>.</p>
+ </dd>
+ </dl>
+ </div>
+
+ <div class="div2">
+ <h3><a id="conventions" name="conventions"></a>2.3 Documentation Conventions</h3>
+
+ <p>Within normative prose in this specification, the words <em>may</em>,
+ <em>should</em>, and <em>must</em> are defined as follows:</p>
+
+ <dl class="conformance-keywords">
+ <dt class="label">may</dt>
+
+ <dd>
+ <p>Conforming documents and/or TTML processors are permitted to, but need not
+ behave as described.</p>
+ </dd>
+
+ <dt class="label">should</dt>
+
+ <dd>
+ <p>Conforming documents and/or TTML processors are strongly recommended to,
+ but need not behave as described.</p>
+ </dd>
+
+ <dt class="label">must</dt>
+
+ <dd>
+ <p>Conforming documents and/or TTML processors are required to behave as
+ described; otherwise, they are in error.</p>
+ </dd>
+ </dl>
+
+ <p>If normative specification language takes an imperative form, then it is to be
+ treated as if the term <span class="strong">must</span> applies. Furthermore, if
+ normative language takes a declarative form, and this language is governed by
+ <span class="strong">must</span>, then it is also to be treated as if the term
+ <span class="strong">must</span> applies.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, the phrases "treat X as an error" and "consider X as an error"
+ are to be read as mandatory requirements in the context of use. Similarly, if
+ the specification prose is "X must apply", "X applies", or "X is mandatory",
+ and "X" is further defined as "X is Y and Z", then, by transitive closure, this
+ last declarative phrase is to be read as "Y is mandatory" and "Z is mandatory"
+ in the context of use.</p>
+ </div>
+
+ <p>All normative syntactic definitions of XML representations and other related
+ terms are depicted with a light yellow-orange background color and labeled as
+ "XML Representation" or "Syntax Representation", such as in the
+ following:</p><a id="elt-syntax-example" name="elt-syntax-example"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: example
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<example
+ <span class="reqattr">count</span> = integer
+ size = (<em>large</em>|<em>medium</em>|<em>small</em>) : medium>
+ <em>Content:</em> (all | any*)
+</example>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>In an XML representation, bold-face attribute names (e.g. <span class=
+ "strong">count</span> above) indicate a required attribute information item, and
+ the rest are optional. Where an attribute information item has an enumerated type
+ definition, the values are shown separated by vertical bars, as for
+ <code>size</code> above; if there is a default value, it is shown following a
+ colon. Where an attribute information item has a built-in simple type definition
+ defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its
+ definition therein is given.</p>
+
+ <p>The allowed content of the information item is shown as a grammar fragment,
+ using the Kleene operators <code>?</code>, <code>*</code> and <code>+</code>.
+ Each element name therein is a hyperlink to its own illustration.</p>
+
+ <p>The term linear white-space (LWSP) is to be interpreted as a non-empty
+ sequence of SPACE (U+0020), TAB (U+0009), CARRIAGE RETURN (U+000D), or LINE FEED
+ (U+000A), which corresponds to production [3] <code>S</code> as defined by
+ <a href="#xml10">[XML 1.0]</a>.</p>
+
+ <p>All content of this specification that is not explicitly marked as
+ non-normative is considered to be normative. If a section or appendix header
+ contains the expression "Non-Normative", then the entirety of the section or
+ appendix is considered non-normative.</p>
+
+ <p>All paragraphs marked as a <span class="strong">Note</span> are considered
+ non-normative.</p>
+
+ <p>Example code fragments are depicted with a light blue-green background color
+ and labeled as "Example Fragment", such as in the following:</p><a id=
+ "example-fragment-1" name="example-fragment-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Sample
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <metadata/>
+ <styling/>
+ <layout/>
+ </head>
+ <body/>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="conformance" name="conformance"></a>3 Conformance</h2>
+
+ <p>This section specifies the general conformance requirements for TTML Content and
+ processors.</p>
+
+ <div class="div2">
+ <h3><a id="conformance-content" name="conformance-content"></a>3.1 Content
+ Conformance</h3>
+
+ <p>A TTML <em>Document Instance</em> conforms to this specification if the
+ following criteria are satisfied:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>When transporting a <em>Document Instance</em> in a <em>Document
+ Interchange Context</em> in which a Media Type <a href="#media-types">[Media
+ Types]</a> identifies the content type of the interchanged <em>Document
+ Instance</em>, then the specified media type is
+ <code>application/ttml+xml</code> in conformance with <a href=
+ "#xml-media">[XML Media Types]</a> § 7, with which an optional
+ <code>profile</code> parameter may appear, the value of which conforms to a
+ profile designator as defined by <a href="#vocabulary-profiles"><b>5.2
+ Profiles</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The <em>Document Instance</em> is or can be represented as a Reduced XML
+ Infoset as defined by <a href="#reduced-infoset"><b>A Reduced XML
+ Infoset</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The Reduced XML Infoset that corresponds to the <em>Document Instance</em>
+ is or can be associated with one of the <em>Abstract Document Types</em>
+ defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The <em>Reduced XML Infoset</em> that corresponds to the <em>Document
+ Instance</em> is a <em>Valid Abstract Document Instance</em> of the
+ associated <em>Abstract Document Type</em>.</p>
+ </li>
+
+ <li>
+ <p>The <em>Reduced XML Infoset</em> satisfies all additional mandatory
+ syntactic and semantic constraints defined by this specification. In
+ addition, this Infoset should satisfy the web content accessibility
+ guidelines specified by <a href="#wcag">[WCAG]</a>.</p>
+ </li>
+ </ol>
+ </div>
+
+ <div class="div2">
+ <h3><a id="conformance-processor" name="conformance-processor"></a>3.2 Processor
+ Conformance</h3>
+
+ <div class="div3">
+ <h4><a id="conformance-generic-processor" name=
+ "conformance-generic-processor"></a>3.2.1 Generic Processor Conformance</h4>
+
+ <p>A TTML <em>Content Processor</em> conforms to this specification if the
+ following generic processor criteria are satisfied:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>The processor provides at least one mechanism for notionally
+ instantiating a Reduced XML Infoset representation of a conformant
+ <em>Document Instance</em>.</p>
+ </li>
+
+ <li>
+ <p>If a process does or can perform validation of a candidate <em>Document
+ Instance</em>, then it provides at least one mechanism to implicitly or
+ explicitly associate the <em>Reduced XML Infoset</em> representation of a
+ conformant <em>Document Instance</em> with one of the <em>Abstract Document
+ Types</em> defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The processor does not <em>a priori</em> reject or abort the processing
+ of a conformant <em>Document Instance</em> unless the processor does not
+ support some required (mandatory) feature specified or implied by a TTML
+ Content profile declared to apply to the <em>Document Instance</em>.</p>
+ </li>
+
+ <li>
+ <p>The processor supports all mandatory processing semantics defined by
+ this specification.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The phrase <em>mandatory semantics</em> refers to all explicit use of
+ the conformance key phrases <span class="strong">must</span> and
+ <span class="strong">must not</span> as well as any declarative statement
+ that can be reasonably inferred from such key phrases. For example, these
+ mandatory semantics include support for all features marked as mandatory
+ in <a href="#feature-support"><b>D.2 Feature Support</b></a>.</p>
+ </div>
+ </li>
+
+ <li>
+ <p>If the processor supports some optional processing semantics defined by
+ this specification, then it does so in a manner consistent with the defined
+ semantics.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The phrase <em>optional semantics</em> refers to all explicit use of
+ the conformance key phrases <span class="strong">should</span>,
+ <span class="strong">should not</span>, <span class="strong">may</span>,
+ and <span class="strong">may not</span>, as well as any declarative
+ statement that can be reasonably inferred from such key phrases. For
+ example, these optional semantics include support for all features marked
+ as optional in <a href="#feature-support"><b>D.2 Feature
+ Support</b></a>.</p>
+ </div>
+ </li>
+ </ol>
+ </div>
+
+ <div class="div3">
+ <h4><a id="conformance-transformation-processor" name=
+ "conformance-transformation-processor"></a>3.2.2 Transformation Processor
+ Conformance</h4>
+
+ <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Transformation
+ Processor</em> if the following criteria are satisfied:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>The processor satisfies all requirements specified by <a href=
+ "#conformance-generic-processor"><b>3.2.1 Generic Processor
+ Conformance</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The processor supports the DFXP Transformation profile as specified by
+ <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
+ Profile</b></a>.</p>
+ </li>
+ </ol>
+ </div>
+
+ <div class="div3">
+ <h4><a id="conformance-presentation-processor" name=
+ "conformance-presentation-processor"></a>3.2.3 Presentation Processor
+ Conformance</h4>
+
+ <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Presentation
+ Processor</em> if the following criteria are satisfied:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>The processor satisfies all requirements specified by <a href=
+ "#conformance-generic-processor"><b>3.2.1 Generic Processor
+ Conformance</b></a>.</p>
+ </li>
+
+ <li>
+ <p>The processor supports the DFXP Presentation profile as specified by
+ <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
+ Profile</b></a>.</p>
+ </li>
+ </ol>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="claims" name="claims"></a>3.3 Claims</h3>
+
+ <p>Any claim of compliance with respect to the conformance of a TTML <em>Document
+ Instance</em> or <em>Content Processor</em> must make reference to an
+ implementation compliance statement (ICS).</p>
+
+ <p>An implementation compliance statement must identify all mandatory and
+ optional features of this specification that are satisfied by the document
+ instance or the content processor implementation. In particular, the statement
+ must identify the utilized or supported TTML vocabulary profile(s) as defined by
+ <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>, and, if a subset or
+ superset profile is used or supported, then what features are excluded or
+ included in the subset or superset profile.</p>
+
+ <p>A <em>Document Instance</em> for which a compliance claim is made must specify
+ either (1) a <code>ttp:profile</code> attribute on its root <code>tt</code>
+ element as defined by <a href="#parameter-attribute-profile"><b>6.2.8
+ ttp:profile</b></a> or (2) a <code>ttp:profile</code> element as a child of the
+ <code>head</code> element as defined by <a href=
+ "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="doctypes" name="doctypes"></a>4 Document Types</h2>
+
+ <p>This section defines the following TTML <em>Abstract Document Types</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#ttml-content-doctype"><b>4.1 TTML Content</b></a></p>
+ </li>
+ </ul>
+
+ <p>Each <em>Abstract Document Type</em> consists of the following constraints:</p>
+
+ <ul>
+ <li>
+ <p>a non-empty collection of element types, where each element type consists of
+ a name, a (possibly empty) collection of attributes, and a content
+ specification</p>
+ </li>
+
+ <li>
+ <p>a non-empty collection of element types that may appear as the document
+ element</p>
+ </li>
+ </ul>
+
+ <p>An <em>Abstract Document Instance</em> may be assessed in terms of validity, and
+ is considered to be a <em>Valid Abstract Document Instance</em> if it satisfies the
+ following condition: if after</p>
+
+ <ol class="enumar">
+ <li>
+ <p>pruning all element information items whose names are not members of the
+ collection of element types defined by the associated <em>Abstract Document
+ Type</em>, then</p>
+ </li>
+
+ <li>
+ <p>pruning character information item children from any remaining element in
+ case that all character children of the element denote XML whitespace
+ characters and the element's type is defined as empty in the associated
+ <em>Abstract Document Type</em>, and then</p>
+ </li>
+
+ <li>
+ <p>pruning all attribute information items having expanded names such that the
+ namespace URI of the expanded names are not listed in <a href=
+ "#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>,</p>
+ </li>
+ </ol>
+
+ <p>then the document element is one of the document element types permitted by the
+ associated <em>Abstract Document Type</em>, the descendants of the document element
+ satisfy their respective element type's content specifications, all required
+ attributes are present, and the declared value of each attribute satisfies the type
+ declared by the associated <em>Abstract Document Type</em>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>While a conformant processor may not <em>a priori</em> reject a conformant
+ <em>Document Instance</em> that adheres to a supported content profile, a given
+ <em>Document Instance</em> may be constrained by the author or authoring tool to
+ satisfy a more restrictive definition of validity.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="ttml-content-doctype" name="ttml-content-doctype"></a>4.1 TTML
+ Content</h3>
+
+ <p>TTML Content is an <em>Abstract Document Type</em> of a profile of the Timed
+ Text Markup Language intended to be used for interchange among distribution
+ systems. This document type is defined in terms of the element and attribute
+ vocabulary specified in <a href="#vocabulary"><b>5 Vocabulary</b></a>.</p>
+
+ <p>This specification references two types of schemas that may be used to
+ validate a superset/subset of conformant TTML Content <em>Document
+ Instances</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#ttml-schema-rnc"><b>B.1 Relax NG Compact (RNC)
+ Schema</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#ttml-schema-xsd"><b>B.2 XML Schema Definition (XSD)
+ Schema</b></a></p>
+ </li>
+ </ul>
+
+ <p>The (root) document element of a TTML Content <em>Document Instance</em> must
+ be a <code>tt</code> element, as defined by <a href=
+ "#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The schemas referenced by this specification do not validate all syntactic
+ constraints defined by this specification, and, as such, represent a superset
+ of conformant TTML Content. In particular, performing validation with one of
+ the above referenced schemas may result in a <em>false positive</em> indication
+ of validity. For example, both the RNC and XSD schemas specify that a
+ <code>tts:fontFamily</code> attribute must satisfy the <code>xs:string</code>
+ XSD data type; however, this data type is a superset of the values permitted to
+ be used with the <code>tts:fontFamily</code> attribute.</p>
+
+ <p>In addition, the RNC schema may produce a <em>false negative</em> indication
+ of validity when using the <code>xml:id</code> attribute with an element in a
+ foreign namespace, thus representing a subset of conformant TTML Content. This
+ is due to a specific limitation in expressing wildcard patterns involving
+ <code>xsd:ID</code> typed attributes in Relax NG schemas. Note that this
+ specification defines the formal validity of a <em>Document Instance</em> to be
+ based on an <em>Abstract Document Instance</em> from which all foreign
+ namespace elements and attributes have been removed. Therefore, the exceptional
+ reporting of this false negative does not impact the formal assessment of
+ <em>Document Instance</em> validity.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="vocabulary" name="vocabulary"></a>5 Vocabulary</h2>
+
+ <p>This section defines the namespaces, profiles, and vocabulary (as an element and
+ attribute catalog) of the Timed Text Markup Language (TTML) as follows:</p>
+
+ <ul>
+ <li>
+ <p><a href="#vocabulary-namespaces"><b>5.1 Namespaces</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#vocabulary-profiles"><b>5.2 Profiles</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#vocabulary-overview"><b>5.3 Catalog</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div2">
+ <h3><a id="vocabulary-namespaces" name="vocabulary-namespaces"></a>5.1
+ Namespaces</h3>
+
+ <p>The Timed Text Markup Language (TTML) employs a number of XML Namespaces
+ <a href="#xmlns10">[XML Namespaces 1.0]</a> for elements and certain global
+ attributes. The following table specifies this set of namespaces and indicates
+ the default prefix used within this specification and the normative URI that
+ denotes each namespace.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In a specific <em>Document Instance</em>, it is not required that the
+ default prefixes shown below are used. Any prefix or namespace binding that
+ satisfies the constraints of XML Namespaces <a href="#xmlns10">[XML Namespaces
+ 1.0]</a> may be used that is associated with the specified namespace URI.</p>
+ </div><a id="namespace-vocab-table" name="namespace-vocab-table"></a>
+
+ <table class="common">
+ <caption>
+ Table 1 – Namespaces
+ </caption>
+ <col width="30%" span="1">
+ <col span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>Name</th>
+
+ <th>Prefix</th>
+
+ <th>Value</th>
+ </tr>
+
+ <tr>
+ <td>TT</td>
+
+ <td><code>tt:</code></td>
+
+ <td><code>http://www.w3.org/ns/ttml</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Parameter</td>
+
+ <td><code>ttp:</code></td>
+
+ <td><code>http://www.w3.org/ns/ttml#parameter</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Style</td>
+
+ <td><code>tts:</code></td>
+
+ <td><code>http://www.w3.org/ns/ttml#styling</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Metadata</td>
+
+ <td><code>ttm:</code></td>
+
+ <td><code>http://www.w3.org/ns/ttml#metadata</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Profile</td>
+
+ <td><em>none</em></td>
+
+ <td><code>http://www.w3.org/ns/ttml/profile/</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Feature</td>
+
+ <td><em>none</em></td>
+
+ <td><code>http://www.w3.org/ns/ttml/feature/</code></td>
+ </tr>
+
+ <tr>
+ <td>TT Extension</td>
+
+ <td><em>none</em></td>
+
+ <td><code>http://www.w3.org/ns/ttml/extension/</code></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>If a reference to an element type is used in this specification and the name
+ of the element type is not namespace qualified, then the TT Namespace
+ applies.</p>
+
+ <p>For certain namespaces defined above, the default prefix is specified as
+ <em>none</em> if no XML vocabulary is defined in the namespace by this
+ specification (nor expected to be defined in a future version of this
+ specification). In such cases, the use of the namespace URI is for purposes
+ other than defining XML vocabulary, e.g., for designating profiles, features,
+ extensions and for dereferencing standard profile definitions.</p>
+ </div>
+
+ <p>All TTML Namespaces are <a href=
+ "http://www.w3.org/2001/tag/doc/namespaceState#namespacedef"><em>mutable</em></a>
+ <a href="#nsstate">[NSState]</a>; all undefined names in these namespaces are
+ reserved for future standardization by the W3C.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="vocabulary-profiles" name="vocabulary-profiles"></a>5.2 Profiles</h3>
+
+ <p>The Timed Text Markup Language (TTML) employs a number of standard, predefined
+ profiles of its vocabulary and associated semantics. The following table
+ specifies this set of profiles, indicating a normative name and designator for
+ each predefined profile, and where each of these profiles is formally elaborated
+ in <a href="#profiles"><b>F Profiles</b></a> or in another TTWG
+ specification.</p><a id="profile-vocab-table" name="profile-vocab-table"></a>
+
+ <table class="common">
+ <caption>
+ Table 2 – Profiles
+ </caption>
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>Name</th>
+
+ <th>Designator</th>
+ </tr>
+
+ <tr>
+ <td>DFXP Transformation</td>
+
+ <td><code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code></td>
+ </tr>
+
+ <tr>
+ <td>DFXP Presentation</td>
+
+ <td><code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code></td>
+ </tr>
+
+ <tr>
+ <td>DFXP Full</td>
+
+ <td><code>http://www.w3.org/ns/ttml/profile/dfxp-full</code></td>
+ </tr>
+
+ <tr>
+ <td>SDP US</td>
+
+ <td><code>http://www.w3.org/ns/ttml/profile/sdp-us</code></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p>A profile designator must adhere to the <code>xsd:anyURI</code> data type
+ defined by <a href="#xsd-2">[XML Schema Part 2]</a>, §3.2.17. If the profile
+ designator is expressed as a relative URI, then it must be absolutized by using
+ the TT Profile Namespace value as the base URI.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, if a profile designator is expressed as
+ <code>dfxp-presentation</code>, then the absolutized profile designator would
+ be <code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code>.</p>
+ </div>
+
+ <p>All profile designators which have the TT Profile Namespace as a prefix but
+ are otherwise not listed in <a href="#profile-vocab-table"><b>Table 2 –
+ Profiles</b></a> are reserved for future standardization, and must not be appear
+ in a conformant <em>Document Instance</em>. Nothwithstanding this constraint, a
+ profile designator is not restricted to the set of designators enumerated in
+ <a href="#profile-vocab-table"><b>Table 2 – Profiles</b></a>, but may be any URI
+ that feasibly dereferences a TTML <em>Profile Definition Document</em> provided
+ it does not use the TT Profile Namespace as a prefix.</p>
+
+ <p>The profile of TTML that must be supported by a TTML <em>Content
+ Processor</em> in order to process a <em>Document Instance</em> is determined
+ either (1) by specifying a <code>ttp:profile</code> attribute on the root
+ <code>tt</code> element, as defined by <a href=
+ "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a>, or (2) by including
+ one or more <code>ttp:profile</code> elements in the <code>head</code> element,
+ in accordance with <a href="#parameter-vocabulary-profile"><b>6.1.1
+ ttp:profile</b></a>.</p>
+
+ <p>If a <code>ttp:profile</code> element appears as a descendant of the
+ <code>tt</code> element, then the <a href=
+ "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute should not
+ be specified on the <code>tt</code> element. If both a <code>ttp:profile</code>
+ element and a <code>ttp:profile</code> attribute are present (in a given
+ <em>Document Instance</em>), then the <code>ttp:profile</code> attribute must be
+ ignored for the purpose of determining the declared profile requirements.</p>
+
+ <p>If more than one <code>ttp:profile</code> element appears in a <em>Document
+ Instance</em>, then all specified profiles apply simultaneously. In such a case,
+ if some feature or some extension is specified by one profile to be used
+ (mandatory and enabled) and by another profile to be required (mandatory) or
+ optional (voluntary), then that feature or extension must be considered to be
+ used (mandatory and enabled); if some feature or some extension is specified by
+ one profile to be merely required (mandatory) and by another profile to be
+ optional (voluntary), then that feature or extension must be considered to be
+ required (mandatory).</p>
+
+ <p>If neither <a href="#parameter-attribute-profile"><code>ttp:profile</code></a>
+ attribute nor <a href=
+ "#parameter-vocabulary-profile"><code>ttp:profile</code></a> element is present
+ in a <em>Document Instance</em>, and if the <em>Document Interchange Context</em>
+ does not make an implicit or explicit reference to a pre-defined Content Profile
+ or does not specify a <em>Profile Definition Document</em> or another equivalent
+ set of feature designations, then the DFXP Transformation profile applies.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>It is not a requirement on a conformant <em>Document Instance</em> that a
+ <em>Content Profile</em> be internally defined by use of a
+ <code>ttp:profile</code> element or internally referenced by a
+ <code>ttp:profile</code> attribute. More specifically, it is permitted that the
+ <em>Document Interchange Context</em> determines the applicable <em>Content
+ Profile</em> through private agreement, out-of-band protocol, or common use
+ (between sender and receiver) of a profile defined by an external
+ specification.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>It is intended that the <code>ttp:profile</code> attribute be used when the
+ author wishes to reference one of the standard, predefined profiles of TTML
+ Content, and does not wish to modify (by supersetting or subsetting) that
+ profile. This attribute may also be used by an author to indicate the use of a
+ non-standard profile, in which case the specified profile designator expresses
+ a URI that denotes an externally defined <em>Profile Definition Document</em>.
+ However, it is not required that a conformant TTML Content processor be able to
+ dereference such an externally specified profile definition.</p>
+
+ <p>In contrast, it is intended that the <code>ttp:profile</code> element be
+ used when the author wishes to make use of a modified predefined profile or
+ wishes to include in the <em>Document Instance</em> a non-standard profile
+ definition not based upon one of the predefined profiles.</p>
+
+ <p>A predefined profile is supersetted by specifying some feature or extension
+ to be required (mandatory) that was either not specified in the underlying,
+ baseline profile or was specified as optional (voluntary) in the baseline
+ profile. A predefined profile is subsetted by specifying some feature or
+ extension to be optional (voluntary) that was specified as required in the
+ underlying, baseline profile.</p>
+
+ <p>When a baseline profile is modified by subsetting, the resulting, derived
+ profile is referred to as a <em>subtractive</em> profile; when modified by
+ supersetting, the result is referred to as an <em>additive</em> profile. It is
+ also possible to define a derived profile that is simultaneously subtractive
+ and additive.</p>
+ </div>
+
+ <p>If a <em>Document Instance</em> makes use of a feature defined by <a href=
+ "#feature-designations"><b>D.1 Feature Designations</b></a> and if the intended
+ use of the document requires the recognition and processing of that feature, then
+ the document must include a <em>required feature</em> or a <em>used feature</em>
+ specification in one of its declared or referenced profiles. If a <em>Document
+ Instance</em> makes use of an extension designatable by <a href=
+ "#extension-designations"><b>E.1 Extension Designations</b></a> and if the
+ intended use of the document requires the recognition and processing of that
+ extension, then the document must include a <em>required extension</em> or a
+ <em>used extension</em> specification in one of its declared or referenced
+ profiles.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A required or used feature specification is expressed directly (or
+ indirectly by referring to a profile) by means of a <a href=
+ "#parameter-vocabulary-feature"><code>ttp:feature</code></a> element where the
+ value of its <code>value</code> attribute is <code>required</code> or
+ <code>use</code>, respectively. A required or used extension specification is
+ expressed directly (or indirectly by referring to a profile) by means of a
+ <a href="#parameter-vocabulary-extension"><code>ttp:extension</code></a>
+ element where the value of its <code>value</code> attribute is
+ <code>required</code> or <code>use</code>, respectively.</p>
+ </div>
+
+ <p>An example of an author defined additive, derived profile of the DFXP
+ Presentation profile is shown below in <a href=
+ "#ttml-example-sub-profile"><b>Example Fragment – DFXP Additive
+ Profile</b></a>.</p><a id="ttml-example-sub-profile" name=
+ "ttml-example-sub-profile"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – DFXP Additive Profile
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <profile use="dfxp-presentation" xmlns="http://www.w3.org/ns/ttml#parameter">
+ <features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <feature value="required">#fontStyle-italic</feature>
+ </features>
+ </profile>
+ </head>
+ <body/>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the baseline profile is declared to be the DFXP
+ Presentation profile, which is then additively modified by making the
+ <code>#fontStyle-italic</code> feature required (rather than optional as it is
+ defined in <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
+ Profile</b></a>). Note also the resetting of the default XMLNS binding on the
+ <code>profile</code> element to the TT Parameter Namespace.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="vocabulary-overview" name="vocabulary-overview"></a>5.3 Catalog</h3>
+
+ <p>The vocabulary of the Timed Text Markup Language (TTML) is defined in the
+ following major catalogs (divisions of vocabulary):</p>
+
+ <ul>
+ <li>
+ <p><a href="#core-vocabulary-overview"><b>5.3.1 Core Catalog</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#extension-vocabulary-overview"><b>5.3.2 Extension
+ Catalog</b></a></p>
+ </li>
+ </ul>
+
+ <p>The core catalog defines the baseline, core vocabulary of TTML, and, in
+ particular, the vocabulary of TTML Content. The extension catalog serves as a
+ placeholder for extensions to the core vocabulary defined by TTML.</p>
+
+ <div class="div3">
+ <h4><a id="core-vocabulary-overview" name="core-vocabulary-overview"></a>5.3.1
+ Core Catalog</h4>
+
+ <p>The core vocabulary catalog is intended to satisfy the needs of TTML while
+ providing a baseline vocabulary for future profiles. This vocabulary is divided
+ into distinct categories, specified in detail in the following sections:</p>
+
+ <ul>
+ <li>
+ <p><a href="#parameters"><b>6 Parameters</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content"><b>7 Content</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#styling"><b>8 Styling</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout"><b>9 Layout</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing"><b>10 Timing</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#animation"><b>11 Animation</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata"><b>12 Metadata</b></a></p>
+ </li>
+ </ul>
+
+ <p>The core element vocabulary specified for use with a <em>Document
+ Instance</em> is enumerated in <a href="#element-vocab-table"><b>Table 3 –
+ Element Vocabulary</b></a>.</p><a id="element-vocab-table" name=
+ "element-vocab-table"></a>
+
+ <table class="common">
+ <caption>
+ Table 3 – Element Vocabulary
+ </caption>
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>Module</th>
+
+ <th>Elements</th>
+ </tr>
+
+ <tr>
+ <td>Animation</td>
+
+ <td><a href="#animation-vocabulary-set">set</a></td>
+ </tr>
+
+ <tr>
+ <td>Content</td>
+
+ <td><a href="#document-structure-vocabulary-body">body</a>, <a href=
+ "#content-vocabulary-div">div</a>, <a href="#content-vocabulary-p">p</a>,
+ <a href="#content-vocabulary-span">span</a>, <a href=
+ "#content-vocabulary-br">br</a></td>
+ </tr>
+
+ <tr>
+ <td>Document</td>
+
+ <td><a href="#document-structure-vocabulary-tt">tt</a></td>
+ </tr>
+
+ <tr>
+ <td>Head</td>
+
+ <td><a href="#document-structure-vocabulary-head">head</a></td>
+ </tr>
+
+ <tr>
+ <td>Layout</td>
+
+ <td><a href="#layout-vocabulary-layout">layout</a>, <a href=
+ "#layout-vocabulary-region">region</a></td>
+ </tr>
+
+ <tr>
+ <td>Metadata</td>
+
+ <td><a href="#metadata-vocabulary-metadata">metadata</a></td>
+ </tr>
+
+ <tr>
+ <td>Metadata Items</td>
+
+ <td><a href="#metadata-vocabulary-actor">ttm:actor</a>, <a href=
+ "#metadata-vocabulary-agent">ttm:agent</a>, <a href=
+ "#metadata-vocabulary-copyright">ttm:copyright</a>, <a href=
+ "#metadata-vocabulary-desc">ttm:desc</a>, <a href=
+ "#metadata-vocabulary-name">ttm:name</a>, <a href=
+ "#metadata-vocabulary-title">ttm:title</a></td>
+ </tr>
+
+ <tr>
+ <td>Parameter Items</td>
+
+ <td><a href="#parameter-vocabulary-profile">ttp:profile</a>, <a href=
+ "#parameter-vocabulary-features">ttp:features</a>, <a href=
+ "#parameter-vocabulary-feature">ttp:feature</a>, <a href=
+ "#parameter-vocabulary-extensions">ttp:extensions</a>, <a href=
+ "#parameter-vocabulary-extension">ttp:extension</a></td>
+ </tr>
+
+ <tr>
+ <td>Styling</td>
+
+ <td><a href="#styling-vocabulary-styling">styling</a>, <a href=
+ "#styling-vocabulary-style">style</a></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p>Element vocabulary groups that are used in defining content models for TTML
+ element types are enumerated in <a href="#element-vocab-group-table"><b>Table 4
+ – Element Vocabulary Groups</b></a>.</p><a id="element-vocab-group-table" name=
+ "element-vocab-group-table"></a>
+
+ <table class="common">
+ <caption>
+ Table 4 – Element Vocabulary Groups
+ </caption>
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>Group</th>
+
+ <th>Elements</th>
+ </tr>
+
+ <tr>
+ <td>Animation.class</td>
+
+ <td><a href="#animation-vocabulary-set">set</a></td>
+ </tr>
+
+ <tr>
+ <td>Block.class</td>
+
+ <td><a href="#content-vocabulary-div">div</a> | <a href=
+ "#content-vocabulary-p">p</a></td>
+ </tr>
+
+ <tr>
+ <td>Inline.class</td>
+
+ <td><a href="#content-vocabulary-span">span</a> | <a href=
+ "#content-vocabulary-span">br</a> | <code>#PCDATA</code></td>
+ </tr>
+
+ <tr>
+ <td>Metadata.class</td>
+
+ <td><a href="#metadata-vocabulary-metadata">metadata</a> | <a href=
+ "#metadata-vocabulary-copyright">ttm:agent</a> | <a href=
+ "#metadata-vocabulary-copyright">ttm:copyright</a> | <a href=
+ "#metadata-vocabulary-desc">ttm:desc</a> | <a href=
+ "#metadata-vocabulary-title">ttm:title</a></td>
+ </tr>
+
+ <tr>
+ <td>Parameters.class</td>
+
+ <td><a href="#parameter-vocabulary-profile">ttp:profile</a></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p>The attribute vocabulary specified for use with the core vocabulary catalog
+ is enumerated in <a href="#attribute-vocab-table"><b>Table 5 – Attribute
+ Vocabulary</b></a>.</p><a id="attribute-vocab-table" name=
+ "attribute-vocab-table"></a>
+
+ <table class="common">
+ <caption>
+ Table 5 – Attribute Vocabulary
+ </caption>
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>Module</th>
+
+ <th>Attributes</th>
+ </tr>
+
+ <tr>
+ <td>Core Attributes</td>
+
+ <td><a href="#content-attribute-id">xml:id</a>, <a href=
+ "#content-attribute-lang">xml:lang</a>, <a href=
+ "#content-attribute-space">xml:space</a></td>
+ </tr>
+
+ <tr>
+ <td>Layout</td>
+
+ <td><a href="#layout-attribute-region">region</a></td>
+ </tr>
+
+ <tr>
+ <td>Metadata Attributes</td>
+
+ <td><a href="#metadata-attribute-agent">ttm:agent</a>, <a href=
+ "#metadata-attribute-role">ttm:role</a></td>
+ </tr>
+
+ <tr>
+ <td>Parameter Attributes</td>
+
+ <td><a href="#parameter-attribute-cellResolution">ttp:cellResolution</a>,
+ <a href="#parameter-attribute-clockMode">ttp:clockMode</a>, <a href=
+ "#parameter-attribute-dropMode">ttp:dropMode</a>, <a href=
+ "#parameter-attribute-frameRate">ttp:frameRate</a>, <a href=
+ "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a>,
+ <a href="#parameter-attribute-markerMode">ttp:markerMode</a>, <a href=
+ "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
+ <a href="#parameter-attribute-profile">ttp:profile</a>, <a href=
+ "#parameter-attribute-subFrameRate">ttp:subFrameRate</a>, <a href=
+ "#parameter-attribute-tickRate">ttp:tickRate</a>, <a href=
+ "#parameter-attribute-timeBase">ttp:timeBase</a></td>
+ </tr>
+
+ <tr>
+ <td>Styling</td>
+
+ <td><a href="#style-attribute-style">style</a></td>
+ </tr>
+
+ <tr>
+ <td>Styling Attributes</td>
+
+ <td><a href="#style-attribute-backgroundColor">tts:backgroundColor</a>,
+ <a href="#style-attribute-color">tts:color</a>, <a href=
+ "#style-attribute-direction">tts:direction</a>, <a href=
+ "#style-attribute-display">tts:display</a>, <a href=
+ "#style-attribute-displayAlign">tts:displayAlign</a>, <a href=
+ "#style-attribute-extent">tts:extent</a>, <a href=
+ "#style-attribute-fontFamily">tts:fontFamily</a>, <a href=
+ "#style-attribute-fontSize">tts:fontSize</a>, <a href=
+ "#style-attribute-fontStyle">tts:fontStyle</a>, <a href=
+ "#style-attribute-fontWeight">tts:fontWeight</a>, <a href=
+ "#style-attribute-lineHeight">tts:lineHeight</a>, <a href=
+ "#style-attribute-opacity">tts:opacity</a>, <a href=
+ "#style-attribute-origin">tts:origin</a>, <a href=
+ "#style-attribute-overflow">tts:overflow</a>, <a href=
+ "#style-attribute-padding">tts:padding</a>, <a href=
+ "#style-attribute-showBackground">tts:showBackground</a>, <a href=
+ "#style-attribute-textAlign">tts:textAlign</a>, <a href=
+ "#style-attribute-textDecoration">tts:textDecoration</a>, <a href=
+ "#style-attribute-textOutline">tts:textOutline</a>, <a href=
+ "#style-attribute-unicodeBidi">tts:unicodeBidi</a>, <a href=
+ "#style-attribute-visibility">tts:visibility</a>, <a href=
+ "#style-attribute-wrapOption">tts:wrapOption</a>, <a href=
+ "#style-attribute-writingMode">tts:writingMode</a>, <a href=
+ "#style-attribute-zIndex">tts:zIndex</a></td>
+ </tr>
+
+ <tr>
+ <td>Timing Attributes</td>
+
+ <td><a href="#timing-attribute-begin">begin</a>, <a href=
+ "#timing-attribute-dur">dur</a>, <a href="#timing-attribute-end">end</a>,
+ <a href="#timing-attribute-timeContainer">timeContainer</a></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Only those attributes defined as either (1) global, i.e., namespace
+ qualified, or (2) shared element-specific, i.e., not namespace qualified but
+ shared across multiple element types, are listed in <a href=
+ "#attribute-vocab-table"><b>Table 5 – Attribute Vocabulary</b></a> above.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>All vocabulary defined by TTML consistently makes use of the so-called
+ <em>lowerCamelCase</em> naming convention. In some cases, this results in the
+ change of a name when the name was based upon another specification that used
+ a different naming convention.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="extension-vocabulary-overview" name=
+ "extension-vocabulary-overview"></a>5.3.2 Extension Catalog</h4>
+
+ <p>The extension vocabulary catalog is intended for use by future profiles of
+ TTML, and is not further defined by this version of this specification.</p>
+
+ <p>In addition to standardized extension vocabulary, a conforming <em>Document
+ Instance</em> may contain arbitrary namespace qualified elements that reside in
+ any namespace other than those namespaces defined for use with this
+ specification. Furthermore, a conforming <em>Document Instance</em> may contain
+ arbitrary namespace qualified attributes on TTML defined vocabulary where such
+ attributes reside in any namespace other than those defined for use with this
+ specification.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="parameters" name="parameters"></a>6 Parameters</h2>
+
+ <p>This section specifies the <em>parameters</em> matter of the core vocabulary
+ catalog, where parameters are to be understood as information that is either (1)
+ essential or (2) of significant importance for the purpose of interpreting the
+ semantics of other types of information expressed by core vocabulary items or for
+ establishing a <em>Document Processing Context</em> by means of which TTML Content
+ can be related to an external environment.</p>
+
+ <div class="div2">
+ <h3><a id="parameter-element-vocabulary" name=
+ "parameter-element-vocabulary"></a>6.1 Parameter Element Vocabulary</h3>
+
+ <p>The following elements, all defined in the TT Parameter Namespace, specify
+ parametric information that applies to a <em>Document Instance</em> or
+ <em>Content Processor</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-vocabulary-features"><b>6.1.2 ttp:features</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-vocabulary-feature"><b>6.1.3 ttp:feature</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-vocabulary-extensions"><b>6.1.4
+ ttp:extensions</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-vocabulary-extension"><b>6.1.5
+ ttp:extension</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="parameter-vocabulary-profile" name=
+ "parameter-vocabulary-profile"></a>6.1.1 ttp:profile</h4>
+
+ <p>The <code>ttp:profile</code> element is used to specify a collection of used
+ (mandatory and enabled), required (mandatory), and optional (voluntary)
+ features and extensions that must or may be supported by a <em>Content
+ Processor</em> in order to process a <em>Document Instance</em> that makes (or
+ may make) use of such features and extensions.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The difference between a <em>feature</em> and an <em>extension</em> is
+ where it is defined and how it is labeled: if defined in this specification
+ (or a future revision thereof) and labeled with a feature designation in
+ <a href="#features"><b>D Features</b></a>, then it is considered to be a
+ feature; if defined in another specification and labeled there with an
+ extension designation, then it is considered to be an extension. In general,
+ features are expected to be defined by the W3C standards process, while
+ extensions are expected to be defined by third parties.</p>
+ </div>
+
+ <p>This specification defines two distinct uses of the <code>ttp:profile</code>
+ element:</p>
+
+ <ul>
+ <li>
+ <p>as a child of the <code>head</code> element within a TTML <em>Document
+ Instance</em>;</p>
+ </li>
+
+ <li>
+ <p>as the root element of a TTML <em>Profile Definition Document</em>
+ instance;</p>
+ </li>
+ </ul>
+
+ <p>When a <code>tt:profile</code> element appears within a TTML <em>Document
+ Instance</em>, its purpose is to express authorial intentions about which
+ features and extensions must or may be supported by a recipient content
+ processor. In addition, the element indirectly expresses information about the
+ set of features or extensions that are (or may expected to be) used by the
+ <em>Document Instance</em>.</p>
+
+ <p>When a <code>tt:profile</code> element is used by a TTML <em>Profile
+ Definition Document</em> instance, it serves to publish a machine readable
+ specification of a specific TTML Content profile, of which this specification
+ defines three such <em>Profile Definition Documents</em> in <a href=
+ "#profiles"><b>F Profiles</b></a>.</p>
+
+ <p>The <code>ttp:profile</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more <code>ttp:features</code> elements, followed by zero or more
+ <code>ttp:extensions</code> elements.</p><a id="elt-syntax-parameter-profile"
+ name="elt-syntax-parameter-profile"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttp:profile
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:profile
+ use = string
+ <a href="#content-attribute-id">xml:id</a> = ID
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#parameter-vocabulary-features">ttp:features</a>*, <a href=
+"#parameter-vocabulary-extensions">ttp:extensions</a>*
+</ttp:profile>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If specified, the <code>use</code> attribute must adhere to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17, and, furthermore, must denote a profile designator in
+ accordance with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>. In this
+ case, the profile designator must refer to (1) a standard, predefined
+ <em>Profile Definition Document</em> as defined by <a href="#profiles"><b>F
+ Profiles</b></a>, or (2) a feasibly dereferenceable resource representing a
+ valid <em>Profile Definition Document</em> instance. In either case, the
+ referenced profile serves as the baseline profile of the specifying
+ <code>ttp:profile</code> element.</p>
+
+ <p>If the <code>use</code> attribute is not specified, then the baseline
+ profile of the <code>ttp:profile</code> element must be considered to be the
+ empty (null) profile, i.e., a profile definition containing no feature or
+ extension specifications.</p>
+
+ <p>The collection of features and extensions of a profile are determined
+ according to the following ordered rules:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>initialize the features and extensions of the profile to the empty
+ set;</p>
+ </li>
+
+ <li>
+ <p>if a <code>use</code> attribute is present, then augment the profile
+ with the set of features and extensions specified by the referenced
+ baseline profile;</p>
+ </li>
+
+ <li>
+ <p>for each <code>ttp:feature</code> and <code>ttp:extension</code> element
+ descendant of the <code>ttp:profile</code> element, using a post-order
+ traversal, merge the specified feature or extension with the features and
+ extensions of the profile, where merging a feature or extension entails
+ replacing an existing feature or extension specification, if it already
+ exists, or adding a new feature or extension specification, if it does not
+ yet exist in the profile;</p>
+ </li>
+ </ol>
+
+ <p>A conformant TTML processor is not required to be able to dereference a
+ <em>Profile Definition Document</em> that is not one of the standard,
+ predefined profiles defined by <a href="#profiles"><b>F Profiles</b></a>.
+ Furthermore, a conformant TTML processor may make use of a built-in, static
+ form of each standard, predefined profile so as not to require dereferencing a
+ network resource.</p>
+
+ <p>If a TTML processor is unable to dereference a non-standard <em>Profile
+ Definition Document</em>, then it must not further process the document without
+ the presence of an explicit override from an end-user or some implementation
+ specific parameter traceable to an end-user or to a user or system
+ configuration setting. If a TTML processor aborts processing of a <em>Document
+ Instance</em> due to the inability to reference a non-standard <em>Profile
+ Definition Document</em>, then some end-user notification should be given
+ unless the end-user or system has disabled such a notification, or if the
+ processor does not permit or entail the intervention of an end-user.</p>
+
+ <p>The <code>ttp:profile</code> element is illustrated by the following
+ example.</p><a id="parameter-vocabulary-profile-example-1" name=
+ "parameter-vocabulary-profile-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – ttp:profile
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:profile use="dfxp-presentation">
+ <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <ttp:feature>#text-outline</ttp:feature>
+ </ttp:features>
+</ttp:profile>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the DFXP presentation profile is used as the
+ baseline profile. This baseline profile is then supersetted (thus creating an
+ additive derived profile) by requiring support for <code>#text-outline</code>
+ feature.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-vocabulary-features" name=
+ "parameter-vocabulary-features"></a>6.1.2 ttp:features</h4>
+
+ <p>The <code>ttp:features</code> element is a container element used to group
+ infomation about feature support requirements.</p>
+
+ <p>The <code>ttp:features</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more <code>ttp:feature</code> elements.</p><a id=
+ "elt-syntax-parameter-features" name="elt-syntax-parameter-features"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttp:features
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:features
+ xml:base = string : <em>TT Feature Namespace</em>
+ <a href="#content-attribute-id">xml:id</a> = ID
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#parameter-vocabulary-feature">ttp:feature</a>*
+</ttp:features>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
+ "#xmlbase">[XML Base]</a> and, (3) express a feature namespace as defined by
+ <a href="#feature-designations"><b>D.1 Feature Designations</b></a>. If not
+ specified, the <code>xml:base</code> attribute's default value applies, which
+ is the TT Feature Namespace.</p>
+
+ <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
+ feature designation URIs expressed by child <code>ttp:feature</code>
+ elements.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-vocabulary-feature" name=
+ "parameter-vocabulary-feature"></a>6.1.3 ttp:feature</h4>
+
+ <p>The <code>ttp:feature</code> element is used to specify infomation about
+ support requirements for a particular feature.</p>
+
+ <p>The children of the <code>ttp:feature</code> element must express a
+ non-empty sequence of character information items that adheres to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-feature" name=
+ "elt-syntax-parameter-feature"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttp:feature
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:feature
+ value = (optional|required|use) : required
+ <a href="#content-attribute-id">xml:id</a> = ID
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttp:feature>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the URI expressed by the content of the <code>ttp:feature</code> element
+ is a relative URI, then, when combined with the feature namespace value
+ expressed by the <code>xml:base</code> attribute of the nearest ancestor
+ <code>ttp:features</code> element, it must express an absolute URI. In either
+ case (original absolute URI or resulting absolutized URI), the URI expressed by
+ the <code>ttp:feature</code> element must further adhere to the syntax of a
+ feature designation as defined by <a href="#feature-designations"><b>D.1
+ Feature Designations</b></a>, and, furthermore, the specific designation that
+ appears in this URI, i.e., the portion of the feature designation that starts
+ with the fragment identifier separator '#', must be defined by this
+ specification or some published version thereof (that has achieved REC
+ status).</p>
+
+ <p>If the URI expressed by the content of the <code>ttp:feature</code> element
+ is a relative URI, then an <code>xml:base</code> attribute should be specified
+ on the nearest ancestor <code>ttp:features</code> element.</p>
+
+ <p>The <code>value</code> attribute specifies whether a conforming TTML
+ processor must or may implement the designated feature in order to process the
+ document. If the value of the <code>value</code> attribute is
+ <code>optional</code>, then the processor need not implement or otherwise
+ support the feature in order to process the document; if the value is
+ <code>required</code>, then the processor must implement or otherwise support
+ the feature, irrespective of whether the feature is enabled or disabled, in
+ order to process the document; if the value is <code>use</code>, then the
+ processor must both (1) implement or otherwise support the feature and (2) have
+ enabled (activated) use of the feature.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The default value of the <code>value</code> attribute is
+ <code>required</code>, as indicated in the above element information item
+ definition. Therefore, if a <code>value</code> attribute is not specified on
+ a <code>ttp:feature</code> element, it is equivalent to specifying that
+ support for the feature is required.</p>
+ </div>
+
+ <p>If the value of the <code>value</code> attribute is <code>required</code> or
+ <code>use</code> and the TTML processor implementation does not support the
+ feature, or if the <code>value</code> attribute is <code>use</code> and the
+ TTML processor implementation supports but has disabled that feature, then it
+ must not further process the document without the presence of an explicit
+ override from an end-user or some implementation specific parameter traceable
+ to an end-user or to a user or system configuration setting. If a TTML
+ processor aborts processing of a <em>Document Instance</em> due to the
+ specification of a required, but unsupported feature by this element, then some
+ end-user notification should be given unless the end-user or system has
+ disabled such a notification, or if the processor does not permit or entail the
+ intervention of an end-user.</p>
+
+ <p>If the value of the <code>value</code> attribute is <code>optional</code>,
+ and if the TTML processor implementation does not support the feature, then it
+ may further process the document even in the case that some use of the feature
+ is present in the document. In the case of actual use of a feature designated
+ as optional, the default semantics associated with that feature apply; that is,
+ the processor may behave as if the feature were not actually used or referenced
+ by the document. Notwithstanding the above, the syntactic presence or reference
+ to an optional feature by a document must not be considered to be a violation
+ of document validity or a barrier to further processing if the syntactic
+ expression is well-formed and valid.</p>
+
+ <p>If some defined (i.e., standardized) or otherwise well known feature is not
+ specified by a <code>ttp:feature</code> element in a given profile, then it
+ must be interpreted as if the feature were specified with the
+ <code>value</code> attribute equal to <code>optional</code>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In particular, if some feature is not present in a profile definition,
+ then it is not to be interpreted as meaning the use of that feature (in a
+ <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
+ </div>
+
+ <p>The <code>ttp:feature</code> element is illustrated by the following
+ example.</p><a id="parameter-vocabulary-feature-example-1" name=
+ "parameter-vocabulary-feature-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – ttp:feature
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-presentation">
+ <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <span class=
+"strong"><ttp:feature value="required">#fontStyle-italic</ttp:feature></span>
+ <span class=
+"strong"><ttp:feature value="required">#textDecoration-under</ttp:feature></span>
+ </ttp:features>
+</ttp:profile>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the DFXP presentation profile is used as the
+ baseline profile. This baseline profile is then modified by two
+ <code>ttp:feature</code> elements in order to superset the baseline profile
+ (since neither <code>#fontStyle-italic</code> nor
+ <code>#textDecoration-under</code> are required by the DFXP presentation
+ profile).</p>
+
+ <p>The effect of this example is to express authorial intentions that italic
+ font style and text underlining must be supported.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-vocabulary-extensions" name=
+ "parameter-vocabulary-extensions"></a>6.1.4 ttp:extensions</h4>
+
+ <p>The <code>ttp:extensions</code> element is a container element used to group
+ infomation about extension support requirements.</p>
+
+ <p>The <code>ttp:extensions</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more <code>ttp:extension</code> elements.</p><a id=
+ "elt-syntax-parameter-extensions" name="elt-syntax-parameter-extensions"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttp:extensions
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:extensions
+ xml:base = string : <em>TT Extension Namespace</em>
+ <a href="#content-attribute-id">xml:id</a> = ID
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#parameter-vocabulary-extension">ttp:extension</a>*
+</ttp:extensions>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
+ "#xmlbase">[XML Base]</a> and, (3) express an extension namespace as defined by
+ <a href="#extension-designations"><b>E.1 Extension Designations</b></a>. If not
+ specified, the <code>xml:base</code> attribute's default value applies, which
+ is the TT Extension Namespace.</p>
+
+ <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
+ feature designation URIs expressed by child <code>ttp:extension</code>
+ elements.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-vocabulary-extension" name=
+ "parameter-vocabulary-extension"></a>6.1.5 ttp:extension</h4>
+
+ <p>The <code>ttp:extension</code> element is used to specify infomation about
+ support requirements for a particular extension.</p>
+
+ <p>The children of the <code>ttp:extension</code> element must express a
+ non-empty sequence of character information items that adheres to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-extension" name=
+ "elt-syntax-parameter-extension"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttp:extension
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:extension
+ value = (optional|required|use) : required
+ <a href="#content-attribute-id">xml:id</a> = ID
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttp:extension>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the URI expressed by the content of the <code>ttp:extension</code>
+ element is a relative URI, then, when combined with the extension namespace
+ value expressed by the <code>xml:base</code> attribute of the nearest ancestor
+ <code>ttp:extensions</code> element, it must express an absolute URI. In either
+ case (original absolute URI or resulting absolutized URI), the URI expressed by
+ the <code>ttp:extension</code> element must further adhere to the syntax of an
+ extension designation as defined by <a href="#extension-designations"><b>E.1
+ Extension Designations</b></a>.</p>
+
+ <p>If the URI expressed by the content of the <code>ttp:feature</code> element
+ is a relative URI, then an <code>xml:base</code> attribute should be specified
+ on the nearest ancestor <code>ttp:extensions</code> element.</p>
+
+ <p>The <code>value</code> attribute specifies whether a conforming TTML
+ processor must or may implement the designated extension in order to process
+ the document. If the value of the <code>value</code> attribute is
+ <code>optional</code>, then the processor need not implement or otherwise
+ support the extension in order to process the document; if the value is
+ <code>required</code>, then the processor must implement or otherwise support
+ the extension in order to process the document; if the value is
+ <code>use</code>, then the processor must both (1) implement or otherwise
+ support the extension and (2) enable (activate) use of the extension.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The default value of the <code>value</code> attribute is
+ <code>required</code>, as indicated in the above element information item
+ definition. Therefore, if a <code>value</code> attribute is not specified on
+ a <code>ttp:extension</code> element, it is equivalent to specifying that
+ support for the extension is required.</p>
+ </div>
+
+ <p>If the value of the <code>value</code> attribute is <code>required</code> or
+ <code>use</code> and the TTML processor implementation does not support the
+ extension, or if the <code>value</code> attribute is <code>use</code> and the
+ TTML processor implementation supports but has disabled that extension, then it
+ must not further process the document without the presence of an explicit
+ override from an end-user or some implementation specific parameter traceable
+ to an end-user or to a user or system configuration setting. If a TTML
+ processor aborts processing of a <em>Document Instance</em> due to the
+ specification of a required, but unsupported extension by this element, then
+ some end-user notification should be given unless the end-user or system has
+ disabled such a notification, or if the processor does not permit or entail the
+ intervention of an end-user.</p>
+
+ <p>If the value of the <code>value</code> attribute is <code>optional</code>,
+ and if the TTML processor implementation does not support the extension, then
+ it may further process the document even in the case that some use of the
+ extension is present in the document. In the case of actual use of an extension
+ designated as optional, the default semantics associated with that extension
+ apply; that is, the processor may behave as if the extension were not actually
+ used or referenced by the document. Notwithstanding the above, the syntactic
+ presence or reference to an optional extension by a document must not be
+ considered to be a violation of document validity or a barrier to further
+ processing if the syntactic expression is well-formed and valid.</p>
+
+ <p>If some well known extension is not specified by a
+ <code>ttp:extension</code> element in a given profile, then it must be
+ interpreted as if the extension were specified with the <code>value</code>
+ attribute equal to <code>optional</code>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In particular, if some extension is not present in a profile definition,
+ then it is not to be interpreted as meaning the use of that extension (in a
+ <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
+ </div>
+
+ <p>The <code>ttp:extension</code> element is illustrated by the following
+ example.</p><a id="parameter-vocabulary-extension-example-1" name=
+ "parameter-vocabulary-extension-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – ttp:extension
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-transformation">
+ <ttp:extensions xml:base="http://example.org/ttml/extension/">
+ <span class=
+"strong"><ttp:extension value="use">#prefilter-by-language</ttp:extension></span>
+ </ttp:extensions>
+</ttp:profile>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the DFXP transformation profile is used as the
+ baseline profile. This baseline profile is then supersetted by specifying
+ that support and use is required for a private extension defined in a third
+ party namespace.</p>
+
+ <p>The effect of this example is to express authorial intentions that a
+ recipient processor must support the DFXP transformation profile and must
+ also support and enable an extension defined by a third party.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="parameter-attribute-vocabulary" name=
+ "parameter-attribute-vocabulary"></a>6.2 Parameter Attribute Vocabulary</h3>
+
+ <p>The following attributes are defined in the TT Parameter Namespace.</p>
+
+ <ul>
+ <li>
+ <p><a href="#parameter-attribute-cellResolution"><b>6.2.1
+ ttp:cellResolution</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-clockMode"><b>6.2.2
+ ttp:clockMode</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-frameRate"><b>6.2.4
+ ttp:frameRate</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5
+ ttp:frameRateMultiplier</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-markerMode"><b>6.2.6
+ ttp:markerMode</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7
+ ttp:pixelAspectRatio</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-subFrameRate"><b>6.2.9
+ ttp:subFrameRate</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a></p>
+ </li>
+ </ul>
+
+ <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
+ between adjacent non-terminal components of a TT Parameter value unless some
+ other delimiter is permitted and used.</p>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-cellResolution" name=
+ "parameter-attribute-cellResolution"></a>6.2.1 ttp:cellResolution</h4>
+
+ <p>The <code>ttp:cellResolution</code> attribute may be used by an author to
+ express the number of horizontal and vertical cells into which the <em>Root
+ Container Region</em> area is divided for the purpose of expressing
+ presentation semantics in terms of a uniform grid.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-cellResolution-syntax" name=
+ "parameter-attribute-cellResolution-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:cellResolution
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:cellResolution
+ : columns rows // <em>columns</em> != 0; <em>rows</em> != 0
+
+columns | rows
+ : <a href="#style-value-digit"><digit></a>+
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If not specified, the number of columns and rows must be considered to be 32
+ and 15, respectively. If specified, then columns or rows must not be zero
+ (0).</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The choice of values 32 and 15 are based on this being the maximum number
+ of columns and rows defined by <a href="#cea608c">[CEA-608-C]</a>.</p>
+ </div>
+
+ <p>A <code>ttp:cellResolution</code> attribute is considered to be significant
+ only when specified on the <code>tt</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of a uniform grid is employed only for the purpose of measuring
+ lengths and expressing coordinates. In particular, it is not assumed that the
+ presentation of text or the alignment of individual glyph areas is
+ coordinated with this grid. Such alignment is possible, but requires the use
+ of a monospaced font and a font size whose EM square exactly matches the cell
+ size.</p>
+ </div>
+
+ <p>Except where indicated otherwise, when a <a href=
+ "#style-value-length"><length></a> expressed in cells denotes a dimension
+ parallel to the inline or block progression dimension, the cell's dimension in
+ the inline or block progression dimension applies, respectively.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, if padding (on all four edges) is specified as 0.1c, the cell
+ resolution is 20 by 10, and the extent of the <em>Root Container Region</em>
+ is 640 by 480, then, assuming top to bottom, left to right writing mode, the
+ start and end padding will be (640 / 20) * 0.1 pixels and the before and
+ after padding will be (480 / 10) * 0.1 pixels.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-clockMode" name=
+ "parameter-attribute-clockMode"></a>6.2.2 ttp:clockMode</h4>
+
+ <p>The <code>ttp:clockMode</code> attribute is used to specify the
+ interpretation of time expressions as real-time time coordinates when operating
+ with time base of <code>clock</code> as defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value
+ Expressions</b></a> for the specification of time expression syntax and
+ semantics.</p>
+ </div>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-clockMode-syntax" name=
+ "parameter-attribute-clockMode-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:clockMode
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:clockMode
+ : "local"
+ | "gps"
+ | "utc"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the time base, defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
+ as <code>clock</code>, then this parameter applies as follows: if the
+ parameter's value is <code>local</code>, then time expressions are interpreted
+ as local wall-clock time coordinates; if <code>utc</code>, then time
+ expressions are interpreted as UTC time coordinates <a href="#utc">[UTC]</a>;
+ if <code>gps</code>, then time expressions are interpreted as GPS time
+ coordinates <a href="#gps">[GPS]</a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The primary difference between GPS time and UTC time is that GPS time is
+ not adjusted for leap seconds, while UTC time is adjusted as follows: UTC =
+ TAI (<em>Temp Atomique International</em>) + <em>leap seconds accumulated
+ since 1972</em>. TAI is maintained by the <em>Bureau International des Poids
+ et Mesures</em> (BIPM) in Sevres, France. The GPS system time is steered to a
+ Master Clock (MC) at the US Naval Observatory which is kept within a close
+ but unspecified tolerance of TAI.</p>
+ </div>
+
+ <p>If not specified, the value of this parameter must be considered to be
+ <code>utc</code>.</p>
+
+ <p>A <code>ttp:clockMode</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-dropMode" name=
+ "parameter-attribute-dropMode"></a>6.2.3 ttp:dropMode</h4>
+
+ <p>The <code>ttp:dropMode</code> attribute is used to specify constraints on
+ the interpretation and use of frame counts that correspond with <a href=
+ "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
+ <code>smpte</code> as defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-dropMode-syntax" name=
+ "parameter-attribute-dropMode-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:dropMode
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:dropMode
+ : "dropNTSC"
+ | "dropPAL"
+ | "nonDrop"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the time base, defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
+ as <code>smpte</code>, then this parameter applies as follows: if the
+ parameter's value is <code>nonDrop</code>, then, within any given second of a
+ time expression, frames count from 0 to <em>N−1</em>, where <em>N</em> is the
+ value specified by the <code>ttp:frameRate</code> parameter, but while ignoring
+ any value specified by the <code>ttp:frameRateMultiplier</code> parameter.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When operating in <code>nonDrop</code> mode, a second of a time expression
+ may or may not be equal to a second of real time during normal (1x speed)
+ forward playback. If the <code>ttp:frameRateMultiplier</code> parameter is
+ specified and is not equal to 1:1, then a second of a time expression will
+ either be shorter or longer than a second of elapsed play in real time.</p>
+ </div>
+
+ <p>If this parameter's value is <code>dropNTSC</code>, then, within any given
+ second of a time expression except the second <code>00</code>, frames count
+ from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
+ <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
+ the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
+ expression is <code>00</code> and the minute of the time expression is not
+ <code>00</code>, <code>10</code>, <code>20</code>, <code>30</code>,
+ <code>40</code>, or <code>50</code>, then frame codes <code>00</code> and
+ <code>01</code> are dropped during that second; otherwise, these frame codes
+ are not dropped.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, when operating in <code>dropNTSC</code> mode with
+ <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
+ occurs between consecutive frames as shown in the following sequence of time
+ expressions: <code>01:08:59:28</code>, <code>01:08:59:29</code>,
+ <code>01:09:00:02</code>, <code>01:09:00:03</code>.</p>
+ </div>
+
+ <p>If this parameter's value is <code>dropPAL</code>, then, within any given
+ second of a time expression except the second <code>00</code>, frames count
+ from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
+ <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
+ the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
+ expression is <code>00</code> and the minute of the time expression is even but
+ not <code>00</code>, <code>20</code>, or <code>40</code>, then frame codes
+ <code>00</code> through <code>03</code> are dropped during that second;
+ otherwise, these frame codes are not dropped.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, when operating in <code>dropPAL</code> mode with
+ <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
+ occurs between consecutive frames as shown in the following sequence of time
+ expressions: <code>01:09:59:28</code>, <code>01:09:59:29</code>,
+ <code>01:10:00:04</code>, <code>01:10:00:05</code>.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The <code>dropPAL</code> mode is also known as the <em>M/PAL</em> or
+ <em>PAL (M)</em> drop-frame code, which uses PAL modulation with the NTSC
+ frame rate of ~29.97 frames/second. The M/PAL system is used primarily in
+ Brazil.</p>
+ </div>
+
+ <p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p>
+
+ <p>A <code>ttp:dropMode</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-frameRate" name=
+ "parameter-attribute-frameRate"></a>6.2.4 ttp:frameRate</h4>
+
+ <p>The <code>ttp:frameRate</code> attribute is used to specify the frame rate
+ of a related media object or the intrinsic frame rate of a <em>Document
+ Instance</em> in case it is intended to function as an independent media
+ object.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-frameRate-syntax" name=
+ "parameter-attribute-frameRate-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:frameRate
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:frameRate
+ : <a href=
+"#style-value-digit"><digit></a>+ // <em>value</em> > 0
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The frame rate that applies to a <em>Document Instance</em> is used to
+ interpret time expressions that are expressed in <em>frames</em> as defined by
+ <a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a>.</p>
+
+ <p>If the <code>media</code> time base applies and the effective frame rate is
+ integral, then a frame is interpreted as a division of a second of media time,
+ such that if the frame rate is specified as <em>F</em>, then a second of media
+ time is divided into <em>F</em> intervals of equal duration, where each
+ interval is labeled as frame <em>f</em>, with <em>f</em> ∈
+ [0…<em>F−1</em>].</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
+ Base</b></a> for further details on the interpretation of time expressions
+ for the <code>media</code> time base.</p>
+ </div>
+
+ <p>If not specified, the frame rate must be considered to be equal to some
+ application defined frame rate, or if no application defined frame rate
+ applies, then thirty (30) frames per second. If specified, then the frame rate
+ must be greater than zero (0).</p>
+
+ <p>A <code>ttp:frameRate</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-frameRateMultiplier" name=
+ "parameter-attribute-frameRateMultiplier"></a>6.2.5
+ ttp:frameRateMultiplier</h4>
+
+ <p>The <code>ttp:frameRateMultiplier</code> attribute is used to specify a
+ multiplier to be applied to the frame rate specified by a
+ <code>ttp:frameRate</code> attribute in order to compute the effective frame
+ rate.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-frameRateMultiplier-syntax" name=
+ "parameter-attribute-frameRateMultiplier-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:frameRateMultiplier
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:frameRateMultiplier
+ : numerator denominator // <em>numerator</em> != 0; <em>denominator</em> != 0
+
+numerator | denominator
+ : <a href="#style-value-digit"><digit></a>+
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>A frame rate multiplier is used when the desired frame rate cannot be
+ expressed as an integral number of frames per second.</p>
+
+ <p>If not specified, the frame rate multiplier must be considered to be equal
+ to one (1:1). Both numerator and denominator must be non-zero.</p>
+
+ <p>A <code>ttp:frameRateMultiplier</code> attribute is considered to be
+ significant only when specified on the <code>tt</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The frame rate multiplier used for synchronizing with NTSC <a href=
+ "#smpte170m">[SMPTE 170M]</a> formatted video objects at 30 frames per second
+ is nominally 1000:1001. The nominal frame rate of NTSC video is defined as
+ the chrominance sub-carrier frequency of 3,579,545.45…Hz (= 5.0MHz × 63/88)
+ times the ratio 2/455 divided by the number of horizontal lines per frame of
+ 525, which yields a frame rate of 29.970029970029… (= 30 × 1000/1001) frames
+ per second. Other frame rate multipliers apply to different regions of usage
+ and video format standards.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Except in the case of PAL/M, the frame rate multiplier used for
+ synchronizing with PAL formatted video objects at 25 frames per second is
+ nominally 1:1.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-markerMode" name=
+ "parameter-attribute-markerMode"></a>6.2.6 ttp:markerMode</h4>
+
+ <p>The <code>ttp:markerMode</code> attribute is used to specify constraints on
+ the interpretation and use of time expressions that correspond with <a href=
+ "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
+ <code>smpte</code> as defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-markerMode-syntax" name=
+ "parameter-attribute-markerMode-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:markerMode
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:markerMode
+ : "continuous"
+ | "discontinuous"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the time base, defined by <a href=
+ "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
+ as <code>smpte</code>, then this parameter applies as follows: if the
+ parameter's value is <code>continuous</code>, then <a href="#smpte12m">[SMPTE
+ 12M]</a> time coordinates may be assumed to be linear and either monotonically
+ increasing or decreasing; however, if <code>discontinuous</code>, then any
+ assumption must not be made regarding linearity or monotonicity of time
+ coordinates.</p>
+
+ <p>If not specified, the value of this parameter must be considered to be
+ <code>discontinuous</code>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The default value for this parameter was originally specified (in <a href=
+ "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">TTML 1.0 First
+ Edition</a>) as <code>continuous</code>; however, further evaluation of the
+ state of the industry indicates this choice was incorrect, and that the most
+ common default is <code>discontinuous</code>.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Due to lack of industry consensus on the utility and interpretation of the
+ <code>continuous</code> marker mode, authors are advised to avoid its use.
+ Furthermore, the <code>ttp:markerMode</code> is being considered for
+ deprecation in the next revision of this specification.</p>
+ </div>
+
+ <p>A <code>ttp:markerMode</code> attribute is considered to be significant only
+ when specified on the <code>tt</code> element.</p>
+
+ <p>If a value of <code>continuous</code> applies, then time expressions may be
+ converted to real time coordinates by taking into account the computed frame
+ rate and drop mode as expressed by the <code>ttp:dropMode</code> parameter. In
+ this case, the <em>Content Processor</em> must create and maintain a
+ <em>Synthetic SMPTE Document Syncbase</em> within which these time expressions
+ are interpreted as further described in <a href=
+ "#timing-time-intervals"><b>10.4 Time Intervals</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When operating with <code>smpte</code> time base and
+ <code>continuous</code> marker mode, there is an implied time coordinate
+ space, the <em>Synthetic SMPTE Document Syncbase</em>, defined by the
+ monotonically increasing (or decreasing) <a href="#smpte12m">[SMPTE 12M]</a>
+ time coordinates, while taking into account the computed frame rate and drop
+ mode. All time expressions are interpreted in relationship to this time
+ coordinate space based upon <em>SMPTE Time Code</em> synchronization events
+ (markers), where the <em>Document Processing Context</em> emits these events
+ with implied constraints regarding time coordinate monoticity and
+ resynchronization in the presence of dropped frames.</p>
+
+ <p>Use of <code>continuous</code> marker mode with the <code>smpte</code>
+ time base is different from using the <code>media</code> time base because
+ (1) the semantics of the <code>ttp:dropMode</code> parameter apply to the
+ former, but not the latter, and (2) <a href="#smpte12m">[SMPTE 12M]</a> time
+ coordinates may be applied monotonically to media which has been subjected to
+ dilation in time, constriction in time, or reversal in time.</p>
+ </div>
+
+ <p>If a value of <code>discontinuous</code> applies, then time expressions must
+ not be converted to real time coordinates, arithmetical operators (addition,
+ multiplication) are not defined on time expressions, and, consequently, any
+ (well-formed) expression of a duration must be considered to be invalid.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When operating with <code>smpte</code> time base and
+ <code>discontinuous</code> marker mode, there is no effective time coordinate
+ space; rather, all time expressions are interpreted as labeled
+ synchronization events (markers), where the <em>Document Processing
+ Context</em> emits these events, which, when they correspond with time
+ expressions that denote the same label, cause a temporal interval to begin or
+ end accordingly.</p>
+
+ <p>An additional side-effect of operating in <code>discontinuous</code> mode
+ is that time expressions of children have no necessary relationship with time
+ expressions of their temporal container; that is, temporal containers and
+ children of these containers are temporally activated and inactivated
+ independently based on the occurrence of a labeled synchronization (marker)
+ event.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The notion of marker discontinuity as captured by this parameter is
+ logically independent from the method used to count frames as expressed by
+ the <code>ttp:dropMode</code> parameter. In particular, even if the
+ <code>ttp:dropMode</code> parameter is specified as <code>dropNTSC</code> or
+ <code>dropPAL</code>, the marker mode may be specified as
+ <code>continuous</code>, even in the presence of frame count discontinuities
+ induced by the frame counting method, unless there were some other
+ non-linearity or discontinuity in marker labeling, for example, two
+ consecutive frames labeled as <code>10:00:00:00</code> and
+ <code>10:00:01:00</code>.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-pixelAspectRatio" name=
+ "parameter-attribute-pixelAspectRatio"></a>6.2.7 ttp:pixelAspectRatio</h4>
+
+ <p>The <code>ttp:pixelAspectRatio</code> attribute may be used by a content
+ author to express the aspect ratio of non-square pixels in the production of
+ content that makes use of pixel coordinates.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-pixelAspectRatio-syntax" name=
+ "parameter-attribute-pixelAspectRatio-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:pixelAspectRatio
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:pixelAspectRatio
+ : width height // <em>width</em> != 0; <em>height</em> != 0
+
+width | height
+ : <a href="#style-value-digit"><digit></a>+
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be
+ assumed to apply. If specified, then both width and height must be
+ non-zero.</p>
+
+ <p>A <code>ttp:pixelAspectRatio</code> attribute is considered to be
+ significant only when specified on the <code>tt</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This parameter may be used by a content transcoder or translator in order
+ to convert pixel measurements between different pixel aspect ratios while
+ still maintaining authorial layout intentions.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-profile" name=
+ "parameter-attribute-profile"></a>6.2.8 ttp:profile</h4>
+
+ <p>The <code>ttp:profile</code> attribute may be used by a content author to
+ express the profile of the Timed Text Markup Language (TTML) used in a
+ <em>Document Instance</em>.</p>
+
+ <p>If specified, the value of this attribute must adhere to the
+ <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, §3.2.17, and, further, must specify a profile designator in accordance
+ with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p>
+
+ <p>A <code>ttp:profile</code> attribute is considered to be significant only
+ when specified on the <code>tt</code> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-subFrameRate" name=
+ "parameter-attribute-subFrameRate"></a>6.2.9 ttp:subFrameRate</h4>
+
+ <p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame
+ rate of a related media object or the intrinsic sub-frame rate of a
+ <em>Document Instance</em> in case it is intended to function as an independent
+ media object.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-subFrameRate-syntax" name=
+ "parameter-attribute-subFrameRate-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:subFrameRate
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:subFrameRate
+ : <a href=
+"#style-value-digit"><digit></a>+ // <em>value</em> > 0
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The sub-frame rate that applies to a <em>Document Instance</em> is used to
+ interpret time expressions that are expressed in <em>sub-frames</em> as defined
+ by <a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a>.</p>
+
+ <p>If the <code>media</code> time base applies and the effective frame rate is
+ integral, a sub-frame is interpreted as a division of a frame of media time,
+ such that if the sub-frame rate is specified as <em>S</em>, then a frame of
+ media time is divided into <em>S</em> intervals of equal duration, where each
+ interval is labeled as sub-frame <em>s</em>, with <em>s</em> ∈
+ [0…<em>S−1</em>].</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
+ Base</b></a> for further details on the interpretation of time expressions
+ for the <code>media</code> time base.</p>
+ </div>
+
+ <p>If not specified, the sub-frame rate must be considered to be equal to one
+ (1). If specified, then the sub-frame rate must be greater than zero (0).</p>
+
+ <p>A <code>ttp:subFrameRate</code> attribute is considered to be significant
+ only when specified on the <code>tt</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The sub-frame is sometimes referred to as a <em>field</em> in the context
+ of synchronization with an interlaced video media object.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-tickRate" name=
+ "parameter-attribute-tickRate"></a>6.2.10 ttp:tickRate</h4>
+
+ <p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of
+ a related media object or the intrinsic tick rate of content of a <em>Document
+ Instance</em> in case it is intended to function as an independent media
+ object.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-tickRate-syntax" name=
+ "parameter-attribute-tickRate-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:tickRate
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:tickRate
+ : <a href=
+"#style-value-digit"><digit></a>+ // <em>value</em> > 0
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The tick rate that applies to a <em>Document Instance</em> is used to
+ interpret time expressions that are expressed in <em>ticks</em> by using the
+ <code>t</code> metric as defined by <a href=
+ "#timing-value-timeExpression"><b>10.3.1 <timeExpression></b></a>.</p>
+
+ <p>If the <code>media</code> time base applies, a tick is interpreted as an
+ integral division of a second of media time, such that if the tick rate is
+ specified as <em>T</em>, then a second of media time is divided into <em>T</em>
+ intervals of equal duration, where each interval is labeled as tick <em>t</em>,
+ with <em>t</em> ∈ [0…<em>T−1</em>].</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
+ Base</b></a> for further details on the interpretation of time expressions
+ for the <code>media</code> time base.</p>
+ </div>
+
+ <p>If not specified, then if a frame rate is specified, the tick rate must be
+ considered to be the effective frame rate multiplied by the sub-frame rate
+ (i.e., ticks are interpreted as sub-frames); or, if no frame rate is specified,
+ the tick rate must be considered to be one (1) tick per second of media time.
+ If specified, then the tick rate must not be zero (0).</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>There is no predefined relationship between ticks and frames or
+ sub-frames. Ticks are an arbitrary division of seconds that permit use of
+ fixed point arithmetic rather than fractional (and potentially inexact)
+ expressions of seconds.</p>
+ </div>
+
+ <p>A <code>ttp:tickRate</code> attribute is considered to be significant only
+ when specified on the <code>tt</code> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="parameter-attribute-timeBase" name=
+ "parameter-attribute-timeBase"></a>6.2.11 ttp:timeBase</h4>
+
+ <p>The <code>ttp:timeBase</code> attribute is used to specify the temporal
+ coordinate system by means of which time expressions are interpreted in a
+ <em>Document Instance</em>.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax:</p><a id="parameter-attribute-timeBase-syntax" name=
+ "parameter-attribute-timeBase-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttp:timeBase
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttp:timeBase
+ : "media"
+ | "smpte"
+ | "clock"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the time base is designated as <code>media</code>, then a time expression
+ denotes a coordinate in some media object's time line, where the media object
+ may be an external media object with which the content of a <em>Document
+ Instance</em> is to be synchronized, or it may be the content of a <em>Document
+ Instance</em> itself in a case where the timed text content is intended to
+ establish an independent time line.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When using a media time base, if that time base is paused or scaled
+ positively or negatively, i.e., the media play rate is not unity, then it is
+ expected that the presentation of associated Timed Text content will be
+ similarly paused, accelerated, or decelerated, respectively. The means for
+ controlling an external media time base is outside the scope of this
+ specification.</p>
+ </div>
+
+ <p>If the time base is designated as <code>smpte</code>, then a time expression
+ denotes a <a href="#smpte12m">[SMPTE 12M]</a> time coordinate with which the
+ content of a <em>Document Instance</em> is to be synchronized. In this case,
+ the value of the <code>ttp:markerMode</code> and <code>ttp:dropMode</code>
+ parameters apply, as defined by <a href=
+ "#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a> and <a href=
+ "#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a>,
+ respectively.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When the time base is designated as <code>smpte</code>, every time
+ expression denotes a media marker value akin to that defined by <a href=
+ "#smil21">[SMIL 2.1]</a>, § 10.4.1, except instead of using an opaque marker
+ name, a structured <a href="#smpte12m">[SMPTE 12M]</a> time coordinate serves
+ as the marker name.</p>
+ </div>
+
+ <p>If the time base is designated as <code>clock</code>, then the time
+ expression denotes a coordinate in some real-world time line as established by
+ some real-time clock, such as the local wall-clock time or UTC (Coordinated
+ Universal Time) or GPS (Global Positioning System) time lines.</p>
+
+ <p>If not specified, the default time base must be considered to be
+ <code>media</code>.</p>
+
+ <p>A <code>ttp:timeBase</code> attribute is considered to be significant only
+ when specified on the <code>tt</code> element.</p>
+
+ <p>When operating with either <code>media</code> or <code>smpte</code> time
+ bases, a diachronic presentation of a <em>Document Instance</em> may be subject
+ to transformations of the controlling time line, such as temporal reversal,
+ dilation (expansion), or constriction (compression); however, when operating
+ with the <code>clock</code> time base, no transformations are permitted, and
+ diachronic presentation proceeds on a linear, monotonically increasing time
+ line based on the passage of real time.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Due to there being only one time base parameter that applies to a given
+ <em>Document Instance</em>, the interpretation of time expressions is uniform
+ throughout the <em>Document Instance</em>.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#time-expression-semantics"><b>N Time Expression
+ Semantics</b></a> for further details on the interpretation of time
+ expressions according to the designated time base.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="content" name="content"></a>7 Content</h2>
+
+ <p>This section specifies the <em>content</em> matter of the core vocabulary
+ catalog.</p>
+
+ <div class="div2">
+ <h3><a id="content-element-vocabulary" name="content-element-vocabulary"></a>7.1
+ Content Element Vocabulary</h3>
+
+ <p>The following elements specify the structure and principal content aspects of
+ a <em>Document Instance</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#document-structure-vocabulary-head"><b>7.1.2 head</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#document-structure-vocabulary-body"><b>7.1.3 body</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-div"><b>7.1.4 div</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-p"><b>7.1.5 p</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-span"><b>7.1.6 span</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-br"><b>7.1.7 br</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="document-structure-vocabulary-tt" name=
+ "document-structure-vocabulary-tt"></a>7.1.1 tt</h4>
+
+ <p>The <code>tt</code> element serves as the root document element of a
+ <em>Document Instance</em>.</p>
+
+ <p>The <code>tt</code> element accepts as its children zero or one
+ <code>head</code> element followed by zero or one <code>body</code>
+ element.</p><a id="elt-syntax-tt" name="elt-syntax-tt"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: tt
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt
+ <a href="#style-attribute-extent">tts:extent</a> = string
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = string
+ <a href=
+"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
+ {<em>any attribute in TT Parameter namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#document-structure-vocabulary-head">head</a>?, <a href=
+"#document-structure-vocabulary-body">body</a>?
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The <em>Root Temporal Extent</em>, i.e., the time interval over which a
+ <em>Document Instance</em> is active, has an implicit duration that is equal to
+ the implicit duration of the <code>body</code> element of the document, if the
+ <code>body</code> element is present, or zero, if the <code>body</code> element
+ is absent.</p>
+
+ <p>If the <code>tts:extent</code> attribute is specified on the <code>tt</code>
+ element, then it must adhere to <a href="#style-attribute-extent"><b>8.2.7
+ tts:extent</b></a>, in which case it specifies the spatial extent of the
+ <em>Root Container Region</em> in which content regions are located and
+ presented. If no <code>tts:extent</code> attribute is specified, then the
+ spatial extent of the <em>Root Container Region</em> is considered to be
+ determined by the <em>Document Processing Context</em>. The origin of the
+ <em>Root Container Region</em> is determined by the <em>Document Processing
+ Context</em>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the absence of other requirements, and if a <em>Related Media
+ Object</em> exists, then it is recommended that the <em>Document Processing
+ Context</em> determine that:</p>
+
+ <ul>
+ <li>
+ <p>if no <code>tts:extent</code> is specified on the root <code>tt</code>
+ element, the extent of the <em>Root Container Region</em> be established
+ as equal to the extent of the <em>Related Media Object Region</em>;
+ and</p>
+ </li>
+
+ <li>
+ <p>the origin of the <em>Root Container Region</em> be established so
+ that this region is centered in the <em>Related Media Object
+ Region</em>.</p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>If an author desires to signal the (storage or image) aspect ratio of the
+ <em>Root Container Region</em> without specifying its resolution, then this
+ may be accomplished by using metadata specified in an external namespace,
+ such as <code>m708:aspectRatio</code> as defined in <a href=
+ "#smpte2052">[SMPTE 2052-11]</a>, §5.4.4. This would permit, for example, the
+ interchange of information that reflects the the semantics of <a href=
+ "#cea708d">[CEA-708-D]</a> , §4.5 “Caption Service Metadata”, “ASPECT
+ RATIO”.</p>
+ </div>
+
+ <p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code>
+ element. If the attribute value is empty, it signifies that there is no default
+ language that applies to the text contained within the <em>Document
+ Instance</em>.</p>
+
+ <p>If no <code>xml:space</code> attribute is specified upon the <code>tt</code>
+ element, then it must be considered as if the attribute had been specified with
+ a value of <code>default</code>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="document-structure-vocabulary-head" name=
+ "document-structure-vocabulary-head"></a>7.1.2 head</h4>
+
+ <p>The <code>head</code> element is a container element used to group header
+ matter, including metadata, profile, styling, and layout information.</p>
+
+ <p>The <code>head</code> element accepts as its children zero or more elements
+ in the <code>Metadata.class</code> element group, followed by zero or more
+ elements in the <code>Parameters.class</code> element group, followed by zero
+ or one <code>styling</code> element, followed by zero or one
+ <code>layout</code> element.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <em>Document Instance</em> as a
+ whole, and not just the <code>head</code> element.</p>
+
+ <p>Any parameters specified by children in the <code>Parameters.class</code>
+ element group applies semantically to the <em>Document Instance</em> as a
+ whole, and not just the <code>head</code> element.</p>
+
+ <p>A <code>styling</code> child element is used to specify style constructs
+ that are referenced from other style constructs, by layout constructs, and by
+ content elements.</p>
+
+ <p>A <code>layout</code> child element is used to specify layout constructs
+ that are referenced by content elements.</p><a id="elt-syntax-head" name=
+ "elt-syntax-head"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: head
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<head
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Parameters.class</a>*, <a href=
+"#styling-vocabulary-styling">styling</a>?, <a href=
+"#layout-vocabulary-layout">layout</a>?
+</head>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>To the extent that time semantics apply to the content of the
+ <code>head</code> element, the implied time interval of this element is defined
+ to be coterminous with the <em>Root Temporal Extent</em>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="document-structure-vocabulary-body" name=
+ "document-structure-vocabulary-body"></a>7.1.3 body</h4>
+
+ <p>The <code>body</code> element functions as a logical container and a
+ temporal structuring element for a sequence of textual content units
+ represented as logical divisions.</p>
+
+ <p>The <code>body</code> element accepts as its children zero or more elements
+ in the <code>Metadata.class</code> element group, followed by zero or more
+ elements in the <code>Animation.class</code> element group, followed by zero or
+ more <code>div</code> elements.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <code>body</code> element and its
+ descendants as a whole.</p>
+
+ <p>Any animation elements specified by children in the
+ <code>Animation.class</code> element group apply semantically to the
+ <code>body</code> element.</p><a id="elt-syntax-body" name=
+ "elt-syntax-body"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: body
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<body
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#layout-attribute-region">region</a> = IDREF
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href=
+"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*, <a href=
+"#content-vocabulary-div">div</a>*
+</body>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>An author may specify a temporal interval for a <code>body</code> element
+ using the <code>begin</code>, <code>dur</code>, and <code>end</code>
+ attributes. If the begin point of this interval remains unspecified, then the
+ begin point is interpreted as the beginning point of the <em>Root Temporal
+ Extent</em>. Similarly, if the end point of this interval remains unspecified,
+ then the end point is interpreted as the ending point of the <em>Root Temporal
+ Extent</em>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A <em>Document Instance</em> referenced from a SMIL presentation is
+ expected to follow the same timing rules as apply to other SMIL media
+ objects.</p>
+ </div>
+
+ <p>If relative begin or end times are specified on the <code>body</code>
+ element, then these times are resolved by reference to the beginning and ending
+ time of the <em>Root Temporal Extent</em>.</p>
+
+ <p>If the <em>Root Temporal Extent</em> is shorter than the computed duration
+ of the <code>body</code> element, then the active time interval of a
+ <code>body</code> element is truncated to the active end point of the <em>Root
+ Temporal Extent</em>.</p>
+
+ <p>An author may associate a set of style properties with a <code>body</code>
+ element by means of either the <code>style</code> attribute or inline style
+ attributes or a combination thereof.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Style properties that are associated with a <code>body</code> element in a
+ <em>Document Instance</em> are available for style inheritance by descendant
+ content elements such as <code>div</code>, <code>p</code>, <code>span</code>
+ and <code>br</code>.</p>
+ </div>
+
+ <p>If no <code>timeContainer</code> attribute is specified on a
+ <code>body</code> element, then it must be interpreted as having
+ <em>parallel</em> time containment semantics.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-vocabulary-div" name="content-vocabulary-div"></a>7.1.4
+ div</h4>
+
+ <p>The <code>div</code> element functions as a logical container and a temporal
+ structuring element for a sequence of textual content units represented as
+ logical sub-divisions or paragraphs.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When rendered on a continuous (non-paged) visual presentation medium, a
+ <code>div</code> element is expected to generate one or more block areas that
+ contain zero or more child block areas generated by the <code>div</code>
+ element's descendant <code>p</code> elements.</p>
+
+ <p>If some block area generated by a <code>div</code> element does not
+ contain any child areas, then it is not expected to be presented.</p>
+ </div>
+
+ <p>The <code>div</code> element accepts as its children zero or more elements
+ in the <code>Metadata.class</code> element group, followed by zero or more
+ elements in the <code>Animation.class</code> element group, followed by zero or
+ more <code>div</code> or <code>p</code> elements.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <code>div</code> element and its
+ descendants as a whole.</p>
+
+ <p>Any animation elements specified by children in the
+ <code>Animation.class</code> element group apply semantically to the
+ <code>div</code> element.</p><a id="elt-syntax-div" name="elt-syntax-div"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: div
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<div
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#layout-attribute-region">region</a> = IDREF
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href=
+"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*, <a href=
+"#element-vocab-group-table">Block.class</a>*
+</div>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>An author may associate a set of style properties with a <code>div</code>
+ element by means of either the <code>style</code> attribute or inline style
+ attributes or a combination thereof.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Style properties that are associated with a <code>div</code> element in a
+ <em>Document Instance</em> are available for style inheritance by descendant
+ content elements such as <code>div</code>, <code>p</code>, <code>span</code>,
+ and <code>br</code>.</p>
+ </div>
+
+ <p>If no <code>timeContainer</code> attribute is specified on a
+ <code>div</code> element, then it must be interpreted as having
+ <em>parallel</em> time containment semantics.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-vocabulary-p" name="content-vocabulary-p"></a>7.1.5 p</h4>
+
+ <p>A <code>p</code> element represents a logical paragraph, serving as a
+ transition between block level and inline level formatting semantics.</p>
+
+ <p>The <code>p</code> element accepts as its children zero or more elements in
+ the <code>Metadata.class</code> element group, followed by zero or more
+ elements in the <code>Animation.class</code> element group, followed by zero or
+ more intermixed <code>span</code> elements, <code>br</code> elements, or text
+ nodes interpreted as an anonymous spans.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <code>p</code> element and its
+ descendants as a whole.</p>
+
+ <p>Any animation elements specified by children in the
+ <code>Animation.class</code> element group apply semantically to the
+ <code>p</code> element.</p><a id="elt-syntax-p" name="elt-syntax-p"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: p
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<p
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#layout-attribute-region">region</a> = IDREF
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href=
+"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*, <a href=
+"#element-vocab-group-table">Inline.class</a>*
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>An author may associate a set of style properties with a <code>p</code>
+ element by means of either the <code>style</code> attribute or inline style
+ attributes or a combination thereof.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Style properties that are associated with a <code>p</code> element in a
+ <em>Document Instance</em> are available for style inheritance by descendant
+ content elements such as <code>span</code> and <code>br</code>.</p>
+ </div>
+
+ <p>If no <code>timeContainer</code> attribute is specified on a <code>p</code>
+ element, then it must be interpreted as having <em>parallel</em> time
+ containment semantics.</p>
+
+ <p>If a sequence of children of a <code>p</code> element consists solely of
+ character information items, then that sequence must be considered to be an
+ <em>anonymous span</em> for the purpose of applying style properties that apply
+ to <code>span</code> elements.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The presentation semantics of TTML effectively implies that a
+ <code>p</code> element constitutes a line break. In particular, it is
+ associated with a block-stacking constraint both before the first generated
+ line area and after the last generated line area. See <a href=
+ "#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a>
+ for further details.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-vocabulary-span" name="content-vocabulary-span"></a>7.1.6
+ span</h4>
+
+ <p>The <code>span</code> element functions as a logical container and a
+ temporal structuring element for a sequence of textual content units having
+ inline level formatting semantics.</p>
+
+ <p>When presented on a visual medium, a <code>span</code> element is intended
+ to generate a sequence of inline areas, each containing one or more glyph
+ areas.</p>
+
+ <p>The <code>span</code> element accepts as its children zero or more elements
+ in the <code>Metadata.class</code> element group, followed by zero or more
+ elements in the <code>Animation.class</code> element group, followed by zero or
+ more intermixed <code>span</code> elements, <code>br</code> elements, or text
+ nodes interpreted as anonymous spans.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <code>span</code> element and its
+ descendants as a whole.</p>
+
+ <p>Any animation elements specified by children in the
+ <code>Animation.class</code> element group apply semantically to the
+ <code>span</code> element.</p><a id="elt-syntax-span" name=
+ "elt-syntax-span"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: span
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<span
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#layout-attribute-region">region</a> = IDREF
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href=
+"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*, <a href=
+"#element-vocab-group-table">Inline.class</a>*
+</span>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>An author may associate a set of style properties with a <code>span</code>
+ element by means of either the <code>style</code> attribute or inline style
+ attributes or a combination thereof.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Style properties that are associated with a <code>span</code> element in a
+ <em>Document Instance</em> are available for style inheritance by descendant
+ content elements such as <code>span</code> and <code>br</code>.</p>
+ </div>
+
+ <p>If no <code>timeContainer</code> attribute is specified on a
+ <code>span</code> element, then it must be interpreted as having
+ <em>parallel</em> time containment semantics.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-vocabulary-br" name="content-vocabulary-br"></a>7.1.7
+ br</h4>
+
+ <p>The <code>br</code> element denotes an explicit line break.</p><a id=
+ "elt-syntax-br" name="elt-syntax-br"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: br
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<br
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*
+</br>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>When presented on a visual medium, the presence of a <code>br</code> element
+ must be interpreted as a forced line break.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The visual presentation of a <code>br</code> element is intended to
+ produce the same effect as the control character <code>CR</code> (U+000D)
+ followed by the control code <code>LF</code> (U+000A) when presented on a
+ teletype device. Therefore, two <code>br</code> elements in sequence will
+ produce a different effect than a single <code>br</code> element.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="content-attribute-vocabulary" name=
+ "content-attribute-vocabulary"></a>7.2 Content Attribute Vocabulary</h3>
+
+ <p>This section defines the following common attributes used with many or all
+ element types in the core vocabulary catalog:</p>
+
+ <ul>
+ <li>
+ <p><a href="#content-attribute-id"><b>7.2.1 xml:id</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-attribute-lang"><b>7.2.2 xml:lang</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-attribute-space"><b>7.2.3 xml:space</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="content-attribute-id" name="content-attribute-id"></a>7.2.1
+ xml:id</h4>
+
+ <p>The <code>xml:id</code> attribute is used as defined by <a href=
+ "#xmlid">[XML ID]</a>.</p>
+
+ <p>The <code>xml:id</code> attribute may be used with any element in the core
+ vocabulary catalog.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-attribute-lang" name="content-attribute-lang"></a>7.2.2
+ xml:lang</h4>
+
+ <p>The <code>xml:lang</code> attribute is used as defined by <a href=
+ "#xml10">[XML 1.0]</a>, §2.12, <em>Language Identification</em>.</p>
+
+ <p>The <code>xml:lang</code> attribute must be specified on the <code>tt</code>
+ element and may be specified by an instance of any other element type in the
+ core vocabulary catalog except parameter vocabulary.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="content-attribute-space" name="content-attribute-space"></a>7.2.3
+ xml:space</h4>
+
+ <p>The <code>xml:space</code> attribute is used as defined by <a href=
+ "#xml10">[XML 1.0]</a>, §2.10, <em>White Space Handling</em>.</p>
+
+ <p>The <code>xml:space</code> attribute may be used with any element in the
+ core vocabulary catalog except parameter vocabulary.</p>
+
+ <p>The semantics of the value <code>default</code> are fixed to mean that when
+ performing presentation processing of a <em>Document Instance</em> as described
+ by <a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
+ Processing</b></a>, processing must occur as if the following properties were
+ specified on the affected elements of an equivalent intermediate XSL-FO
+ document:</p>
+
+ <ul>
+ <li>
+ <p><code>suppress-at-line-break="auto"</code></p>
+ </li>
+
+ <li>
+ <p><code>linefeed-treatment="treat-as-space"</code></p>
+ </li>
+
+ <li>
+ <p><code>white-space-collapse="true"</code></p>
+ </li>
+
+ <li>
+ <p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
+ </li>
+ </ul>
+
+ <p>Similarly, the semantics of the value <code>preserve</code> are fixed to
+ mean that when performing presentation processing, processing must occur as if
+ the following properties were specified on the affected elements of an
+ equivalent intermediate XSL-FO document:</p>
+
+ <ul>
+ <li>
+ <p><code>suppress-at-line-break="retain"</code></p>
+ </li>
+
+ <li>
+ <p><code>linefeed-treatment="preserve"</code></p>
+ </li>
+
+ <li>
+ <p><code>white-space-collapse="false"</code></p>
+ </li>
+
+ <li>
+ <p><code>white-space-treatment="preserve"</code></p>
+ </li>
+ </ul>
+
+ <p>When performing other types of processing intended to eventually result in a
+ visual presentation by means other than those described in this specification,
+ the semantics of space collapsing and preservation as described above should be
+ respected. For other types of processing, the treatment of the
+ <code>xml:space</code> attribute is processor dependent, but should respect the
+ semantics described above if possible.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the above four cited XSL-FO properties are defined by by
+ <a href="#xsl11">[XSL 1.1]</a>, § 7.17.3, 7.16.7, 7.16.12, and 7.16.8,
+ respectively.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="styling" name="styling"></a>8 Styling</h2>
+
+ <p>This section specifies the <em>styling</em> matter of the core vocabulary
+ catalog, where styling is to be understood as a separable layer of information that
+ applies to content and that denotes authorial intentions about the presentation of
+ that content.</p>
+
+ <p>Styling attributes are included in TTML to enable authorial intent of
+ presentation to be included within a self-contained document. This section
+ describes the semantics of style presentation in terms of a standard processing
+ model. TTML Processors are not required to present <em>Document Instances</em> in
+ any particular way; but an implementation of this model by a TTML Presentation
+ Processor that provides externally observable results that are consistent with this
+ model is likely to lead to a user experience that closely resembles the experience
+ intended by the documents' authors.</p>
+
+ <p>The semantics of TTML style presentation are described in terms of the model in
+ <a href="#xsl11">[XSL 1.1]</a>. The effects of the attributes in this section are
+ intended to be compatible with the layout and formatting model of XSL; however,
+ Presentation agents may use any technology to satisfy the authorial intent of the
+ document. In particular since <a href="#css2">[CSS2]</a> is a subset of this model,
+ a CSS processor may be used for the features that the models have in common.</p>
+
+ <p>No normative use of an <code><?xml-stylesheet ... ?></code> processing
+ instruction is defined by this specification.</p>
+
+ <div class="div2">
+ <h3><a id="styling-element-vocabulary" name="styling-element-vocabulary"></a>8.1
+ Styling Element Vocabulary</h3>
+
+ <p>The following elements specify the structure and principal styling aspects of
+ a <em>Document Instance</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="styling-vocabulary-styling" name=
+ "styling-vocabulary-styling"></a>8.1.1 styling</h4>
+
+ <p>The <code>styling</code> element is a container element used to group
+ styling matter, including metadata that applies to styling matter.</p>
+
+ <p>The <code>styling</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more <code>style</code> elements.</p><a id="elt-syntax-styling" name=
+ "elt-syntax-styling"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<styling
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#styling-vocabulary-style">style</a>*
+</styling>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>To the extent that time semantics apply to the content of the
+ <code>styling</code> element, the implied time interval of this element is
+ defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="styling-vocabulary-style" name="styling-vocabulary-style"></a>8.1.2
+ style</h4>
+
+ <p>The <code>style</code> element is used to define a set of style
+ specifications expressed as a specified style set in accordance with <a href=
+ "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style Set
+ Processing</b></a>.</p>
+
+ <p>The <code>style</code> element accepts as its children zero or more
+ <code>metadata</code> elements.</p><a id="elt-syntax-style" name=
+ "elt-syntax-style"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: style
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<style
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> EMPTY
+</style>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a <code>style</code> element appears as a descendant of a
+ <code>region</code> element, then the <code>style</code> element must be
+ ignored for the purpose of computing referential styles as defined by <a href=
+ "#semantics-style-association-referential"><b>8.4.1.2 Referential
+ Styling</b></a> and <a href=
+ "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
+ Referential Styling</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>That is to say, when referential styling is used by an element to refer to
+ a <code>style</code> element, then the referenced <code>style</code> element
+ must appear as a descendant of the <code>styling</code> element, and not in
+ any other context.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="styling-attribute-vocabulary" name=
+ "styling-attribute-vocabulary"></a>8.2 Styling Attribute Vocabulary</h3>
+
+ <p>This section defines the <a href="#style-attribute-style"><b>8.2.1
+ style</b></a> attribute used with both style definition elements as well as
+ content elements.</p>
+
+ <p>In addition, this section specifies the following attributes in the TT Style
+ Namespace for use with style definition elements, certain layout elements, and
+ content elements that support inline style specifications:</p>
+
+ <ul>
+ <li>
+ <p><a href="#style-attribute-backgroundColor"><b>8.2.2
+ tts:backgroundColor</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-color"><b>8.2.3 tts:color</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-direction"><b>8.2.4 tts:direction</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-display"><b>8.2.5 tts:display</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-displayAlign"><b>8.2.6
+ tts:displayAlign</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-extent"><b>8.2.7 tts:extent</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-fontFamily"><b>8.2.8 tts:fontFamily</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-fontSize"><b>8.2.9 tts:fontSize</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-fontStyle"><b>8.2.10 tts:fontStyle</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-fontWeight"><b>8.2.11 tts:fontWeight</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-lineHeight"><b>8.2.12 tts:lineHeight</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-opacity"><b>8.2.13 tts:opacity</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-origin"><b>8.2.14 tts:origin</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-overflow"><b>8.2.15 tts:overflow</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-padding"><b>8.2.16 tts:padding</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-showBackground"><b>8.2.17
+ tts:showBackground</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-textAlign"><b>8.2.18 tts:textAlign</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-textDecoration"><b>8.2.19
+ tts:textDecoration</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-textOutline"><b>8.2.20
+ tts:textOutline</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-unicodeBidi"><b>8.2.21
+ tts:unicodeBidi</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-visibility"><b>8.2.22 tts:visibility</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-wrapOption"><b>8.2.23 tts:wrapOption</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-writingMode"><b>8.2.24
+ tts:writingMode</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-zIndex"><b>8.2.25 tts:zIndex</b></a></p>
+ </li>
+ </ul>
+
+ <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
+ between adjacent non-terminal components of a value of a TT Style or TT Style
+ Extension Property value unless some other delimiter is permitted and used.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This specification makes use of <em>lowerCamelCased</em> local names for
+ style attributes that are based upon like-named properties defined by <a href=
+ "#xsl11">[XSL 1.1]</a>. This convention is likewise extended to token values of
+ such properties.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A style property may be expressed as a specified attribute on any content
+ element type independently of whether the property applies to that element
+ type. This capability permits the expression of an inheritable style property
+ on ancestor elements to which the property does not apply.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-style" name="style-attribute-style"></a>8.2.1
+ style</h4>
+
+ <p>The <code>style</code> attribute is used by referential style association to
+ reference one or more <code>style</code> elements each of which define a style
+ (property) set.</p>
+
+ <p>The <code>style</code> attribute may be specified by an instance of the
+ following element types:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-div"><code>div</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-p"><code>p</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-span"><code>span</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
+ </li>
+ </ul>
+
+ <p>If specified, the value of a <code>style</code> attribute must adhere to the
+ <code>IDREFS</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, § 3.3.10, and, furthermore, each IDREF must reference a
+ <code>style</code> element which has a <code>styling</code> element as an
+ ancestor.</p>
+
+ <p>If the same IDREF, <em>ID<sub>1</sub></em>, appears more than one time in
+ the value of a <code>style</code> attribute, then there should be an
+ intervening IDREF, <em>ID<sub>2</sub></em>, where <em>ID<sub>2</sub></em> is
+ not equal to <em>ID<sub>1</sub></em>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This constraint is intended to discourage the use of redundant referential
+ styling while still allowing the same style to be referenced multiple times
+ in order to potentially override prior referenced styles, e.g., when an
+ intervening, distinct style is referenced in the IDREFS list.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See the specific element type definitions that permit use of the
+ <code>style</code> attribute, as well as <a href=
+ "#semantics-style-association-referential"><b>8.4.1.2 Referential
+ Styling</b></a> and <a href=
+ "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
+ Referential Styling</b></a>, for further information on its semantics.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-backgroundColor" name=
+ "style-attribute-backgroundColor"></a>8.2.2 tts:backgroundColor</h4>
+
+ <p>The <code>tts:backgroundColor</code> attribute is used to specify a style
+ property that defines the background color of a region or an area generated by
+ content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-backgroundColor" name=
+ "style-property-details-backgroundColor"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><a href="#style-value-color"><color></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>transparent</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
+ <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
+ "#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#layout-vocabulary-region"><code>region</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>The <code>tts:backgroundColor</code> style is illustrated by the following
+ example.</p><a id="style-attribute-backgroundColor-example-1" name=
+ "style-attribute-backgroundColor-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Background Color
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="306px 114px"/>
+ <style <span class="strong">tts:backgroundColor="red"</span>/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:padding="3px 40px"/>
+</region>
+...
+<p region="r1" <span class=
+"strong">tts:backgroundColor="purple"</span> tts:textAlign="center">
+ Twinkle, twinkle, little bat!<br/>
+ How <span <span class=
+"strong">tts:backgroundColor="green"</span>>I wonder</span> where you're at!
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-backgroundColor-example-1-images" name=
+ "style-attribute-backgroundColor-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Background Color
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/backgroundColor.png" alt=
+ "TTML backgroundColor style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.8.2.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-color" name="style-attribute-color"></a>8.2.3
+ tts:color</h4>
+
+ <p>The <code>tts:color</code> attribute is used to specify a style property
+ that defines the foreground color of marks associated with an area generated by
+ content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-color" name=
+ "style-property-details-color"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><a href="#style-value-color"><color></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td>see prose</td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>The initial value of the <code>tts:color</code> property is considered to be
+ implementation dependent. In the absence of end-user preference information, a
+ conformant presentation processor should use an initial value that is highly
+ contrastive to the background color of the <em>Root Container Region</em>.</p>
+
+ <p>The <code>tts:color</code> style is illustrated by the following
+ example.</p><a id="style-attribute-color-example-1" name=
+ "style-attribute-color-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Color
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:backgroundColor="black"/>
+ <style <span class="strong">tts:color="white"</span>/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ In spring, when woods are <span <span class=
+"strong">tts:color="green"</span>>getting green</span>,<br/>
+ I'll try and tell you what I mean.
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-color-example-1-images" name=
+ "style-attribute-color-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Color
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/color.png" alt="TTML color style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.18.1.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-direction" name=
+ "style-attribute-direction"></a>8.2.4 tts:direction</h4>
+
+ <p>The <code>tts:direction</code> attribute is used to specify a style property
+ that defines the directionality of an embedding or override according to the
+ Unicode bidirectional algorithm.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-direction" name=
+ "style-property-details-direction"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>ltr</code> | <code>rtl</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>ltr</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must ignore the attribute.</p>
+
+ <p>The <code>tts:direction</code> style is illustrated by the following
+ example.</p><a id="style-attribute-direction-example-1" name=
+ "style-attribute-direction-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Direction
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="265px 84px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ Little birds are playing<br/>
+ Bagpipes on the shore,<br/>
+ <span tts:unicodeBidi="bidiOverride" <span class=
+"strong">tts:direction="rtl"</span>>where the tourists snore.</span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-direction-example-1-images" name=
+ "style-attribute-direction-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Direction
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/direction.png" alt=
+ "TTML direction style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.1.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-display" name="style-attribute-display"></a>8.2.5
+ tts:display</h4>
+
+ <p>The <code>tts:display</code> attribute is used to specify a style property
+ that defines whether an element is a candidate for layout and composition in a
+ region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-display" name=
+ "style-property-details-display"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>auto</code> | <code>none</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>auto</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
+ <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
+ "#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#layout-vocabulary-region"><code>region</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If the value of this attribute is <code>auto</code>, then the affected
+ element is a candidate for region layout and presentation; however, if the
+ value is <code>none</code>, then the affected element and its descendants must
+ be considered ineligible for region layout and presentation.</p>
+
+ <p>The <code>tts:display</code> style is illustrated by the following
+ example.</p><a id="style-attribute-display-example-1" name=
+ "style-attribute-display-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Display
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="369px 119px"
+ tts:backgroundColor="black"
+ tts:color="white"
+ tts:displayAlign="before"
+ tts:textAlign="start"/>
+</region>
+...
+<div region="r1">
+ <p dur="5s">
+ [[[
+ <span <span class="strong">tts:display="none"</span>>
+ <set begin="1s" dur="1s" <span class="strong">tts:display="auto"</span>/>
+ Beautiful soup,
+ </span>
+ <span <span class="strong">tts:display="none"</span>>
+ <set begin="2s" dur="1s" <span class="strong">tts:display="auto"</span>/>
+ so rich and green,
+ </span>
+ <span <span class="strong">tts:display="none"</span>>
+ <set begin="3s" dur="1s" <span class="strong">tts:display="auto"</span>/>
+ waiting in a hot tureen!
+ </span>
+ ]]]
+ </p>
+</div>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-display-example-1-images" name=
+ "style-attribute-display-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Display
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/display_0.png" alt=
+ "TTML display style property - [0,1)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/display_1.png" alt=
+ "TTML display style property - [1,2)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/display_2.png" alt=
+ "TTML display style property - [2,3)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/display_3.png" alt=
+ "TTML display style property - [3,4)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/display_4.png" alt=
+ "TTML display style property - [4,5)"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#css2">[CSS2]</a>, § 9.2.4.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-displayAlign" name=
+ "style-attribute-displayAlign"></a>8.2.6 tts:displayAlign</h4>
+
+ <p>The <code>tts:displayAlign</code> attribute is used to specify a style
+ property that defines the alignment of block areas in the block progression
+ direction.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-displayAlign" name=
+ "style-property-details-displayAlign"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>before</code> | <code>center</code> | <code>after</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>before</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>before</code> were
+ specified.</p>
+
+ <p>The <code>tts:displayAlign</code> style is illustrated by the following
+ example.</p><a id="style-attribute-displayAlign-example-1" name=
+ "style-attribute-displayAlign-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Display Align
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="128px 66px" tts:origin="0px 0px"
+ tts:backgroundColor="black" tts:color="white"/>
+ <style <span class="strong">tts:displayAlign="before"</span>/>
+ <style tts:textAlign="start"/>
+</region>
+<region xml:id="r2">
+ <style tts:extent="192px 66px" tts:origin="128px 66px"/>
+ tts:backgroundColor="green" tts:color="white"/>
+ <style <span class="strong">tts:displayAlign="after"</span>/>
+ <style tts:textAlign="start"/>
+</region>
+<region xml:id="r3">
+ <style tts:extent="128px 66px"/> style tts:origin="0px 132px"
+ tts:backgroundColor="black" tts:color="white"/>
+ <style <span class="strong">tts:displayAlign="before"</span>/>
+ <style tts:textAlign="start"/>
+</region>
+<region xml:id="r4">
+ <style tts:extent="192px 66px" tts:origin="128px 198px"/>
+ tts:backgroundColor="green" tts:color="white"/>
+ <style <span class="strong">tts:displayAlign="after"</span>/>
+ <style tts:textAlign="start"/>
+</region>
+...
+<div>
+ <p region="r1">I sent a message to the fish:</p>
+ <p region="r2">I told them<br/> "This is what I wish."</p>
+ <p region="r3">The little fishes of the sea,</p>
+ <p region="r4">They sent an<br/> answer back to me.</p>
+</div>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-displayAlign-example-1-images" name=
+ "style-attribute-displayAlign-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Display Align
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/displayAlign.png" alt=
+ "TTML displayAlign style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.14.4.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-extent" name="style-attribute-extent"></a>8.2.7
+ tts:extent</h4>
+
+ <p>The <code>tts:extent</code> attribute is used to specify the <em>width</em>
+ and <em>height</em> of a region area (which may be the <em>Root Container
+ Region</em>).</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-extent" name=
+ "style-property-details-extent"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>auto</code> | <a href="#style-value-length"><length></a>
+ <a href="#style-value-length"><length></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>auto</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
+ <a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to width and height of <em>Root Container Region</em></td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute consists of two <a href=
+ "#style-value-length"><length></a> specifications, then they must be
+ interpreted as <em>width</em> and <em>height</em>, where the first
+ specification is the <em>width</em>, and the second specification is the
+ <em>height</em>.</p>
+
+ <p>The <a href="#style-value-length"><length></a> value(s) used to
+ express extent must be non-negative.</p>
+
+ <p>If the value of this attribute is <code>auto</code>, then the initial value
+ of the style property must be considered to be the same as the extent of the
+ <em>Root Container Region</em>.</p>
+
+ <p>The extent of the <em>Root Container Region</em> is determined either by a
+ <code>tts:extent</code> specified on the <code>tt</code> element, if present,
+ or as described by <a href="#document-structure-vocabulary-tt"><b>7.1.1
+ tt</b></a> if not present. If <code>tts:extent</code> is specified on the
+ <code>tt</code> element, then the width and height must be expressed in terms
+ of two <a href="#style-value-length"><length></a> specifications, and
+ these specifications must be expressed as non-percentage, definite lengths
+ using pixel units.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>auto</code> were
+ specified.</p>
+
+ <p>The <code>tts:extent</code> style is illustrated by the following
+ example.</p><a id="style-attribute-extent-example-1" name=
+ "style-attribute-extent-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Extent
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style <span class="strong">tts:extent="330px 122px"</span>/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ 'Tis the voice of the Lobster:<br/>
+ I heard him declare,<br/>
+ "You have baked me too brown,<br/>
+ I must sugar my hair."
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-extent-example-1-images" name=
+ "style-attribute-extent-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Extent
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/extent.png" alt="TTML extent style property"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-fontFamily" name=
+ "style-attribute-fontFamily"></a>8.2.8 tts:fontFamily</h4>
+
+ <p>The <code>tts:fontFamily</code> attribute is used to specify a style
+ property that defines the font family from which glyphs are selected for glyph
+ areas generated by content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-fontFamily" name=
+ "style-property-details-fontFamily"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td>(<a href="#style-value-familyName"><familyName></a> | <a href=
+ "#style-value-genericFamilyName"><genericFamilyName></a>)
+ (<code>","</code> (<a href=
+ "#style-value-familyName"><familyName></a> | <a href=
+ "#style-value-genericFamilyName"><genericFamilyName></a>))*</td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>default</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The initial value, <code>default</code>, is a generic font family name,
+ and is further described in <a href="#style-value-genericFamilyName"><b>8.3.6
+ <genericFamilyName></b></a> below.</p>
+ </div>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified font family is not available, then a presentation processor
+ must attempt to map the specified font family to an available font family that
+ has similar typographic characteristics, or, in the absence of such a mapping,
+ it must interpret the font family as if the value <code>default</code> were
+ specified.</p>
+
+ <p>The <code>tts:fontFamily</code> style is illustrated by the following
+ example.</p><a id="style-attribute-fontFamily-example-1" name=
+ "style-attribute-fontFamily-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Font Family
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="474px 146px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="center"/>
+ <style tts:textAlign="start"/>
+ <style <span class="strong">tts:fontFamily="proportionalSansSerif"</span>/>
+</region>
+...
+<div region="r1">
+ <p>
+ "The time has come," the Walrus said,<br/>
+ "to talk of many things:
+ </p>
+ <p tts:textAlign="end" <span class=
+"strong">tts:fontFamily="monospaceSerif"</span>>
+ Of shoes, and ships, and sealing wax,<br/>
+ Of cabbages and kings,
+ </p>
+ <p>
+ And why the sea is boiling hot,<br/>
+ and whether pigs have wings."
+ </p>
+</div>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-fontFamily-example-1-images" name=
+ "style-attribute-fontFamily-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Font Family
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/fontFamily.png" alt=
+ "TTML fontFamily style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.2.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-fontSize" name="style-attribute-fontSize"></a>8.2.9
+ tts:fontSize</h4>
+
+ <p>The <code>tts:fontSize</code> attribute is used to specify a style property
+ that defines the font size for glyphs that are selected for glyph areas
+ generated by content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-fontSize" name=
+ "style-property-details-fontSize"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><a href="#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a>?</td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>1c</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to parent element's font size, or if no parent element, then
+ relative to the <em>Computed Cell Size</em></td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a single <a href="#style-value-length"><length></a> value is
+ specified, then this length applies equally to horizontal and vertical scaling
+ of a glyph's EM square; if two <a href="#style-value-length"><length></a>
+ values are specified, then the first expresses the horizontal scaling and the
+ second expresses vertical scaling.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Use of independent horizontal and vertical font sizes is expected to be
+ used with cell based units in order to denote fonts that are two rows in
+ height and one column in width.</p>
+ </div>
+
+ <p>If horizontal and vertical sizes are expressed independently, then the units
+ of the <a href="#style-value-length"><length></a> values must be the
+ same.</p>
+
+ <p>The <a href="#style-value-length"><length></a> value(s) used to
+ express font size must be non-negative.</p>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the closest supported value were
+ specified.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The expression <code>1c</code> means one cell, where <code>'c'</code>
+ expresses the <em>cell</em> length unit as defined by <a href=
+ "#style-value-length"><b>8.3.9 <length></b></a>. When a single
+ <length> is expressed using cell units, then it refers to the height of
+ the <em>Computed Cell Size</em>.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>As specified above, the use of percentage units to express font size are
+ interpreted as relative to <em>Computed Cell Size</em> when there is no
+ parent element. For example, if cell resolution is 32 by 15, and the extent
+ of the <em>Root Container Region</em> is 640 by 480, then the <em>Computed
+ Cell Size</em> is [20px, 32px], i.e., 640px/32 (width) and 480px/15 (height).
+ Consequently, if <code>tts:fontSize</code> were specified as 75% on the root
+ <code>tt</code> element, then this would be equivalent to specifying 24px,
+ i.e., 32px cell height * 75%. If two length expressions (independent
+ horizontal and vertical font scaling) were specified, e.g., "80% 75%", then
+ this would be equivalent to specifying "16px 24px", i.e., 80% of 20px cell
+ width is 16px, and 75% of 32px cell height is 24px.</p>
+ </div>
+
+ <p>The <code>tts:fontSize</code> style is illustrated by the following
+ example.</p><a id="style-attribute-fontSize-example-1" name=
+ "style-attribute-fontSize-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Font Size
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="299px 97px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="center"/>
+ <style tts:textAlign="center"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+ <style <span class="strong">tts:fontSize="18px"</span>/>
+</region>
+...
+<p region="r1">
+ Then fill up the glasses<br/>
+ with treacle and ink,<br/>
+ Or anything else<br/>
+ that is <span <span class=
+"strong">tts:fontSize="24px"</span>>pleasant</span> to drink.
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-fontSize-example-1-images" name=
+ "style-attribute-fontSize-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Font Size
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/fontSize.png" alt=
+ "TTML fontSize style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.4. The
+ addition of a second length component to permit specifying font width and
+ height independently is an extension introduced by TTML.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-fontStyle" name=
+ "style-attribute-fontStyle"></a>8.2.10 tts:fontStyle</h4>
+
+ <p>The <code>tts:fontStyle</code> attribute is used to specify a style property
+ that defines the font style to apply to glyphs that are selected for glyph
+ areas generated by content flowed into a region, where the mapping from font
+ style value to specific font face or style parameterization is not determined
+ by this specification.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-fontStyle" name=
+ "style-property-details-fontStyle"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>normal</code> | <code>italic</code> | <code>oblique</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>normal</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>Use of the value <code>oblique</code> denotes a shear transformation (at an
+ unspecified angle) in the inline progression dimension.</p>
+
+ <p>If a specified font style is not available, then a presentation processor
+ must attempt to map the specified font style to an available font style that
+ has similar typographic characteristics, or, in the absence of such a mapping,
+ it must interpret the font style as if the value <code>normal</code> were
+ specified.</p>
+
+ <p>The <code>tts:fontStyle</code> style is illustrated by the following
+ example.</p><a id="style-attribute-fontStyle-example-1" name=
+ "style-attribute-fontStyle-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Font Style
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="331px 84px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+</region>
+...
+<p region="r1">
+ In autumn, when the leaves are brown,<br/>
+ Take pen and ink, and <span <span class=
+"strong">tts:fontStyle="italic"</span>>write it down.</span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-fontStyle-example-1-images" name=
+ "style-attribute-fontStyle-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Font Style
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/fontStyle.png" alt=
+ "TTML fontStyle style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.7.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-fontWeight" name=
+ "style-attribute-fontWeight"></a>8.2.11 tts:fontWeight</h4>
+
+ <p>The <code>tts:fontWeight</code> attribute is used to specify a style
+ property that defines the font weight to apply to glyphs that are selected for
+ glyph areas generated by content flowed into a region, where the mapping from
+ font weight value to specific font face or weight parameterization is not
+ determined by this specification.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-fontWeight" name=
+ "style-property-details-fontWeight"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>normal</code> | <code>bold</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>normal</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified font weight is not available, then a presentation processor
+ must attempt to map the specified font weight to an available font weight that
+ has similar typographic characteristics, or, in the absence of such a mapping,
+ it must interpret the font weight as if the value <code>normal</code> were
+ specified.</p>
+
+ <p>The <code>tts:fontWeight</code> style is illustrated by the following
+ example.</p><a id="style-attribute-fontWeight-example-1" name=
+ "style-attribute-fontWeight-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Font Weight
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="376px 95px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="center"/>
+ <style tts:textAlign="center"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+</region>
+...
+<p region="r1">
+ They told me you had been to her,<br/>
+ <span <span class=
+"strong">tts:fontWeight="bold"</span>>and mentioned me to him:</span><br/>
+ She gave me a good character<br/>
+ <span <span class=
+"strong">tts:fontWeight="bold"</span>>but said I could not swim.</span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-fontWeight-example-1-images" name=
+ "style-attribute-fontWeight-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Font Weight
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/fontWeight.png" alt=
+ "TTML fontWeight style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.9.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-lineHeight" name=
+ "style-attribute-lineHeight"></a>8.2.12 tts:lineHeight</h4>
+
+ <p>The <code>tts:lineHeight</code> attribute is used to specify a style
+ property that defines the inter-baseline separation between line areas
+ generated by content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-lineHeight" name=
+ "style-property-details-lineHeight"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>normal</code> | <a href=
+ "#style-value-length"><length></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>normal</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-p"><code>p</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to this element's font size</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute is <code>normal</code>, then the initial
+ value of the style property must be considered to be the same as the largest
+ font size that applies to any descendant element.</p>
+
+ <p>If specified as a <a href="#style-value-length"><length></a>, then the
+ length must be non-negative.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>normal</code> were
+ specified.</p>
+
+ <p>The <code>tts:lineHeight</code> style is illustrated by the following
+ example.</p><a id="style-attribute-lineHeight-example-1" name=
+ "style-attribute-lineHeight-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Line Height
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="255px 190px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="center"/>
+ <style tts:textAlign="start"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+ <style tts:fontSize="16px"/>
+ <style <span class="strong">tts:lineHeight="32px"</span>/>
+</region>
+...
+<p region="r1">
+ He thought he saw an elephant,<br/>
+ That practised on a fife:<br/>
+ He looked again, and found it was<br/>
+ A letter from his wife.<br/>
+ "At length I realise," he said,<br/>
+ "The bitterness of Life.
+"</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-lineHeight-example-1-images" name=
+ "style-attribute-lineHeight-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Line Height
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/lineHeight.png" alt=
+ "TTML lineHeight style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.4.
+ Furthermore, it is the intention of this specification that the allocation
+ rectangle of a line be consistent with the <span class=
+ "strong">per-inline-height-rectangle</span> as defined by <a href=
+ "#xsl11">[XSL 1.1]</a>, § 4.5, i.e., that a CSS-style line box stacking
+ strategy be used.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-opacity" name="style-attribute-opacity"></a>8.2.13
+ tts:opacity</h4>
+
+ <p>The <code>tts:opacity</code> attribute is used to specify a style property
+ that defines the opacity (or conversely, the transparency) of marks associated
+ with a region.</p>
+
+ <p>When presented onto a visual medium, the opacity of the region is applied
+ uniformly and on a linear scale to all marks produced by content targeted to
+ the region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-opacity" name=
+ "style-property-details-opacity"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><a href="#style-value-alpha"><alpha></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>1.0</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The <code>tts:opacity</code> style is illustrated by the following
+ example.</p><a id="style-attribute-opacity-example-1" name=
+ "style-attribute-opacity-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Opacity
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1" dur="5s">
+ <set begin="0s" dur="1s" <span class="strong">tts:opacity="1.00"</span>/>
+ <set begin="1s" dur="1s" <span class="strong">tts:opacity="0.75"</span>/>
+ <set begin="2s" dur="1s" <span class="strong">tts:opacity="0.50"</span>/>
+ <set begin="3s" dur="1s" <span class="strong">tts:opacity="0.25"</span>/>
+ <set begin="4s" dur="1s" <span class="strong">tts:opacity="0.00"</span>/>
+ <style tts:extent="304px 77px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ The sun was shining on the sea
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-opacity-example-1-images" name=
+ "style-attribute-opacity-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Opacity
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/opacity_0.png" alt=
+ "TTML opacity style property - [0,1)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/opacity_1.png" alt=
+ "TTML opacity style property - [1,2)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/opacity_2.png" alt=
+ "TTML opacity style property - [2,3)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/opacity_3.png" alt=
+ "TTML opacity style property - [3,4)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/opacity_4.png" alt=
+ "TTML opacity style property - [4,5)"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#css3-color">[CSS3 Color]</a>, § 3.2.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-origin" name="style-attribute-origin"></a>8.2.14
+ tts:origin</h4>
+
+ <p>The <code>tts:origin</code> attribute is used to specify the <em>x</em> and
+ <em>y</em> coordinates of the origin of a region area with respect to the
+ origin of the <em>Root Container Region</em>.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-origin" name=
+ "style-property-details-origin"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>auto</code> | <a href="#style-value-length"><length></a>
+ <a href="#style-value-length"><length></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>auto</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to width and height of <em>Root Container Region</em></td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute consists of two <a href=
+ "#style-value-length"><length></a> specifications, then they must be
+ interpreted as <em>x</em> and <em>y</em> coordinates, where the first
+ specification is the <em>x</em> coordinate, and the second specification is the
+ <em>y</em> coordinate.</p>
+
+ <p>If the value of this attribute is <code>auto</code>, then the initial value
+ of the style property must be considered to be the same as the origin of the
+ <em>Root Container Region</em>.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>auto</code> were
+ specified.</p>
+
+ <p>The <code>tts:origin</code> style is illustrated by the following
+ example.</p><a id="style-attribute-origin-example-1" name=
+ "style-attribute-origin-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Origin
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style <span class="strong">tts:origin="40px 40px"</span>/>
+ <style tts:extent="308px 92px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="center"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ "To dine!" she shrieked in dragon-wrath.<br/>
+ "To swallow wines all foam and froth!<br/>
+ To simper at a table-cloth!"
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-origin-example-1-images" name=
+ "style-attribute-origin-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Origin
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/origin.png" alt="TTML origin style property"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-overflow" name="style-attribute-overflow"></a>8.2.15
+ tts:overflow</h4>
+
+ <p>The <code>tts:overflow</code> attribute is used to specify a style property
+ that defines whether a region area is clipped or not if the descendant areas of
+ the region overflow its extent.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-overflow" name=
+ "style-property-details-overflow"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>visible</code> | <code>hidden</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>hidden</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute is <code>visible</code>, then content should
+ not be clipped outside of the affected region, and region composition and
+ layout must be performed as if the region's width and height were
+ unconstrained, but with a well-defined origin. If the value is
+ <code>hidden</code>, then content should be clipped outside of the affected
+ region.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Unless a manual line break element <code>br</code> is used by the content
+ author, a paragraph of a given region will generate no more than one line
+ area in that region if the value of the <code>tts:overflow</code> style that
+ applies to the region is <code>visible</code> and if the applicable
+ <code>tts:wrapOption</code> style is <code>noWrap</code>.</p>
+ </div>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>hidden</code> were
+ specified.</p>
+
+ <p>The <code>tts:overflow</code> style is illustrated by the following
+ example.</p><a id="style-attribute-overflow-example-1" name=
+ "style-attribute-overflow-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Overflow
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="232px 40px"/>
+ <style tts:origin="0px 0px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:displayAlign="before"/>
+ <style tts:textAlign="start"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+ <style tts:fontSize="18px"/>
+ <style tts:wrapOption="noWrap"/>
+ <style <span class="strong">tts:overflow="visible"</span>/>
+</region>
+<region xml:id="r2">
+ <style tts:extent="232px 40px"/>
+ <style tts:origin="0px 43px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:displayAlign="before"/>
+ <style tts:textAlign="start"/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+ <style tts:fontSize="18px"/>
+ <style tts:wrapOption="noWrap"/>
+ <style <span class="strong">tts:overflow="hidden"</span>/>
+</region>
+...
+<p region="r1">
+ "But wait a bit," the Oysters cried,<br/>
+ "Before we have our chat;
+</p>
+<p region="r2">
+ For some of us are out of breath,<br/>
+ And all of us are fat!"
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-overflow-example-1-images" name=
+ "style-attribute-overflow-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Overflow
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/overflow.png" alt=
+ "TTML overflow style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the <code>tts:noWrap</code> is set to
+ <code>noWrap</code> to prevent automatic line wrapping (breaking); if this
+ were not specified, then overflow would occur in the block progression
+ direction as opposed to the inline progression direction.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.21.2.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-padding" name="style-attribute-padding"></a>8.2.16
+ tts:padding</h4>
+
+ <p>The <code>tts:padding</code> attribute is used to specify padding (or inset)
+ space on all sides of a region area.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-padding" name=
+ "style-property-details-padding"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><a href="#style-value-length"><length></a> | <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a> | <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a> | <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>0px</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to width and height of region</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute consists of one <a href=
+ "#style-value-length"><length></a> specification, then that length
+ applies to all edges of the affected areas. If the value consists of two
+ <a href="#style-value-length"><length></a> specifications, then the first
+ applies to the before and after edges, and the second applies to the start and
+ end edges. If three <a href="#style-value-length"><length></a>
+ specifications are provided, then the first applies to the before edge, the
+ second applies to the start and end edges, and the third applies to the after
+ edge. If four <a href="#style-value-length"><length></a> specifications
+ are provided, then they apply to before, end, after, and start edges,
+ respectively.</p>
+
+ <p>The <a href="#style-value-length"><length></a> value(s) used to
+ express padding must be non-negative.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>0px</code> were
+ specified.</p>
+
+ <p>The <code>tts:padding</code> style is illustrated by the following
+ example.</p><a id="style-attribute-padding-example-1" name=
+ "style-attribute-padding-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Padding
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="446px 104px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+ <style <span class="strong">tts:padding="10px 40px"</span>/>
+</region>
+...
+<p region="r1" tts:backgroundColor="red">
+ Just the place for a Snark! I have said it twice:<br/>
+ That alone should encourage the crew.<br/>
+ Just the place for a Snark! I have said it thrice:<br/>
+ What I tell you three times is true.
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>When rendering an area to which padding applies, the background color that
+ applies to the area is rendered into the padded portion of the area.</p><a id=
+ "style-attribute-padding-example-1-images" name=
+ "style-attribute-padding-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Padding
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/padding.png" alt="TTML padding style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.31.15, except
+ that individual shorthand values map to writing mode relative padding values
+ as defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.8.31, 7.8.32, 7.8.33, and
+ 7.8.34.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-showBackground" name=
+ "style-attribute-showBackground"></a>8.2.17 tts:showBackground</h4>
+
+ <p>The <code>tts:showBackground</code> attribute is used to specify constraints
+ on when the background color of a region is intended to be presented.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-showBackground" name=
+ "style-property-details-showBackground"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>always</code> | <code>whenActive</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>always</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If the value of this attribute is <code>always</code>, then the background
+ color of a region is always rendered when performing presentation processing on
+ a visual medium; if the value is <code>whenActive</code>, then the background
+ color of a region is rendered only when some content is flowed into the
+ region.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>always</code> were
+ specified.</p>
+
+ <p>The <code>tts:showBackground</code> style is illustrated by the following
+ example.</p><a id="style-attribute-showBackground-example-1" name=
+ "style-attribute-showBackground-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Show Background
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:origin="0px 0px"/>
+ <style tts:extent="265px 100px"/>
+ <style tts:backgroundColor="black"/>
+ <style <span class="strong">tts:showBackground="always"</span>/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="before"/>
+ <style tts:textAlign="start"/>
+</region>
+<region xml:id="r2">
+ <style tts:origin="205px 60px"/>
+ <style tts:extent="290px 100px"/>
+ <style tts:backgroundColor="red"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="before"/>
+ <style tts:textAlign="end"/>
+ <style <span class="strong">tts:showBackground="whenActive"</span>/>
+</region>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#smil21">[SMIL 2.1]</a>, § 5.3.3.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-textAlign" name=
+ "style-attribute-textAlign"></a>8.2.18 tts:textAlign</h4>
+
+ <p>The <code>tts:textAlign</code> attribute is used to specify a style property
+ that defines how inline areas are aligned within a containing block area in the
+ inline progression direction.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-textAlign" name=
+ "style-property-details-textAlign"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>left</code> | <code>center</code> | <code>right</code> |
+ <code>start</code> | <code>end</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>start</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-p"><code>p</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>start</code> were
+ specified.</p>
+
+ <p>The <code>tts:textAlign</code> style is illustrated by the following
+ example.</p><a id="style-attribute-textAlign-example-1" name=
+ "style-attribute-textAlign-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Text Align
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="355px 43px"/>
+ <style tts:origin="0px 0px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:textAlign="start"</span>/>
+</region>
+<region xml:id="r2">
+ <style tts:extent="355px 43px"/>
+ <style tts:origin="0px 47px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:textAlign="end"</span>/>
+</region>
+...
+<p region="r1">
+ Beware the Jabberwock, my son!<br/>
+ The jaws that bite, the claws that catch!
+</p>
+<p region="r2">
+ Beware the Jubjub bird, and shun<br/>
+ The frumious Bandersnatch!
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-textAlign-example-1-images" name=
+ "style-attribute-textAlign-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Text Align
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/textAlign.png" alt=
+ "TTML textAlign style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.9.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-textDecoration" name=
+ "style-attribute-textDecoration"></a>8.2.19 tts:textDecoration</h4>
+
+ <p>The <code>tts:textDecoration</code> attribute is used to specify a style
+ property that defines a text decoration effect to apply to glyph areas or other
+ inline areas that are generated by content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-textDecoration" name=
+ "style-property-details-textDecoration"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>none</code> | [ [ <code>underline</code> |
+ <code>noUnderline</code> ] || [ <code>lineThrough</code> |
+ <code>noLineThrough</code> ] || [ <code>overline</code> |
+ <code>noOverline</code> ] ]</td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>none</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>none</code> were
+ specified.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The syntax used above in defining the value of this property is based on
+ the value component syntax defined in <a href="#css2">[CSS2]</a>, § 1.4.2.1.
+ In essence, one or more of the values separated by <code>||</code> may appear
+ in the property value in any order, such as <code>"noUnderline overline
+ lineThrough"</code>.</p>
+ </div>
+
+ <p>The <code>tts:textDecoration</code> style is illustrated by the following
+ example.</p><a id="style-attribute-textDecoration-example-1" name=
+ "style-attribute-textDecoration-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Text Decoration
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="385px 82px"/>
+ <style tts:origin="0px 0px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:padding="5px 2px"/>
+ <style <span class="strong">tts:textDecoration="underline"</span>/>
+</region>
+...
+<p region="r1">
+ The sea was wet<span <span class=
+"strong">tts:textDecoration="noUnderline"</span>> as </span>wet
+ <span <span class="strong">tts:textDecoration="noUnderline"</span>>
+ could be,<br/>
+ The sand was dry as dry.<br/>
+ <span <span class=
+"strong">tts:textDecoration="lineThrough"</span>>There weren't any</span>
+ You <span <span class=
+"strong">tts:textDecoration="lineThrough"</span>>couldn't</span>
+ could not see a cloud<br/>
+ Because no cloud was in the sky.
+ </span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-textDecoration-example-1-images" name=
+ "style-attribute-textDecoration-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Text Decoration
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/textDecoration.png" alt=
+ "TTML textDecoration style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.17.4.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-textOutline" name=
+ "style-attribute-textOutline"></a>8.2.20 tts:textOutline</h4>
+
+ <p>The <code>tts:textOutline</code> attribute is used to specify a style
+ property that defines a text outline effect to apply to glyphs that are
+ selected for glyph areas generated by content flowed into a region.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-textOutline" name=
+ "style-property-details-textOutline"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>none</code> | <a href="#style-value-color"><color></a>?
+ <a href="#style-value-length"><length></a> <a href=
+ "#style-value-length"><length></a>?</td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>none</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>relative to this element's font size</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>The value of this attribute consists of an optional <a href=
+ "#style-value-color"><color></a> term followed by one or two <a href=
+ "#style-value-length"><length></a> terms. If a <em>color</em> term is
+ present, then it denotes the outline color; if no <em>color</em> term is
+ present, the computed value of the <code>tts:color</code> applies. The first
+ <em>length</em> term denotes the outline thickness and the second length term,
+ if present, indicates the blur radius.</p>
+
+ <p>The <a href="#style-value-length"><length></a> value(s) used to
+ express thickness and blur radius must be non-negative.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When a <a href="#style-value-length"><length></a> expressed in cells
+ is used in a <code>tts:textOutline</code> value, the cell's dimension in the
+ block progression dimension applies. For example, if text outline thickness
+ is specified as 0.1c, the cell resolution is 20 by 10, and the extent of the
+ <em>Root Container Region</em> is 640 by 480, then the outline thickness will
+ be a nominal 480 / 10 * 0.1 pixels, i.e., 4.8px, without taking into account
+ rasterization effects.</p>
+ </div>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>none</code> were
+ specified.</p>
+
+ <p>The <code>tts:textOutline</code> style is illustrated by the following
+ example.</p><a id="style-attribute-textOutline-example-1" name=
+ "style-attribute-textOutline-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Text Outline
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:backgroundColor="transparent"/>
+ <style tts:color="yellow"/>
+ <style <span class="strong">tts:textOutline="black 2px 0px"</span>/>
+ <style tts:fontFamily="proportionalSansSerif"/>
+ <style tts:fontSize="24px"/>
+</region>
+...
+<p>
+ How doth the little crocodile<br/>
+ Improve its shining tail,<br/>
+ And pour the waters of the Nile<br/>
+ On every golden scale!<br/>
+ How cheerfully he seems to grin,<br/>
+ How neatly spreads his claws,<br/>
+ And welcomes little fishes in,<br/>
+ With gently smiling jaws!
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-textOutline-example-1-images" name=
+ "style-attribute-textOutline-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Text Outline
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/textOutline.png" alt=
+ "backgroundColor style property"></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-unicodeBidi" name=
+ "style-attribute-unicodeBidi"></a>8.2.21 tts:unicodeBidi</h4>
+
+ <p>The <code>tts:unicodeBidi</code> attribute is used to specify a style
+ property that defines a directional embedding or override according to the
+ Unicode bidirectional algorithm.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-unicodeBidi" name=
+ "style-property-details-unicodeBidi"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>normal</code> | <code>embed</code> |
+ <code>bidiOverride</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>normal</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>normal</code> were
+ specified.</p>
+
+ <p>The <code>tts:unicodeBidi</code> style is illustrated by the following
+ example.</p><a id="style-attribute-unicodeBidi-example-1" name=
+ "style-attribute-unicodeBidi-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Unicode Bidirectionality
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="265px 84px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ Little birds are playing<br/>
+ Bagpipes on the shore,<br/>
+ <span <span class=
+"strong">tts:unicodeBidi="bidiOverride"</span> tts:direction="rtl">where the tourists snore.</span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-unicodeBidi-example-1-images" name=
+ "style-attribute-unicodeBidi-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Unicode Bidirectionality
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/unicodeBidi.png" alt=
+ "TTML unicodeBidi style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.6.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-visibility" name=
+ "style-attribute-visibility"></a>8.2.22 tts:visibility</h4>
+
+ <p>The <code>tts:visibility</code> attribute is used to specify a style
+ property that defines whether generated areas are visible or not when rendered
+ on a visual presentation medium.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-visibility" name=
+ "style-property-details-visibility"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>visible</code> | <code>hidden</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>visible</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
+ <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
+ "#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#layout-vocabulary-region"><code>region</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>The <code>tts:visibility</code> style has no affect on content layout or
+ composition, but merely determines whether composed content is visible or
+ not.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>visible</code>
+ were specified.</p>
+
+ <p>The <code>tts:visibility</code> style is illustrated by the following
+ example.</p><a id="style-attribute-visibility-example-1" name=
+ "style-attribute-visibility-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Visibility
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="398px 121px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style/>
+</region>
+...
+<p region="r1" dur="4s">
+ <span <span class="strong">tts:visibility="hidden"</span>>
+ <set begin="1s" <span class="strong">tts:visibility="visible"</span>/>
+ Curiouser
+ </span>
+ <span <span class="strong">tts:visibility="hidden"</span>>
+ <set begin="2s" <span class="strong">tts:visibility="visible"</span>/>
+ and
+ </span>
+ <span <span class="strong">tts:visibility="hidden"</span>>
+ <set begin="3s" <span class="strong">tts:visibility="visible"</span>/>
+ curiouser!
+ </span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-visibility-example-1-images" name=
+ "style-attribute-visibility-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Visibility
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/visibility_0.png" alt=
+ "TTML visibility style property - [0,1)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/visibility_1.png" alt=
+ "TTML visibility style property - [1,2)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/visibility_2.png" alt=
+ "TTML visibility style property - [2,3)"></td>
+ </tr>
+
+ <tr>
+ <td><img src="images/visibility_3.png" alt=
+ "TTML visibility style property - [3,4)"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.30.17.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-wrapOption" name=
+ "style-attribute-wrapOption"></a>8.2.23 tts:wrapOption</h4>
+
+ <p>The <code>tts:wrapOption</code> attribute is used to specify a style
+ property that defines whether or not automatic line wrapping (breaking) applies
+ within the context of the affected element.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-wrapOption" name=
+ "style-property-details-wrapOption"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>wrap</code> | <code>noWrap</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>wrap</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#content-vocabulary-span"><code>span</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>yes</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the purpose of determining applicability of this style property, each
+ character child of a <code>p</code> element is considered to be enclosed in an
+ anonymous span.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>wrap</code> were
+ specified.</p>
+
+ <p>The <code>tts:wrapOption</code> style is illustrated by the following
+ example.</p><a id="style-attribute-wrapOption-example-1" name=
+ "style-attribute-wrapOption-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Wrap Option
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="192px 117px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:overflow="hidden"/>
+ <style <span class="strong">tts:wrapOption="noWrap"</span>/>
+</region>
+...
+<p>
+ I'll tell thee everything I can:<br/>
+ There's little to relate.<br/>
+ I saw an aged aged man,<br/>
+ A-sitting on a gate.
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-wrapOption-example-1-images" name=
+ "style-attribute-wrapOption-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Wrap Option
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/wrapOption.png" alt=
+ "TTML wrapOption style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.13.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-writingMode" name=
+ "style-attribute-writingMode"></a>8.2.24 tts:writingMode</h4>
+
+ <p>The <code>tts:writingMode</code> attribute is used to specify a style
+ property that defines the block and inline progression directions to be used
+ for the purpose of stacking block and inline areas within a region area.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-writingMode" name=
+ "style-property-details-writingMode"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>lrtb</code> | <code>rltb</code> | <code>tbrl</code> |
+ <code>tblr</code> | <code>lr</code> | <code>rl</code> |
+ <code>tb</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>lrtb</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>lrtb</code> were
+ specified.</p>
+
+ <p>The <code>tts:writingMode</code> style is illustrated by the following
+ example.</p><a id="style-attribute-writingMode-example-1" name=
+ "style-attribute-writingMode-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Writing Mode
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:extent="50px 570px"/>
+ <style tts:origin="0px 0px"/>
+ <style tts:padding="10px 3px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:writingMode="tbrl"</span>/>
+</region>
+<region xml:id="r2">
+ <style tts:extent="310px 50px"/>
+ <style tts:origin="70px 120px"/>
+ <style tts:padding="10px 3px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:writingMode="rltb"</span>/>
+</region>
+...
+<p region="r1">
+ I sometimes dig for buttered rolls,<br/>
+ Or set limed twigs for crabs:
+</p>
+<p region="r2" tts:direction="rtl" tts:unicodeBidi="bidiOverride">
+ I sometimes search the grassy knolls for the wheels of Hansom-cabs.
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p><a id="style-attribute-writingMode-example-1-images" name=
+ "style-attribute-writingMode-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Writing Mode
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/writingMode.png" alt=
+ "TTML writingMode style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the second paragraph in the above example that targets region
+ <code>r2</code>, the <code>tts:unicodeBidi</code> and
+ <code>tts:direction</code> properties are set to <code>bidiOverride</code>
+ and <code>rtl</code>, respectively, in order to override the normally
+ left-to-right directionality of characters in the Latin script.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.7.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-attribute-zIndex" name="style-attribute-zIndex"></a>8.2.25
+ tts:zIndex</h4>
+
+ <p>The <code>tts:zIndex</code> attribute is used to specify a style property
+ that defines the front-to-back ordering of region areas in the case that they
+ overlap.</p>
+
+ <p>This attribute may be specified by any element type that permits use of
+ attributes in the TT Style Namespace; however, this attribute applies as a
+ style property only to those element types indicated in the following
+ table.</p><a id="style-property-details-zIndex" name=
+ "style-property-details-zIndex"></a>
+
+ <table class="common">
+ <col width="25%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <td><em>Values:</em></td>
+
+ <td><code>auto</code> | <a href=
+ "#style-value-integer"><integer></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Initial:</em></td>
+
+ <td><code>auto</code></td>
+ </tr>
+
+ <tr>
+ <td><em>Applies to:</em></td>
+
+ <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
+ </tr>
+
+ <tr>
+ <td><em>Inherited:</em></td>
+
+ <td>no</td>
+ </tr>
+
+ <tr>
+ <td><em>Percentages:</em></td>
+
+ <td>N/A</td>
+ </tr>
+
+ <tr>
+ <td><em>Animatable:</em></td>
+
+ <td>discrete</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If two areas are associated with the same Z-index value, then, if those
+ areas overlap in space, the area(s) generated by lexically subsequent elements
+ must be rendered over area(s) generated by lexically prior elements, where
+ lexical order is defined as the postorder traversal of a <em>Document
+ Instance</em>.</p>
+
+ <p>The semantics of the value <code>auto</code> are those defined by <a href=
+ "#xsl11">[XSL 1.1]</a>, § 7.30.18, where the <code>tt</code> element is
+ considered to establish the root stacking context.</p>
+
+ <p>If a specified value of this attribute is not supported, then a presentation
+ processor must interpret the attribute as if the value <code>auto</code> were
+ specified.</p>
+
+ <p>The <code>tts:zIndex</code> style is illustrated by the following
+ example.</p><a id="style-attribute-zIndex-example-1" name=
+ "style-attribute-zIndex-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Z Index
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <style tts:origin="0px 0px"/>
+ <style tts:extent="400px 100px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:zIndex="0"</span>/>
+</region>
+<region xml:id="r2">
+ <style tts:origin="100px 60px"/>
+ <style tts:extent="400px 100px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="red"/>
+ <style tts:color="white"/>
+ <style tts:textAlign="end"/>
+ <style <span class="strong">tts:zIndex="1"</span>/>
+</region>
+<region xml:id="r3">
+ <style tts:origin="0px 120px"/>
+ <style tts:extent="400px 100px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <span class="strong">tts:zIndex="2"</span>/>
+</region>
+<region xml:id="r4">
+ <style tts:origin="100px 180px"/>
+ <style tts:extent="400px 100px"/>
+ <style tts:padding="5px"/>
+ <style tts:backgroundColor="red"/>
+ <style tts:color="white"/>
+ <style tts:textAlign="end"/>
+ <style <span class="strong">tts:zIndex="3"</span>/>
+</region>
+...
+<p region="r1">
+ I passed by his garden, and marked, with one eye,<br/>
+ How the Owl and the Panther were sharing a pie.
+</p>
+<p region="r2">
+ The Panther took pie-crust, and gravy, and meat,<br/>
+ While the Owl had the dish as its share of the treat.
+</p>
+<p region="r3">
+ When the pie was all finished, the Owl, as a boon,<br/>
+ Was kindly permitted to pocket the spoon:
+</p>
+<p region="r4">
+ While the Panther received knife and fork<br/>
+ with a growl,<br/>
+ And concluded the banquet by...
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p></p><a id="style-attribute-zIndex-example-1-images" name=
+ "style-attribute-zIndex-example-1-images"></a>
+
+ <table class="example-images">
+ <caption>
+ Example Rendition – Z Index
+ </caption>
+
+ <tbody>
+ <tr>
+ <td><img src="images/zIndex.png" alt="TTML zIndex style property"></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the style property represented by this attribute are
+ based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.30.18.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="styling-style-value-expressions" name=
+ "styling-style-value-expressions"></a>8.3 Style Value Expressions</h3>
+
+ <p>Style property values include the use of the following expressions:</p>
+
+ <ul>
+ <li>
+ <p><a href="#style-value-alpha"><b>8.3.1 <alpha></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-color"><b>8.3.2 <color></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-digit"><b>8.3.3 <digit></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-familyName"><b>8.3.5 <familyName></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-genericFamilyName"><b>8.3.6
+ <genericFamilyName></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-hexDigit"><b>8.3.7 <hexDigit></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-integer"><b>8.3.8 <integer></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-length"><b>8.3.9 <length></b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-value-namedColor"><b>8.3.10 <namedColor></b></a></p>
+ </li>
+ </ul>
+
+ <p>In the syntax representations defined in this section, no linear whitespace
+ (LWSP) is implied or permitted between tokens unless explicitly specified.</p>
+
+ <div class="div3">
+ <h4><a id="style-value-alpha" name="style-value-alpha"></a>8.3.1
+ <alpha></h4>
+
+ <p>An <alpha> expression is used to express an opacity value, where 0
+ means fully transparent and 1 means fully opaque.</p><a id=
+ "alpha-style-expression-syntax" name="alpha-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <alpha>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<alpha>
+ : <em>float</em>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>In the above syntax representation, the syntactic element
+ <em><code>float</code></em> must adhere to the lexical representation defined
+ by <a href="#xsd-2">[XML Schema Part 2]</a> § 3.2.4.1. If the value
+ represented is less than 0.0, then it must be interpreted as equal to 0.0;
+ similarly, if the value represented is greater than 1.0, then it must be
+ interpreted as 1.0. The value NaN must be interpreted as 0.0.</p>
+
+ <p>A specified value for <alpha> should not be <code>NaN</code>, less
+ than 0, or greater than 1.</p>
+
+ <p>If a presentation processor does not support a specific, valid opacity
+ value, then it must interpret it as being equal to the closest supported
+ value.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-color" name="style-value-color"></a>8.3.2
+ <color></h4>
+
+ <p>A <color> expression is used to specify a named color, exact RGB color
+ triple, or exact RGBA color tuple, where the alpha component, if expressed, is
+ maximum (255) at 100% opacity and minimum (0) at 0% opacity, and where the
+ applicable color space is defined by <a href="#srgb">[SRGB]</a>.</p><a id=
+ "color-style-expression-syntax" name="color-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <color>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<color>
+ : "#" rrggbb
+ | "#" rrggbbaa
+ | "rgb" "(" r-value "," g-value "," b-value ")"
+ | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
+ | <a href="#style-value-namedColor"><namedColor></a>
+
+rrggbb
+ : <a href="#style-value-hexDigit"><hexDigit></a>{6}
+
+rrggbbaa
+ : <a href="#style-value-hexDigit"><hexDigit></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"><digit></a>+
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>When expressing RGB component values, these values are considered to
+ <span class="strong">not</span> be premultiplied by alpha.</p>
+
+ <p>For the purpose of performing presentation processing such that non-opaque
+ or non-transparent alpha or opacity values apply, then the semantics of
+ compositing functions are defined with respect to the use of the <a href=
+ "#srgb">[SRGB]</a> color space for both inputs and outputs of the composition
+ function.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of <a href="#srgb">[SRGB]</a> for the stated semantics of
+ composition is not meant to prevent an actual processor from using some other
+ color space either for internal or external purposes. For example, a
+ presentation processor may ultimately convert the SRGB values used here to
+ the YUV color space for rendition on a television device.</p>
+ </div>
+
+ <p>If a presentation processor does not support a specific, valid color or
+ alpha value, then it must interpret it as being equal to the closest supported
+ value.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-digit" name="style-value-digit"></a>8.3.3
+ <digit></h4>
+
+ <p>A <digit> is used to express integers and other types of numbers or
+ tokens.</p><a id="digit-style-expression-syntax" name=
+ "digit-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <digit>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<digit>
+ : "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" name="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 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" name="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" name=
+ "familyName-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <familyName>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<familyName>
+ : 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>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>In addition to adhering to the syntax rules specified above, the following
+ semantic rules apply:</p>
+
+ <ul>
+ <li>
+ <p>the semantic value of a <familyName> expression is the semantic
+ value of its <code>unquoted-string</code> or <code>quoted-string</code>
+ non-terminal, according to whichever applies;</p>
+ </li>
+
+ <li>
+ <p>the semantic value of an <code>unquoted-string</code> non-terminal is a
+ pair <code><</code><em>quoted</em>, <em>content</em><code>></code>,
+ where <em>quoted</em> is a boolean <code>false</code>, and where
+ <em>content</em> is the result of appending the value of each
+ <code>identifier</code> non-terminal, in lexical order, where the value of
+ each identifier is preceded by a single SPACE (U+0020) character if it is
+ not the first identifier;</p>
+ </li>
+
+ <li>
+ <p>the semantic value of a <code>quoted-string</code> non-terminal is a
+ pair <code><</code><em>quoted</em>, <em>content</em><code>></code>,
+ where <em>quoted</em> is a boolean <code>true</code>, and where
+ <em>content</em> is the unquoted content of the quoted string, i.e., the
+ sequence of characters between the delimiting quotes.</p>
+ </li>
+
+ <li>
+ <p>the semantic value of an <code>escape</code> non-terminal is the value
+ of the escaped <code>char</code>;</p>
+ </li>
+
+ <li>
+ <p>a <familyName> that takes the form of an
+ <code>unquoted-string</code> that contains an <code>identifier</code> that
+ starts with two <code>-</code> HYPHEN-MINUS (U+002D) characters must be
+ considered to be invalid;</p>
+ </li>
+
+ <li>
+ <p>a <familyName> that takes the form of an
+ <code>unquoted-string</code> that contains a single <code>identifier</code>
+ that matches (by case sensitive comparison) a <genericFamilyName>
+ must be interpreted as that <genericFamilyName>;</p>
+ </li>
+
+ <li>
+ <p>a <familyName> that takes the form of a <code>quoted-string</code>
+ whose content (unquoted value) matches (by case sensitive comparison) a
+ <genericFamilyName> must not be interpreted as that
+ <genericFamilyName>, but as the actual name of a non-generic font
+ family.</p>
+ </li>
+ </ul>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The syntactic element <em><code>char</code></em> is to be interpreted
+ according to the <code>Char</code> production defined by <a href=
+ "#xml10">[XML 1.0]</a> §2.2.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The <code>{unicode}</code> escape mechanism defined by <a href=
+ "#css2">[CSS2]</a> §4.1.1 is not supported by this syntax; rather,
+ authors are expected to either (1) directly encode the character using the
+ document encoding or (2) use an XML character reference according to <a href=
+ "#xml10">[XML 1.0]</a> §4.1. When a syntactically significant character
+ needs to be used without its normal syntactic interpretation, it may be be
+ escaped using the backslash (reverse solidus) <code>escape</code>
+ non-terminal specified above.</p>
+
+ <p>When using the backslash (reverse solidus) <code>escape</code>
+ non-terminal, the above syntax does not place any restriction on what
+ character may be escaped, e.g., <code>\\[\n\r\f0-9a-f]</code> are permitted.
+ If one of these latter escapes appears in a <familyName> expression,
+ then it will need to be converted to a <code>{unicode}</code> escape if it is
+ to be used with a standard XSL-FO or CSS parser. In particular, a backslash
+ followed by a newline is ignored by CSS, while it is not ignored by the above
+ syntax. Such an unignored escaped newline would need to be represented using
+ an equivalent <code>{unicode}</code> escape, such as <code>\a</code>, to
+ order to express in CSS.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-genericFamilyName" name=
+ "style-value-genericFamilyName"></a>8.3.6 <genericFamilyName></h4>
+
+ <p>A <genericFamilyName> expression specifies a font family using a
+ general token that indicates a class of font families.</p>
+
+ <p>The resolution of a generic family name to a concrete font instance is
+ considered to be implementation dependent, both in the case of content
+ authoring and content interpretation.</p><a id=
+ "genericFamilyName-style-expression-syntax" name=
+ "genericFamilyName-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <genericFamilyName>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<genericFamilyName>
+ : "default"
+ | "monospace"
+ | "sansSerif"
+ | "serif"
+ | "monospaceSansSerif"
+ | "monospaceSerif"
+ | "proportionalSansSerif"
+ | "proportionalSerif"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The mapping between a generic (font) family name and an actual font is not
+ determined by this specification; however, the distinction of monospace versus
+ proportional and serif versus sans-serif should be maintained if possible when
+ performing presentation.</p>
+
+ <p>If a generic (font) family name of <code>monospace</code> is specified, then
+ it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
+ or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
+ and <code>serif</code> are to be interpreted as equivalent to
+ <code>proportionalSansSerif</code> and <code>proportionalSerif</code>,
+ respectively.</p>
+
+ <p>If the generic family name <code>default</code> is specified (or implied by
+ an initial value), then its typographic characteristics are considered to be
+ implementation dependent; however, it is recommended that this default font
+ family be mapped to an monospaced, sans-serif font.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-hexDigit" name="style-value-hexDigit"></a>8.3.7
+ <hexDigit></h4>
+
+ <p>A <hexDigit> is used to express integers and other types of numbers or
+ tokens that employ base 16 arithmetic.</p>
+
+ <p>For the purpose of parsing, a distinction must not be made between lower and
+ upper case.</p><a id="hexDigit-style-expression-syntax" name=
+ "hexDigit-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <hexDigit>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<hexDigit>
+ : <a href="#style-value-digit"><digit></a>
+ | "a" | "b" | "c" | "d" | "e" | "f"
+ | "A" | "B" | "C" | "D" | "E" | "F"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-integer" name="style-value-integer"></a>8.3.8
+ <integer></h4>
+
+ <p>An <integer> expression is used to express an arbitrary, signed
+ integral value.</p><a id="integer-style-expression-syntax" name=
+ "integer-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <integer>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<integer>
+ : ( "+" | "-" )? <a href="#style-value-digit"><digit></a>+
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-length" name="style-value-length"></a>8.3.9
+ <length></h4>
+
+ <p>A <length> expression is used to express either a coordinate component
+ of point in a cartesian space or a distance between two points in a cartesian
+ space.</p><a id="length-style-expression-syntax" name=
+ "length-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <length>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<length>
+ : 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"><digit></a>+
+
+non-negative-real
+ : <a href="#style-value-digit"><digit></a>* "." <a href=
+"#style-value-digit"><digit></a>+
+
+units
+ : "px"
+ | "em"
+ | "c" // abbreviation of "cell"
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>It is an error to omit the units component of a scalar length value.</p>
+
+ <p>The semantics of the unit of measure <code>px</code> (pixel) are as defined
+ by <a href="#xsl11">[XSL 1.1]</a>, § 5.9.13.</p>
+
+ <p>When specified relative to a font whose size is expressed as a single length
+ measure or as two length measures of equal length, the unit of measure
+ <code>em</code> is considered to be identical to that defined by <a href=
+ "#xsl11">[XSL 1.1]</a>, § 5.9.13; however, when specified relative to a font
+ whose size is expressed as two length measures of non-equal lengths, then one
+ <code>em</code> is equal to the inline progression dimension of the
+ anamorphically scaled font when used to specify lengths in the inline
+ progression direction and equal to the block progression dimension of the
+ scaled font when used to specify lengths in the block progression
+ direction.</p>
+
+ <p>The semantics of the unit of measure <code>c</code> (cell) are defined by
+ the parameter <a href="#parameter-attribute-cellResolution"><b>6.2.1
+ ttp:cellResolution</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="style-value-namedColor" name="style-value-namedColor"></a>8.3.10
+ <namedColor></h4>
+
+ <p>A <namedColor> is used to express an RGBA color with a convenient
+ name, and where the applicable color space is defined by <a href=
+ "#srgb">[SRGB]</a>.</p>
+
+ <p>For the purpose of parsing, a distinction must not be made between lower and
+ upper case.</p><a id="namedColor-style-expression-syntax" name=
+ "namedColor-style-expression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <namedColor>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<namedColor>
+ : "transparent" // #00000000
+ | "black" // #000000ff
+ | "silver" // #c0c0c0ff
+ | "gray" // #808080ff
+ | "white" // #ffffffff
+ | "maroon" // #800000ff
+ | "red" // #ff0000ff
+ | "purple" // #800080ff
+ | "fuchsia" // #ff00ffff
+ | "magenta" // #ff00ffff (= fuchsia)
+ | "green" // #008000ff
+ | "lime" // #00ff00ff
+ | "olive" // #808000ff
+ | "yellow" // #ffff00ff
+ | "navy" // #000080ff
+ | "blue" // #0000ffff
+ | "teal" // #008080ff
+ | "aqua" // #00ffffff
+ | "cyan" // #00ffffff (= aqua)
+</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" name="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 <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" name="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 <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" name="semantics-style-resolution"></a>8.4
+ Style Resolution</h3>
+
+ <p>This section defines the semantics of style resolution in terms of a standard
+ processing model as follows:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-association"><b>8.4.1 Style
+ Association</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-inheritance"><b>8.4.2 Style
+ Inheritance</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolution-value-categories"><b>8.4.3 Style
+ Resolution Value Categories</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
+ Processing</b></a></p>
+ </li>
+ </ul>
+
+ <p>Any implementation of this model is permitted provided that the externally
+ observable results are consistent with the results produced by this model.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of style resolution employed here are based upon <a href=
+ "#xsl11">[XSL 1.1]</a>, § 5.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-style-association" name=
+ "semantics-style-association"></a>8.4.1 Style Association</h4>
+
+ <p>Style association is a sub-process of <a href=
+ "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
+ Processing</b></a> used to determine the specified style set of each content
+ and layout element.</p>
+
+ <p>Style matter may be associated with content and layout matter in a number of
+ ways:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-association-inline">inline styling</a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-association-referential">referential
+ styling</a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-association-chained-referential">chained
+ referential styling</a></p>
+ </li>
+ </ul>
+
+ <p>In addition to the above, style matter may be associated with layout matter
+ using:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-association-nested">nested styling</a></p>
+ </li>
+ </ul>
+
+ <div class="div4">
+ <h5><a id="semantics-style-association-inline" name=
+ "semantics-style-association-inline"></a>8.4.1.1 Inline Styling</h5>
+
+ <p>Style properties may be expressed in an inline manner by direct
+ specification of an attribute from the TT Style Namespace on the affected
+ element. When expressed in this manner, the association of style information
+ is referred to as <em>inline styling</em>.</p>
+
+ <p>Style properties associated by inline styling are afforded a higher
+ priority than all other forms of style association.</p><a id=
+ "style-association-example-1" name="style-association-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example – Inline Styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<p <span class="strong">tts:color="white"</span>>White 1 <span <span class=
+"strong">tts:color="yellow"</span>>Yellow</span> White 2</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the two text fragments <code>"White 1 "</code> and
+ <code>" White 2"</code>, which are interpreted as anonymous spans, are not
+ associated with a color style property; rather, they inherit their color
+ style from their parent <code>p</code> element as described in <a href=
+ "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
+ Inheritance</b></a> below.</p>
+ </div>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-association-referential" name=
+ "semantics-style-association-referential"></a>8.4.1.2 Referential
+ Styling</h5>
+
+ <p>Style properties may be expressed in an out-of-line manner and referenced
+ by the affected element using the <code>style</code> attribute. When
+ expressed in this manner, the association of style information is referred to
+ as <em>referential styling</em>.</p>
+
+ <p>If a <code>style</code> attribute specifies multiple references, then
+ those references are evaluated in the specified order, and that order applies
+ to resolution of the value of a style property in the case that it is
+ specified along multiple reference paths.</p>
+
+ <p>The use of referential styling is restricted to making reference to
+ <code>style</code> element descendants of a <code>styling</code> element. It
+ is considered an error to reference a <code>style</code> element that is a
+ descendant of a <code>layout</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of referential styling encourages the reuse of style
+ specifications while sacrificing locality of reference.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A single content element may be associated with style properties by a
+ hybrid mixture of inline and referential styling, in which case inline
+ styling is given priority as described above by <a href=
+ "#semantics-style-association-inline"><b>8.4.1.1 Inline
+ Styling</b></a>.</p>
+ </div><a id="style-association-example-2" name=
+ "style-association-example-2"></a>
+
+ <table class="example">
+ <caption>
+ Example – Referential Styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<style <span class="strong">xml:id="s1"</span> tts:color="white"/>
+<style <span class="strong">xml:id="s2"</span> tts:color="yellow"/>
+...
+<p <span class="strong">style="s1"</span>>White 1 <span <span class=
+"strong">style="s2"</span>>Yellow</span> White 2</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the two text fragments <code>"White 1 "</code> and
+ <code>" White 2"</code>, which are interpreted as anonymous spans, are not
+ associated with a color style property; rather, they inherit their color
+ style from their parent <code>p</code> element as described in <a href=
+ "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
+ Inheritance</b></a> below.</p>
+ </div>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-association-chained-referential" name=
+ "semantics-style-association-chained-referential"></a>8.4.1.3 Chained
+ Referential Styling</h5>
+
+ <p>Style properties may be expressed in an out-of-line manner and may
+ themselves reference other out-of-line style properties, thus creating a
+ chain of references starting at the affected element. When expressed in this
+ manner, the association of style information is referred to as <em>chained
+ referential styling</em>.</p>
+
+ <p>If the same style property is specified in more than one referenced style
+ set, then the last referenced style set applies, where the order of
+ application starts from the affected element and proceeds to referenced style
+ sets, and, in turn, to subsequent referenced style sets.</p>
+
+ <p>A loop in a sequence of chained style references must be considered an
+ error.</p>
+
+ <p>The use of referential styling is restricted to making reference to
+ <code>style</code> element descendants of a <code>styling</code> element. It
+ is considered an error to reference a <code>style</code> element that is a
+ descendant of a <code>layout</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of chained referential styling encourages the grouping of style
+ specifications into general and specific sets, which further aids in style
+ specification reuse.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A single content element may be associated with style properties by a
+ hybrid mixture of inline, referential styling, and chained referential
+ styling, in which case inline styling is given priority as described above
+ by <a href="#semantics-style-association-inline"><b>8.4.1.1 Inline
+ Styling</b></a>.</p>
+ </div><a id="style-association-example-3" name=
+ "style-association-example-3"></a>
+
+ <table class="example">
+ <caption>
+ Example – Chained Referential Styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<style <span class=
+"strong">xml:id="s1"</span> tts:color="white" tts:fontFamily="monospaceSerif"/>
+<style <span class="strong">xml:id="s2"</span> <span class=
+"strong">style="s1"</span> tts:color="yellow"/>
+...
+<p <span class="strong">style="s1"</span>>White Monospace</p>
+<p <span class="strong">style="s2"</span>>Yellow Monospace</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-association-nested" name=
+ "semantics-style-association-nested"></a>8.4.1.4 Nested Styling</h5>
+
+ <p>Style properties may be expressed in a nested manner by direct
+ specification of one or more <code>style</code> element children of the
+ affected element. When expressed in this manner, the association of style
+ information is referred to as <em>nested styling</em>.</p>
+
+ <p>Style properties associated by nested styling are afforded a lower
+ priority than inline styling but with higher priority than referential
+ styling.</p><a id="style-association-example-4" name=
+ "style-association-example-4"></a>
+
+ <table class="example">
+ <caption>
+ Example – Nested Styling
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region xml:id="r1">
+ <span class="strong"><style tts:extent="128px 66px"/></span>
+ <span class="strong"><style tts:origin="0px 0px"/></span>
+ <span class="strong"><style tts:displayAlign="center"/></span>
+</region>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In this version of this specification, nested styling applies only to
+ the <code>region</code> element.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-style-inheritance" name=
+ "semantics-style-inheritance"></a>8.4.2 Style Inheritance</h4>
+
+ <p>Style inheritance is a sub-process of <a href=
+ "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
+ Processing</b></a> used to determine the specified style set of each content
+ and layout element.</p>
+
+ <p>Styles are further propagated to content matter using:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-inheritance-content">content style
+ inheritance</a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-inheritance-content">region style
+ inheritance</a></p>
+ </li>
+ </ul>
+
+ <p>For the purpose of determining inherited styles, the element hierarchy of an
+ intermediate synchronic document form of a <em>Document Instance</em> must be
+ used, where such intermediate forms are defined by <a href=
+ "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
+ Construction</b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The intermediate synchronic document form is utilized rather than the
+ original form in order to facilitate region inheritance processing.</p>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-inheritance-content" name=
+ "semantics-style-inheritance-content"></a>8.4.2.1 Content Style
+ Inheritance</h5>
+
+ <p>Style properties are inherited from ancestor content elements within an
+ intermediate synchronic document if a style property is not associated with a
+ content element (or an anonymous span) and the style property is designated
+ as inheritable.</p>
+
+ <p>If a style property is determined to require inheritance, then the
+ inherited value must be the value of the same named style property in the
+ computed style set of the element's immediate ancestor element within the
+ applicable intermediate synchronic document.</p><a id=
+ "style-inheritance-example-2" name="style-inheritance-example-2"></a>
+
+ <table class="example">
+ <caption>
+ Example – Content Style Inheritance
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>>
+ <span tts:color="yellow">Yellow Monospace</span>
+</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the <code>span</code> element that encloses the
+ character items <code>Yellow Monospace</code> is not associated with a
+ <code>tts:fontFamily</code> style property and this property is
+ inheritable; therefore, the value of the <code>tts:fontFamily</code> style
+ is inherited from the computed style set of the ancestor <code>p</code>
+ element, and is added to the specified style set of the <code>span</code>
+ element.</p>
+ </div>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-inheritance-region" name=
+ "semantics-style-inheritance-region"></a>8.4.2.2 Region Style
+ Inheritance</h5>
+
+ <p>Style properties are inherited from a region element in the following
+ case:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>if a style property <em>P</em> is not associated with a content
+ element or an anonymous span <em>E</em> and the style property is
+ designated as inheritable, and</p>
+ </li>
+
+ <li>
+ <p>if that style property <em>P</em> is in the computed style set of
+ region <em>R</em>, and</p>
+ </li>
+
+ <li>
+ <p>if that element <em>E</em> is flowed into (presented within) region
+ <em>R</em>.</p>
+ </li>
+ </ol><a id="style-inheritance-example-3" name=
+ "style-inheritance-example-3"></a>
+
+ <table class="example">
+ <caption>
+ Example – Region Style Inheritance
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region <span class="strong">xml:id="r1"</span>>
+ <style tts:color="yellow"/>
+ <style tts:fontFamily="monospaceSerif"/>
+</region>
+...
+<p <span class="strong">region="r1"</span>>Yellow Monospace</p>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the anonymous span that encloses the character
+ items <code>Yellow Monospace</code> effectively inherits the
+ <code>tts:color</code> and <code>tts:fontFamily</code> styles specified on
+ the <code>region</code> element into which the <code>p</code> element is
+ flowed (presented).</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-style-resolution-value-categories" name=
+ "semantics-style-resolution-value-categories"></a>8.4.3 Style Resolution Value
+ Categories</h4>
+
+ <p>During style resolution, layout, and presentation processing, three
+ categories of style property values are distinguished as follows:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-resolved-value-category-specified">specified
+ values</a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolved-value-category-computed">computed
+ values</a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolved-value-category-actual">actual
+ values</a></p>
+ </li>
+ </ul>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolved-value-category-specified" name=
+ "semantics-style-resolved-value-category-specified"></a>8.4.3.1 Specified
+ Values</h5>
+
+ <p>Values of style properties that are associated with or inherited by an
+ element or anonymous span are referred to as <em>specified values</em>. The
+ set of all specified style properties of a given element is referred to as
+ the <em>specified style set</em> of that element.</p>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolved-value-category-computed" name=
+ "semantics-style-resolved-value-category-computed"></a>8.4.3.2 Computed
+ Values</h5>
+
+ <p>When style properties are specified using relative value expressions, such
+ as a named color, a relative unit (e.g., cell), or a percentage, then they
+ need to be further resolved into absolute units, such as an RGB triple,
+ pixels, etc.</p>
+
+ <p>During the style resolution process, all specified style values are
+ reinterpreted (or recalculated) in absolute terms, and then recorded as
+ <em>computed values</em>. The set of all computed style properties of a given
+ element is referred to as the <em>computed style set</em> of that
+ element.</p>
+
+ <p>When a style value is inherited, either explicitly or implicitly, it is
+ the computed value of the style that is inherited from an ancestor element.
+ This is required since the resolution of certain relative units, such as
+ percentage, require evaluating the expression in the immediate (local)
+ context of reference, and not in a distant (remote) context of reference
+ where the related (resolving) expression is not available.</p>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolved-value-category-actual" name=
+ "semantics-style-resolved-value-category-actual"></a>8.4.3.3 Actual
+ Values</h5>
+
+ <p>During the actual presentation process, other transformations occur that
+ map some value expressions to concrete, physical values. For example, the
+ colors of computed style values are further subjected to closest color
+ approximation and gamma correction during the display process. In addition,
+ length value expressions that use pixels in computed style values are
+ considered to express logical rather than physical (device) pixels.
+ Consequently, these logical pixels are subject to being further transformed
+ or mapped to physical (device) pixels during presentation.</p>
+
+ <p>The final values that result from the logical to device mapping process
+ are referred to as <em>actual values</em>. The set of all actual style
+ properties of a given element is referred to as the <em>actual style set</em>
+ of that element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>More than one set of actual values may be produced during the process of
+ presentation. For example, a TTML presentation processor device may output
+ an RGBA component video signal which is then further transformed by an NTSC
+ or PAL television to produce a final image. In this case, both color and
+ dimensions may further be modified prior to presentation.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In general, a TTML presentation processor will not have access to actual
+ style set values; as a consequence, no further use or reference to actual
+ values is made below when formally describing the style resolution
+ process.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-style-resolution-processing" name=
+ "semantics-style-resolution-processing"></a>8.4.4 Style Resolution
+ Processing</h4>
+
+ <p>The process of style resolution is defined herein as the procedure (and
+ results thereof) for resolving (determining) the computed values of all style
+ properties that apply to content and layout elements:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-style-resolution-processing-definitions"><b>8.4.4.1
+ Conceptual Definitions</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2
+ Specified Style Set Processing</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed
+ Style Set Processing</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-style-resolution-process-overall"><b>8.4.4.4 Style
+ Resolution Process</b></a></p>
+ </li>
+ </ul>
+
+ <p>The process described here forms an integral sub-process of <a href=
+ "#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a>.</p>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolution-processing-definitions" name=
+ "semantics-style-resolution-processing-definitions"></a>8.4.4.1 Conceptual
+ Definitions</h5>
+
+ <p>For the purpose of interpreting the style resolution processing model
+ specified below, the following conceptual definitions apply:</p>
+
+ <dl>
+ <dt class="label">[style property]</dt>
+
+ <dd>
+ <p>a style property, <em>P</em>, is considered to consist of a tuple
+ <code>[name, value]</code>, where the name of the property is a tuple
+ <code>[namespace value, unqualified name]</code> and the value of the
+ property is a tuple <code>[category, type, value
+ expression]</code></p><a id=
+ "conceptual-definition-example-style-property" name=
+ "conceptual-definition-example-style-property"></a>
+
+ <table class="example">
+ <caption>
+ Example – conceptual style property
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+[
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["specified", <em>color</em>, "red"]
+]
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+ </dd>
+
+ <dt class="label">[style (property) set]</dt>
+
+ <dd>
+ <p>a style (property) set consists of an unordered collection of style
+ properties, where no two style properties within the set have an
+ identical name, where by "identical name" is meant equality of namespace
+ value of name tuple and unqualified name of name tuple;</p>
+
+ <p>in a specified style (property) set, the category of each style
+ property is "specified"; a specified style (property) set of an element
+ <em>E</em> is referred to as <em>SSS(E)</em>;</p><a id=
+ "conceptual-definition-example-specified-style-set" name=
+ "conceptual-definition-example-specified-style-set"></a>
+
+ <table class="example">
+ <caption>
+ Example – conceptual (specified) style (property) set
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+{
+ [
+ ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
+ ["specified", <em>color</em>, 0x00FF00 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["specified", <em>color</em>, "red" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "fontSize"],
+ ["specified", <em>length</em>, "1c" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
+ ["specified", <em>length</em>, "117%" ]
+ ]
+}
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>in a computed style (property) set, the category of each style
+ property is either "specified" or "computed"; a computed style (property)
+ set of an element <em>E</em> is referred to as <em>CSS(E)</em>;</p><a id=
+ "conceptual-definition-example-computed-style-set" name=
+ "conceptual-definition-example-computed-style-set"></a>
+
+ <table class="example">
+ <caption>
+ Example – conceptual (computed) style (property) set
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+{
+ [
+ ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
+ ["specified", <em>color</em>, 0x00FF00 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["computed", <em>color</em>, 0xFF0000 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "fontSize"],
+ ["computed", <em>length</em>, "24px" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
+ ["computed", <em>length</em>, "28px" ]
+ ]
+}
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+ </dd>
+
+ <dt class="label">[style (property) merging]</dt>
+
+ <dd>
+ <p>a style property <em>P<sub>new</sub></em> is merged into a style
+ (property) set, <em>SS</em>, as follows: if a style property
+ <em>P<sub>old</sub></em> is already present in <em>SS</em> where the name
+ of <em>P<sub>new</sub></em> is identical to the name of
+ <em>P<sub>old</sub></em>, then replace <em>P<sub>old</sub></em> in
+ <em>SS</em> with <em>P<sub>new</sub></em>; otherwise, add
+ <em>P<sub>new</sub></em> to <em>SS</em>;</p>
+ </dd>
+
+ <dt class="label">[style (property) set merging]</dt>
+
+ <dd>
+ <p>a style (property) set <em>SS<sub>new</sub></em> is merged into an
+ existing style (property) set <em>SS<sub>old</sub></em> as follows: for
+ each style property <em>P<sub>new</sub></em> in
+ <em>SS<sub>new</sub></em>, merge <em>P<sub>new</sub></em> into
+ <em>SS<sub>old</sub></em>;</p>
+ </dd>
+ </dl>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolution-processing-sss" name=
+ "semantics-style-resolution-processing-sss"></a>8.4.4.2 Specified Style Set
+ Processing</h5>
+
+ <p>The specified style set <em>SSS</em> of an element or anonymous span
+ <em>E</em>, <em>SSS(E)</em>, is determined according to the following ordered
+ rules:</p>
+
+ <ol class="enumar">
+ <li>
+ <p><span class="strong">[initialization]</span> initialize the specified
+ style set <em>SSS</em> of <em>E</em> to the empty set;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[referential and chained referential
+ styling]</span> for each <code>style</code> element
+ <em>S<sub>REF</sub></em> referenced by a <code>style</code> attribute
+ specified on <em>E</em>, and in the order specified in the
+ <code>style</code> attribute, then, if <em>S<sub>REF</sub></em> is a
+ descendant of a <code>styling</code> element, merge the specified style
+ set of <em>S<sub>REF</sub></em>, <em>SSS(S<sub>REF</sub>)</em>, into the
+ specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[nested styling]</span> for each nested
+ <code>style</code> element child <em>S<sub>NEST</sub></em> of <em>E</em>,
+ and in the specified order of child elements, merge the specified style
+ set of <em>S<sub>NEST</sub></em>, <em>SSS(S<sub>NEST</sub>)</em>, into
+ the specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[inline styling]</span> for each style property
+ <em>P</em> expressed as a specified styling attribute of <em>E</em>,
+ merge <em>P</em> into the specified style set of <em>E</em>,
+ <em>SSS(E)</em>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[animation styling]</span> for each style
+ property <em>P</em> expressed as a specified styling attribute of an
+ immediate animation (<code>set</code>) element child of element
+ <em>E</em>, merge <em>P</em> into the specified style set of <em>E</em>,
+ <em>SSS(E)</em>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[implicit inheritance]</span> if the element type
+ of <em>E</em> is not the styling element type <code>style</code>, then
+ for each inheritable style property <em>P<sub>INH</sub></em> in the set
+ of style properties defined above in <a href=
+ "#styling-attribute-vocabulary"><b>8.2 Styling Attribute
+ Vocabulary</b></a>, perform the following ordered sub-steps:</p>
+
+ <ol class="enumla">
+ <li>
+ <p>if <em>P<sub>INH</sub></em> is present in the specified style set
+ of <em>E</em>, <em>SSS(E)</em>, then continue to the next inheritable
+ style property;</p>
+ </li>
+
+ <li>
+ <p>if the element type of <em>E</em> is the layout element type
+ <code>region</code>, then set <em>P′</em> to the initial value of
+ property <em>P</em>, where the initial value of a property is
+ determined according to the specific property definition found above
+ in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute
+ Vocabulary</b></a>;</p>
+ </li>
+
+ <li>
+ <p>if the element type of <em>E</em> is a content element type or
+ anonymous span, then set <em>P′</em> to the result of looking up the
+ value of <em>P</em> in the computed style set of the immediate
+ ancestor element of <em>E</em>, i.e., <em>CSS(PARENT(E))</em>;</p>
+ </li>
+
+ <li>
+ <p>if the value of <em>P′</em> is not undefined, then merge
+ <em>P′</em> into the specified style set of <em>E</em>,
+ <em>SSS(E)</em>.</p>
+ </li>
+ </ol>
+ </li>
+ </ol>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolution-processing-css" name=
+ "semantics-style-resolution-processing-css"></a>8.4.4.3 Computed Style Set
+ Processing</h5>
+
+ <p>The computed style set <em>CSS</em> of an element or anonymous span
+ <em>E</em>, <em>CSS(E)</em>, is determined according to the following ordered
+ rules:</p>
+
+ <ol class="enumar">
+ <li>
+ <p><span class="strong">[resolve specified styles]</span> determine
+ (obtain) the specified style set <em>SSS</em> of <em>E</em>, namely,
+ <em>SSS(E)</em>, in accordance with <a href=
+ "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style
+ Set Processing</b></a>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[initialization]</span> initialize
+ <em>CSS(E)</em> to a (deep) copy of <em>SSS(E)</em>;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[filter]</span> if <em>E</em> is a
+ <code>style</code> element, then return <em>CSS(E)</em> as the resulting
+ computed style set without further resolution; otherwise, continue with
+ the next rule;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[relative value resolution]</span> for each style
+ property <em>P</em> in <em>CSS(E)</em>, where the value type of
+ <em>P</em> is relative, perform the following ordered sub-steps:</p>
+
+ <ol class="enumla">
+ <li>
+ <p>replace the relative value of <em>P</em> with an equivalent,
+ non-relative (computed) value;</p>
+ </li>
+
+ <li>
+ <p>set the category of <em>P</em> to "computed";</p>
+ </li>
+ </ol>
+ </li>
+ </ol>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>As a result of the filtering rule above, the computed style set of a
+ <code>style</code> element includes only specified values, in which case
+ relative value expressions remain relative; consequently, the resolution of
+ relative value expressions (that may be assigned by means of referential
+ style association) always takes place in the context of a layout or content
+ element which has a presentation context, and not in the non-presentation,
+ declaration context of a referentiable <code>style</code> element.</p>
+ </div>
+ </div>
+
+ <div class="div4">
+ <h5><a id="semantics-style-resolution-process-overall" name=
+ "semantics-style-resolution-process-overall"></a>8.4.4.4 Style Resolution
+ Process</h5>
+
+ <p>The top-level style resolution process is defined as follows: using a
+ preorder traversal of each element and anonymous span, <em>E</em>, of an
+ intermediate synchronic document, <em>DOC<sub>inter</sub></em>, perform the
+ following ordered sub-steps:</p>
+
+ <ol class="enumar">
+ <li>
+ <p><span class="strong">[filter]</span> if the element type of <em>E</em>
+ is not the styling element type <code>style</code>, is not the layout
+ element type <code>region</code>, and is not one of the content element
+ types <code>body</code>, <code>div</code>, <code>p</code>,
+ <code>span</code>, <code>br</code>, or anonymous span, then continue to
+ the next element in the preorder traversal;</p>
+ </li>
+
+ <li>
+ <p><span class="strong">[resolve computed styles]</span> determine
+ (obtain) the computed style set <em>CSS</em> of <em>E</em>, namely,
+ <em>CSS(E)</em>, in accordance with <a href=
+ "#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed Style
+ Set Processing</b></a>.</p>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="layout" name="layout"></a>9 Layout</h2>
+
+ <p>This section specifies the <em>layout</em> matter of the core vocabulary
+ catalog, where layout is to be understood as a separable layer of information that
+ applies to content and that denotes authorial intentions about the presentation of
+ that content.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The two layers of layout and style matter are considered to be independently
+ separable. Layout matter specifies one or more spaces or areas into which content
+ is intended to be presented, while style matter specifies the manner in which
+ presentation occurs within the layout.</p>
+
+ <p>In certain cases, a content author may choose to embed (inline) style matter
+ directly into layout or content matter. In such cases, an alternative exists –
+ use of referential styling – in which the style matter is not embedded
+ (inlined).</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="layout-element-vocabulary" name="layout-element-vocabulary"></a>9.1
+ Layout Element Vocabulary</h3>
+
+ <p>The following elements specify the structure and principal layout aspects of a
+ <em>Document Instance</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="layout-vocabulary-layout" name="layout-vocabulary-layout"></a>9.1.1
+ layout</h4>
+
+ <p>The <code>layout</code> element is a container element used to group layout
+ matter, including metadata that applies to layout matter.</p>
+
+ <p>The <code>layout</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more <code>region</code> elements.</p><a id="elt-syntax-layout" name=
+ "elt-syntax-layout"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: layout
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<layout
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#layout-vocabulary-region">region</a>*
+</layout>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>To the extent that time semantics apply to the content of the
+ <code>layout</code> element, the implied time interval of this element is
+ defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="layout-vocabulary-region" name="layout-vocabulary-region"></a>9.1.2
+ region</h4>
+
+ <p>The <code>region</code> element is used to define a rectangular space or
+ area into which content is to be flowed for the purpose of presentation.</p>
+
+ <p>In addition, and in accordance with <a href=
+ "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
+ Inheritance</b></a>, the <code>region</code> element may be used to specify
+ inheritable style properties to be inherited by content that is flowed into
+ it.</p>
+
+ <p>The <code>region</code> element accepts as its children zero or more
+ elements in the <code>Metadata.class</code> element group, followed by zero or
+ more elements in the <code>Animation.class</code> element group, followed by
+ zero or more <code>style</code> elements.</p>
+
+ <p>Any metadata specified by children in the <code>Metadata.class</code>
+ element group applies semantically to the <code>region</code> element and its
+ descendants as a whole. Any animation elements specified by children in the
+ <code>Animation.class</code> element group apply semantically to the
+ <code>region</code> element. Any <code>style</code> child element must be
+ considered a local style definition that applies only to the containing
+ <code>region</code> element, i.e., does not apply for resolving referential
+ styling (but does apply for region style inheritance).</p><a id=
+ "elt-syntax-region" name="elt-syntax-region"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: region
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<region
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#style-attribute-style">style</a> = IDREFS
+ <a href=
+"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+ <a href="#metadata-attribute-role">ttm:role</a> = string
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
+"#element-vocab-group-table">Animation.class</a>*, <a href=
+"#styling-vocabulary-style">style</a>*
+</region>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If <code>begin</code> and (or) <code>end</code> attributes are specified on
+ a <code>region</code> element, then they specify the beginning and (or) ending
+ points of a time interval during which the region is eligible for activation
+ and with respect to which animation child elements of the region are timed. If
+ specified, these begin and end points are relative to the time interval of the
+ nearest ancestor element associated with a time interval, irregardless of
+ whether that interval is explicit or implied.</p>
+
+ <p>The nearest ancestor element of a <code>region</code> element that is
+ associated with a time interval is the <code>layout</code> element.</p>
+
+ <p>If a <code>dur</code> attribute is specified on the <code>region</code>
+ element, then it specifies the simple duration of the region.</p>
+
+ <p>For the purpose of determining the semantics of presentation processing, a
+ region that is temporally inactive must not produce any visible marks when
+ presented on a visual medium.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A <code>region</code> element may be associated with a time interval for
+ two purposes: (1) in order to temporally bound the presentation of the region
+ and its content, and (2) to provide a temporal context in which animations of
+ region styles may be effected.</p>
+
+ <p>For example, an author may wish to specify a region that is otherwise
+ empty, but may have a visible background color to be presented starting at
+ some time and continuing over the region's duration. The simple duration of
+ the region serves additionally to scope the presentation effects of content
+ that is targeted to the region. An author may also wish to move a region
+ within the <em>Root Container Region</em> or change a region's background
+ color by means of animation effects. In both of these cases, it is necessary
+ to posit an active time interval for a region.</p>
+ </div>
+
+ <p>If no <code>timeContainer</code> attribute is specified on a
+ <code>region</code> element, then it must be interpreted as having
+ <em>parallel</em> time containment semantics.</p>
+
+ <p>If a <a href="#metadata-attribute-role"><code>ttm:role</code></a> attribute
+ is specified on a <code>region</code> element, then it must adhere to the value
+ syntax defined by <a href="#metadata-attribute-role-syntax"><b>Syntax
+ Representation – ttm:role</b></a>, and where the roles identified by this
+ attribute express the semantic roles of the region independently from the
+ semantic roles of any content targeted to (associated with) the region.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="layout-attribute-vocabulary" name=
+ "layout-attribute-vocabulary"></a>9.2 Layout Attribute Vocabulary</h3>
+
+ <p>This section defines the <a href="#layout-attribute-region"><b>9.2.1
+ region</b></a> attribute used with content elements.</p>
+
+ <div class="div3">
+ <h4><a id="layout-attribute-region" name="layout-attribute-region"></a>9.2.1
+ region</h4>
+
+ <p>The <code>region</code> attribute is used to reference a <code>region</code>
+ element which defines a space or area into which a content element is intended
+ to be flowed.</p>
+
+ <p>If specified, the value of a <code>region</code> attribute must adhere to
+ the <code>IDREF</code> data type defined by <a href="#xsd-2">[XML Schema Part
+ 2]</a>, § 3.3.9, and, furthermore, this IDREF must reference a
+ <code>region</code> element which has a <code>layout</code> element as an
+ ancestor.</p>
+
+ <p>The <code>region</code> attribute may be specified by an instance of the
+ following element types:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-div"><code>div</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-p"><code>p</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-span"><code>span</code></a></p>
+ </li>
+ </ul>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#semantics-region-layout"><b>9.3 Region Layout and
+ Presentation</b></a> below for further information on content flow in a
+ region.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="semantics-region-layout" name="semantics-region-layout"></a>9.3 Region
+ Layout and Presentation</h3>
+
+ <p>This section defines the semantics of region layout and presentation in terms
+ of a standard processing model as follows:</p>
+
+ <ul>
+ <li>
+ <p><a href="#semantics-default-region"><b>9.3.1 Default Region</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic
+ Document Construction</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
+ Processing</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#semantics-region-layout-example"><b>9.3.4 Elaborated Example
+ (Informative)</b></a></p>
+ </li>
+ </ul>
+
+ <p>Any implementation is permitted provided that the externally observable
+ results are consistent with the results produced by this model.</p>
+
+ <div class="div3">
+ <h4><a id="semantics-default-region" name="semantics-default-region"></a>9.3.1
+ Default Region</h4>
+
+ <p>If a <em>Document Instance</em> does not specify a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element, then a <em>default
+ region</em> is implied with the following characteristics:</p>
+
+ <ul>
+ <li>
+ <p>the identity of the default region is considered to be anonymous;</p>
+ </li>
+
+ <li>
+ <p>the extent of the default region is the same as the extent of the
+ <em>Root Container Region</em>;</p>
+ </li>
+
+ <li>
+ <p>the temporal interval of the default region is the same as the interval
+ defined by the <em>Root Temporal Extent</em>;</p>
+ </li>
+ </ul>
+
+ <p>Furthermore, if no <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element is specified, then
+ the <a href="#layout-attribute-region"><code>region</code></a> attribute must
+ not be specified on any content element in the <em>Document Instance</em>.</p>
+
+ <p>If a default region is implied for a given <em>Document Instance</em>, then
+ the <a href="#document-structure-vocabulary-body"><code>body</code></a> element
+ is implicitly targeted to (associated with) the default region.</p>
+
+ <p>When implying a default region, the <em>Document Instance</em> is to be
+ treated as if a <a href="#layout-vocabulary-region"><code>region</code></a>
+ element and its parent <a href=
+ "#layout-vocabulary-layout"><code>layout</code></a> element were specified in a
+ <a href="#document-structure-vocabulary-head"><code>head</code></a> element,
+ and a matching <a href="#layout-attribute-region"><code>region</code></a>
+ attribute were specified on the <a href=
+ "#document-structure-vocabulary-body"><code>body</code></a> element as shown in
+ the following example:</p><a id="semantics-default-region-example" name=
+ "semantics-default-region-example"></a>
+
+ <table class="example">
+ <caption>
+ Example – Implied Default Region
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <span class="strong"><layout>
+ <region xml:id="anonymous"/>
+ </layout></span>
+ </head>
+ <body <span class="strong">region="anonymous"</span>/>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, a default <code>region</code> element and
+ <code>region</code> attribute are implied. In addition, a <code>layout</code>
+ container element is implied for the implied <code>region</code> element.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-region-layout-step-1" name=
+ "semantics-region-layout-step-1"></a>9.3.2 Intermediate Synchronic Document
+ Construction</h4>
+
+ <p>For the purposes of performing presentation processing, the active time
+ duration of a <em>Document Instance</em> is divided into a sequence of time
+ coordinates where at each time coordinate, some element becomes temporally
+ active or inactive, then, at each such time coordinate, a <em>Document
+ Instance</em> is mapped from its original, source form,
+ <em>DOC<sub>source</sub></em> , to an intermediate synchronic document form,
+ <em>DOC<sub>inter</sub></em> , according to the <span class="strong">[construct
+ intermediate document]</span> procedure:</p>
+
+ <dl>
+ <dt class="label">[construct intermediate document]</dt>
+
+ <dd>
+ <ol class="enumar">
+ <li>
+ <p>for each temporally active region <em>R</em>, replicate the sub-tree
+ of <em>DOC<sub>source</sub></em> headed by the <code>body</code>
+ element;</p>
+ </li>
+
+ <li>
+ <p>evaluating this sub-tree in a postorder traversal, prune elements if
+ they are not a content element, if they are temporally inactive, if
+ they are empty, or if they aren't associated with region <em>R</em>
+ according to the <span class="strong">[associate region]</span>
+ procedure;</p>
+ </li>
+
+ <li>
+ <p>if the pruned sub-tree is non-empty, then reparent it to the
+ <em>R</em> element;</p>
+ </li>
+
+ <li>
+ <p>finally, after completing the above steps, prune the original
+ <code>body</code> element from the intermediate document, then prune
+ all <code>region</code>, <code>begin</code>, <code>end</code>, and
+ <code>dur</code> attributes, which are no longer semantically
+ relevant;</p>
+ </li>
+ </ol>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In this section, the term <em>prune</em>, when used in reference to an
+ element, means that the element is to be removed from its parent's
+ children, which, in turn, implies that the descendants of the pruned
+ element will no longer be descendants of the element's parent. When
+ <em>prune</em> is used in reference to an attribute, it means that
+ attribute is to be removed from its associated (owning) element node.</p>
+ </div>
+ </dd>
+
+ <dt class="label">[associate region]</dt>
+
+ <dd>
+ <p>A content element is associated with a region according to the following
+ ordered rules, where the first rule satisfied is used and remaining rules
+ are skipped:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>if the element specifies a <a href=
+ "#layout-attribute-region"><code>region</code></a> attribute, then the
+ element is associated with the region referenced by that attribute;</p>
+ </li>
+
+ <li>
+ <p>if some ancestor of that element specifies a <a href=
+ "#layout-attribute-region"><code>region</code></a> attribute, then the
+ element is associated with the region referenced by the most immediate
+ ancestor that specifies this attribute;</p>
+ </li>
+
+ <li>
+ <p>if the element contains a descendant element that specifies a
+ <a href="#layout-attribute-region"><code>region</code></a> attribute,
+ then the element is associated with the region referenced by that
+ attribute;</p>
+ </li>
+
+ <li>
+ <p>if a default region was implied (due to the absence of any <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element), then the
+ element is associated with the default region;</p>
+ </li>
+
+ <li>
+ <p>the element is not associated with any region.</p>
+ </li>
+ </ol>
+ </dd>
+ </dl>
+
+ <p>The result of performing the processing described above will be a sequence
+ of <em>N</em> intermediate synchronic <em>Document Instances</em>,
+ <em>DOC<sub><span>inter<sub>0</sub></span></sub></em> …
+ <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>.</p>
+
+ <div class="note" id="semantics-smooth-scrolling-recommendation">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Where an implementation is able to detect significant similarity between
+ two adjacent synchronic <em>Document Instances</em>,
+ <em>DOC<sub><span>inter<sub>N</sub></span></sub></em>
+ <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>, then it is preferred
+ that the implementation make the transition between presenting the two
+ instances as smooth as possible, e.g., as described by <a href=
+ "#cea608c">[CEA-608-C]</a>, § C.3.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-region-layout-step-2" name=
+ "semantics-region-layout-step-2"></a>9.3.3 Synchronic Flow Processing</h4>
+
+ <p>Subsequent to performing a temporal (synchronic) slice and subsequent
+ remapping of regionally selected content hierarchy, the resulting intermediate
+ synchronic document is subjected to a flow transformation step that produces a
+ rooted flow object tree represented as an XSL FO document instance as defined
+ by <a href="#xsl11">[XSL 1.1]</a>, and semantically extended by TTML specific
+ style properties that have no XSL FO counterpart.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In this section, the use of XSL FO is intended to be conceptual only,
+ employed solely for the purpose of defining the normative presentation
+ semantics of TTML. An actual implementation of this algorithm is not required
+ to create or process XSL-FO representations. In particular, it is possible to
+ implement these semantics using alternative presentation models, such as
+ Cascading Style Sheets (CSS).</p>
+ </div>
+
+ <p>Each intermediate synchronic document produced by <a href=
+ "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
+ Construction</b></a> is mapped to an XSL FO document instance, <em>F</em>, as
+ follows:</p>
+
+ <ol class="enumar">
+ <li>
+ <p>perform the following ordered sub-steps to create anonymous spans:</p>
+
+ <ol class="enumla">
+ <li>
+ <p>for each significant text node in a content element, synthesize an
+ anonymous span to enclose the text node, substituting the new anonymous
+ span for the original text node child in its sibling and parent
+ hierarchy;</p>
+ </li>
+
+ <li>
+ <p>for each contiguous sequence of anonymous spans, replace the
+ sequence with a single anonymous span which contains a sequence of text
+ nodes representing the individual text node children of the original
+ sequence of anonymous spans;</p>
+ </li>
+
+ <li>
+ <p>for each span element whose child is a single anonymous span,
+ replace the anonymous span with its sequence of child text nodes;</p>
+ </li>
+ </ol>
+ </li>
+
+ <li>
+ <p>resolve styles according to <a href=
+ "#semantics-style-resolution-process-overall"><b>8.4.4.4 Style Resolution
+ Process</b></a>;</p>
+ </li>
+
+ <li>
+ <p>map the <code>tt</code> element to an <code>fo:root</code> element,
+ populated initially with an <code>fo:layout-master-set</code> element that
+ contains a valid <code>fo:simple-page-master</code> that, in turn, contains
+ an <code>fo:region-body</code> child, where the extent of the <em>Root
+ Container Region</em> expressed on the <code>tt</code> element is mapped to
+ <code>page-width</code> and <code>page-height</code> attributes on the
+ <code>fo:simple-page-master</code> element;</p>
+ </li>
+
+ <li>
+ <p>map the <code>layout</code> element to an <code>fo:page-sequence</code>
+ element and a child <code>fo:flow</code> element that reference the page
+ master and page region defined by the simple page master produced
+ above;</p>
+ </li>
+
+ <li>
+ <p>map each non-empty <code>region</code> element to an
+ <code>fo:block-container</code> element with an
+ <code>absolute-position</code> attribute with value <code>absolute</code>,
+ with <code>top</code>, <code>left</code>, <code>bottom</code>, and
+ <code>right</code> attributes that express a rectangle equivalent to the
+ region's origin and extent, and with a <code>line-stacking-strategy</code>
+ attribute with value <code>line-height</code>;</p>
+ </li>
+
+ <li>
+ <p>for each <code>body</code>, <code>div</code>, and <code>p</code> element
+ that is not associated with a <code>tts:display</code> style property with
+ the value <code>none</code>, map the element to a distinct
+ <code>fo:block</code> element, populating the style properties of
+ <code>fo:block</code> by using the computed style set associated with each
+ original TTML Content element;</p>
+ </li>
+
+ <li>
+ <p>for the resulting <code>fo:block</code> formatting object produced in
+ the previous step that corresponds to the <code>body</code> element,
+ perform the following ordered sub-steps:</p>
+
+ <ol class="enumla">
+ <li>
+ <p>if the <code>display-align</code> style property of this
+ <code>fo:block</code> has the value <code>center</code> or
+ <code>after</code>, then synthesize and insert as the first child of
+ this <code>fo:block</code> an empty <code>fo:block</code> with the
+ following attributes: <code>space-after.optimum</code>,
+ <code>space-after.maximum</code>, and
+ <code>space-after.conditionality</code>, where the value of the former
+ two attributes is the height or width of the containing
+ <code>fo:block-container</code> element, whichever of these is
+ designated as the block progression dimension, and where the value of
+ the last is <code>retain</code>;</p>
+ </li>
+
+ <li>
+ <p>if the <code>display-align</code> style property of this
+ <code>fo:block</code> has the value <code>center</code> or
+ <code>before</code>, then synthesize and insert as the last child of
+ this <code>fo:block</code> an empty <code>fo:block</code> with the
+ following attributes: <code>space-after.optimum</code>,
+ <code>space-after.maximum</code>, and
+ <code>space-after.conditionality</code>, where the value of the former
+ two attributes is the height or width of the containing
+ <code>fo:block-container</code> element, whichever of these is
+ designated as the block progression dimension, and where the value of
+ the last is <code>retain</code>;</p>
+ </li>
+ </ol>
+ </li>
+
+ <li>
+ <p>for each <code>span</code> element that is not associated with a
+ <code>tts:display</code> style property with the value <code>none</code>
+ and for each anonymous span that is a child of a <code>p</code> or
+ <code>span</code> element, map the element or sequence of character items
+ to a distinct <code>fo:inline</code> element, populating the style
+ properties of <code>fo:inline</code> by using the computed style set
+ associated with each original TTML Content element or anonymous span;</p>
+ </li>
+
+ <li>
+ <p>for each <code>br</code> element that is not associated with a
+ <code>tts:display</code> style property with the value <code>none</code>,
+ map the element to a distinct <code>fo:character</code> element having the
+ following properties:</p>
+
+ <ul>
+ <li>
+ <p><code>character="&#x000A;"</code></p>
+ </li>
+
+ <li>
+ <p><code>suppress-at-line-break="retain"</code></p>
+ </li>
+ </ul>
+ </li>
+
+ <li>
+ <p>for each TTML style property attribute in some computed style set that
+ has no counterpart in <a href="#xsl11">[XSL 1.1]</a>, map that attribute
+ directly through to the relevant formatting object produced by the input
+ TTML Content element to which the style property applies;</p>
+ </li>
+
+ <li>
+ <p>optionally, synthesize a unique <code>id</code> attribute on each
+ resulting formatting object element that relates that element to the input
+ element that resulted in that formatting object element;</p>
+ </li>
+ </ol>
+
+ <p>For each resulting document instance F, if processing requires presentation
+ on a visual medium, then apply formatting and rendering semantics consistent
+ with that prescribed by <a href="#xsl11">[XSL 1.1]</a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In an XSL FO area tree produced by formatting <em>F</em> using an <a href=
+ "#xsl11">[XSL 1.1]</a> formatting processor, the
+ <code>page-viewport-area</code>, which is generated by
+ <code>fo:page-sequence</code> element by reference to the sole generated
+ <code>fo:simple-page-master</code> element, would correspond to the <em>Root
+ Container Region</em> defined above in <a href="#definitions"><b>2
+ Definitions</b></a>.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Due to the possible presence of TTML style properties or style property
+ values in a given <em>Document Instance</em> for which there is no <a href=
+ "#xsl11">[XSL 1.1]</a> counterpart, Implementors should recognize that it is
+ the layout model of <a href="#xsl11">[XSL 1.1]</a> that is being referenced
+ by this specification, not the requirement to use a compliant <a href=
+ "#xsl11">[XSL 1.1]</a> formatting processor, since such would not necessarily
+ be sufficient to satisfy the full presentation semantics defined by this
+ specification, and would contain a large number of features not needed to
+ implement the presentation semantics of TTML.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The purpose of inserting additional, collapsible space in the block
+ progression dimension of the <code>fo:block</code> that corresponds with the
+ <code>body</code> element is to ensure that the before and after edges of
+ this <code>fo:block</code> are coincident with the before and after edges of
+ the <code>fo:block-container</code> that corresponds to the containing
+ <code>region</code>, while simultaneously taking into account the needs to
+ satisfy alignment in the block progression dimension. For example, this
+ assures that the background color associated with the <code>body</code>
+ element, if not <code>transparent</code>, will fill the containing region
+ wholly.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="semantics-region-layout-example" name=
+ "semantics-region-layout-example"></a>9.3.4 Elaborated Example
+ (Informative)</h4>
+
+ <p>An example of the processing steps described above is elaborated below,
+ starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source
+ Document</b></a>.</p><a id="region-mapping-example-1-s" name=
+ "region-mapping-example-1-s"></a>
+
+ <table class="example">
+ <caption>
+ Example – Sample Source Document
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt tts:extent="640px 480px" xml:lang="en"
+ xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1">
+ <style tts:origin="10px 100px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ </region>
+ <region xml:id="r2">
+ <style tts:origin="10px 300px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="yellow"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ </region>
+ </layout>
+ </head>
+ <body xml:id="b1">
+ <div xml:id="d1" begin="0s" dur="2s">
+ <p xml:id="p1" region="r1">Text 1</p>
+ <p xml:id="p2" region="r2">Text 2</p>
+ </div>
+ <div xml:id="d2" begin="1s" dur="2s">
+ <p xml:id="p3" region="r2">Text 3</p>
+ <p xml:id="p4" region="r1">Text 4</p>
+ </div>
+ </body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>In the above document, the content hierarchy consists of two divisions, each
+ containing two paragraphs. This content is targeted (associated with) one of
+ two non-overlapping regions that are styled identically except for their
+ position and their foreground colors, the latter of which is inherited by and
+ applies to the (and, in this case, anonymous) spans reparented into the
+ regions.</p>
+
+ <p>The following, first intermediate document shows the synchronic state for
+ time interval [0,1), during which time only division <code>d1</code> is
+ temporally active, and where paragraphs <code>p1</code> and <code>p2</code>
+ (and their ancestors) are associated with regions <code>r1</code> and
+ <code>r2</code>, respectively.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The intermediate documents shown below are not valid <em>Document
+ Instances</em>, but rather, are representations of possible internal
+ processing states used for didactic purposes.</p>
+ </div><a id="region-mapping-example-1-i0" name=
+ "region-mapping-example-1-i0"></a>
+
+ <table class="example">
+ <caption>
+ Example – Intermediate Document – [0s,1s)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt tts:extent="640px 480px" xml:lang="en"
+ xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1">
+ <style tts:origin="10px 100px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-1">
+ <div xml:id="d1-1">
+ <p xml:id="p1">Text 1</p>
+ </div>
+ </body>
+ </region>
+ <region xml:id="r2">
+ <style tts:origin="10px 300px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="yellow"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-2">
+ <div xml:id="d1-2">
+ <p xml:id="p2">Text 2</p>
+ </div>
+ </body>
+ </region>
+ </layout>
+ </head>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>An XSL FO document instance that would yield rendering consistent with TTML,
+ and which may be produced by performing flow processing upon the first
+ intermediate document is illustrated below.</p><a id=
+ "region-mapping-example-1-f0" name="region-mapping-example-1-f0"></a>
+
+ <table class="example">
+ <caption>
+ Example – XSL FO Document – [0s,1s)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+ <fo:layout-master-set>
+ <fo:simple-page-master master-name="m1"
+ page-width="640px" page-height="480px">
+ <fo:region-body/>
+ </fo:simple-page-master>
+ </fo:layout-master-set>
+ <fo:page-sequence master-reference="m1">
+ <fo:flow flow-name="xsl-region-body">
+ <!-- region (r1) -->
+ <fo:block-container id="r1" absolute-position="absolute"
+ left="10px" top="100px" width="620px" height="96px"
+ background-color="black" display-align="center">
+ <!-- body (b1) -->
+ <fo:block id="b1-1">
+ <!-- body's space (before) filler -->
+ <fo:block
+ space-after.optimum="96px"
+ space-after.maximum="96px"
+ space-after.conditionality="retain"/>
+ <!-- div (d1) -->
+ <fo:block id="d1-1">
+ <!-- p (p1) -->
+ <fo:block id="p1" text-align="center">
+ <fo:inline font-size="40px" font-weight="bold"
+ color="red">Text 1</fo:inline>
+ </fo:block>
+ </fo:block>
+ <!-- body's space (after) filler -->
+ <fo:block
+ space-after.optimum="96px"
+ space-after.maximum="96px"
+ space-after.conditionality="retain"/>
+ </fo:block>
+ </fo:block-container>
+ <!-- region (r2) -->
+ <fo:block-container id="r2" absolute-position="absolute"
+ left="10px" top="300px" width="620px" height="96px"
+ background-color="black" display-align="center">
+ <!-- body (b1) -->
+ <fo:block id="b1-2">
+ <!-- body's space (before) filler -->
+ <fo:block
+ space-after.optimum="96px"
+ space-after.maximum="96px"
+ space-after.conditionality="retain"/>
+ <!-- div (d1) -->
+ <fo:block id="d1-2">
+ <!-- p (p2) -->
+ <fo:block id="p2" text-align="center">
+ <fo:inline font-size="40px" font-weight="bold"
+ color="yellow">Text 2</fo:inline>
+ </fo:block>
+ </fo:block>
+ <!-- body's space (after) filler -->
+ <fo:block
+ space-after.optimum="96px"
+ space-after.maximum="96px"
+ space-after.conditionality="retain"/>
+ </fo:block>
+ </fo:block-container>
+ </fo:flow>
+ </fo:page-sequence>
+</fo:root>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The following, second intermediate document shows the synchronic state for
+ time interval [1,2), during which time both divisions <code>d1</code> and
+ <code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
+ <code>p4</code> (and their ancestors) are associated with region
+ <code>r1</code> and paragraphs <code>p2</code> and <code>p3</code> (and their
+ ancestors) are associated with region <code>r2</code>.</p><a id=
+ "region-mapping-example-1-i1" name="region-mapping-example-1-i1"></a>
+
+ <table class="example">
+ <caption>
+ Example – Intermediate Document – [1s,2s)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt tts:extent="640px 480px" xml:lang="en"
+ xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1">
+ <style tts:origin="10px 100px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-1">
+ <div xml:id="d1-1">
+ <p xml:id="p1">Text 1</p>
+ </div>
+ <div xml:id="d2-1">
+ <p xml:id="p4">Text 4</p>
+ </div>
+ </body>
+ </region>
+ <region xml:id="r2">
+ <style tts:origin="10px 300px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="yellow"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-2">
+ <div xml:id="d1-2">
+ <p xml:id="p2">Text 2</p>
+ </div>
+ <div xml:id="d2-2">
+ <p xml:id="p3">Text 3</p>
+ </div>
+ </body>
+ </region>
+ </layout>
+ </head>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The following, third intermediate document shows the synchronic state for
+ time interval [2,3), during which time only division <code>d2</code> is
+ temporally active, and where paragraphs <code>p4</code> and <code>p3</code>
+ (and their ancestors) are associated with regions <code>r1</code> and
+ <code>r2</code>, respectively.</p><a id="region-mapping-example-1-i2" name=
+ "region-mapping-example-1-i2"></a>
+
+ <table class="example">
+ <caption>
+ Example – Intermediate Document – [2s,3s)
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt tts:extent="640px 480px" xml:lang="en"
+ xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1">
+ <style tts:origin="10px 100px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="red"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-1">
+ <div xml:id="d2-1">
+ <p xml:id="p4">Text 4</p>
+ </div>
+ </body>
+ </region>
+ <region xml:id="r2">
+ <style tts:origin="10px 300px"/>
+ <style tts:extent="620px 96px"/>
+ <style tts:fontSize="40px"/>
+ <style tts:fontWeight="bold"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="yellow"/>
+ <style tts:textAlign="center"/>
+ <style tts:displayAlign="center"/>
+ <body xml:id="b1-2">
+ <div xml:id="d2-2">
+ <p xml:id="p3">Text 3</p>
+ </div>
+ </body>
+ </region>
+ </layout>
+ </head>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="semantics-line-layout" name="semantics-line-layout"></a>9.4 Line
+ Layout</h3>
+
+ <p>If a profile that applies to a <em>Document Instance</em> requires use of the
+ <a href="#feature-lineBreak-uax14">#lineBreak-uax14</a> feature (i.e., the value
+ attribute for the feature is specified as <code>use</code>), then the
+ recommendations defined by <a href=
+ "http://www.unicode.org/reports/tr14/#Algorithm">Line Breaking Algorithm</a>
+ <a href="#uax14">[UAX14]</a> apply when performing line layout on the content of
+ the <em>Document Instance</em>.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="timing" name="timing"></a>10 Timing</h2>
+
+ <p>This section specifies the <em>timing</em> matter of the core vocabulary
+ catalog, where timing is to be understood as a separable layer of information that
+ applies to content and that denotes authorial intentions about the temporal
+ presentation of that content.</p>
+
+ <div class="div2">
+ <h3><a id="timing-element-vocabulary" name="timing-element-vocabulary"></a>10.1
+ Timing Element Vocabulary</h3>
+
+ <p>No timing related element vocabulary is defined for use in the core vocabulary
+ catalog.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="timing-attribute-vocabulary" name=
+ "timing-attribute-vocabulary"></a>10.2 Timing Attribute Vocabulary</h3>
+
+ <p>This section defines the following basic timing attributes for use with timed
+ elements:</p>
+
+ <ul>
+ <li>
+ <p><a href="#timing-attribute-begin"><b>10.2.1 begin</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing-attribute-end"><b>10.2.2 end</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing-attribute-dur"><b>10.2.3 dur</b></a></p>
+ </li>
+ </ul>
+
+ <p>In addition, this section defines the <a href=
+ "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a> attribute for
+ use with timed elements that serve simultaneously as timing containers.</p>
+
+ <div class="div3">
+ <h4><a id="timing-attribute-begin" name="timing-attribute-begin"></a>10.2.1
+ begin</h4>
+
+ <p>The <code>begin</code> attribute is used to specify the begin point of a
+ temporal interval associated with a timed element. If specified, the value of a
+ <code>begin</code> attribute must adhere to a <timeExpression>
+ specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a>.</p>
+
+ <p>The begin point of a temporal interval is included in the interval; i.e.,
+ the interval is left-wise closed.</p>
+
+ <p>The semantics of the <code>begin</code> attribute are those defined by
+ <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
+ overriding semantics defined by this specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="timing-attribute-end" name="timing-attribute-end"></a>10.2.2
+ end</h4>
+
+ <p>The <code>end</code> attribute is used to specify the ending point of a
+ temporal interval associated with a timed element. If specified, the value of
+ an <code>end</code> attribute must adhere to a <timeExpression>
+ specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a>.</p>
+
+ <p>The ending point of a temporal interval is not included in the interval;
+ i.e., the interval is right-wise open.</p>
+
+ <p>The presentation effects of a non-empty active temporal interval include the
+ frame immediately prior to the frame (or tick) equal to or immediately
+ following the time specified by the ending point, but do not extend into this
+ latter frame (or tick).</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>For example, if an active interval is [10s,10.33333s), and the frame rate
+ is 30 frames per second, then the presentation effects of the interval are
+ limited to frames 300 through 309 only (assuming that 0s corresponds with
+ frame 0). The same holds if the active interval is specified as
+ [300f,310f).</p>
+ </div>
+
+ <p>The semantics of the <code>end</code> attribute are those defined by
+ <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
+ overriding semantics defined by this specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="timing-attribute-dur" name="timing-attribute-dur"></a>10.2.3
+ dur</h4>
+
+ <p>The <code>dur</code> attribute is used to specify the duration of a temporal
+ interval associated with a timed element. If specified, the value of a
+ <code>dur</code> attribute must adhere to a <timeExpression>
+ specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a>.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>When the <code>clock-time</code> form of a <timeExpression>
+ specification is used with a <code>dur</code> attribute, it is intended to be
+ interpreted as a difference between two implied clock time expressions.</p>
+ </div>
+
+ <p>When a <em>Document Instance</em> specifies the use of the
+ <code>smpte</code> time base and <code>discontinuous</code> marker mode, a
+ (well-formed) <code>dur</code> attribute must not be specified on any
+ element.</p>
+
+ <p>The semantics of the <code>dur</code> attribute are those defined by
+ <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
+ overriding semantics defined by this specification.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the context of the subset of <a href="#smil21">[SMIL 2.1]</a> semantics
+ supported by this specification, the active duration of an element that
+ specifies both <code>end</code> and <code>dur</code> attributes is equal to
+ the lesser of the value of the <code>dur</code> attribute and the difference
+ between the value of the <code>end</code> attribute and the element's begin
+ time.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="timing-attribute-timeContainer" name=
+ "timing-attribute-timeContainer"></a>10.2.4 timeContainer</h4>
+
+ <p>The <code>timeContainer</code> attribute is used to specify a local temporal
+ context by means of which timed child elements are temporally situated.</p>
+
+ <p>If specified, the value of a <code>timeContainer</code> attribute must be
+ one of the following:</p>
+
+ <ul>
+ <li>
+ <p><code>par</code></p>
+ </li>
+
+ <li>
+ <p><code>seq</code></p>
+ </li>
+ </ul>
+
+ <p>If the time container semantics of an element instance is <code>par</code>,
+ then the temporal intervals of child elements are considered to apply in
+ parallel, i.e., simultaneously in time. Furthermore, the specification of the
+ time interval of each child element is considered to be relative to the
+ temporal interval of the container element instance. For the purpose of
+ determining the <a href="#smil21">[SMIL 2.1]</a> <code>endsync</code> semantics
+ of a <code>par</code> time container, a default value of <code>all</code>
+ applies.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of a default value of <code>all</code> for the
+ <code>endsync</code> behavior is distinct from <a href="#smil21">[SMIL
+ 2.1]</a> which uses a default value of <code>last</code>.</p>
+ </div>
+
+ <p>If the time container semantics of an element instance is <code>seq</code>,
+ then the temporal intervals of child elements are considered to apply in
+ sequence, i.e., sequentially in time. Furthermore, the specification of the
+ time interval of each child element is considered to be relative to the
+ temporal interval of its sibling elements, unless it is the first child
+ element, in which case it is considered to be relative to the temporal interval
+ of the container element instance.</p>
+
+ <p>Each time container is considered to constitute an independent time base,
+ i.e., time coordinate system.</p>
+
+ <p>If a <code>timeContainer</code> attribute is not specified on an element
+ that has time container semantics, then <code>par</code> time container
+ semantics must apply.</p>
+
+ <p>Time container semantics applies only to the following element types:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-div"><code>div</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-p"><code>p</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-span"><code>span</code></a></p>
+ </li>
+ </ul>
+
+ <p>The semantics of parallel and sequential time containment are those defined
+ by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.2, while taking into account any
+ overriding semantics defined by this specification.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="timing-time-value-expressions" name=
+ "timing-time-value-expressions"></a>10.3 Time Value Expressions</h3>
+
+ <p>Timing attribute values include the use of the following expressions:</p>
+
+ <ul>
+ <li>
+ <p><a href="#timing-value-timeExpression"><b>10.3.1
+ <timeExpression></b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="timing-value-timeExpression" name=
+ "timing-value-timeExpression"></a>10.3.1 <timeExpression></h4>
+
+ <p>A <timeExpression> is used to specify a coordinate within some time
+ base, where the applicable time base is determined by the
+ <code>ttp:timeBase</code> parameter, and where the semantics defined by
+ <a href="#time-expression-semantics"><b>N Time Expression Semantics</b></a>
+ apply.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>See <a href="#parameter-attribute-frameRate"><b>6.2.4
+ ttp:frameRate</b></a>, <a href="#parameter-attribute-subFrameRate"><b>6.2.9
+ ttp:subFrameRate</b></a>, <a href="#parameter-attribute-tickRate"><b>6.2.10
+ ttp:tickRate</b></a>, and <a href="#parameter-attribute-timeBase"><b>6.2.11
+ ttp:timeBase</b></a> for further information on explicit specification of
+ frame rate, sub-frame rate, tick rate, and time base.</p>
+ </div><a id="timeExpression-syntax" name="timeExpression-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – <timeExpression>
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : clock-time
+ | offset-time
+
+clock-time
+ : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
+
+offset-time
+ : time-count fraction? metric
+
+hours
+ : <a href="#style-value-digit"><digit></a> <a href=
+"#style-value-digit"><digit></a>
+ | <a href="#style-value-digit"><digit></a> <a href=
+"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
+
+minutes | seconds
+ : <a href="#style-value-digit"><digit></a> <a href=
+"#style-value-digit"><digit></a>
+
+frames
+ : <a href="#style-value-digit"><digit></a> <a href=
+"#style-value-digit"><digit></a>
+ | <a href="#style-value-digit"><digit></a> <a href=
+"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
+
+sub-frames
+ : <a href="#style-value-digit"><digit></a>+
+
+fraction
+ : "." <a href="#style-value-digit"><digit></a>+
+
+time-count
+ : <a href="#style-value-digit"><digit></a>+
+
+metric
+ : "h" // hours
+ | "m" // minutes
+ | "s" // seconds
+ | "ms" // milliseconds
+ | "f" // frames
+ | "t" // ticks
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>,
+ then leading zeroes are used when expressing hours, minutes, seconds, and
+ frames less than 10. Minutes are constrained to [0…59], while seconds
+ (including any fractional part) are constrained to the closed interval [0,60],
+ where the value 60 applies only to leap seconds.</p>
+
+ <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
+ and a <em>frames</em> term is specified, then the value of this term must be
+ constrained to the interval [0…<em>F-1</em>], where <em>F</em> is the frame
+ rate determined by the <code>ttp:frameRate</code> parameter as defined by
+ <a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a>. It is
+ considered an error if a <em>frames</em> term or <code>f</code> (frames) metric
+ is specified when the <code>clock</code> time base applies.</p>
+
+ <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
+ and a <em>sub-frames</em> term is specified, then the value of this term must
+ be constrained to the interval [0…<em>S-1</em>], where <em>S</em> is the
+ sub-frame rate determined by the <code>ttp:subFrameRate</code> parameter as
+ defined by <a href="#parameter-attribute-subFrameRate"><b>6.2.9
+ ttp:subFrameRate</b></a>. It is considered an error if a <em>sub-frames</em>
+ term is specified when the <code>clock</code> time base applies.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="timing-time-intervals" name="timing-time-intervals"></a>10.4 Time
+ Intervals</h3>
+
+ <p>The semantics of time containment, durations, and intervals defined by
+ <a href="#smil21">[SMIL 2.1]</a> apply to the interpretation of like-named timed
+ elements and timing vocabulary defined by this specification, given the following
+ constraints:</p>
+
+ <ul>
+ <li>
+ <p>The implicit duration of an anonymous span is defined as follows: if the
+ anonymous span's parent time container is a parallel time container, then the
+ implicit duration is equivalent to the <code>indefinite</code> duration value
+ as defined by <a href="#smil21">[SMIL 2.1]</a>; if the anonymous span's
+ parent time container is a sequential time container, then the implicit
+ duration is equivalent to zero.</p>
+ </li>
+
+ <li>
+ <p>The implicit duration of a <code>body</code>, <code>div</code>,
+ <code>p</code>, or <code>span</code> element is determined in accordance to
+ (1) whether the element is a parallel or sequential time container, (2) the
+ default <code>endsync</code> semantics defined above by <a href=
+ "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>, and (3)
+ the semantics of <a href="#smil21">[SMIL 2.1]</a> as applied to these time
+ containers.</p>
+ </li>
+
+ <li>
+ <p>The implicit duration of the <code>region</code> element is defined to be
+ equivalent to the <code>indefinite</code> duration value as defined by
+ <a href="#smil21">[SMIL 2.1]</a>.</p>
+ </li>
+
+ <li>
+ <p>If the governing time base is <code>clock</code>, then time expressions
+ are considered to be equivalent to wall-clock based timing in <a href=
+ "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
+ "#time-expression-semantics-clock"><b>N.1 Clock Time Base</b></a> apply.</p>
+ </li>
+
+ <li>
+ <p>If the governing time base is <code>media</code>, then time expressions
+ are considered to be equivalent to offset based timing in <a href=
+ "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
+ "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> apply.</p>
+ </li>
+
+ <li>
+ <p>If the governing time base is <code>smpte</code>, then time expressions
+ are considered to be equivalent to either offset based timing or event based
+ timing in <a href="#smil21">[SMIL 2.1]</a>, where the specific semantics of
+ <a href="#time-expression-semantics-smpte"><b>N.3 SMPTE Time Base</b></a>
+ apply.</p>
+ </li>
+ </ul>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="animation" name="animation"></a>11 Animation</h2>
+
+ <p>This section specifies the <em>animation</em> matter of the core vocabulary
+ catalog, where animation is to be understood as a separable layer of information
+ that combines timing and styling in order to denote authorial intention about
+ (temporally) dynamic styling of content.</p>
+
+ <div class="div2">
+ <h3><a id="animation-element-vocabulary" name=
+ "animation-element-vocabulary"></a>11.1 Animation Element Vocabulary</h3>
+
+ <p>The following elements specify the structure and principal animation aspects
+ of a <em>Document Instance</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#animation-vocabulary-set"><b>11.1.1 set</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="animation-vocabulary-set" name="animation-vocabulary-set"></a>11.1.1
+ set</h4>
+
+ <p>The <code>set</code> element is used as a child element of a content element
+ or a <code>region</code> element in order to express a discrete change of some
+ style parameter value that applies over some time interval.</p>
+
+ <p>The <code>set</code> element accepts as its children zero or more elements
+ in the <code>Metadata.class</code> element group.</p><a id="elt-syntax-set"
+ name="elt-syntax-set"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: set
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<set
+ <a href="#timing-attribute-begin">begin</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-dur">dur</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#timing-attribute-end">end</a> = <a href=
+"#timing-value-timeExpression"><timeExpression></a>
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>a single attribute in TT Style namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
+</set>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The use of multiple <code>set</code> element children may be used to
+ effect fade and position transitions.</p>
+ </div>
+
+ <p>An example of using the <code>set</code> element to animate content styling
+ is illustrated below:</p><a id="animation-vocabulary-set-example-1" name=
+ "animation-vocabulary-set-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Content Style Animation
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+...
+<p dur="5s" tts:color="yellow">
+<span class="strong"><set begin="1s" dur="1s" tts:color="red"/></span>
+<span class="strong"><set begin="2s" dur="1s" tts:color="green"/></span>
+<span class="strong"><set begin="3s" dur="1s" tts:color="red"/></span>
+Text with Flashing Colors!
+</p>
+...
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the foreground color of the content "Text with
+ Flashing Colors" is animated from yellow, to red, to green, to red, then back
+ to yellow over a 5 second period.</p>
+ </div>
+
+ <p>An example of using the <code>set</code> element to animate region styling
+ is illustrated below:</p><a id="animation-vocabulary-set-example-2" name=
+ "animation-vocabulary-set-example-2"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Region Style Animation
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
+ xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
+ xmlns:tts="http://www.w3.org/ns/ttml#styling"
+ ttp:cellResolution="40 16">
+ <head>
+ <layout>
+ <region xml:id="r1" timeContainer="seq">
+ <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
+ <span class="strong"><set dur="2s" tts:origin=" 2c 2c"/></span>
+ <span class="strong"><set dur="3s" tts:origin=" 8c 14c"/></span>
+ <span class="strong"><set dur="2s" tts:origin="14c 4c"/></span>
+ <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
+ <style tts:extent="24c 2c"/>
+ </region>
+ </layout>
+ </head>
+ <body region="r1">...</body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, the <em>Root Container Region</em> is divided into a
+ cell grid of 40 columns and 16 rows. A region, <code>r1</code>, with
+ dimensions of 24 columns and 2 rows is then positioned within the <em>Root
+ Container Region</em>, with its position varying over time in order to create
+ an effect of moving the region, which may be desirable so as to avoid
+ obscuring characters in an underlying video with captions.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The semantics of the <code>set</code> element are based upon that defined
+ by <a href="#smil21">[SMIL 2.1]</a>, § 3.6.2.</p>
+ </div>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="animation-attribute-vocabulary" name=
+ "animation-attribute-vocabulary"></a>11.2 Animation Attribute Vocabulary</h3>
+
+ <p>No animation related attribute vocabulary is defined for use in the core
+ vocabulary catalog.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="metadata" name="metadata"></a>12 Metadata</h2>
+
+ <p>This section specifies the <em>metadata</em> matter of the core vocabulary
+ catalog, where metadata is to be understood as a separable layer of information
+ that applies to parameters, content, style, layout, timing, and even metadata
+ itself, where the information represented by metadata takes one of two forms: (1)
+ metadata defined by this specification for standardized use in a <em>Document
+ Instance</em>, and (2) arbitrary metadata defined outside of the scope of this
+ specification, whose use and semantics depend entirely upon an application's use of
+ TTML Content.</p>
+
+ <div class="div2">
+ <h3><a id="metadata-element-vocabulary" name=
+ "metadata-element-vocabulary"></a>12.1 Metadata Element Vocabulary</h3>
+
+ <p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1 metadata</b></a> element
+ serves as a generic container element for grouping metadata information.</p>
+
+ <p>In addition, the following elements, all defined in the TT Metadata Namespace,
+ provide standard representations for metadata that is expected to be commonly
+ used in a <em>Document Instances</em>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#metadata-vocabulary-title"><b>12.1.2 ttm:title</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-desc"><b>12.1.3 ttm:desc</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-copyright"><b>12.1.4
+ ttm:copyright</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-agent"><b>12.1.5 ttm:agent</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-name"><b>12.1.6 ttm:name</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-actor"><b>12.1.7 ttm:actor</b></a></p>
+ </li>
+ </ul>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-metadata" name=
+ "metadata-vocabulary-metadata"></a>12.1.1 metadata</h4>
+
+ <p>The <code>metadata</code> element functions as a generic container for
+ metadata information.</p>
+
+ <p>Metadata information may be expressed with a <code>metadata</code> element
+ by specifying (1) one or more metadata attributes on the <code>metadata</code>
+ element, (2) one or more metadata child elements in the <code>metadata</code>
+ element, or (3) a combination of metadata attributes and metadata child
+ elements. Both types of metadata information are referred to in this document
+ as <em>metadata items</em>.</p><a id="elt-syntax-metadata" name=
+ "elt-syntax-metadata"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<metadata
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute in TT Metadata namespace</em>}
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> ({<em>any element in TT Metadata namespace</em>}|{<em>any element not in any TT namespace</em>})*
+</metadata>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The meaning of a specific metadata item must be evaluated in the context
+ where it appears. The core vocabulary catalog permits an arbitrary number of
+ <code>metadata</code> element children on any content element type except for
+ the <code>tt</code> element. See specific element vocabulary definitions for
+ any constraints that apply to such usage.</p>
+ </div>
+
+ <p>The use of document metadata is illustrated by the following
+ example.</p><a id="metadata-vocabulary-metadata-example-1" name=
+ "metadata-vocabulary-metadata-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Document Metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+...
+<head>
+ <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <ttm:title>Document Metadata Example</ttm:title>
+ <ttm:desc>This document employs document metadata.</ttm:desc>
+ </metadata>
+</head>
+...
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p>The use of element metadata is illustrated by the following
+ example.</p><a id="metadata-vocabulary-metadata-example-2" name=
+ "metadata-vocabulary-metadata-example-2"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Element Metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+...
+<div>
+ <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <ttm:title>Chapter 6 – Sherlock Holmes Gives a Demonstration</ttm:title>
+ <ttm:desc>Holmes shows Watson how the murderer entered the window.</ttm:desc>
+ </metadata>
+</div>
+...
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p></p>
+
+ <p>The use of metadata attribute items is illustrated by the following
+ example.</p><a id="metadata-vocabulary-metadata-example-3" name=
+ "metadata-vocabulary-metadata-example-3"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Foreign Metadata Attribute Items
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+...
+<div xmlns:ext="http://example.org/ttml#metadata">
+ <metadata ext:ednote="remove this division prior to publishing"/>
+</div>
+...
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, a global attribute from a foreign (external)
+ namespace is used to express a metadata attribute that applies semantically
+ to the containing <code>div</code> element. Note that the attribute may also
+ be expressed directly on the <code>div</code> element; however, in this case
+ the author wishes to segregate certain metadata attributes by expressing them
+ indirectly on <code>metadata</code> elements.</p>
+ </div>
+
+ <p></p>
+
+ <p>The use of foreign element metadata is illustrated by the following
+ example.</p><a id="metadata-vocabulary-metadata-example-4" name=
+ "metadata-vocabulary-metadata-example-4"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Foreign Element Metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+...
+<metadata
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:dcterms="http://purl.org/dc/terms/"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
+ <dc:title>Foreign Element Metadata Example</dc:title>
+ <dc:description>Express metadata using elements in foreign namespace.</dc:description>
+ <dc:format xsi:type="dcterms:IMT">application/ttml+xml</dc:format>
+</metadata>
+...
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, a number of elements defined by the Dublin Core
+ metadata vocabulary are used to express document level metadata.</p>
+ </div>
+
+ <p></p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-title" name=
+ "metadata-vocabulary-title"></a>12.1.2 ttm:title</h4>
+
+ <p>The <code>ttm:title</code> element is used to express a human-readable title
+ of a specific element instance.</p><a id="elt-syntax-metadata-title" name=
+ "elt-syntax-metadata-title"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:title
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:title
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttm:title>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>No specific use of the <code>ttm:title</code> element is defined by this
+ specification.</p>
+ </div>
+
+ <p>Examples of the <code>ttm:title</code> element are shown above in <a href=
+ "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
+ Metadata</b></a> and <a href=
+ "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
+ Metadata</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-desc" name="metadata-vocabulary-desc"></a>12.1.3
+ ttm:desc</h4>
+
+ <p>The <code>ttm:desc</code> element is used to express a human-readable
+ description of a specific element instance.</p><a id="elt-syntax-metadata-desc"
+ name="elt-syntax-metadata-desc"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:desc
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:desc
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttm:desc>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>No specific use of the <code>ttm:desc</code> element is defined by this
+ specification.</p>
+ </div>
+
+ <p>Examples of the <code>ttm:desc</code> element are shown above in <a href=
+ "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
+ Metadata</b></a> and <a href=
+ "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
+ Metadata</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-copyright" name=
+ "metadata-vocabulary-copyright"></a>12.1.4 ttm:copyright</h4>
+
+ <p>The <code>ttm:copyright</code> element is used to express a human-readable
+ copyright that applies to some scoping level.</p>
+
+ <p>A copyright statement that applies to a document as a whole should appear as
+ a child of the <code>head</code> element.</p><a id=
+ "elt-syntax-metadata-copyright" name="elt-syntax-metadata-copyright"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:copyright
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:copyright
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttm:copyright>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>No specific use of the <code>ttm:copyright</code> element is defined by
+ this specification.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-agent" name=
+ "metadata-vocabulary-agent"></a>12.1.5 ttm:agent</h4>
+
+ <p>The <code>ttm:agent</code> element is used to define an agent for the
+ purpose of associating content information with an agent who is involved in the
+ production or expression of that content.</p>
+
+ <p>The <code>ttm:agent</code> element accepts as its children zero or more
+ <code>ttm:name</code> elements followed by zero or one <code>ttm:actor</code>
+ element.</p>
+
+ <p>At least one <code>ttm:name</code> element child should be specified that
+ expresses a name for the agent, whether it be the name of a person, character,
+ group, or organization.</p><a id="elt-syntax-metadata-agent" name=
+ "elt-syntax-metadata-agent"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:agent
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:agent
+ <span class=
+"reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> <a href="#metadata-vocabulary-name">ttm:name</a>*, <a href=
+"#metadata-vocabulary-actor">ttm:actor</a>?
+</ttm:agent>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>A <code>type</code> attribute must be specified on each
+ <code>ttm:agent</code> element, and, if specified, must have one of the
+ following values:</p>
+
+ <ul>
+ <li>
+ <p><code>person</code></p>
+ </li>
+
+ <li>
+ <p><code>character</code></p>
+ </li>
+
+ <li>
+ <p><code>group</code></p>
+ </li>
+
+ <li>
+ <p><code>organization</code></p>
+ </li>
+
+ <li>
+ <p><code>other</code></p>
+ </li>
+ </ul>
+
+ <p>If the value of the <code>type</code> attribute is <code>character</code>,
+ then the <code>ttm:agent</code> element instance should specify a
+ <code>ttm:actor</code> child that specifies the agent that plays the role of
+ the actor.</p>
+
+ <p>A <code>ttm:agent</code> metadata item is considered to be significant only
+ when specified as a child of the <code>head</code> element or as a child of a
+ <code>metadata</code> element child of the <code>head</code> element.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A <code>ttm:agent</code> element instance is typically referenced using a
+ <code>ttm:agent</code> attribute on a content element.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>If a character agent is played by multiple actors, then multiple character
+ 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" name=
+ "metadata-vocabulary-agent-example-1"></a>
+
+ <table class="example">
+ <caption>
+ Example Fragment – Agent Metadata
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+
+<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <head>
+ <span class="strong"><ttm:agent xml:id="connery" type="person"></span>
+ <ttm:name type="family">Connery</ttm:name>
+ <ttm:name type="given">Thomas Sean</ttm:name>
+ <ttm:name type="alias">Sean</ttm:name>
+ <ttm:name type="full">Sir Thomas Sean Connery</ttm:name>
+ <span class="strong"></ttm:agent></span>
+ <span class="strong"><ttm:agent xml:id="bond" type="character"></span>
+ <ttm:name type="family">Bond</ttm:name>
+ <ttm:name type="given">James</ttm:name>
+ <ttm:name type="alias">007</ttm:name>
+ <ttm:actor agent="connery"/>
+ <span class="strong"></ttm:agent></span>
+ </head>
+ <body>
+ <div>
+ ...
+ <p <span class=
+"strong">ttm:agent="bond"</span>>I travel, a sort of licensed troubleshooter.</p>
+ ...
+ </div>
+ </body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>In the above example, two agents, a real (person) agent, Sean Connery, and
+ a fictitious (character) agent, James Bond, are defined, where the latter is
+ linked to the former by means of the a <code>ttm:actor</code> element. A
+ reference is then made from content (the <code>p</code> element) to the
+ character agent associated with (responsible for producing) that content.
+ Note that in this example the <code>ttm:agent</code> metadata items are
+ specified as immediate children of the document's <code>head</code> element
+ rather than being placed in a container <code>metadata</code> element.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-name" name="metadata-vocabulary-name"></a>12.1.6
+ ttm:name</h4>
+
+ <p>The <code>ttm:name</code> element is used to specify a name of a person,
+ character, group, or organization.</p><a id="elt-syntax-metadata-name" name=
+ "elt-syntax-metadata-name"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:name
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:name
+ <span class=
+"reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> #PCDATA
+</ttm:name>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>A <code>type</code> attribute must be specified on each
+ <code>ttm:name</code> element, and, if specified, must have one of the
+ following values:</p>
+
+ <ul>
+ <li>
+ <p><code>full</code></p>
+ </li>
+
+ <li>
+ <p><code>family</code></p>
+ </li>
+
+ <li>
+ <p><code>given</code></p>
+ </li>
+
+ <li>
+ <p><code>alias</code></p>
+ </li>
+
+ <li>
+ <p><code>other</code></p>
+ </li>
+ </ul>
+
+ <p>The relationship between the type of a name and the syntactic expression of
+ the name is not defined by this specification.</p>
+
+ <p>Two examples of the <code>ttm:name</code> element are shown above in
+ <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
+ Metadata</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-vocabulary-actor" name=
+ "metadata-vocabulary-actor"></a>12.1.7 ttm:actor</h4>
+
+ <p>The <code>ttm:actor</code> element is used to link the definition of a
+ (role-based) character agent with another agent that portrays the
+ character.</p><a id="elt-syntax-metadata-actor" name=
+ "elt-syntax-metadata-actor"></a>
+
+ <table class="syntax">
+ <caption>
+ XML Representation – Element Information Item: ttm:actor
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<ttm:actor
+ <span class="reqattr">agent</span> = IDREF
+ <a href="#content-attribute-id">xml:id</a> = ID
+ <a href="#content-attribute-lang">xml:lang</a> = string
+ <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+ {<em>any attribute not in default or any TT namespace</em>}>
+ <em>Content:</em> EMPTY
+</ttm:actor>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The <code>agent</code> attribute of a <code>ttm:actor</code> element must
+ reference a <code>ttm:agent</code> element that denotes the person, group, or
+ organization acting the part of a character.</p>
+
+ <p>An example of the <code>ttm:actor</code> element is shown above in <a href=
+ "#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
+ Metadata</b></a>.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="metadata-attribute-vocabulary" name=
+ "metadata-attribute-vocabulary"></a>12.2 Metadata Attribute Vocabulary</h3>
+
+ <p>This section specifies the following attributes in the TT Metadata Namespace
+ for use with the <code>metadata</code> element and with certain content
+ elements:</p>
+
+ <ul>
+ <li>
+ <p><a href="#metadata-attribute-agent"><b>12.2.1 ttm:agent</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-attribute-role"><b>12.2.2 ttm:role</b></a></p>
+ </li>
+ </ul>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Only certain metadata item attributes may be used with content elements. See
+ the definitions of content elements to determine permissible usage.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-attribute-agent" name="metadata-attribute-agent"></a>12.2.1
+ ttm:agent</h4>
+
+ <p>The <code>ttm:agent</code> attribute takes an <code>IDREFS</code> value, and
+ is used with certain content elements to designate the agents that perform or
+ are involved in the performance of the content.</p>
+
+ <p>If specified, a <code>ttm:agent</code> attribute must reference
+ <code>ttm:agent</code> element instances that appear as a descendent of the
+ same <em>Document Instance</em> as that of the referring element.</p>
+
+ <p>The same IDREF, <em>ID</em>, should not appear more than once in the value
+ of a <code>ttm:agent</code> attribute.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This constraint is intended to discourage the use of redundant agent
+ references.</p>
+ </div>
+
+ <p>An example of the <code>ttm:agent</code> attribute is shown above in
+ <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
+ Metadata</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="metadata-attribute-role" name="metadata-attribute-role"></a>12.2.2
+ ttm:role</h4>
+
+ <p>The <code>ttm:role</code> attribute may be used by a content author to
+ express the roles, functions, or characteristics of some content element that
+ is so labeled.</p>
+
+ <p>If specified, the value of this attribute must adhere to the following
+ syntax, where the syntactic element <em>S</em> must adhere to production [3]
+ <code>S</code> as defined by <a href="#xml10">[XML 1.0]</a> §
+ 2.3:</p><a id="metadata-attribute-role-syntax" name=
+ "metadata-attribute-role-syntax"></a>
+
+ <table class="syntax">
+ <caption>
+ Syntax Representation – ttm:role
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+ttm:role
+ role ( <em>S</em> role )*
+
+role
+ : "action"
+ | "caption"
+ | "description"
+ | "dialog"
+ | "expletive"
+ | "kinesic"
+ | "lyrics"
+ | "music"
+ | "narration"
+ | "quality"
+ | "sound"
+ | "source"
+ | "suppressed"
+ | "reproduction"
+ | "thought"
+ | "title"
+ | "transcription"
+ | extension-role
+
+extension-role
+ : "x-" token-char+
+
+token-char
+ : { XML NameChar } // XML 1.1 Production [4a]
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>The same <code>role</code> token, <em>R</em>, should not appear more than
+ once in the value of a <code>ttm:role</code> attribute.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This constraint is intended to discourage the use of redundant role
+ tokens.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>All values of <code>ttm:role</code> that do not start with the prefix
+ <code>x-</code> are reserved for future standardization.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>If using a custom <code>x-</code> prefixed form of <code>ttm:role</code>,
+ it is recommended that an organization unique infix be used as well in order
+ to prevent collisions. For example, <code>x-example-org-custom-role</code>.
+ Furthermore, a registry for role values is available at <a href=
+ "http://www.w3.org/wiki/TTML/RoleRegistry">http://www.w3.org/wiki/TTML/RoleRegistry</a>
+ in order to promote interoperability and collision avoidance.</p>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
+
+ <div class="back">
+ <div class="div1">
+ <h2><a id="reduced-infoset" name="reduced-infoset"></a>A Reduced XML Infoset</h2>
+
+ <p><em>This appendix is normative.</em></p>
+
+ <p>For the purposes of this specification, a <em>Reduced XML Infoset</em> is an XML
+ Information Set <a href="#infoset">[XML InfoSet]</a> that consists of only the
+ following information items and information item properties:</p>
+
+ <div class="div2">
+ <h3><a id="reduced-infoset-document" name="reduced-infoset-document"></a>A.1
+ Document Information Item</h3>
+
+ <ul>
+ <li>
+ <p><code>[document element]</code></p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="div2">
+ <h3><a id="reduced-infoset-element" name="reduced-infoset-element"></a>A.2
+ Element Information Item</h3>
+
+ <ul>
+ <li>
+ <p><code>[namespace URI]</code></p>
+ </li>
+
+ <li>
+ <p><code>[local name]</code></p>
+ </li>
+
+ <li>
+ <p><code>[children]</code></p>
+ </li>
+
+ <li>
+ <p><code>[attributes]</code></p>
+ </li>
+ </ul>
+
+ <p>Child information items <code>[children]</code> are reduced to only element
+ and character information items.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="reduced-infoset-attribute" name="reduced-infoset-attribute"></a>A.3
+ Attribute Information Item</h3>
+
+ <ul>
+ <li>
+ <p><code>[namespace URI]</code></p>
+ </li>
+
+ <li>
+ <p><code>[local name]</code></p>
+ </li>
+
+ <li>
+ <p><code>[normalized value]</code></p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="div2">
+ <h3><a id="reduced-infoset-character" name="reduced-infoset-character"></a>A.4
+ Character Information Item</h3>
+
+ <ul>
+ <li>
+ <p><code>[character code]</code></p>
+ </li>
+ </ul>
+
+ <p>Contiguous character information items are not required to be represented
+ distinctly, but may be aggregated (chunked) into a sequence of character codes
+ (i.e., a character string).</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="schemas" name="schemas"></a>B Schemas</h2>
+
+ <p><em>This appendix is normative.</em></p>
+
+ <p>This appendix specifies the following schemas for use with <em>Document
+ Instances</em>:</p>
+
+ <ul>
+ <li>
+ <p>Relax NG, Compact Syntax (RNC) Schema</p>
+ </li>
+
+ <li>
+ <p>XML Schema Definition (XSD) Schema</p>
+ </li>
+ </ul>
+
+ <p>In any case where a schema specified by this appendix differs from the normative
+ definitions of document type, element type, or attribute type as defined by the
+ body of this specification, then the body of this specification takes
+ precedence.</p>
+
+ <div class="div2">
+ <h3><a id="ttml-schema-rnc" name="ttml-schema-rnc"></a>B.1 Relax NG Compact (RNC)
+ Schema</h3>
+
+ <p>A Relax NG Compact Syntax (RNC) <a href="#rng">[RELAX NG]</a> based schema for
+ TTML Content is available at <a href="rnc/schema.zip">ZIP Archive</a>. This
+ schema does not normatively define the validity 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 class="div2">
+ <h3><a id="ttml-schema-xsd" name="ttml-schema-xsd"></a>B.2 XML Schema Definition
+ (XSD) Schema</h3>
+
+ <p>A W3C XML Schema Definition (XSD) <a href="#xsd-1">[XML Schema Part 1]</a>
+ based schema for TTML Content is available at <a href="xsd/schema.zip">ZIP
+ Archive</a>. This schema does not normatively define the validity 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" name="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>
+ </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. A TTML
+ verification (including validation) utility is available in open source form at
+ <a href="http://github.com/skynav/ttv">http://github.com/skynav/ttv</a>.</p>
+ </dd>
+
+ <dt class="label">Additional information:</dt>
+
+ <dd>
+ <dl>
+ <dt class="label">Magic number(s):</dt>
+
+ <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="features" name="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 or optional for a
+ transformation or presentation processor.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>A TTML processor is said to <em>implement the transformation semantics</em> or
+ <em>implement the presentation semantics</em> of feature designation <em>F</em>
+ if it satisfies the requirements of this appendix with respect to the definition
+ of feature designation <em>F</em> as pertains to transformation or presentation
+ processing, respectively.</p>
+ </div>
+
+ <div class="div2">
+ <h3><a id="feature-designations" name="feature-designations"></a>D.1 Feature
+ Designations</h3>
+
+ <p>A feature designation is expressed as a string that adheres to the following
+ 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 for future standardization.</p>
+
+ <p>The following sub-sections define all feature designations, expressed as
+ relative URIs (fragment identifiers) with respect to the TT Feature Namespace
+ base URI.</p>
+
+ <div class="div3">
+ <h4><a id="feature-animation" name="feature-animation"></a>D.1.1
+ #animation</h4>
+
+ <p>A TTML transformation processor supports the <code>#animation</code> feature
+ if it recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#animation"><b>11 Animation</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#animation-vocabulary-set"><code>set</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#animation</code> feature
+ if it implements presentation semantic support for the same vocabulary
+ enumerated above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-backgroundColor" name="feature-backgroundColor"></a>D.1.2
+ #backgroundColor</h4>
+
+ <p>A TTML transformation processor supports the <code>#backgroundColor</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#backgroundColor</code>
+ feature if it (1) implements presentation semantic support for the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute and (2) is capable of displaying or generating an output display
+ signal that distinguishes between at least sixteen (16) values of color,
+ including all primary and secondary colors of the SRGB color space.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-backgroundColor-block" name=
+ "feature-backgroundColor-block"></a>D.1.3 #backgroundColor-block</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#backgroundColor-block</code> feature if it recognizes and is capable of
+ transforming all defined values of the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a content element that would generate a block area
+ during presentation processing.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#backgroundColor-block</code> feature if it (1) implements presentation
+ semantic support for the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a content element that generates a block area and (2)
+ is capable of displaying or generating an output display signal that
+ distinguishes between at least sixteen (16) values of color, including all
+ primary and secondary colors of the SRGB color space.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-backgroundColor-inline" name=
+ "feature-backgroundColor-inline"></a>D.1.4 #backgroundColor-inline</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#backgroundColor-inline</code> feature if it recognizes and is capable of
+ transforming all defined values of the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a content element that would generate an inline area
+ during presentation processing.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#backgroundColor-inline</code> feature if it (1) implements presentation
+ semantic support for the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a content element that generates an inline area and
+ (2) is capable of displaying or generating an output display signal that
+ distinguishes between at least sixteen (16) values of color, including all
+ primary and secondary colors of the SRGB color space.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-backgroundColor-region" name=
+ "feature-backgroundColor-region"></a>D.1.5 #backgroundColor-region</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#backgroundColor-region</code> feature if it recognizes and is capable of
+ transforming all defined values of the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#backgroundColor-region</code> feature if it (1) implements presentation
+ semantic support for the <a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
+ attribute when applied to a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element and (2) is capable
+ of displaying or generating an output display signal that distinguishes between
+ at least sixteen (16) values of color, including all primary and secondary
+ colors of the SRGB color space .</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-bidi" name="feature-bidi"></a>D.1.6 #bidi</h4>
+
+ <p>A TTML processor supports the <code>#bidi</code> feature if it supports the
+ following features:</p>
+
+ <ul>
+ <li>
+ <p><a href="#feature-direction"><code>#direction</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-cellResolution" name="feature-cellResolution"></a>D.1.7
+ #cellResolution</h4>
+
+ <p>A TTML transformation processor supports the <code>#cellResolution</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#cellResolution</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-clockMode" name="feature-clockMode"></a>D.1.8
+ #clockMode</h4>
+
+ <p>A TTML transformation processor supports the <code>#clockMode</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#clockMode</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-clockMode-gps" name="feature-clockMode-gps"></a>D.1.9
+ #clockMode-gps</h4>
+
+ <p>A TTML transformation processor supports the <code>#clockMode-gps</code>
+ feature if it recognizes and is capable of transforming the <code>gps</code>
+ value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#clockMode-gps</code>
+ feature if it implements presentation semantic support for the <code>gps</code>
+ value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-clockMode-local" name="feature-clockMode-local"></a>D.1.10
+ #clockMode-local</h4>
+
+ <p>A TTML transformation processor supports the <code>#clockMode-local</code>
+ feature if it recognizes and is capable of transforming the <code>local</code>
+ value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#clockMode-local</code>
+ feature if it implements presentation semantic support for the
+ <code>local</code> value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-clockMode-utc" name="feature-clockMode-utc"></a>D.1.11
+ #clockMode-utc</h4>
+
+ <p>A TTML transformation processor supports the <code>#clockMode-utc</code>
+ feature if it recognizes and is capable of transforming the <code>utc</code>
+ value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#clockMode-utc</code>
+ feature if it implements presentation semantic support for the <code>utc</code>
+ value of the <a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-color" name="feature-color"></a>D.1.12 #color</h4>
+
+ <p>A TTML transformation processor supports the <code>#color</code> feature if
+ it recognizes and is capable of transforming the <a href=
+ "#style-attribute-color"><code>tts:color</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#color</code> feature if it
+ (1) implements presentation semantic support for the <a href=
+ "#style-attribute-color"><code>tts:color</code></a> attribute and (2) is
+ capable of displaying or generating an output display signal that distinguishes
+ between at least sixteen (16) values of color, including all primary and
+ secondary colors of the SRGB color space.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-content" name="feature-content"></a>D.1.13 #content</h4>
+
+ <p>A TTML transformation processor supports the <code>#content</code> feature
+ if it recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#content"><b>7 Content</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-div"><code>div</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-p"><code>p</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-span"><code>span</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-vocabulary-br"><code>br</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#content</code> feature if
+ it implements presentation semantic support for the same vocabulary enumerated
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-core" name="feature-core"></a>D.1.14 #core</h4>
+
+ <p>A TTML transformation processor supports the <code>#core</code> feature if
+ it recognizes and is capable of transforming the following core attributes
+ vocabulary defined by <a href="#content"><b>7 Content</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#content-attribute-id">@<code>xml:id</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-attribute-id">@<code>xml:lang</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#content-attribute-id">@<code>xml:space</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#core</code> feature if it
+ implements presentation semantic support for the same vocabulary enumerated
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-direction" name="feature-direction"></a>D.1.15
+ #direction</h4>
+
+ <p>A TTML transformation processor supports the <code>#direction</code> feature
+ if it recognizes and is capable of transforming all defined values of the
+ <a href="#style-attribute-direction"><code>tts:direction</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#direction</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-direction"><code>tts:direction</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-display" name="feature-display"></a>D.1.16 #display</h4>
+
+ <p>A TTML transformation processor supports the <code>#display</code> feature
+ if it recognizes and is capable of transforming all defined values of the
+ <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#display</code> feature if
+ it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-display-block" name="feature-display-block"></a>D.1.17
+ #display-block</h4>
+
+ <p>A TTML transformation processor supports the <code>#display-block</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
+ when applied to a content element that would generate a block area during
+ presentation processing.</p>
+
+ <p>A TTML presentation processor supports the <code>#display-block</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-display"><code>tts:display</code></a>
+ attribute when applied to a content element that generates a block area.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-display-inline" name="feature-display-inline"></a>D.1.18
+ #display-inline</h4>
+
+ <p>A TTML transformation processor supports the <code>#display-inline</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
+ when applied to a content element that would generate an inline area during
+ presentation processing.</p>
+
+ <p>A TTML presentation processor supports the <code>#display-inline</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-display"><code>tts:display</code></a>
+ attribute when applied to a content element that generates an inline area.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-display-region" name="feature-display-region"></a>D.1.19
+ #display-region</h4>
+
+ <p>A TTML transformation processor supports the <code>#display-region</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
+ when applied to a <a href="#layout-vocabulary-region"><code>region</code></a>
+ element.</p>
+
+ <p>A TTML presentation processor supports the <code>#display-region</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-display"><code>tts:display</code></a>
+ attribute when applied to a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-displayAlign" name="feature-displayAlign"></a>D.1.20
+ #displayAlign</h4>
+
+ <p>A TTML transformation processor supports the <code>#displayAlign</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#displayAlign</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href=
+ "#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-dropMode" name="feature-dropMode"></a>D.1.21 #dropMode</h4>
+
+ <p>A TTML transformation processor supports the <code>#dropMode</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#dropMode</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-dropMode-dropNTSC" name=
+ "feature-dropMode-dropNTSC"></a>D.1.22 #dropMode-dropNTSC</h4>
+
+ <p>A TTML transformation processor supports the <code>#dropMode-dropNTSC</code>
+ feature if it recognizes and is capable of transforming the
+ <code>dropNTSC</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#dropMode-dropNTSC</code>
+ feature if it implements presentation semantic support for the
+ <code>dropNTSC</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-dropMode-dropPAL" name="feature-dropMode-dropPAL"></a>D.1.23
+ #dropMode-dropPAL</h4>
+
+ <p>A TTML transformation processor supports the <code>#dropMode-dropPAL</code>
+ feature if it recognizes and is capable of transforming the
+ <code>dropPAL</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#dropMode-dropPAL</code>
+ feature if it implements presentation semantic support for the
+ <code>dropPAL</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-dropMode-nonDrop" name="feature-dropMode-nonDrop"></a>D.1.24
+ #dropMode-nonDrop</h4>
+
+ <p>A TTML transformation processor supports the <code>#dropMode-nonDrop</code>
+ feature if it recognizes and is capable of transforming the
+ <code>nonDrop</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#dropMode-nonDrop</code>
+ feature if it implements presentation semantic support for the
+ <code>nonDrop</code> value of the <a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-extent" name="feature-extent"></a>D.1.25 #extent</h4>
+
+ <p>A TTML transformation processor supports the <code>#extent</code> feature if
+ it recognizes and is capable of transforming the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#extent</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-extent-region" name="feature-extent-region"></a>D.1.26
+ #extent-region</h4>
+
+ <p>A TTML transformation processor supports the <code>#extent-region</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
+ a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
+
+ <p>A TTML presentation processor supports the <code>#extent-region</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
+ a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-extent-root" name="feature-extent-root"></a>D.1.27
+ #extent-root</h4>
+
+ <p>A TTML transformation processor supports the <code>#extent-root</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
+ the <a href="#document-structure-vocabulary-tt"><code>tt</code></a>
+ element.</p>
+
+ <p>A TTML presentation processor supports the <code>#extent-root</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
+ a <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontFamily" name="feature-fontFamily"></a>D.1.28
+ #fontFamily</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontFamily</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontFamily</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontFamily-generic" name=
+ "feature-fontFamily-generic"></a>D.1.29 #fontFamily-generic</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#fontFamily-generic</code> feature if it recognizes and is capable of
+ transforming <a href=
+ "#style-value-genericFamilyName"><genericFamilyName></a> values when used
+ with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontFamily-generic</code>
+ feature if it implements presentation semantic support for <a href=
+ "#style-value-genericFamilyName"><genericFamilyName></a> values when used
+ with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontFamily-non-generic" name=
+ "feature-fontFamily-non-generic"></a>D.1.30 #fontFamily-non-generic</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#fontFamily-non-generic</code> feature if it recognizes and is capable of
+ transforming <a href="#style-value-familyName"><familyName></a> values
+ when used with the <a href=
+ "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#fontFamily-non-generic</code> feature if it implements presentation
+ semantic support for <a href="#style-value-familyName"><familyName></a>
+ values when used with the <a href=
+ "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontSize" name="feature-fontSize"></a>D.1.31 #fontSize</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontSize</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontSize</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontSize-anamorphic" name=
+ "feature-fontSize-anamorphic"></a>D.1.32 #fontSize-anamorphic</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#fontSize-anamorphic</code> feature if it recognizes and is capable of
+ transforming values of the <a href=
+ "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
+ consist of two <a href="#style-value-length"><length></a>
+ specifications.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontSize-anamorphic</code>
+ feature if it implements presentation semantic support for defined values of
+ the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
+ that consist of two <a href="#style-value-length"><length></a>
+ specifications.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontSize-isomorphic" name=
+ "feature-fontSize-isomorphic"></a>D.1.33 #fontSize-isomorphic</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#fontSize-isomorphic</code> feature if it recognizes and is capable of
+ transforming values of the <a href=
+ "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
+ consist of a single <a href="#style-value-length"><length></a>
+ specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontSize-isomorphic</code>
+ feature if it implements presentation semantic support for defined values of
+ the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
+ that consist of a single <a href="#style-value-length"><length></a>
+ specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontStyle" name="feature-fontStyle"></a>D.1.34
+ #fontStyle</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontStyle</code> feature
+ if it recognizes and is capable of transforming all defined values of the
+ <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontStyle</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontStyle-italic" name="feature-fontStyle-italic"></a>D.1.35
+ #fontStyle-italic</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontStyle-italic</code>
+ feature if it recognizes and is capable of transforming the <code>italic</code>
+ value of the <a href=
+ "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontStyle-italic</code>
+ feature if it implements presentation semantic support for the
+ <code>italic</code> of the <a href=
+ "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontStyle-oblique" name=
+ "feature-fontStyle-oblique"></a>D.1.36 #fontStyle-oblique</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontStyle-oblique</code>
+ feature if it recognizes and is capable of transforming the
+ <code>oblique</code> value of the <a href=
+ "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontStyle-oblique</code>
+ feature if it implements presentation semantic support for the
+ <code>oblique</code> of the <a href=
+ "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontWeight" name="feature-fontWeight"></a>D.1.37
+ #fontWeight</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontWeight</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontWeight</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-fontWeight-bold" name="feature-fontWeight-bold"></a>D.1.38
+ #fontWeight-bold</h4>
+
+ <p>A TTML transformation processor supports the <code>#fontWeight-bold</code>
+ feature if it recognizes and is capable of transforming <code>bold</code> value
+ of the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#fontWeight-bold</code>
+ feature if it implements presentation semantic support for the
+ <code>bold</code> of the <a href=
+ "#style-attribute-fontWeight"><code>tts:fontWeight</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-frameRate" name="feature-frameRate"></a>D.1.39
+ #frameRate</h4>
+
+ <p>A TTML transformation processor supports the <code>#frameRate</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#frameRate</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-frameRateMultiplier" name=
+ "feature-frameRateMultiplier"></a>D.1.40 #frameRateMultiplier</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#frameRateMultiplier</code> feature if it recognizes and is capable of
+ transforming the <a href=
+ "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#frameRateMultiplier</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-layout" name="feature-layout"></a>D.1.41 #layout</h4>
+
+ <p>A TTML transformation processor supports the <code>#layout</code> feature if
+ it (1) recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#layout"><b>9 Layout</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#layout-vocabulary-layout"><code>layout</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#layout-attribute-region">@<code>region</code></a></p>
+ </li>
+ </ul>
+
+ <p>and (2) supports the following attributes when applied to the <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element:</p>
+
+ <ul>
+ <li>
+ <p><a href="#style-attribute-extent"><code>tts:extent</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-origin"><code>tts:origin</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#layout</code> feature if
+ it implements presentation semantic support for the same vocabulary and
+ features enumerated above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length" name="feature-length"></a>D.1.42 #length</h4>
+
+ <p>A TTML transformation processor supports the <code>#length</code> feature if
+ it recognizes and is capable of transforming all defined values of the <a href=
+ "#style-value-length"><length></a> style value expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length</code> feature if
+ it implements presentation semantic support for all defined values of the
+ <a href="#style-value-length"><length></a> style value expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length</code> is intended to imply support for the
+ following features: <code>#length-integer</code>, <code>#length-real</code>,
+ <code>#length-positive</code>, <code>#length-negative</code>,
+ <code>#length-cell</code>, <code>#length-em</code>,
+ <code>#length-percentage</code>, and <code>#length-pixel</code>.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-cell" name="feature-length-cell"></a>D.1.43
+ #length-cell</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-cell</code>
+ feature if it recognizes and is capable of transforming scalar values of the
+ <a href="#style-value-length"><length></a> style value expression that
+ use <code>c</code> (cell) units.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-cell</code> feature
+ if it implements presentation semantic support for scalar values of the
+ <a href="#style-value-length"><length></a> style value expression that
+ use <code>c</code> (cell) units.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-cell</code> does not, by itself, imply support
+ for <code>#length-integer</code>, <code>#length-real</code>,
+ <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-em" name="feature-length-em"></a>D.1.44
+ #length-em</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-em</code> feature
+ if it recognizes and is capable of transforming scalar values of the <a href=
+ "#style-value-length"><length></a> style value expression that use
+ <code>em</code> (EM) units.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-em</code> feature
+ if it implements presentation semantic support for scalar values of the
+ <a href="#style-value-length"><length></a> style value expression that
+ use <code>em</code> (EM) units.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-em</code> does not, by itself, imply support for
+ <code>#length-integer</code>, <code>#length-real</code>,
+ <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-integer" name="feature-length-integer"></a>D.1.45
+ #length-integer</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-integer</code>
+ feature if it recognizes and is capable of transforming integer values of the
+ <a href="#style-value-length"><length></a> style value expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-integer</code>
+ feature if it implements presentation semantic support for integer values of
+ the <a href="#style-value-length"><length></a> style value
+ expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-integer</code> does not, by itself, imply
+ support for <code>#length-positive</code> or <code>#length-negative</code>
+ features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-negative" name="feature-length-negative"></a>D.1.46
+ #length-negative</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-negative</code>
+ feature if it recognizes and is capable of transforming negative values of the
+ <a href="#style-value-length"><length></a> style value expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-negative</code>
+ feature if it implements presentation semantic support for negative values of
+ the <a href="#style-value-length"><length></a> style value
+ expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-negative</code> does not, by itself, imply
+ support for <code>#length-integer</code> or <code>#length-real</code>
+ features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-percentage" name=
+ "feature-length-percentage"></a>D.1.47 #length-percentage</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-percentage</code>
+ feature if it recognizes and is capable of transforming percentage values of
+ the <a href="#style-value-length"><length></a> style value
+ expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-percentage</code>
+ feature if it implements presentation semantic support for percentage values of
+ the <a href="#style-value-length"><length></a> style value
+ expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-percentage</code> does not, by itself, imply
+ support for <code>#length-integer</code>, <code>#length-real</code>,
+ <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-pixel" name="feature-length-pixel"></a>D.1.48
+ #length-pixel</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-pixel</code>
+ feature if it recognizes and is capable of transforming scalar values of the
+ <a href="#style-value-length"><length></a> style value expression that
+ use <code>px</code> (pixel) units.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-pixel</code>
+ feature if it implements presentation semantic support for scalar values of the
+ <a href="#style-value-length"><length></a> style value expression that
+ use <code>px</code> (pixel) units.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-pixel</code> does not, by itself, imply support
+ for <code>#length-integer</code>, <code>#length-real</code>,
+ <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-positive" name="feature-length-positive"></a>D.1.49
+ #length-positive</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-positive</code>
+ feature if it recognizes and is capable of transforming positive values of the
+ <a href="#style-value-length"><length></a> style value expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-positive</code>
+ feature if it implements presentation semantic support for positive values of
+ the <a href="#style-value-length"><length></a> style value
+ expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-positive</code> is intended to imply support for
+ zero valued <a href="#style-value-length"><length></a> style value
+ expressions.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-positive</code> does not, by itself, imply
+ support for <code>#length-integer</code> or <code>#length-real</code>
+ features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-length-real" name="feature-length-real"></a>D.1.50
+ #length-real</h4>
+
+ <p>A TTML transformation processor supports the <code>#length-real</code>
+ feature if it recognizes and is capable of transforming real values of the
+ <a href="#style-value-length"><length></a> style value expression.</p>
+
+ <p>A TTML presentation processor supports the <code>#length-real</code> feature
+ if it implements presentation semantic support for real values of the <a href=
+ "#style-value-length"><length></a> style value expression.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-real</code> is intended to imply support for
+ integer valued <a href="#style-value-length"><length></a> style value
+ expressions as well as real valued expressions.</p>
+ </div>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>Support for <code>#length-real</code> does not, by itself, imply support
+ for <code>#length-positive</code> or <code>#length-negative</code>
+ features.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-lineBreak-uax14" name="feature-lineBreak-uax14"></a>D.1.51
+ #lineBreak-uax14</h4>
+
+ <p>A TTML transformation processor supports the <code>#lineBreak-uax14</code>
+ feature if it recognizes and is capable of transforming requirements expressed
+ by <a href="#uax14">[UAX14]</a> into its target document space.</p>
+
+ <p>A TTML presentation processor supports the <code>#lineBreak-uax14</code>
+ feature if it implements presentation semantic support for <a href=
+ "#uax14">[UAX14]</a> as applies to line breaking.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-lineHeight" name="feature-lineHeight"></a>D.1.52
+ #lineHeight</h4>
+
+ <p>A TTML transformation processor supports the <code>#lineHeight</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#lineHeight</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-markerMode" name="feature-markerMode"></a>D.1.53
+ #markerMode</h4>
+
+ <p>A TTML transformation processor supports the <code>#markerMode</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#markerMode</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-markerMode-continuous" name=
+ "feature-markerMode-continuous"></a>D.1.54 #markerMode-continuous</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#markerMode-continuous</code> feature if it recognizes and is capable of
+ transforming the <code>continuous</code> value of the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#markerMode-continuous</code> feature if it implements presentation
+ semantic support for the <code>continuous</code> value of the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-markerMode-discontinuous" name=
+ "feature-markerMode-discontinuous"></a>D.1.55 #markerMode-discontinuous</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#markerMode-discontinuous</code> feature if it recognizes and is capable
+ of transforming the <code>discontinuous</code> value of the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#markerMode-discontinuous</code> feature if it implements presentation
+ semantic support for the <code>discontinuous</code> value of the <a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-metadata" name="feature-metadata"></a>D.1.56 #metadata</h4>
+
+ <p>A TTML transformation processor supports the <code>#metadata</code> feature
+ if it recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#metadata"><b>12 Metadata</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#metadata-vocabulary-metadata"><code>metadata</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:desc</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:copyright</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:agent</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:name</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-vocabulary-title"><code>ttm:actor</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-attribute-agent">@<code>ttm:agent</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#metadata-attribute-role">@<code>ttm:role</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#metadata</code> feature if
+ it recognizes and is capable of presenting the information expressed by the
+ same vocabulary enumerated above.</p>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>This specification does not define a standardized form for the
+ presentation of metadata information. The presentation or ability to present
+ metadata information is considered to be implementation dependent.</p>
+ </div>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-nested-div" name="feature-nested-div"></a>D.1.57
+ #nested-div</h4>
+
+ <p>A TTML transformation processor supports the <code>#nested-div</code>
+ feature if it recognizes and is capable of transforming nested <a href=
+ "#content-vocabulary-div"><code>div</code></a> elements.</p>
+
+ <p>A TTML presentation processor supports the <code>#nested-div</code> feature
+ if it implements presentation semantic support for nested <a href=
+ "#content-vocabulary-div"><code>div</code></a> elements.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-nested-span" name="feature-nested-span"></a>D.1.58
+ #nested-span</h4>
+
+ <p>A TTML transformation processor supports the <code>#nested-span</code>
+ feature if it recognizes and is capable of transforming nested <a href=
+ "#content-vocabulary-span"><code>span</code></a> elements.</p>
+
+ <p>A TTML presentation processor supports the <code>#nested-span</code> feature
+ if it implements presentation semantic support for nested <a href=
+ "#content-vocabulary-span"><code>span</code></a> elements.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-opacity" name="feature-opacity"></a>D.1.59 #opacity</h4>
+
+ <p>A TTML transformation processor supports the <code>#opacity</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-opacity"><code>tts:opacity</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#opacity</code> feature if
+ it (1) implements presentation semantic support for the <a href=
+ "#style-attribute-opacity"><code>tts:opacity</code></a> attribute and (2) is
+ capable of displaying or generating an output display signal that distinguishes
+ between at least eight (8) values of opacity.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-origin" name="feature-origin"></a>D.1.60 #origin</h4>
+
+ <p>A TTML transformation processor supports the <code>#origin</code> feature if
+ it recognizes and is capable of transforming the <a href=
+ "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#origin</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-overflow" name="feature-overflow"></a>D.1.61 #overflow</h4>
+
+ <p>A TTML transformation processor supports the <code>#overflow</code> feature
+ if it recognizes and is capable of transforming all defined values of the
+ <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#overflow</code> feature if
+ it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-overflow-visible" name="feature-overflow-visible"></a>D.1.62
+ #overflow-visible</h4>
+
+ <p>A TTML transformation processor supports the <code>#overflow-visible</code>
+ feature if it recognizes and is capable of transforming the
+ <code>visible</code> value of the <a href=
+ "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#overflow-visible</code>
+ feature if it implements presentation semantic support for the
+ <code>visible</code> value of the <a href=
+ "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-padding" name="feature-padding"></a>D.1.63 #padding</h4>
+
+ <p>A TTML transformation processor supports the <code>#padding</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#padding</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-padding-1" name="feature-padding-1"></a>D.1.64
+ #padding-1</h4>
+
+ <p>A TTML transformation processor supports the <code>#padding-1</code> feature
+ if it recognizes and is capable of transforming values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of one <a href="#style-value-length"><length></a> specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#padding-1</code> feature
+ if it implements presentation semantic support for values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of one <a href="#style-value-length"><length></a> specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-padding-2" name="feature-padding-2"></a>D.1.65
+ #padding-2</h4>
+
+ <p>A TTML transformation processor supports the <code>#padding-2</code> feature
+ if it recognizes and is capable of transforming values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of two <a href="#style-value-length"><length></a> specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#padding-2</code> feature
+ if it implements presentation semantic support for values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of two <a href="#style-value-length"><length></a> specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-padding-3" name="feature-padding-3"></a>D.1.66
+ #padding-3</h4>
+
+ <p>A TTML transformation processor supports the <code>#padding-3</code> feature
+ if it recognizes and is capable of transforming values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of three <a href="#style-value-length"><length></a> specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#padding-3</code> feature
+ if it implements presentation semantic support for values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of three <a href="#style-value-length"><length></a> specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-padding-4" name="feature-padding-4"></a>D.1.67
+ #padding-4</h4>
+
+ <p>A TTML transformation processor supports the <code>#padding-4</code> feature
+ if it recognizes and is capable of transforming values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of four <a href="#style-value-length"><length></a> specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#padding-4</code> feature
+ if it implements presentation semantic support for values of the <a href=
+ "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
+ of four <a href="#style-value-length"><length></a> specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-pixelAspectRatio" name="feature-pixelAspectRatio"></a>D.1.68
+ #pixelAspectRatio</h4>
+
+ <p>A TTML transformation processor supports the <code>#pixelAspectRatio</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#pixelAspectRatio</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-presentation" name="feature-presentation"></a>D.1.69
+ #presentation</h4>
+
+ <p>A TTML processor supports the <code>#presentation</code> feature if it (1)
+ satisfies the generic processor criteria defined by <a href=
+ "#conformance-generic-processor"><b>3.2.1 Generic Processor
+ Conformance</b></a>, (2) implements support for the region and line layout
+ semantics defined by <a href="#semantics-region-layout"><b>9.3 Region Layout
+ and Presentation</b></a> and <a href="#semantics-line-layout"><b>9.4 Line
+ Layout</b></a>, respectively, and (3) implements presentation semantics for the
+ following features:</p>
+
+ <ul>
+ <li>
+ <p><a href="#content"><code>#content</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-core"><code>#core</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-profile"><code>#profile</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-structure"><code>#structure</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing"><code>#timing</code></a></p>
+ </li>
+ </ul>
+
+ <p>In addition, a TTML processor that supports the <code>#presentation</code>
+ feature should satisfy the user agent accessibility guidelines specified by
+ <a href="#uaag">[UAAG]</a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-profile" name="feature-profile"></a>D.1.70 #profile</h4>
+
+ <p>A TTML transformation processor supports the <code>#profile</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute on the
+ <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element and
+ transforming the following vocabulary defined by <a href=
+ "#parameter-element-vocabulary"><b>6.1 Parameter Element
+ Vocabulary</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#parameter-vocabulary-profile"><code>ttp:profile</code></a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "#parameter-vocabulary-features"><code>ttp:features</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#parameter-vocabulary-feature"><code>ttp:feature</code></a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></p>
+ </li>
+
+ <li>
+ <p><a href=
+ "#parameter-vocabulary-extension"><code>ttp:extension</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#profile</code> feature if
+ it implements presentation semantic support for the same vocabulary specified
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-showBackground" name="feature-showBackground"></a>D.1.71
+ #showBackground</h4>
+
+ <p>A TTML transformation processor supports the <code>#showBackground</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href=
+ "#style-attribute-showBackground"><code>tts:showBackground</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#showBackground</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href=
+ "#style-attribute-showBackground"><code>tts:showBackground</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-structure" name="feature-structure"></a>D.1.72
+ #structure</h4>
+
+ <p>A TTML transformation processor supports the <code>#structure</code> feature
+ if it recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#content"><b>7 Content</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#document-structure-vocabulary-tt"><code>tt</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#document-structure-vocabulary-head"><code>head</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#structure</code> feature
+ if it implements presentation semantic support for the same vocabulary
+ enumerated above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling" name="feature-styling"></a>D.1.73 #styling</h4>
+
+ <p>A TTML transformation processor supports the <code>#styling</code> feature
+ if it recognizes and is capable of transforming the following vocabulary
+ defined by <a href="#styling"><b>8 Styling</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#styling-vocabulary-styling"><code>styling</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#style-attribute-style">@<code>style</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#styling</code> feature if
+ it implements presentation semantic support for the same vocabulary enumerated
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-chained" name="feature-styling-chained"></a>D.1.74
+ #styling-chained</h4>
+
+ <p>A TTML transformation processor supports the <code>#styling-chained</code>
+ feature if it recognizes and is capable of transforming chained style
+ association as defined by <a href=
+ "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
+ Referential Styling</b></a>.</p>
+
+ <p>A TTML presentation processor supports the <code>#styling-chained</code>
+ feature if it implements presentation semantic support for chained style
+ association as defined by <a href=
+ "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
+ Referential Styling</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-inheritance-content" name=
+ "feature-styling-inheritance-content"></a>D.1.75
+ #styling-inheritance-content</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#styling-inheritance</code> feature if it recognizes and is capable of
+ transforming content style inheritance as defined by <a href=
+ "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
+ Inheritance</b></a>.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#styling-inheritance-content</code> feature if it implements presentation
+ semantic support for content style inheritance as defined by <a href=
+ "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
+ Inheritance</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-inheritance-region" name=
+ "feature-styling-inheritance-region"></a>D.1.76
+ #styling-inheritance-region</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#styling-inheritance</code> feature if it recognizes and is capable of
+ transforming region style inheritance as defined by <a href=
+ "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
+ Inheritance</b></a>.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#styling-inheritance-region</code> feature if it implements presentation
+ semantic support for region style inheritance as defined by <a href=
+ "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
+ Inheritance</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-inline" name="feature-styling-inline"></a>D.1.77
+ #styling-inline</h4>
+
+ <p>A TTML transformation processor supports the <code>#styling-inline</code>
+ feature if it recognizes and is capable of transforming inline style
+ association as defined by <a href=
+ "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
+
+ <p>A TTML presentation processor supports the <code>#styling-inline</code>
+ feature if it implements presentation semantic support for inline style
+ association as defined by <a href=
+ "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-nested" name="feature-styling-nested"></a>D.1.78
+ #styling-nested</h4>
+
+ <p>A TTML transformation processor supports the <code>#styling-nested</code>
+ feature if it recognizes and is capable of transforming nested style
+ association as defined by <a href=
+ "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
+
+ <p>A TTML presentation processor supports the <code>#styling-nested</code>
+ feature if it implements presentation semantic support for nested style
+ association as defined by <a href=
+ "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-styling-referential" name=
+ "feature-styling-referential"></a>D.1.79 #styling-referential</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#styling-referential</code> feature if it recognizes and is capable of
+ transforming referential style association as defined by <a href=
+ "#semantics-style-association-referential"><b>8.4.1.2 Referential
+ Styling</b></a>.</p>
+
+ <p>A TTML presentation processor supports the <code>#styling-referential</code>
+ feature if it implements presentation semantic support for referential style
+ association as defined by <a href=
+ "#semantics-style-association-referential"><b>8.4.1.2 Referential
+ Styling</b></a>.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-subFrameRate" name="feature-subFrameRate"></a>D.1.80
+ #subFrameRate</h4>
+
+ <p>A TTML transformation processor supports the <code>#subFrameRate</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#subFrameRate</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textAlign" name="feature-textAlign"></a>D.1.81
+ #textAlign</h4>
+
+ <p>A TTML transformation processor supports the <code>#textAlign</code> feature
+ if it recognizes and is capable of transforming all defined values of the
+ <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textAlign</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textAlign-absolute" name=
+ "feature-textAlign-absolute"></a>D.1.82 #textAlign-absolute</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textAlign-absolute</code> feature if it recognizes and is capable of
+ transforming the <code>left</code>, <code>center</code>, and <code>right</code>
+ values of the <a href=
+ "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textAlign-absolute</code>
+ feature if it implements presentation semantic support for the
+ <code>left</code>, <code>center</code>, and <code>right</code> values of the
+ <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textAlign-relative" name=
+ "feature-textAlign-relative"></a>D.1.83 #textAlign-relative</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textAlign-relative</code> feature if it recognizes and is capable of
+ transforming the <code>start</code>, <code>center</code>, and <code>end</code>
+ values of the <a href=
+ "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textAlign-relative</code>
+ feature if it implements presentation semantic support for the
+ <code>start</code>, <code>center</code>, and <code>end</code> values of the
+ <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textDecoration" name="feature-textDecoration"></a>D.1.84
+ #textDecoration</h4>
+
+ <p>A TTML transformation processor supports the <code>#textDecoration</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textDecoration</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textDecoration-over" name=
+ "feature-textDecoration-over"></a>D.1.85 #textDecoration-over</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textDecoration-over</code> feature if it recognizes and is capable of
+ transforming the <code>overline</code> and <code>noOverline</code> values of
+ the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textDecoration-over</code>
+ feature if it implements presentation semantic support for the
+ <code>overline</code> and <code>noOverline</code> values of the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textDecoration-through" name=
+ "feature-textDecoration-through"></a>D.1.86 #textDecoration-through</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textDecoration-through</code> feature if it recognizes and is capable of
+ transforming the <code>lineThrough</code> and <code>noLineThrough</code> values
+ of the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#textDecoration-through</code> feature if it implements presentation
+ semantic support for the <code>lineThrough</code> and
+ <code>noLineThrough</code> values of the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textDecoration-under" name=
+ "feature-textDecoration-under"></a>D.1.87 #textDecoration-under</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textDecoration-under</code> feature if it recognizes and is capable of
+ transforming the <code>underline</code> and <code>noUnderline</code> values of
+ the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#textDecoration-under</code> feature if it implements presentation
+ semantic support for the <code>underline</code> and <code>noUnderline</code>
+ values of the <a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textOutline" name="feature-textOutline"></a>D.1.88
+ #textOutline</h4>
+
+ <p>A TTML transformation processor supports the <code>#textOutline</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#textOutline</code> feature
+ if it implements presentation semantic support for the <a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textOutline-blurred" name=
+ "feature-textOutline-blurred"></a>D.1.89 #textOutline-blurred</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textOutline-blurred</code> feature if it recognizes and is capable of
+ transforming values of the <a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
+ includes a blur radius specification.</p>
+
+ <p>A TTML presentation processor supports the <code>#textOutline-blurred</code>
+ feature if it implements presentation semantic support for values of the
+ <a href="#style-attribute-textOutline"><code>tts:textOutline</code></a>
+ attribute that includes a blur radius specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-textOutline-unblurred" name=
+ "feature-textOutline-unblurred"></a>D.1.90 #textOutline-unblurred</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#textOutline-unblurred</code> feature if it recognizes and is capable of
+ transforming values of the <a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
+ does not include a blur radius specification.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#textOutline-unblurred</code> feature if it implements presentation
+ semantic support for values of the <a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
+ does not include a blur radius specification.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-tickRate" name="feature-tickRate"></a>D.1.91 #tickRate</h4>
+
+ <p>A TTML transformation processor supports the <code>#tickRate</code> feature
+ if it recognizes and is capable of transforming the <a href=
+ "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#tickRate</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-timeBase-clock" name="feature-timeBase-clock"></a>D.1.92
+ #timeBase-clock</h4>
+
+ <p>A TTML transformation processor supports the <code>#timeBase-clock</code>
+ feature if it recognizes and is capable of transforming the <code>clock</code>
+ value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
+ it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
+ feature.</p>
+
+ <p>A TTML presentation processor supports the <code>#timeBase-clock</code>
+ feature if it implements presentation semantic support for the
+ <code>clock</code> value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
+ it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
+ feature.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-timeBase-media" name="feature-timeBase-media"></a>D.1.93
+ #timeBase-media</h4>
+
+ <p>A TTML transformation processor supports the <code>#timeBase-media</code>
+ feature if it recognizes and is capable of transforming the <code>media</code>
+ value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#timeBase-media</code>
+ feature if it implements presentation semantic support for the
+ <code>media</code> value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-timeBase-smpte" name="feature-timeBase-smpte"></a>D.1.94
+ #timeBase-smpte</h4>
+
+ <p>A TTML transformation processor supports the <code>#timeBase-smpte</code>
+ feature if it recognizes and is capable of transforming the <code>smpte</code>
+ value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
+ it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
+ feature.</p>
+
+ <p>A TTML presentation processor supports the <code>#timeBase-smpte</code>
+ feature if it implements presentation semantic support for the
+ <code>smpte</code> value of the <a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
+ it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
+ feature.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-timeContainer" name="feature-timeContainer"></a>D.1.95
+ #timeContainer</h4>
+
+ <p>A TTML transformation processor supports the <code>#timeContainer</code>
+ feature if it recognizes and is capable of transforming the <a href=
+ "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#timeContainer</code>
+ feature if it implements presentation semantic support for the <a href=
+ "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-time-clock" name="feature-time-clock"></a>D.1.96
+ #time-clock</h4>
+
+ <p>A TTML transformation processor supports the <code>#time-clock</code>
+ feature if it recognizes and is capable of transforming all values of the
+ <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
+ the following subset of time expression syntax:</p>
+
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : hours ":" minutes ":" seconds ( fraction )?
+</pre>
+ </div>
+
+ <p>A TTML presentation processor supports the <code>#time-clock</code> feature
+ if it implements presentation semantic support for the same syntax specified
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-time-clock-with-frames" name=
+ "feature-time-clock-with-frames"></a>D.1.97 #time-clock-with-frames</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#time-clock-with-frames</code> feature if it supports the <a href=
+ "#feature-frameRate"><code>#frameRate</code></a>, <a href=
+ "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
+ <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
+ it recognizes and is capable of transforming all values of the <a href=
+ "#timing-value-timeExpression"><timeExpression></a> that satisfy the
+ following subset of time expression syntax:</p>
+
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
+</pre>
+ </div>
+
+ <p>A TTML presentation processor supports the
+ <code>#time-clock-with-frames</code> feature if it implements presentation
+ semantic support for the same features and syntax specified above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-time-offset" name="feature-time-offset"></a>D.1.98
+ #time-offset</h4>
+
+ <p>A TTML transformation processor supports the <code>#time-offset</code>
+ feature if it recognizes and is capable of transforming all values of the
+ <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
+ the following subset of time expression syntax:</p>
+
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : time-count fraction? ( "h" | "m" | "s" | "ms" )
+</pre>
+ </div>
+
+ <p>A TTML presentation processor supports the <code>#time-offset</code> feature
+ if it implements presentation semantic support for the same syntax specified
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-time-offset-with-frames" name=
+ "feature-time-offset-with-frames"></a>D.1.99 #time-offset-with-frames</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#time-offset-with-frames</code> feature if it supports the <a href=
+ "#feature-frameRate"><code>#frameRate</code></a>, <a href=
+ "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
+ <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
+ it recognizes and is capable of transforming all values of the <a href=
+ "#timing-value-timeExpression"><timeExpression></a> that satisfy the
+ following subset of time expression syntax:</p>
+
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : time-count fraction? "f"
+</pre>
+ </div>
+
+ <p>A TTML presentation processor supports the
+ <code>#time-offset-with-frames</code> feature if it implements presentation
+ semantic support for the same features and syntax specified above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-time-offset-with-ticks" name=
+ "feature-time-offset-with-ticks"></a>D.1.100 #time-offset-with-ticks</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#time-offset-with-ticks</code> feature if it supports the <a href=
+ "#feature-tickRate"><code>#tickRate</code></a> feature and if it recognizes and
+ is capable of transforming all values of the <a href=
+ "#timing-value-timeExpression"><timeExpression></a> that satisfy the
+ following subset of time expression syntax:</p>
+
+ <div class="exampleInner">
+ <pre>
+<timeExpression>
+ : time-count fraction? "t"
+</pre>
+ </div>
+
+ <p>A TTML presentation processor supports the
+ <code>#time-offset-with-ticks</code> feature if it implements presentation
+ semantic support for the same features and syntax specified above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-timing" name="feature-timing"></a>D.1.101 #timing</h4>
+
+ <p>A TTML transformation processor supports the <code>#timing</code> feature if
+ it recognizes and is capable of transforming the following vocabulary defined
+ by <a href="#timing"><b>10 Timing</b></a>:</p>
+
+ <ul>
+ <li>
+ <p><a href="#timing-attribute-begin">@<code>begin</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing-attribute-dur">@<code>dur</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing-attribute-end">@<code>end</code></a></p>
+ </li>
+ </ul>
+
+ <p>A TTML presentation processor supports the <code>#timing</code> feature if
+ it implements presentation semantic support for the same vocabulary enumerated
+ above.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-transformation" name="feature-transformation"></a>D.1.102
+ #transformation</h4>
+
+ <p>A TTML processor supports the <code>#transformation</code> feature if it (1)
+ satisfies the generic processor criteria defined by <a href=
+ "#conformance-generic-processor"><b>3.2.1 Generic Processor Conformance</b></a>
+ and (2) implements the transformation semantics of the following features:</p>
+
+ <ul>
+ <li>
+ <p><a href="#content"><code>#content</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-core"><code>#core</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-profile"><code>#profile</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-structure"><code>#structure</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
+ </li>
+
+ <li>
+ <p><a href="#timing"><code>#timing</code></a></p>
+ </li>
+ </ul>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-unicodeBidi" name="feature-unicodeBidi"></a>D.1.103
+ #unicodeBidi</h4>
+
+ <p>A TTML transformation processor supports the <code>#unicodeBidi</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#unicodeBidi</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-visibility" name="feature-visibility"></a>D.1.104
+ #visibility</h4>
+
+ <p>A TTML transformation processor supports the <code>#visibility</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#visibility</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-visibility-block" name=
+ "feature-visibility-block"></a>D.1.105 #visibility-block</h4>
+
+ <p>A TTML transformation processor supports the <code>#visibility-block</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a content element that would generate a block area
+ during presentation processing.</p>
+
+ <p>A TTML presentation processor supports the <code>#visibility-block</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a content element that generates a block area.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-visibility-inline" name=
+ "feature-visibility-inline"></a>D.1.106 #visibility-inline</h4>
+
+ <p>A TTML transformation processor supports the <code>#visibility-inline</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a content element that would generate an inline area
+ during presentation processing.</p>
+
+ <p>A TTML presentation processor supports the <code>#visibility-inline</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a content element that generates an inline area.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-visibility-region" name=
+ "feature-visibility-region"></a>D.1.107 #visibility-region</h4>
+
+ <p>A TTML transformation processor supports the <code>#visibility-region</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element.</p>
+
+ <p>A TTML presentation processor supports the <code>#visibility-region</code>
+ feature if it implements presentation semantic support for all defined values
+ of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
+ attribute when applied to a <a href=
+ "#layout-vocabulary-region"><code>region</code></a> element.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-wrapOption" name="feature-wrapOption"></a>D.1.108
+ #wrapOption</h4>
+
+ <p>A TTML transformation processor supports the <code>#wrapOption</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#wrapOption</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-writingMode" name="feature-writingMode"></a>D.1.109
+ #writingMode</h4>
+
+ <p>A TTML transformation processor supports the <code>#writingMode</code>
+ feature if it recognizes and is capable of transforming all defined values of
+ the <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
+ attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#writingMode</code> feature
+ if it implements presentation semantic support for all defined values of the
+ <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-writingMode-vertical" name=
+ "feature-writingMode-vertical"></a>D.1.110 #writingMode-vertical</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#writingMode-vertical</code> feature if it recognizes and is capable of
+ transforming the <code>tbrl</code>, <code>tblr</code>, and <code>tb</code>
+ values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#writingMode-vertical</code> feature if it implements presentation
+ semantic support for the <code>tbrl</code>, <code>tblr</code>, and
+ <code>tb</code> values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-writingMode-horizontal" name=
+ "feature-writingMode-horizontal"></a>D.1.111 #writingMode-horizontal</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
+ transforming the <code>lrtb</code>, <code>rltb</code>, <code>lr</code> and
+ <code>rl</code> values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#writingMode-horizontal</code> feature if it implements presentation
+ semantic support for the <code>lrtb</code>, <code>rltb</code>, <code>lr</code>
+ and <code>rl</code> values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-writingMode-horizontal-lr" name=
+ "feature-writingMode-horizontal-lr"></a>D.1.112 #writingMode-horizontal-lr</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
+ transforming the <code>lrtb</code> and <code>lr</code> values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#writingMode-horizontal-lr</code> feature if it implements presentation
+ semantic support for the <code>lrtb</code> and <code>lr</code> values of the
+ <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-writingMode-horizontal-rl" name=
+ "feature-writingMode-horizontal-rl"></a>D.1.113 #writingMode-horizontal-rl</h4>
+
+ <p>A TTML transformation processor supports the
+ <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
+ transforming the <code>rltb</code> and <code>rl</code> values of the <a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the
+ <code>#writingMode-horizontal-rl</code> feature if it implements presentation
+ semantic support for the <code>rltb</code> and <code>rl</code> values of the
+ <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
+ attribute.</p>
+ </div>
+
+ <div class="div3">
+ <h4><a id="feature-zIndex" name="feature-zIndex"></a>D.1.114 #zIndex</h4>
+
+ <p>A TTML transformation processor supports the <code>#zIndex</code> feature if
+ it recognizes and is capable of transforming the <a href=
+ "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
+
+ <p>A TTML presentation processor supports the <code>#zIndex</code> feature if
+ it implements presentation semantic support for the <a href=
+ "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="feature-support" name="feature-support"></a>D.2 Feature Support</h3>
+
+ <p>The following table, <a href="#feature-support-table"><b>Table D-1 – Feature
+ Support</b></a>, enumerates every defined feature designation (expressed without
+ the TT Feature Namespace), and, for each designated feature, specifies whether
+ the feature must be implemented, i.e., is mandatory (M), or may be implemented,
+ i.e., is optional (O), for transformation and presentation processors.</p><a id=
+ "feature-support-table" name="feature-support-table"></a>
+
+ <table class="common">
+ <caption>
+ Table D-1 – Feature Support
+ </caption>
+ <col width="60%" span="1">
+ <col width="20%" span="1">
+ <col width="20%" span="1">
+
+ <tbody>
+ <tr>
+ <td><span class="strong">Feature</span></td>
+
+ <td><span class="strong">Transformation</span></td>
+
+ <td><span class="strong">Presentation</span></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-animation"><code>#animation</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-backgroundColor"><code>#backgroundColor</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-bidi"><code>#bidi</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-cellResolution"><code>#cellResolution</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-clockMode"><code>#clockMode</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-clockMode-gps"><code>#clockMode-gps</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-clockMode-local"><code>#clockMode-local</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-clockMode-utc"><code>#clockMode-utc</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-color"><code>#color</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-content"><code>#content</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-core"><code>#core</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-direction"><code>#direction</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-display"><code>#display</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-display-block"><code>#display-block</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-display-inline"><code>#display-inline</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-display-region"><code>#display-region</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-displayAlign"><code>#displayAlign</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-dropMode"><code>#dropMode</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-extent"><code>#extent</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-extent-region"><code>#extent-region</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-extent-root"><code>#extent-root</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-fontFamily"><code>#fontFamily</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-fontSize"><code>#fontSize</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-fontWeight"><code>#fontWeight</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-frameRate"><code>#frameRate</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-layout"><code>#layout</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length"><code>#length</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length-cell"><code>#length-cell</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length-em"><code>#length-em</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length-integer"><code>#length-integer</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-length-negative"><code>#length-negative</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-length-percentage"><code>#length-percentage</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length-pixel"><code>#length-pixel</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-length-positive"><code>#length-positive</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-length-real"><code>#length-real</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-lineHeight"><code>#lineHeight</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-markerMode"><code>#markerMode</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-metadata"><code>#metadata</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-nested-div"><code>#nested-div</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-nested-span"><code>#nested-span</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-opacity"><code>#opacity</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-origin"><code>#origin</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-overflow"><code>#overflow</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-overflow-visible"><code>#overflow-visible</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-padding"><code>#padding</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-padding-1"><code>#padding-1</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-padding-2"><code>#padding-2</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-padding-3"><code>#padding-3</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-padding-4"><code>#padding-4</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-presentation"><code>#presentation</code></a></td>
+
+ <td>O</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-profile"><code>#profile</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-showBackground"><code>#showBackground</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-structure"><code>#structure</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-styling"><code>#styling</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-styling-chained"><code>#styling-chained</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-styling-inline"><code>#styling-inline</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-styling-nested"><code>#styling-nested</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-styling-referential"><code>#styling-referential</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-subFrameRate"><code>#subFrameRate</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-textAlign"><code>#textAlign</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textAlign-relative"><code>#textAlign-relative</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-textDecoration"><code>#textDecoration</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textDecoration-over"><code>#textDecoration-over</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textDecoration-through"><code>#textDecoration-through</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textDecoration-under"><code>#textDecoration-under</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-textOutline"><code>#textOutline</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-tickRate"><code>#tickRate</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timeBase-clock"><code>#timeBase-clock</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timeBase-media"><code>#timeBase-media</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timeContainer"><code>#timeContainer</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-time-clock"><code>#time-clock</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timing"><code>#timing</code></a></td>
+
+ <td>M</td>
+
+ <td>M</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-transformation"><code>#transformation</code></a></td>
+
+ <td>M</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-visibility"><code>#visibility</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-visibility-block"><code>#visibility-block</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-visibility-inline"><code>#visibility-inline</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-visibility-region"><code>#visibility-region</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-wrapOption"><code>#wrapOption</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-writingMode"><code>#writingMode</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-zIndex"><code>#zIndex</code></a></td>
+
+ <td>O</td>
+
+ <td>O</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the sake of convenience, the following table, <a href=
+ "#feature-transformation-mandatory-table"><b>Table D-2 – Mandatory Features -
+ Transformation</b></a>, enumerates all mandatory features for a TTML
+ Transformation Processor, providing additional comments to summarize the context
+ of usage or the nature of the feature. The <em>Profile Definition Document</em>
+ that defines the corresponding DFXP Transformation Profile is specified in
+ <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
+ Profile</b></a>.</p><a id="feature-transformation-mandatory-table" name=
+ "feature-transformation-mandatory-table"></a>
+
+ <table class="common">
+ <caption>
+ Table D-2 – Mandatory Features - Transformation
+ </caption>
+ <col width="60%" span="1">
+ <col width="40%" span="1">
+
+ <tbody>
+ <tr>
+ <td><span class="strong">Feature</span></td>
+
+ <td><span class="strong">Comments</span></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-content"><code>#content</code></a></td>
+
+ <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
+ <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
+ "#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a>, <a href=
+ "#content-vocabulary-br"><code>br</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-core"><code>#core</code></a></td>
+
+ <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
+ "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
+ "#content-attribute-id">@<code>xml:space</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-profile"><code>#profile</code></a></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-structure"><code>#structure</code></a></td>
+
+ <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
+ <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timing"><code>#timing</code></a></td>
+
+ <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
+ "#timing-attribute-dur">@<code>dur</code></a>, <a href=
+ "#timing-attribute-end">@<code>end</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-transformation"><code>#transformation</code></a></td>
+
+ <td></td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>For the sake of convenience, the following table, <a href=
+ "#feature-presentation-mandatory-table"><b>Table D-3 – Mandatory Features -
+ Presentation</b></a>, enumerates all mandatory features for a TTML Presentation
+ Processor, providing additional comments to summarize the context of usage or the
+ nature of the feature. The <em>Profile Definition Document</em> that defines the
+ corresponding DFXP Presentation Profile is specified in <a href=
+ "#profile-dfxp-presentation"><b>F.2 DFXP Presentation Profile</b></a>.</p><a id=
+ "feature-presentation-mandatory-table" name=
+ "feature-presentation-mandatory-table"></a>
+
+ <table class="common">
+ <caption>
+ Table D-3 – Mandatory Features - Presentation
+ </caption>
+ <col width="60%" span="1">
+ <col width="40%" span="1">
+
+ <tbody>
+ <tr>
+ <td><span class="strong">Feature</span></td>
+
+ <td><span class="strong">Comments</span></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-content"><code>#content</code></a></td>
+
+ <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
+ <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
+ "#content-vocabulary-p"><code>p</code></a>, <a href=
+ "#content-vocabulary-span"><code>span</code></a>, <a href=
+ "#content-vocabulary-br"><code>br</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-core"><code>#core</code></a></td>
+
+ <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
+ "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
+ "#content-attribute-id">@<code>xml:space</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-profile"><code>#profile</code></a></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-presentation"><code>#presentation</code></a></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-structure"><code>#structure</code></a></td>
+
+ <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
+ <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#feature-timing"><code>#timing</code></a></td>
+
+ <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
+ "#timing-attribute-dur">@<code>dur</code></a>, <a href=
+ "#timing-attribute-end">@<code>end</code></a></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="extensions" name="extensions"></a>E Extensions</h2>
+
+ <p><em>This appendix is normative.</em></p>
+
+ <p>This appendix specifies the syntactic form of extension designations, which are
+ used to express authorial intent regarding the support for extension mechanisms in
+ a TTML processor.</p>
+
+ <div class="div2">
+ <h3><a id="extension-designations" name="extension-designations"></a>E.1
+ Extension Designations</h3>
+
+ <p>An extension designation is expressed as a string that adheres to the
+ following 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 Extension
+ Namespace, then all values of the following <code>designation</code> token are
+ reserved for future standardization.</p>
+
+ <p>If the extension namespace of an extension designation is not the TT Extension
+ Namespace, i.e., is an <em>Other Extension Namespace</em>, then the extension
+ namespace must be expressed as an absolute URI capable of serving as a base URI
+ used in combination with a <code>designation</code> token that takes the form of
+ a fragment identifier.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="profiles" name="profiles"></a>F Profiles</h2>
+
+ <p><em>This appendix is normative.</em></p>
+
+ <p>This appendix specifies the following standard TTML profiles:</p>
+
+ <ul>
+ <li>
+ <p><a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
+ Profile</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
+ Profile</b></a></p>
+ </li>
+
+ <li>
+ <p><a href="#profile-dfxp-full"><b>F.3 DFXP Full Profile</b></a></p>
+ </li>
+ </ul>
+
+ <p>The SDP US profile is defined in <a href=
+ "http://www.w3.org/TR/ttml10-sdp-us/">TTML Simple Delivery Profile for Closed
+ Captions (US)</a>.</p>
+
+ <p>Each TTML profile is defined in terms of a <em>Profile Definition Document</em>,
+ which is expressed as an XML document wherein the root element adheres to <a href=
+ "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
+
+ <div class="div2">
+ <h3><a id="profile-dfxp-transformation" name=
+ "profile-dfxp-transformation"></a>F.1 DFXP Transformation Profile</h3>
+
+ <p>The DFXP Transformation Profile is intended to be used to express minimum
+ compliance for transformation processing.</p>
+
+ <div class="exampleInner">
+ <pre>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- this file defines the "dfxp-transformation" profile of ttml -->
+<profile xmlns="http://www.w3.org/ns/ttml#parameter">
+ <features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <!-- required (mandatory) feature support -->
+ <feature value="required">#content</feature>
+ <feature value="required">#core</feature>
+ <feature value="required">#profile</feature>
+ <feature value="required">#structure</feature>
+ <feature value="required">#time-offset</feature>
+ <feature value="required">#timing</feature>
+ <feature value="required">#transformation</feature>
+ <!-- optional (voluntary) feature support -->
+ <feature value="optional">#animation</feature>
+ <feature value="optional">#backgroundColor-block</feature>
+ <feature value="optional">#backgroundColor-inline</feature>
+ <feature value="optional">#backgroundColor-region</feature>
+ <feature value="optional">#backgroundColor</feature>
+ <feature value="optional">#bidi</feature>
+ <feature value="optional">#cellResolution</feature>
+ <feature value="optional">#clockMode-gps</feature>
+ <feature value="optional">#clockMode-local</feature>
+ <feature value="optional">#clockMode-utc</feature>
+ <feature value="optional">#clockMode</feature>
+ <feature value="optional">#color</feature>
+ <feature value="optional">#direction</feature>
+ <feature value="optional">#display-block</feature>
+ <feature value="optional">#display-inline</feature>
+ <feature value="optional">#display-region</feature>
+ <feature value="optional">#display</feature>
+ <feature value="optional">#displayAlign</feature>
+ <feature value="optional">#dropMode-dropNTSC</feature>
+ <feature value="optional">#dropMode-dropPAL</feature>
+ <feature value="optional">#dropMode-nonDrop</feature>
+ <feature value="optional">#dropMode</feature>
+ <feature value="optional">#extent-region</feature>
+ <feature value="optional">#extent-root</feature>
+ <feature value="optional">#extent</feature>
+ <feature value="optional">#fontFamily-generic</feature>
+ <feature value="optional">#fontFamily-non-generic</feature>
+ <feature value="optional">#fontFamily</feature>
+ <feature value="optional">#fontSize-anamorphic</feature>
+ <feature value="optional">#fontSize-isomorphic</feature>
+ <feature value="optional">#fontSize</feature>
+ <feature value="optional">#fontStyle-italic</feature>
+ <feature value="optional">#fontStyle-oblique</feature>
+ <feature value="optional">#fontStyle</feature>
+ <feature value="optional">#fontWeight-bold</feature>
+ <feature value="optional">#fontWeight</feature>
+ <feature value="optional">#frameRate</feature>
+ <feature value="optional">#frameRateMultiplier</feature>
+ <feature value="optional">#layout</feature>
+ <feature value="optional">#length-cell</feature>
+ <feature value="optional">#length-em</feature>
+ <feature value="optional">#length-integer</feature>
+ <feature value="optional">#length-negative</feature>
+ <feature value="optional">#length-percentage</feature>
+ <feature value="optional">#length-pixel</feature>
+ <feature value="optional">#length-positive</feature>
+ <feature value="optional">#length-real</feature>
+ <feature value="optional">#length</feature>
+ <feature value="optional">#lineBreak-uax14</feature>
+ <feature value="optional">#lineHeight</feature>
+ <feature value="optional">#markerMode-continuous</feature>
+ <feature value="optional">#markerMode-discontinuous</feature>
+ <feature value="optional">#markerMode</feature>
+ <feature value="optional">#metadata</feature>
+ <feature value="optional">#nested-div</feature>
+ <feature value="optional">#nested-span</feature>
+ <feature value="optional">#opacity</feature>
+ <feature value="optional">#origin</feature>
+ <feature value="optional">#overflow-visible</feature>
+ <feature value="optional">#overflow</feature>
+ <feature value="optional">#padding-1</feature>
+ <feature value="optional">#padding-2</feature>
+ <feature value="optional">#padding-3</feature>
+ <feature value="optional">#padding-4</feature>
+ <feature value="optional">#padding</feature>
+ <feature value="optional">#pixelAspectRatio</feature>
+ <feature value="optional">#presentation</feature>
+ <feature value="optional">#showBackground</feature>
+ <feature value="optional">#styling-chained</feature>
+ <feature value="optional">#styling-inheritance-content</feature>
+ <feature value="optional">#styling-inheritance-region</feature>
+ <feature value="optional">#styling-inline</feature>
+ <feature value="optional">#styling-nested</feature>
+ <feature value="optional">#styling-referential</feature>
+ <feature value="optional">#styling</feature>
+ <feature value="optional">#subFrameRate</feature>
+ <feature value="optional">#textAlign-absolute</feature>
+ <feature value="optional">#textAlign-relative</feature>
+ <feature value="optional">#textAlign</feature>
+ <feature value="optional">#textDecoration-over</feature>
+ <feature value="optional">#textDecoration-through</feature>
+ <feature value="optional">#textDecoration-under</feature>
+ <feature value="optional">#textDecoration</feature>
+ <feature value="optional">#textOutline-blurred</feature>
+ <feature value="optional">#textOutline-unblurred</feature>
+ <feature value="optional">#textOutline</feature>
+ <feature value="optional">#tickRate</feature>
+ <feature value="optional">#time-clock-with-frames</feature>
+ <feature value="optional">#time-clock</feature>
+ <feature value="optional">#time-offset-with-frames</feature>
+ <feature value="optional">#time-offset-with-ticks</feature>
+ <feature value="optional">#timeBase-clock</feature>
+ <feature value="optional">#timeBase-media</feature>
+ <feature value="optional">#timeBase-smpte</feature>
+ <feature value="optional">#timeContainer</feature>
+ <feature value="optional">#unicodeBidi</feature>
+ <feature value="optional">#visibility-block</feature>
+ <feature value="optional">#visibility-inline</feature>
+ <feature value="optional">#visibility-region</feature>
+ <feature value="optional">#visibility</feature>
+ <feature value="optional">#wrapOption</feature>
+ <feature value="optional">#writingMode-horizontal-lr</feature>
+ <feature value="optional">#writingMode-horizontal-rl</feature>
+ <feature value="optional">#writingMode-horizontal</feature>
+ <feature value="optional">#writingMode-vertical</feature>
+ <feature value="optional">#writingMode</feature>
+ <feature value="optional">#zIndex</feature>
+ </features>
+ <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
+ <!-- required (mandatory) extension support -->
+ <!-- optional (voluntary) extension support -->
+ </extensions>
+</profile>
+
+</pre>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="profile-dfxp-presentation" name="profile-dfxp-presentation"></a>F.2
+ DFXP Presentation Profile</h3>
+
+ <p>The DFXP Presentation Profile is intended to be used to express minimum
+ compliance for presentation processing.</p>
+
+ <div class="exampleInner">
+ <pre>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- this file defines the "dfxp-presentation" profile of ttml -->
+<profile xmlns="http://www.w3.org/ns/ttml#parameter">
+ <features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <!-- required (mandatory) feature support -->
+ <feature value="required">#content</feature>
+ <feature value="required">#core</feature>
+ <feature value="required">#presentation</feature>
+ <feature value="required">#profile</feature>
+ <feature value="required">#structure</feature>
+ <feature value="required">#time-offset</feature>
+ <feature value="required">#timing</feature>
+ <!-- optional (voluntary) feature support -->
+ <feature value="optional">#animation</feature>
+ <feature value="optional">#backgroundColor-block</feature>
+ <feature value="optional">#backgroundColor-inline</feature>
+ <feature value="optional">#backgroundColor-region</feature>
+ <feature value="optional">#backgroundColor</feature>
+ <feature value="optional">#bidi</feature>
+ <feature value="optional">#cellResolution</feature>
+ <feature value="optional">#clockMode-gps</feature>
+ <feature value="optional">#clockMode-local</feature>
+ <feature value="optional">#clockMode-utc</feature>
+ <feature value="optional">#clockMode</feature>
+ <feature value="optional">#color</feature>
+ <feature value="optional">#direction</feature>
+ <feature value="optional">#display-block</feature>
+ <feature value="optional">#display-inline</feature>
+ <feature value="optional">#display-region</feature>
+ <feature value="optional">#display</feature>
+ <feature value="optional">#displayAlign</feature>
+ <feature value="optional">#dropMode-dropNTSC</feature>
+ <feature value="optional">#dropMode-dropPAL</feature>
+ <feature value="optional">#dropMode-nonDrop</feature>
+ <feature value="optional">#dropMode</feature>
+ <feature value="optional">#extent-region</feature>
+ <feature value="optional">#extent-root</feature>
+ <feature value="optional">#extent</feature>
+ <feature value="optional">#fontFamily-generic</feature>
+ <feature value="optional">#fontFamily-non-generic</feature>
+ <feature value="optional">#fontFamily</feature>
+ <feature value="optional">#fontSize-anamorphic</feature>
+ <feature value="optional">#fontSize-isomorphic</feature>
+ <feature value="optional">#fontSize</feature>
+ <feature value="optional">#fontStyle-italic</feature>
+ <feature value="optional">#fontStyle-oblique</feature>
+ <feature value="optional">#fontStyle</feature>
+ <feature value="optional">#fontWeight-bold</feature>
+ <feature value="optional">#fontWeight</feature>
+ <feature value="optional">#frameRate</feature>
+ <feature value="optional">#frameRateMultiplier</feature>
+ <feature value="optional">#layout</feature>
+ <feature value="optional">#length-cell</feature>
+ <feature value="optional">#length-em</feature>
+ <feature value="optional">#length-integer</feature>
+ <feature value="optional">#length-negative</feature>
+ <feature value="optional">#length-percentage</feature>
+ <feature value="optional">#length-pixel</feature>
+ <feature value="optional">#length-positive</feature>
+ <feature value="optional">#length-real</feature>
+ <feature value="optional">#length</feature>
+ <feature value="optional">#lineBreak-uax14</feature>
+ <feature value="optional">#lineHeight</feature>
+ <feature value="optional">#markerMode-continuous</feature>
+ <feature value="optional">#markerMode-discontinuous</feature>
+ <feature value="optional">#markerMode</feature>
+ <feature value="optional">#metadata</feature>
+ <feature value="optional">#nested-div</feature>
+ <feature value="optional">#nested-span</feature>
+ <feature value="optional">#opacity</feature>
+ <feature value="optional">#origin</feature>
+ <feature value="optional">#overflow-visible</feature>
+ <feature value="optional">#overflow</feature>
+ <feature value="optional">#padding-1</feature>
+ <feature value="optional">#padding-2</feature>
+ <feature value="optional">#padding-3</feature>
+ <feature value="optional">#padding-4</feature>
+ <feature value="optional">#padding</feature>
+ <feature value="optional">#pixelAspectRatio</feature>
+ <feature value="optional">#showBackground</feature>
+ <feature value="optional">#styling-chained</feature>
+ <feature value="optional">#styling-inheritance-content</feature>
+ <feature value="optional">#styling-inheritance-region</feature>
+ <feature value="optional">#styling-inline</feature>
+ <feature value="optional">#styling-nested</feature>
+ <feature value="optional">#styling-referential</feature>
+ <feature value="optional">#styling</feature>
+ <feature value="optional">#subFrameRate</feature>
+ <feature value="optional">#textAlign-absolute</feature>
+ <feature value="optional">#textAlign-relative</feature>
+ <feature value="optional">#textAlign</feature>
+ <feature value="optional">#textDecoration-over</feature>
+ <feature value="optional">#textDecoration-through</feature>
+ <feature value="optional">#textDecoration-under</feature>
+ <feature value="optional">#textDecoration</feature>
+ <feature value="optional">#textOutline-blurred</feature>
+ <feature value="optional">#textOutline-unblurred</feature>
+ <feature value="optional">#textOutline</feature>
+ <feature value="optional">#tickRate</feature>
+ <feature value="optional">#time-clock-with-frames</feature>
+ <feature value="optional">#time-clock</feature>
+ <feature value="optional">#time-offset-with-frames</feature>
+ <feature value="optional">#time-offset-with-ticks</feature>
+ <feature value="optional">#timeBase-clock</feature>
+ <feature value="optional">#timeBase-media</feature>
+ <feature value="optional">#timeBase-smpte</feature>
+ <feature value="optional">#timeContainer</feature>
+ <feature value="optional">#transformation</feature>
+ <feature value="optional">#unicodeBidi</feature>
+ <feature value="optional">#visibility-block</feature>
+ <feature value="optional">#visibility-inline</feature>
+ <feature value="optional">#visibility-region</feature>
+ <feature value="optional">#visibility</feature>
+ <feature value="optional">#wrapOption</feature>
+ <feature value="optional">#writingMode-horizontal-lr</feature>
+ <feature value="optional">#writingMode-horizontal-rl</feature>
+ <feature value="optional">#writingMode-horizontal</feature>
+ <feature value="optional">#writingMode-vertical</feature>
+ <feature value="optional">#writingMode</feature>
+ <feature value="optional">#zIndex</feature>
+ </features>
+ <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
+ <!-- required (mandatory) extension support -->
+ <!-- optional (voluntary) extension support -->
+ </extensions>
+</profile>
+
+</pre>
+ </div>
+ </div>
+
+ <div class="div2">
+ <h3><a id="profile-dfxp-full" name="profile-dfxp-full"></a>F.3 DFXP Full
+ Profile</h3>
+
+ <p>The DFXP Full Profile is intended to be used to express maximum compliance for
+ both transformation and presentation processing.</p>
+
+ <div class="exampleInner">
+ <pre>
+<?xml version="1.0" encoding="utf-8"?>
+<!-- this file defines the "dfxp-full" profile of ttml -->
+<profile xmlns="http://www.w3.org/ns/ttml#parameter">
+ <features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <!-- required (mandatory) feature support -->
+ <feature value="required">#animation</feature>
+ <feature value="required">#backgroundColor-block</feature>
+ <feature value="required">#backgroundColor-inline</feature>
+ <feature value="required">#backgroundColor-region</feature>
+ <feature value="required">#backgroundColor</feature>
+ <feature value="required">#bidi</feature>
+ <feature value="required">#cellResolution</feature>
+ <feature value="required">#clockMode-gps</feature>
+ <feature value="required">#clockMode-local</feature>
+ <feature value="required">#clockMode-utc</feature>
+ <feature value="required">#clockMode</feature>
+ <feature value="required">#color</feature>
+ <feature value="required">#content</feature>
+ <feature value="required">#core</feature>
+ <feature value="required">#direction</feature>
+ <feature value="required">#display-block</feature>
+ <feature value="required">#display-inline</feature>
+ <feature value="required">#display-region</feature>
+ <feature value="required">#display</feature>
+ <feature value="required">#displayAlign</feature>
+ <feature value="required">#dropMode-dropNTSC</feature>
+ <feature value="required">#dropMode-dropPAL</feature>
+ <feature value="required">#dropMode-nonDrop</feature>
+ <feature value="required">#dropMode</feature>
+ <feature value="required">#extent-region</feature>
+ <feature value="required">#extent-root</feature>
+ <feature value="required">#extent</feature>
+ <feature value="required">#fontFamily-generic</feature>
+ <feature value="required">#fontFamily-non-generic</feature>
+ <feature value="required">#fontFamily</feature>
+ <feature value="required">#fontSize-anamorphic</feature>
+ <feature value="required">#fontSize-isomorphic</feature>
+ <feature value="required">#fontSize</feature>
+ <feature value="required">#fontStyle-italic</feature>
+ <feature value="required">#fontStyle-oblique</feature>
+ <feature value="required">#fontStyle</feature>
+ <feature value="required">#fontWeight-bold</feature>
+ <feature value="required">#fontWeight</feature>
+ <feature value="required">#frameRate</feature>
+ <feature value="required">#frameRateMultiplier</feature>
+ <feature value="required">#layout</feature>
+ <feature value="required">#length-cell</feature>
+ <feature value="required">#length-em</feature>
+ <feature value="required">#length-integer</feature>
+ <feature value="required">#length-negative</feature>
+ <feature value="required">#length-percentage</feature>
+ <feature value="required">#length-pixel</feature>
+ <feature value="required">#length-positive</feature>
+ <feature value="required">#length-real</feature>
+ <feature value="required">#length</feature>
+ <feature value="required">#lineBreak-uax14</feature>
+ <feature value="required">#lineHeight</feature>
+ <feature value="required">#markerMode-continuous</feature>
+ <feature value="required">#markerMode-discontinuous</feature>
+ <feature value="required">#markerMode</feature>
+ <feature value="required">#metadata</feature>
+ <feature value="required">#nested-div</feature>
+ <feature value="required">#nested-span</feature>
+ <feature value="required">#opacity</feature>
+ <feature value="required">#origin</feature>
+ <feature value="required">#overflow-visible</feature>
+ <feature value="required">#overflow</feature>
+ <feature value="required">#padding-1</feature>
+ <feature value="required">#padding-2</feature>
+ <feature value="required">#padding-3</feature>
+ <feature value="required">#padding-4</feature>
+ <feature value="required">#padding</feature>
+ <feature value="required">#pixelAspectRatio</feature>
+ <feature value="required">#presentation</feature>
+ <feature value="required">#profile</feature>
+ <feature value="required">#showBackground</feature>
+ <feature value="required">#structure</feature>
+ <feature value="required">#styling-chained</feature>
+ <feature value="required">#styling-inheritance-content</feature>
+ <feature value="required">#styling-inheritance-region</feature>
+ <feature value="required">#styling-inline</feature>
+ <feature value="required">#styling-nested</feature>
+ <feature value="required">#styling-referential</feature>
+ <feature value="required">#styling</feature>
+ <feature value="required">#subFrameRate</feature>
+ <feature value="required">#textAlign-absolute</feature>
+ <feature value="required">#textAlign-relative</feature>
+ <feature value="required">#textAlign</feature>
+ <feature value="required">#textDecoration-over</feature>
+ <feature value="required">#textDecoration-through</feature>
+ <feature value="required">#textDecoration-under</feature>
+ <feature value="required">#textDecoration</feature>
+ <feature value="required">#textOutline-blurred</feature>
+ <feature value="required">#textOutline-unblurred</feature>
+ <feature value="required">#textOutline</feature>
+ <feature value="required">#tickRate</feature>
+ <feature value="required">#time-clock-with-frames</feature>
+ <feature value="required">#time-clock</feature>
+ <feature value="required">#time-offset-with-frames</feature>
+ <feature value="required">#time-offset-with-ticks</feature>
+ <feature value="required">#time-offset</feature>
+ <feature value="required">#timeBase-clock</feature>
+ <feature value="required">#timeBase-media</feature>
+ <feature value="required">#timeBase-smpte</feature>
+ <feature value="required">#timeContainer</feature>
+ <feature value="required">#timing</feature>
+ <feature value="required">#transformation</feature>
+ <feature value="required">#unicodeBidi</feature>
+ <feature value="required">#visibility-block</feature>
+ <feature value="required">#visibility-inline</feature>
+ <feature value="required">#visibility-region</feature>
+ <feature value="required">#visibility</feature>
+ <feature value="required">#wrapOption</feature>
+ <feature value="required">#writingMode-horizontal-lr</feature>
+ <feature value="required">#writingMode-horizontal-rl</feature>
+ <feature value="required">#writingMode-horizontal</feature>
+ <feature value="required">#writingMode-vertical</feature>
+ <feature value="required">#writingMode</feature>
+ <feature value="required">#zIndex</feature>
+ <!-- optional (voluntary) feature support -->
+ </features>
+ <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
+ <!-- required (mandatory) extension support -->
+ <!-- optional (voluntary) extension support -->
+ </extensions>
+</profile>
+
+</pre>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="references" name="references"></a>G References</h2>
+
+ <p><em>This appendix is normative.</em></p>
+
+ <dl>
+ <dt class="label"><a id="css2" name="css2"></a>CSS2</dt>
+
+ <dd>Bert Bos et al., <a href=
+ "http://www.w3.org/TR/2011/REC-CSS2-20110607/"><cite>Cascading Style Sheets,
+ Level 2 Revision 1</cite></a>, W3C Recommendation, 07 June 2011. (See <a href=
+ "http://www.w3.org/TR/2011/REC-CSS2-20110607/">http://www.w3.org/TR/2011/REC-CSS2-20110607/</a>.)</dd>
+
+ <dt class="label"><a id="css3-color" name="css3-color"></a>CSS3 Color</dt>
+
+ <dd>Tantek Çelik and Chris Lilley, <a href=
+ "http://www.w3.org/TR/2011/REC-css3-color-20110607/"><cite>CSS Color Module Level
+ 3</cite></a>, W3C Recommendation, 07 June 2011. (See <a href=
+ "http://www.w3.org/TR/2011/REC-css3-color-20110607/">http://www.w3.org/TR/2011/REC-css3-color-20110607/</a>.)</dd>
+
+ <dt class="label"><a id="gps" name="gps"></a>GPS</dt>
+
+ <dd><a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global Positioning
+ System</cite></a>, US Naval Observatory. (See <a href=
+ "http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</a>.)</dd>
+
+ <dt class="label"><a id="media-types" name="media-types"></a>Media Types</dt>
+
+ <dd>Ned Freed and Nathaniel Borenstein, <a href=
+ "http://www.rfc-editor.org/rfc/rfc2046.txt"><cite>Multipurpose Internet Mail
+ Extensions (MIME) Part Two: Media Types</cite></a>, RFC 2046, November 1996,
+ IETF.(See <a href=
+ "http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</a>.)</dd>
+
+ <dt class="label"><a id="rng" name="rng"></a>RELAX NG</dt>
+
+ <dd>ISO/IEC 19757-2, <a href="http://www.iso.org/"><cite>Information technology –
+ Document Schema Definition Language (DSDL) – Part 2: Regular-grammar-based
+ validation – RELAX NG</cite></a>, International Organization for Standardization
+ (ISO).</dd>
+
+ <dt class="label"><a id="smil21" name="smil21"></a>SMIL 2.1</dt>
+
+ <dd>Dick Bultermann, et al., <a href=
+ "http://www.w3.org/TR/2005/REC-SMIL2-20051213/"><cite>Synchronized Multimedia
+ Integration Language (SMIL 2.1)</cite></a>, W3C Recommendation, 13 December 2005.
+ (See <a href=
+ "http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</a>.)</dd>
+
+ <dt class="label"><a id="smpte12m" name="smpte12m"></a>SMPTE 12M</dt>
+
+ <dd>ANSI/SMPTE 12M, <a href="https://www.smpte.org/"><cite>Television, Audio and
+ Film – Time and Control Code</cite></a>, SMPTE Standard.</dd>
+
+ <dt class="label"><a id="srgb" name="srgb"></a>SRGB</dt>
+
+ <dd>IEC 61966-2-1, <a href="http://www.iec.ch/"><cite>Multimedia systems and
+ equipment – Colour measurement and management – Part 2-1: Colour management –
+ Default RGB colour space – sRGB</cite></a>, International Electrotechnical
+ Commission (IEC).</dd>
+
+ <dt class="label"><a id="uaag" name="uaag"></a>UAAG</dt>
+
+ <dd>Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds., <a href=
+ "http://www.w3.org/TR/2002/REC-UAAG10-20021217/"><cite>User Agent Accessibility
+ Guidelines 1.0</cite></a>, W3C Recommendation, 17 December 2002. (See <a href=
+ "http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</a>.)</dd>
+
+ <dt class="label"><a id="uax14" name="uax14"></a>UAX14</dt>
+
+ <dd>Asmus Freytag, <a href=
+ "http://www.unicode.org/reports/tr14/tr14-17.html"><cite>Line Breaking
+ Properties</cite></a>, Unicode Consortium, 29 August 2005. (See <a href=
+ "http://www.unicode.org/reports/tr14/tr14-17.html">http://www.unicode.org/reports/tr14/tr14-17.html</a>.)</dd>
+
+ <dt class="label"><a id="utc" name="utc"></a>UTC</dt>
+
+ <dd>Recommendation TF.460, <a href="http://www.itu.int/"><cite>Standard-Frequency
+ and Time-Signal Emissions</cite></a>, International Telecommunciations Union,
+ Radio Sector (ITU-R).</dd>
+
+ <dt class="label"><a id="wcag" name="wcag"></a>WCAG</dt>
+
+ <dd>Ben Caldwell, et al., Eds., <a href=
+ "http://www.w3.org/TR/2008/REC-WCAG20-20081211/"><cite>Web Content Accessibility
+ Guidelines (WCAG) 2.0</cite></a>, W3C Recommendation, 11 December 2008. (See
+ <a href=
+ "http://www.w3.org/TR/2008/REC-WCAG20-20081211/">http://www.w3.org/TR/2008/REC-WCAG20-20081211/</a>.)</dd>
+
+ <dt class="label"><a id="xml10" name="xml10"></a>XML 1.0</dt>
+
+ <dd>Tim Bray, et al. <a href=
+ "http://www.w3.org/TR/2008/REC-xml-20081126/"><cite>Extensible Markup Language
+ (XML) 1.0 (Fifth Edition)</cite></a>, W3C Recommendation, 26 November 2008. (See
+ <a href=
+ "http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>.)</dd>
+
+ <dt class="label"><a id="xml11" name="xml11"></a>XML 1.1</dt>
+
+ <dd>Tim Bray, et al. <a href=
+ "http://www.w3.org/TR/2006/REC-xml11-20060816/"><cite>Extensible Markup Language
+ (XML) 1.1 (Second Edition)</cite></a>, W3C Recommendation, 16 August 2006, edited
+ in place 29 September 2006. (See <a href=
+ "http://www.w3.org/TR/2006/REC-xml11-20060816/">http://www.w3.org/TR/2006/REC-xml11-20060816/</a>.)</dd>
+
+ <dt class="label"><a id="xmlbase" name="xmlbase"></a>XML Base</dt>
+
+ <dd>Jonathan Marsh and Richard Tobin, Eds., <a href=
+ "http://www.w3.org/TR/2009/REC-xmlbase-20090128/"><cite>XML Base (Second
+ Edition)</cite></a>, W3C Recommendation, 28 January 2009. (See <a href=
+ "http://www.w3.org/TR/2009/REC-xmlbase-20090128/">http://www.w3.org/TR/2009/REC-xmlbase-20090128/</a>.)</dd>
+
+ <dt class="label"><a id="xmlid" name="xmlid"></a>XML ID</dt>
+
+ <dd>Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds., <a href=
+ "http://www.w3.org/TR/2005/REC-xml-id-20050909/"><cite>xml:id Version
+ 1.0</cite></a>, W3C Recommendation, 09 September 2005. (See <a href=
+ "http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>.)</dd>
+
+ <dt class="label"><a id="infoset" name="infoset"></a>XML InfoSet</dt>
+
+ <dd>John Cowan and Richard Tobin, Eds., <a href=
+ "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML Information Set
+ (Second Edition)</cite></a>, W3C Recommendation, 04 February 2004. (See <a href=
+ "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>.)</dd>
+
+ <dt class="label"><a id="xml-media" name="xml-media"></a>XML Media Types</dt>
+
+ <dd>Makato Murata, Simon St. Laurent, Kan Khon, Eds., <a href=
+ "http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>, RFC
+ 3023, January 2001, IETF.(See <a href=
+ "http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)</dd>
+
+ <dt class="label"><a id="xmlns10" name="xmlns10"></a>XML Namespaces 1.0</dt>
+
+ <dd>Tim Bray, et al. <a href=
+ "http://www.w3.org/TR/2009/REC-xml-names-20091208/"><cite>Namespaces in XML 1.0
+ (Third Edition)</cite></a>, W3C Recommendation, 8 December 2009. (See <a href=
+ "http://www.w3.org/TR/2009/REC-xml-names-20091208/">http://www.w3.org/TR/2009/REC-xml-names-20091208/</a>.)</dd>
+
+ <dt class="label"><a id="xsd-1" name="xsd-1"></a>XML Schema Part 1</dt>
+
+ <dd>Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, Eds.,
+ <a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part 1:
+ Structures</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
+ "http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>.)</dd>
+
+ <dt class="label"><a id="xsd-2" name="xsd-2"></a>XML Schema Part 2</dt>
+
+ <dd>Paul Biron and Ashok Malhotra, <a href=
+ "http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2:
+ Datatypes</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
+ "http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.)</dd>
+
+ <dt class="label"><a id="xsl11" name="xsl11"></a>XSL 1.1</dt>
+
+ <dd>Anders Berglund, <a href=
+ "http://www.w3.org/TR/2006/REC-xsl11-20061205/"><cite>Extensible Stylesheet
+ Language (XSL) Version 1.1</cite></a>, W3C Recommendation, 05 December 2006. (See
+ <a href=
+ "http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>.)</dd>
+ </dl>
+ </div>
+
+ <div class="div1">
+ <h2><a id="other-references" name="other-references"></a>H Other References
+ (Non-Normative)</h2>
+
+ <dl>
+ <dt class="label"><a id="ccreq" name="ccreq"></a>CC-DECODER-REQ</dt>
+
+ <dd><a href=
+ "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
+ <cite>Closed Caption Decoder Requirements for Analog Television</cite></a>,
+ United States Code of Federal Regulations, Title 47, Volume 1, Part 15, § 15.119.
+ (See <a href=
+ "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
+ http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml</a>.)</dd>
+
+ <dt class="label"><a id="cea608c" name="cea608c"></a>CEA-608-C</dt>
+
+ <dd>EIA/CEA-608-C, <a href="http://www.ce.org/"><cite>Line 21 Data
+ Services</cite></a>, EIA/CEA Standard, Consumer Electronics Association
+ (CEA).</dd>
+
+ <dt class="label"><a id="cea708d" name="cea708d"></a>CEA-708-D</dt>
+
+ <dd>CEA-708-D, <a href="http://www.ce.org/"><cite>Digital Television (DTV) Closed
+ Captioning</cite></a>, CEA Standard, Consumer Electronics Association (CEA).</dd>
+
+ <dt class="label"><a id="dcmes" name="dcmes"></a>DCMES 1.1</dt>
+
+ <dd>Dublin Core Metadata Initiative, <a href=
+ "http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata Element Set,
+ Version 1.1: Reference Description</cite></a>. (See <a href=
+ "http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)</dd>
+
+ <dt class="label"><a id="mpeg7-5" name="mpeg7-5"></a>MPEG7-5</dt>
+
+ <dd>ISO/IEC 15938-5, <a href="http://www.iso.org/"><cite>Information technology –
+ Multimedia content description interface – Part 5: Multimedia description
+ schemes</cite></a>, International Organization for Standardization (ISO).</dd>
+
+ <dt class="label"><a id="nsstate" name="nsstate"></a>NSState</dt>
+
+ <dd>Norman Walsh, Ed., <a href=
+ "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html"><cite>The
+ Disposition of Names in an XML Namespace</cite></a>, TAG Finding, 9 January 2006.
+ (See <a href=
+ "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html">http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09</a>.)</dd>
+
+ <dt class="label"><a id="qaf-sg" name="qaf-sg"></a>QAF SG</dt>
+
+ <dd>Karl Dubost, et al., <a href=
+ "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/"><cite>QA Framework:
+ Specifications Guidelines</cite></a>, W3C Recommendation, 17 August 2005. (See
+ <a href=
+ "http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</a>.)</dd>
+
+ <dt class="label"><a id="smpte170m" name="smpte170m"></a>SMPTE 170M</dt>
+
+ <dd>ANSI/SMPTE 170M, <a href="http://www.smpte.org/"><cite>Television – Composite
+ Analog Video Signal – NTSC for Studio Applications</cite></a>, SMPTE
+ Standard.</dd>
+
+ <dt class="label"><a id="smpte2052" name="smpte2052"></a>SMPTE 2052-11</dt>
+
+ <dd>SMPTE 2052-11, <a href="http://www.smpte.org/"><cite>Conversion from CEA-708
+ Caption Data to SMPTE-TT</cite></a>, SMPTE Recommended Practice.</dd>
+
+ <dt class="label"><a id="svg11" name="svg11"></a>SVG 1.1</dt>
+
+ <dd>Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds., <a href=
+ "http://www.w3.org/TR/2003/REC-SVG11-20030114/"><cite>Scalable Vector Graphics
+ (SVG) 1.1 Specification</cite></a>, W3C Recommendation, 14 January 2003. (See
+ <a href=
+ "http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</a>.)</dd>
+
+ <dt class="label"><a id="ttaf1-req" name="ttaf1-req"></a>TTAF1-REQ</dt>
+
+ <dd>Glenn Adams, Ed., <a href=
+ "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/"><cite>Timed Text (TT)
+ Authoring Format 1.0 Use Cases and Requirements</cite></a>, W3C Working Group
+ Note, 27 April 2006. (See <a href=
+ "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</a>.)</dd>
+
+ <dt class="label"><a id="xhtml10" name="xhtml10"></a>XHTML 1.0</dt>
+
+ <dd>Steven Pemberton, et al., <a href=
+ "http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTML™ 1.0, The Extensible
+ Hypertext Markup Language (Second Edition)</cite></a>, W3C Recommendation, 01
+ August 2002. (See <a href=
+ "http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>.)</dd>
+ </dl>
+ </div>
+
+ <div class="div1">
+ <h2><a id="requirements" name="requirements"></a>I Requirements
+ (Non-Normative)</h2>
+
+ <p>The Timed Text Markup Language (TTML), also known as the Distribution Format
+ Exchange Profile (DFXP) of the Timed Text Authoring Format (TTAF), satisfies a
+ subset of the requirements established by <a href="#ttaf1-req">[TTAF1-REQ]</a>. The
+ following table enumerates these requirements and indicates the extent to which
+ they are satisfied by this specification, where <em>S</em> denotes a requirement is
+ satisfied, <em>P</em> denotes a requirement is partially satisfied, and <em>N</em>
+ denotes a requirement is not satisfied.</p><a id="requirements-table" name=
+ "requirements-table"></a>
+
+ <table class="common">
+ <caption>
+ Table I-1 – Requirement Satisfaction
+ </caption>
+ <col width="10%" span="1">
+ <col width="40%" span="1">
+ <col width="10%" span="1">
+ <col span="1">
+
+ <tbody>
+ <tr>
+ <th>ID</th>
+
+ <th>Name</th>
+
+ <th>Status</th>
+
+ <th>Comments</th>
+ </tr>
+
+ <tr>
+ <td>R100</td>
+
+ <td>Specification Format</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R101</td>
+
+ <td>Specification Modularity</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R102</td>
+
+ <td>Specification Organization</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R103</td>
+
+ <td>Core and Periphery</td>
+
+ <td>S</td>
+
+ <td>TT extension namespaces</td>
+ </tr>
+
+ <tr>
+ <td>R104</td>
+
+ <td>Evolution of Core</td>
+
+ <td>S</td>
+
+ <td>TT extension namespaces</td>
+ </tr>
+
+ <tr>
+ <td>R105</td>
+
+ <td>Ownership of Core</td>
+
+ <td>S</td>
+
+ <td>TT namespaces</td>
+ </tr>
+
+ <tr>
+ <td>R106</td>
+
+ <td>Surjection of Core</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R107</td>
+
+ <td>Evolution of Periphery</td>
+
+ <td>S</td>
+
+ <td>TT extension namespaces</td>
+ </tr>
+
+ <tr>
+ <td>R108</td>
+
+ <td>Ownership of Periphery</td>
+
+ <td>S</td>
+
+ <td>Non-TT namespaces</td>
+ </tr>
+
+ <tr>
+ <td>R109</td>
+
+ <td>Transformation</td>
+
+ <td>S</td>
+
+ <td>Supports 3GPP, QText, RealText, SAMI</td>
+ </tr>
+
+ <tr>
+ <td>R110</td>
+
+ <td>Streamable Transformation</td>
+
+ <td>S</td>
+
+ <td>Progressive decoding</td>
+ </tr>
+
+ <tr>
+ <td>R111</td>
+
+ <td>Accessibility – Content</td>
+
+ <td>S</td>
+
+ <td>Alternative document instances</td>
+ </tr>
+
+ <tr>
+ <td>R112</td>
+
+ <td>Accessibility – Authoring System</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R200</td>
+
+ <td>Authorability</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R201</td>
+
+ <td>Multiple Natural Languages</td>
+
+ <td>S</td>
+
+ <td>Alternative document instances</td>
+ </tr>
+
+ <tr>
+ <td>R202</td>
+
+ <td>Natural Language Coverage</td>
+
+ <td>S</td>
+
+ <td>Unicode 4.0</td>
+ </tr>
+
+ <tr>
+ <td>R203</td>
+
+ <td>Natural Language Association Granularity</td>
+
+ <td>S</td>
+
+ <td>See <code>xml:lang</code></td>
+ </tr>
+
+ <tr>
+ <td>R204</td>
+
+ <td>Minimum Character Representability</td>
+
+ <td>S</td>
+
+ <td>Unicode 4.0</td>
+ </tr>
+
+ <tr>
+ <td>R205</td>
+
+ <td>Intrinsic and Extrinsic Text Content</td>
+
+ <td>P</td>
+
+ <td>Intrinsic only</td>
+ </tr>
+
+ <tr>
+ <td>R206</td>
+
+ <td>Markup Association</td>
+
+ <td>P</td>
+
+ <td>Intrinsic only</td>
+ </tr>
+
+ <tr>
+ <td>R207</td>
+
+ <td>Conditional Content</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R208</td>
+
+ <td>Flowed Text</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R209</td>
+
+ <td>Logical Flowed Text Vocabulary</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R210</td>
+
+ <td>Presentational Flowed Text Vocabulary</td>
+
+ <td>S</td>
+
+ <td>Implied mapping from logical flowed text.</td>
+ </tr>
+
+ <tr>
+ <td>R211</td>
+
+ <td>Flowed Text Vocabulary Relationship</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R212</td>
+
+ <td>Flowed Text Vocabulary Separation</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R213</td>
+
+ <td>Non-Flowed Text</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R214</td>
+
+ <td>Non-Flowed Text Vocabulary</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R215</td>
+
+ <td>Hybrid Flowed and Non-Flowed Text</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R216</td>
+
+ <td>Hyperlinking</td>
+
+ <td>N</td>
+
+ <td>Can support via XLink</td>
+ </tr>
+
+ <tr>
+ <td>R217</td>
+
+ <td>Embedded Graphics</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R218</td>
+
+ <td>Non-Embedded Graphics</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R219</td>
+
+ <td>Embedded Fonts</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R220</td>
+
+ <td>Non-Embedded Fonts</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R221</td>
+
+ <td>Descriptive Vocabulary</td>
+
+ <td>S</td>
+
+ <td>See <code>ttm:agent</code>, <code>ttm:role</code></td>
+ </tr>
+
+ <tr>
+ <td>R222</td>
+
+ <td>Embedded Audio</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R223</td>
+
+ <td>Non-Embedded Audio</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R290</td>
+
+ <td>Markup Format</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R291</td>
+
+ <td>Markup Format and Unicode Interaction</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R292</td>
+
+ <td>Extrinsic Resource References</td>
+
+ <td>N</td>
+
+ <td>No extrinsic references</td>
+ </tr>
+
+ <tr>
+ <td>R293</td>
+
+ <td>Schema Validity Specification</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R300</td>
+
+ <td>Inline Styling</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R301</td>
+
+ <td>Inline Styling Form</td>
+
+ <td>P</td>
+
+ <td>Inline and referential styling</td>
+ </tr>
+
+ <tr>
+ <td>R301</td>
+
+ <td>Out-of-Line Styling</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R301</td>
+
+ <td>Out-of-Line Styling Form</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R304</td>
+
+ <td>Styling Prioritization</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R305</td>
+
+ <td>Style Parameters – Aural</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R306</td>
+
+ <td>Style Parameters – Visual</td>
+
+ <td>P</td>
+
+ <td>Supports absolute position, background color, color, display none,
+ display alignment, font family, font size, font style, font weight, height,
+ line height, origin, opacity, overflow, padding (before, after, start, end),
+ text alignment, text shadow (as outline), visibility, width, writing mode,
+ z-index</td>
+ </tr>
+
+ <tr>
+ <td>R390</td>
+
+ <td>Style Parameter Symmetry</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R391</td>
+
+ <td>Style Parameter Definitions</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R392</td>
+
+ <td>Style Parameter Shorthands</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R401</td>
+
+ <td>Inline Timing</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R402</td>
+
+ <td>Out-of-Line Timing</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R403</td>
+
+ <td>Synchronization Parameters</td>
+
+ <td>P</td>
+
+ <td>Supports begin, end, dur</td>
+ </tr>
+
+ <tr>
+ <td>R404</td>
+
+ <td>Synchronization Parameter Value Spaces</td>
+
+ <td>P</td>
+
+ <td>Supports offset values, media marker values (SMPTE 12M), wall-clock
+ values</td>
+ </tr>
+
+ <tr>
+ <td>R405</td>
+
+ <td>Time Containment Semantics</td>
+
+ <td>P</td>
+
+ <td>Supports sequential, parallel</td>
+ </tr>
+
+ <tr>
+ <td>R500</td>
+
+ <td>Animation Modes</td>
+
+ <td>P</td>
+
+ <td>Supports discrete</td>
+ </tr>
+
+ <tr>
+ <td>R502</td>
+
+ <td>Highlight Animation</td>
+
+ <td>S</td>
+
+ <td><code><set tts:backgroundColor="..."/></code></td>
+ </tr>
+
+ <tr>
+ <td>R503</td>
+
+ <td>Fade Transition Animation</td>
+
+ <td>S</td>
+
+ <td><code><set tts:opacity="..."/></code></td>
+ </tr>
+
+ <tr>
+ <td>R504</td>
+
+ <td>Animated Style Parameters – Aural</td>
+
+ <td>N</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R505</td>
+
+ <td>Animated Style Parameters – Visual</td>
+
+ <td>P</td>
+
+ <td>Supports animating background color, color, display, opacity, origin,
+ visibility</td>
+ </tr>
+
+ <tr>
+ <td>N506</td>
+
+ <td>Animated Content</td>
+
+ <td>S</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td>R600</td>
+
+ <td>Metadata Item Association</td>
+
+ <td>S</td>
+
+ <td>See <code>metadata</code>, <code>Metadata.class</code></td>
+ </tr>
+
+ <tr>
+ <td>R601</td>
+
+ <td>Metadata Item Constituents</td>
+
+ <td>P</td>
+
+ <td>Supports name, value</td>
+ </tr>
+
+ <tr>
+ <td>R602</td>
+
+ <td>Metadata Item Value Representation</td>
+
+ <td>P</td>
+
+ <td>See <code>metadata</code></td>
+ </tr>
+
+ <tr>
+ <td>R603</td>
+
+ <td>Metadata Item Extensibility</td>
+
+ <td>S</td>
+
+ <td>See <code>metadata</code></td>
+ </tr>
+
+ <tr>
+ <td>R604</td>
+
+ <td>Metadata Item Validation</td>
+
+ <td>S</td>
+
+ <td>See <code>metadata</code></td>
+ </tr>
+
+ <tr>
+ <td>R690</td>
+
+ <td>Dublin Core Preference</td>
+
+ <td>N</td>
+
+ <td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>,
+ <code>ttm:title</code></td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div1">
+ <h2><a id="derivation" name="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="d3e18678" name="d3e18678"></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 the model (if a
+ model is indicated); the fourth column specifies details about the derivation;
+ the last column refers to additional notes describing the nature of the
+ derivation.</p>
+
+ <p>In the fourth column, which describes details of derivation, a notation is use
+ to indicate the addition or removal of an attribute. For example, in the
+ derivation of the <code>tt:div</code> element, the details column includes
+ "-@class", which denotes that the <code>class</code> attribute that is specified
+ for use with the <code>xhtml:div</code> model element is not specified for use
+ with the corresponding TTML element; in contrast, the details column includes
+ "+@begin", which denotes that a <code>begin</code> attribute is added that is not
+ specified for use with the <code>xhtml:div</code> model element.</p><a id=
+ "element-vocab-derivation-table" name="element-vocab-derivation-table"></a>
+
+ <table class="common">
+ <caption>
+ Table J-1 – Elements
+ </caption>
+ <col width="20%" span="1">
+ <col width="17%" span="1">
+ <col width="13%" align="center" span="1">
+ <col width="40%" span="1">
+ <col width="10%" align="center" span="1">
+
+ <tbody>
+ <tr>
+ <td><span class="strong">Element</span></td>
+
+ <td><span class="strong">Model</span></td>
+
+ <td><span class="strong">Reference</span></td>
+
+ <td><span class="strong">Details</span></td>
+
+ <td><span class="strong">Notes</span></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#document-structure-vocabulary-body"><code>tt:body</code></a></td>
+
+ <td><code>xhtml:body</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
+ +@region, +@timeContainer, +@ttm:*, +@tts:*; content model subsetted to
+ zero or more division (div) children, and supersetted by optional metadata
+ and animation children</td>
+
+ <td>1,2</td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-vocabulary-br"><code>tt:br</code></a></td>
+
+ <td><code>xhtml:br</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space; content
+ model supersetted by optional metadata and animation children for congruity
+ with other content vocabulary</td>
+
+ <td>1,2</td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-vocabulary-div"><code>tt:div</code></a></td>
+
+ <td><code>xhtml:div</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
+ +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+ subsetted to zero or more paragraph (p) children, and supersetted by
+ optional metadata and animation children</td>
+
+ <td>1,2,3</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#document-structure-vocabulary-head"><code>tt:head</code></a></td>
+
+ <td><code>xhtml:head</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model changed to
+ optional metadata children, followed by optional styling child, followed by
+ optional layout child</td>
+
+ <td>1,3</td>
+ </tr>
+
+ <tr>
+ <td><a href="#layout-vocabulary-layout"><code>tt:layout</code></a></td>
+
+ <td><code>fo:simple-page-master</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#metadata-vocabulary-metadata"><code>tt:metadata</code></a></td>
+
+ <td><code>svg:metadata</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model subsetted
+ to foreign namespace element content only (no #PCDATA)</td>
+
+ <td>3,5</td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-vocabulary-p"><code>tt:p</code></a></td>
+
+ <td><code>xhtml:p</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
+ +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+ subsetted to zero or more span children, and supersetted by optional
+ metadata and animation children</td>
+
+ <td>1,2,3</td>
+ </tr>
+
+ <tr>
+ <td><a href="#layout-vocabulary-region"><code>tt:region</code></a></td>
+
+ <td><code>fo:region-*</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#animation-vocabulary-set"><code>tt:set</code></a></td>
+
+ <td><code>svg:set</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>-@* except begin, dur, end; +@tts:*, +@xml:lang, +@xml:space</td>
+
+ <td>3,6</td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-vocabulary-span"><code>tt:span</code></a></td>
+
+ <td><code>xhtml:span</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
+ +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+ subsetted to zero or more #PCDATA or break (br) children, and supersetted
+ by optional metadata and animation children</td>
+
+ <td>1,2,3</td>
+ </tr>
+
+ <tr>
+ <td><a href="#styling-vocabulary-style"><code>tt:style</code></a></td>
+
+ <td><em>style specification</em></td>
+
+ <td><a href="#css2">[CSS2]</a></td>
+
+ <td>XML representation of identified set of pairs of style property name
+ and value, with optional inclusion of other styles by reference to other
+ style elements</td>
+
+ <td>7</td>
+ </tr>
+
+ <tr>
+ <td><a href="#styling-vocabulary-styling"><code>tt:styling</code></a></td>
+
+ <td><code>xhtml:style</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>XML representation of a set of style specifications sets, each
+ represented by a style child element</td>
+
+ <td>1,7</td>
+ </tr>
+
+ <tr>
+ <td><a href="#document-structure-vocabulary-tt"><code>tt:tt</code></a></td>
+
+ <td><code>xhtml:html</code></td>
+
+ <td><a href="#xhtml10">[XHTML 1.0]</a></td>
+
+ <td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model subsetted by
+ permitting body and/or head to be optional</td>
+
+ <td>1,8</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-vocabulary-actor"><code>ttm:actor</code></a></td>
+
+ <td><code>mpeg7:Creator</code></td>
+
+ <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-vocabulary-agent"><code>ttm:agent</code></a></td>
+
+ <td><code>mpeg7:Agent</code></td>
+
+ <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#metadata-vocabulary-copyright"><code>ttm:copyright</code></a></td>
+
+ <td><code>mpeg7:CopyrightString</code></td>
+
+ <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-vocabulary-desc"><code>ttm:desc</code></a></td>
+
+ <td><code>svg:desc</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>-@class, -@style, -@xml:base</td>
+
+ <td>2,5,9</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-vocabulary-name"><code>ttm:name</code></a></td>
+
+ <td><code>mpeg7:Name</code></td>
+
+ <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></td>
+
+ <td><code>svg:title</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>-@class, -@style, -@xml:base</td>
+
+ <td>2,5,9</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-vocabulary-extension"><code>ttp:extension</code></a></td>
+
+ <td><code>@requiredExtensions</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>10</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></td>
+
+ <td><code>@requiredExtensions</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>10</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-vocabulary-feature"><code>ttp:feature</code></a></td>
+
+ <td><code>@requiredFeatures</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>10</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-vocabulary-features"><code>ttp:features</code></a></td>
+
+ <td><code>@requiredFeatures</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>10</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-vocabulary-profile"><code>ttp:profile</code></a></td>
+
+ <td><code>@baseProfile</code></td>
+
+ <td><a href="#svg11">[SVG 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td>11</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <ol class="enumar">
+ <li>
+ <p>Derivation is indicated with respect to the strict DTD defined by
+ <a href="#xhtml10">[XHTML 1.0]</a>, §A.1.</p>
+ </li>
+
+ <li>
+ <p>The <code>class</code> attribute is effectively replaced by the
+ <code>style</code> attribute, which, instead of specifying an inline style,
+ refers indirectly to one or more <a href=
+ "#styling-vocabulary-style"><code>style</code></a> elements that define a
+ set of style specification sets.</p>
+ </li>
+
+ <li>
+ <p>The <code>xml:lang</code> and <code>xml:space</code> attributes are
+ defined for all element types in order to support their inheritance
+ semantics to operate in the context of foreign namespace elements.</p>
+ </li>
+
+ <li>
+ <p>Derivation is conceptual (notional) only.</p>
+ </li>
+
+ <li>
+ <p>The <code>xml:base</code> attribute is not used since there are no
+ external references from core vocabulary.</p>
+ </li>
+
+ <li>
+ <p>The <code>attributeName</code> and <code>to</code> attributes of
+ <code>svg:set</code> are replaced by the direct expression of the target
+ attribute name and value by use of a <code>tts:*</code> attribute.</p>
+ </li>
+
+ <li>
+ <p>CSS style specification syntax is mapped to XML by use of attributes
+ defined in the TT Style Namespace.</p>
+ </li>
+
+ <li>
+ <p>The <code>xml:id</code> attribute is defined for use on all element
+ types.</p>
+ </li>
+
+ <li>
+ <p>The <code>style</code> attribute is supported only on content
+ elements.</p>
+ </li>
+
+ <li>
+ <p>Derived from the use of <code>@requiredExtensions</code> 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="d3e19157" name="d3e19157"></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 the model (if a
+ model is indicated); the fourth column specifies details about the derivation;
+ the last column refers to additional notes describing the nature of the
+ derivation.</p>
+
+ <p>In the fourth column, which describes details of derivation, a notation is use
+ to indicate the addition or removal of an attribute value. For example, in the
+ derivation of the <code>timeContainer</code> attribute, the details column
+ includes "-excl", which denotes that the <code>excl</code> value that is
+ specified for use with the <code>timeContainer</code> model attribute is not
+ specified for use with the corresponding TTML attribute; similarly, an
+ "+<em>value</em>" in the details column indicates that the attribute's values
+ have been extended to include <em>value</em>.</p>
+
+ <p>Only those attributes that are specified for use on more than one TTML element
+ type are listed below. Those per-element namespace attributes that are uniquely
+ defined for a specific TTML element type are not listed below, but are considered
+ to be part of the specific element type's derivation described in <a href=
+ "#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
+ above.</p><a id="attribute-vocab-derivation-table" name=
+ "attribute-vocab-derivation-table"></a>
+
+ <table class="common">
+ <caption>
+ Table J-2 – Attributes
+ </caption>
+ <col width="20%" span="1">
+ <col width="17%" span="1">
+ <col width="13%" align="center" span="1">
+ <col width="40%" span="1">
+ <col width="10%" align="center" span="1">
+
+ <tbody>
+ <tr>
+ <td><span class="strong">Attribute</span></td>
+
+ <td><span class="strong">Model</span></td>
+
+ <td><span class="strong">Reference</span></td>
+
+ <td><span class="strong">Details</span></td>
+
+ <td><span class="strong">Notes</span></td>
+ </tr>
+
+ <tr>
+ <td><a href="#timing-attribute-begin"><code>begin</code></a></td>
+
+ <td><code>begin</code></td>
+
+ <td><a href="#smil21">[SMIL 2.1]</a></td>
+
+ <td>see notes</td>
+
+ <td>2,3,4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#timing-attribute-dur"><code>dur</code></a></td>
+
+ <td><code>dur</code></td>
+
+ <td><a href="#smil21">[SMIL 2.1]</a></td>
+
+ <td>see notes</td>
+
+ <td>2,3,4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#timing-attribute-end"><code>end</code></a></td>
+
+ <td><code>end</code></td>
+
+ <td><a href="#smil21">[SMIL 2.1]</a></td>
+
+ <td>see notes</td>
+
+ <td>2,3,4</td>
+ </tr>
+
+ <tr>
+ <td><a href="#layout-attribute-region"><code>region</code></a></td>
+
+ <td><code>master-reference</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td>conceptual derivation</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-style"><code>style</code></a></td>
+
+ <td><code>class</code></td>
+
+ <td><a href="#css2">[CSS2]</a></td>
+
+ <td>dereferences style specification(s) directly</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#timing-attribute-timeContainer"><code>timeContainer</code></a></td>
+
+ <td><code>timeContainer</code></td>
+
+ <td><a href="#smil21">[SMIL 2.1]</a></td>
+
+ <td>-excl, -none; no default attribute value</td>
+
+ <td>5</td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-attribute-agent"><code>ttm:agent</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>used to attribute agent of content</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#metadata-attribute-role"><code>ttm:role</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>used to attribute role of content</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses uniform grid resolution for cell based coordinates</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>determines how to interpret time expressions</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses integral frame rate</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>used to express non-integral, rational frame rates</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses marker continuity semantics</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses pixel aspect ratio of related media</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-profile"><code>ttp:profile</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses profile of TTML used by a <em>Document Instance</em></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses frame counting (drop) modes</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>expresses sub-frame rate</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>used to interpret tick based time expressions</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a></td>
+
+ <td><em>none</em></td>
+
+ <td></td>
+
+ <td>used to interpret semantics of time expressions</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a></td>
+
+ <td><code>background-color</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1,6</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-color"><code>tts:color</code></a></td>
+
+ <td><code>color</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>6</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-direction"><code>tts:direction</code></a></td>
+
+ <td><code>direction</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-display"><code>tts:display</code></a></td>
+
+ <td><code>display</code></td>
+
+ <td><a href="#css2">[CSS2]</a></td>
+
+ <td>only <code>auto</code>, <code>none</code></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-displayAlign"><code>tts:displayAlign</code></a></td>
+
+ <td><code>display-align</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-extent"><code>tts:extent</code></a></td>
+
+ <td><code>width</code>, <code>height</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td>shorthand property</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-fontFamily"><code>tts:fontFamily</code></a></td>
+
+ <td><code>font-family</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, extends generic family names</td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-fontSize"><code>tts:fontSize</code></a></td>
+
+ <td><code>font-size</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1,7</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-fontStyle"><code>tts:fontStyle</code></a></td>
+
+ <td><code>font-style</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>-backslant</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-fontWeight"><code>tts:fontWeight</code></a></td>
+
+ <td><code>font-weight</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>-bolder</code>, <code>-lighter</code>,
+ <code>-<number></code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-lineHeight"><code>tts:lineHeight</code></a></td>
+
+ <td><code>line-height</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>-<number></code>,
+ <code>-<space></code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-opacity"><code>tts:opacity</code></a></td>
+
+ <td><code>opacity</code></td>
+
+ <td><a href="#css3-color">[CSS3 Color]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-origin"><code>tts:origin</code></a></td>
+
+ <td><code>top</code>, <code>left</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td>shorthand property</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-overflow"><code>tts:overflow</code></a></td>
+
+ <td><code>overflow</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>-auto</code>,
+ <code>-error-if-overflow</code></td>
+
+ <td>8</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-padding"><code>tts:padding</code></a></td>
+
+ <td><code>padding</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>9</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-showBackground"><code>tts:showBackground</code></a></td>
+
+ <td><code>showBackground</code></td>
+
+ <td><a href="#smil21">[SMIL 2.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-textAlign"><code>tts:textAlign</code></a></td>
+
+ <td><code>text-align</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-textDecoration"><code>tts:textDecoration</code></a></td>
+
+ <td><code>text-decoration</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1,10,13</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-textOutline"><code>tts:textOutline</code></a></td>
+
+ <td><code>text-shadow</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>11,13</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a></td>
+
+ <td><code>unicode-bidi</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-visibility"><code>tts:visibility</code></a></td>
+
+ <td><code>visibility</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>-collapse</code></td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-wrapOption"><code>tts:wrapOption</code></a></td>
+
+ <td><code>wrap-option</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href=
+ "#style-attribute-writingMode"><code>tts:writingMode</code></a></td>
+
+ <td><code>writing-mode</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code>, <code>+tblr</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href="#style-attribute-zIndex"><code>tts:zIndex</code></a></td>
+
+ <td><code>z-index</code></td>
+
+ <td><a href="#xsl11">[XSL 1.1]</a></td>
+
+ <td><code>-inherit</code></td>
+
+ <td>1</td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-attribute-id"><code>xml:id</code></a></td>
+
+ <td><code>xml:id</code></td>
+
+ <td><a href="#xmlid">[XML ID]</a></td>
+
+ <td>complies with model</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-attribute-lang"><code>xml:lang</code></a></td>
+
+ <td><code>xml:lang</code></td>
+
+ <td><a href="#xml10">[XML 1.0]</a></td>
+
+ <td>complies with model</td>
+
+ <td></td>
+ </tr>
+
+ <tr>
+ <td><a href="#content-attribute-space"><code>xml:space</code></a></td>
+
+ <td><code>xml:space</code></td>
+
+ <td><a href="#xml10">[XML 1.0]</a></td>
+
+ <td>see notes</td>
+
+ <td>12</td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <ol class="enumar">
+ <li>
+ <p>Attribute name and/or value(s) are normalized to use
+ <em>lowerCamelCase</em> naming convention.</p>
+ </li>
+
+ <li>
+ <p>Restricted to expressing a clock value that denotes one of the following
+ in accordance to whether the parameter expressed by the
+ <code>ttp:timeBase</code> attribute is <code>media</code>,
+ <code>smpte</code>, or <code>clock</code>, respectively: (1) an offset from
+ an implicit syncbase that is linked to a media time line, (2) an event time
+ that represents the occurrence of an implicit media marker, or (3) a
+ wall-clock time.</p>
+ </li>
+
+ <li>
+ <p>Syntactically subsets and supersets the <a href="#smil21">[SMIL
+ 2.1]</a> <code>Clock-value</code> syntax as follows: (1) requires
+ non-negative <code>Full-clock-value</code> or <code>Timecount-value</code>;
+ (2) if <code>Full-clock-value</code> then <em>hours</em> must be two or
+ more digits; (3) if <code>Timecount-value</code>, then <em>metric</em> must
+ be specified; (4) uses <code>m</code> as alias for <code>min</code> metric
+ to denote minutes; (5) adds <code>f</code> and <code>t</code> metrics
+ denoting frames and ticks, respectively; (6) adds alternative expression of
+ optional <code>Fraction</code> in <code>Full-clock-value</code> by
+ specifying frame count or frame count with subframe count.</p>
+ </li>
+
+ <li>
+ <p>Interpretation of time expression is further constrained by parameters
+ expressed by <code>ttp:clockMode</code>, <code>ttp:dropMode</code>,
+ <code>ttp:frameRate</code>, <code>ttp:frameRateMultiplier</code>,
+ <code>ttp:markerMode</code>, <code>ttp:subFrameRate</code>,
+ <code>ttp:tickRate</code>, and <code>ttp:timeBase</code> attributes.</p>
+ </li>
+
+ <li>
+ <p>Uses subset of named colors from model to which two aliases are added as
+ follows: <code>magenta</code> as <code>fuchsia</code>, and
+ <code>cyan</code> as <code>aqua</code>.</p>
+ </li>
+
+ <li>
+ <p>If not specified, then parallel (par) container semantics apply to the
+ element types specified by <a href=
+ "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>.</p>
+ </li>
+
+ <li>
+ <p>Restricts size to length specification which can be a percentage; adds
+ optional second length (or percentage) for specifying separate horizontal
+ and vertical scaling of glyph's EM square.</p>
+ </li>
+
+ <li>
+ <p>Expressed in terms of writing mode relative padding properties rather
+ than absolute padding properties.</p>
+ </li>
+
+ <li>
+ <p>Excludes <code>blink</code> and <code>no-blink</code> values.</p>
+ </li>
+
+ <li>
+ <p>Uses only one length specification instead of two, where one length
+ defines distance of outline effect from nominal edge of glyph contour
+ outline perpendicular to point of glyph contour. Percentage lengths are
+ also added to express outline effect in relative to font size. Outline
+ effects are intended to be drawn both outside of outer closed contours and
+ inside of inner closed contours.</p>
+ </li>
+
+ <li>
+ <p>On root element, default attribute value specified as
+ <code>default</code>, which is defined in terms of whitespace
+ normalization. Semantics of preservation and default normalization are
+ defined in terms of presentation semantics by <a href=
+ "#content-attribute-space"><b>7.2.3 xml:space</b></a>.</p>
+ </li>
+
+ <li>
+ <p>Defined to be inheritable.</p>
+ </li>
+ </ol>
+ </div>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="qa" name="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="d3e20043" name="d3e20043"></a>K.1 Requirements</h3><a id=
+ "qa-framework-requirements-table" name="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="d3e20207" name="d3e20207"></a>K.2 Guidelines</h3><a id=
+ "qa-framework-guidelines-table" name="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">
+ <h2><a id="streaming" name="streaming"></a>L Streaming TTML Content
+ (Non-Normative)</h2>
+
+ <p>TTML Content is designed to support streamability by implementing the following
+ properties:</p>
+
+ <ul>
+ <li>
+ <p>can be progressively encoded (i.e., does not require computing subsequent
+ data prior to sending current data);</p>
+ </li>
+
+ <li>
+ <p>can be progressively decoded (i.e., does not require forward references, but
+ uses only reverse references when necessary);</p>
+ </li>
+
+ <li>
+ <p>does not require dereferencing (and subsequent loading) of any resources
+ other than TTML Content (i.e., no embedded URIs);</p>
+ </li>
+
+ <li>
+ <p>does not support alternative content forms (e.g., different language,
+ graphics formats, time bases) in a single document;</p>
+ </li>
+
+ <li>
+ <p>has timing structure compiled into inline format that makes possible a
+ temporal ordering of content that follows temporal presentation order;</p>
+ </li>
+
+ <li>
+ <p>constrains content models to prevent arbitrary nested content
+ structures;</p>
+ </li>
+ </ul>
+
+ <p>One possible means by which TTML Content may be streamed is to partition a
+ <em>Document Instance</em>'s information set into non-overlapping fragments, where
+ one particular fragment, call it the <em>root fragment</em>, represents the front
+ matter (head) of the <em>Document Instance</em> as well as its top level structural
+ elements, and other fragments represent content whose time intervals are expected
+ to be active in parallel.</p>
+
+ <p>In applications that require arbitrary (random) entry into a stream, i.e., the
+ property of being able to start reading data at an arbitrary data access unit, the
+ root fragment will be repetitively transmitted (inserted) into the stream in order
+ to permit a decoder to resynchronize and acquire sufficient structural information
+ in the information set in order to interpret subsequent content 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" name=
+ "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" name="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 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" name="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 <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" name=
+ "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, 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"
+ name="clock-time-and-real-time"></a>
+
+ <table class="semantics">
+ <caption>
+ TTML Semantics – Clock Time and Real Time Relationship
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <blockquote>
+ <p><br>
+ <code>R = C + epochOffset + discontinuityOffset</code><br>
+ <br>
+ where <code>C ∈ ℜ</code>, <code>0 ≤ C < ∞</code>, <code>C</code> in
+ seconds since the most immediately prior midnight of the reference
+ clock base;<br>
+ <br>
+ <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
+ <code>epochOffset</code> in seconds, with 0 being the beginning of
+ epoch <code>E</code>, and where the value of <code>epochOffset</code>
+ is determined from the computed value of the <code>ttp:clockMode</code>
+ parameter as follows:<br>
+ <br>
+ (1) if <code>local</code>, then the difference between the local real
+ time at the most immediately prior local midnight and the local real
+ time at the beginning of epoch <code>E</code>, expressed in
+ seconds;<br>
+ <br>
+ (2) if <code>gps</code>, then the difference between the GPS time at
+ the most immediately prior GPS midnight and the GPS time at the
+ beginning of epoch <code>E</code>, expressed in seconds;<br>
+ <br>
+ (3) if <code>utc</code>, then the difference between the UTC time at
+ the most immediately prior UTC midnight and the UTC time at the
+ beginning of epoch <code>E</code>, expressed in seconds;<br>
+ <br>
+ <code>discontinuityOffset ∈ ℜ</code>, <code>−∞ < discontinuityOffset
+ < ∞</code>, <code>discontinuityOffset</code> in seconds, and where
+ the value of <code>discontinuityOffset</code> is equal to the sum of
+ leap seconds (and fractions thereof) that have been added (or
+ subtracted) since the most immediately prior midnight in the reference
+ clock base;<br>
+ <br>
+ and <code>epochOffset</code> and <code>discontinuityOffset</code> are
+ determined once and only once prior to the beginning of the <em>Root
+ Temporal Extent</em> such that during the period between value
+ determination and the beginning of the <em>Root Temporal Extent</em>
+ there occurs no local midnight or reference clock base
+ discontinuity.<br></p>
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Time value expressions, as denoted by a <a href=
+ "#timing-value-timeExpression"><timeExpression></a>, are related to clock
+ time <span class="strong"><code>C</code></span> as follows:</p><a id=
+ "time-expressions-and-clock-time" name="time-expressions-and-clock-time"></a>
+
+ <table class="semantics">
+ <caption>
+ TTML Semantics – Time Expressions and Clock Time Relationship
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <blockquote>
+ <p><br>
+ If a time expression uses the <em>clock-time</em> form or an
+ <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
+ metric, then:<br>
+ <br>
+ <code>C = 3600 * hours + 60 * minutes + seconds</code><br>
+ <br>
+ where <code>hours</code>, <code>minutes</code>, <code>seconds</code>
+ components are extracted from time expression if present, or zero if
+ not present.<br>
+ <br>
+ Otherwise, if a time expression uses an <em>offset-time</em> form that
+ uses the ticks (<code>t</code>) metric, then:<br>
+ <br>
+ <code>C = ticks / tickRate</code><br></p>
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>The <em>frames</em> and <em>sub-frames</em> terms and the frames
+ (<code>f</code>) metric of time expressions do not apply when using the
+ <code>clock</code> time base.</p>
+ </div>
+
+ <p>The clock time base <span class="strong"><code>C</code></span> is independent
+ of media time <span class="strong"><code>M</code></span>:</p><a id=
+ "clock-time-and-media-time" name="clock-time-and-media-time"></a>
+
+ <table class="semantics">
+ <caption>
+ TTML Semantics – Clock Time and Media Time Relationship
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <blockquote>
+ <p><br>
+ <code>M ¬∝ C</code><br></p>
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <div class="note">
+ <p class="prefix"><b>Note:</b></p>
+
+ <p>That is to say, timing is disconnected from (not necessarily proportional
+ to) media time when the <code>clock</code> time base is used. For example, if
+ the media play rate is zero (0), media playback is suspended; however, timing
+ coordinates 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" name=
+ "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, 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"
+ name="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>
+ <code>R = playRate * M + epochOffset</code><br>
+ <br>
+ where <code>M ∈ ℜ</code>, <code>0 ≤ M < ∞</code>, <code>M</code> in
+ seconds, with 0 corresponding to the beginning of the <em>Root Temporal
+ Extent</em>;<br>
+ <br>
+ <code>playRate ∈ ℜ</code>, <code>−∞ < playRate < ∞</code>,
+ <code>playRate</code> is unit-less, and where the value of
+ <code>playRate</code> is determined by the document processing
+ context;<br>
+ <br>
+ and <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
+ <code>epochOffset</code> in seconds, with 0 corresponding to the
+ beginning of an epoch <code>E</code>, and where the value of
+ <code>epochOffset</code> is the difference between the local real time
+ at the beginning of the <em>Root Temporal Extent</em> and the local
+ real time at the the beginning of epoch <code>E</code>, expressed in
+ seconds.</p>
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Time value expressions, as denoted by a <a href=
+ "#timing-value-timeExpression"><timeExpression></a>, are related to media
+ time <span class="strong"><code>M</code></span> in accordance to the
+ <code>ttp:frameRate</code>, <code>ttp:subFrameRate</code>, and
+ <code>ttp:frameRateMultipler</code> parameters as follows:</p><a id=
+ "time-expressions-and-media-time" name="time-expressions-and-media-time"></a>
+
+ <table class="semantics">
+ <caption>
+ TTML Semantics – Time Expressions and Media Time Relationship
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <blockquote>
+ <p><br>
+ If a time expression uses a <em>clock-time</em> form or an
+ <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
+ metric, then:<br>
+ <br>
+ <code>M = referenceBegin + 3600 * hours + 60 * minutes + seconds +
+ ((frames + (subFrames / subFrameRate)) / effectiveFrameRate)</code><br>
+ <br>
+ where <code>referenceBegin</code> is determined according to whether
+ the nearest ancestor time container employs parallel (<code>par</code>)
+ or sequential (<code>seq</code>) semantics: if parallel or if
+ sequential and no prior sibling timed element exists, then
+ <code>referenceBegin</code> is the media time that corresponds to the
+ beginning of the nearest ancestor time container or zero (0) if this
+ time container is the <em>Root Temporal Extent</em>; otherwise, if
+ sequential and a prior sibling timed element exists, then
+ <code>referenceBegin</code> is the media time that corresponds to the
+ active end of the immediate prior sibling timed element;<br>
+ <br>
+ the <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
+ <code>frames</code>, <code>subFrames</code> components are extracted
+ from time expression if present, or zero if not present;<br>
+ <br>
+ <code>subFrameRate</code> is the computed value of the
+ <code>ttp:subFrameRate</code> parameter;<br>
+ <br>
+ and <code>effectiveFrameRate</code> (in frames per second) is
+ <code>frameRate * frameRateMultipler</code> where
+ <code>frameRate</code> is the computed value of the
+ <code>ttp:frameRate</code> parameter and
+ <code>frameRateMultipler</code> is the computed value of the
+ <code>ttp:frameRateMultiplier</code> parameter.<br>
+ <br>
+ Otherwise, if a time expression uses an <em>offset-time</em> form that
+ uses the ticks (<code>t</code>) metric, then:<br>
+ <br>
+ <code>M = referenceBegin + ticks / tickRate</code><br>
+ <br>
+ where <code>referenceBegin</code> is as described above;<br>
+ <br>
+ the <code>ticks</code> component is extracted from time expression;<br>
+ <br>
+ and <code>tickRate</code> is the computed value of the
+ <code>ttp:tickRate</code> parameter;<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" name=
+ "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, 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 Codes</em> are encountered in the
+ <em>Related Media Object</em>.</p>
+
+ <p>Otherwise, if the computed value of the <code>ttp:markerMode</code> parameter
+ is <code>continuous</code>, then the relationships between time expressions and
+ local real time and media time are as described below in terms of a <em>Synthetic
+ SMPTE Document Syncbase</em>, here referred to as the SMPTE time base
+ <span class="strong"><code>S</code></span>.</p><a id=
+ "time-expressions-and-smpte-time" name="time-expressions-and-smpte-time"></a>
+
+ <table class="semantics">
+ <caption>
+ TTML Semantics – Time Expressions and SMPTE Time Relationship
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <blockquote>
+ <p><br>
+ <code>S = (countedFrames - droppedFrames + (subFrames / subFrameRate))
+ / effectiveFrameRate</code><br>
+ <br>
+ where<br>
+ <br>
+ <code>countedFrames = (3600 * hours + 60 * minutes + seconds) *
+ frameRate + frames</code><br>
+ <br>
+ <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
+ <code>frames</code>, <code>subFrames</code> components are extracted
+ from time expression if present, or zero if not present;<br>
+ <br>
+ <code>droppedFrames</code> is computed as follows:<br>
+ <br>
+ 1. let <em>dropMode</em> be the computed value of the
+ <code>ttp:dropMode</code> parameter;<br>
+ <br>
+ 2. if <em>dropMode</em> is <code>dropNTSC</code>, let
+ <code>droppedFrames = (hours * 54 + floor(minutes - minutes/10)) *
+ 2</code>;<br>
+ <br>
+ 3. otherwise, if <em>dropMode</em> is <code>dropPAL</code>, let
+ <code>droppedFrames = (hours * 27 + floor(minutes/2 - minutes/20)) *
+ 4</code>;<br>
+ <br>
+ 4. otherwise, let <code>droppedFrames = 0</code>;<br>
+ <br>
+ <code>frameRate</code> is the computed value of the
+ <code>ttp:frameRate</code> parameter;<br>
+ <br>
+ <code>subFrameRate</code> is the computed value of the
+ <code>ttp:subFrameRate</code> parameter;<br>
+ <br>
+ and <code>effectiveFrameRate</code> (in frames per second) is
+ <code>frameRate * frameRateMultipler</code> where
+ <code>frameRate</code> is the computed value of the
+ <code>ttp:frameRate</code> parameter and
+ <code>frameRateMultipler</code> is the computed value of the
+ <code>ttp:frameRateMultiplier</code> parameter.<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.<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" name=
+ "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>
+ <code>M = referenceBegin + S</code><br>
+ <br>
+ where <code>referenceBegin</code> is determined according to whether
+ the nearest ancestor time container employs parallel (<code>par</code>)
+ or sequential (<code>seq</code>) semantics: if parallel or if
+ sequential and no prior sibling timed element exists, then
+ <code>referenceBegin</code> is the SMPTE time that corresponds to the
+ beginning of the nearest ancestor time container or zero (0) if this
+ time container is the <em>Root Temporal Extent</em>; otherwise, if
+ sequential and a prior sibling timed element exists, then
+ <code>referenceBegin</code> is the SMPTE time that corresponds to the
+ active end of the immediate prior sibling timed element;<br></p>
+ </blockquote>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+
+ <p>Given the derived media time base as described above, then media time base
+ <span class="strong"><code>M</code></span> is related to the local real time
+ <span class="strong"><code>R</code></span> as described in <a href=
+ "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> above.</p>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="common-styling" name="common-styling"></a>O Common Caption Style
+ Examples (Non-Normative)</h2>
+
+ <p>This section provides examples of the following common caption styles using TTML
+ Content to obtain the desired behavior:</p>
+
+ <ul>
+ <li>
+ <p>Pop-On Captions</p>
+ </li>
+
+ <li>
+ <p>Roll-Up Captions</p>
+ </li>
+
+ <li>
+ <p>Paint-On Captions</p>
+ </li>
+ </ul>
+
+ <div class="div2">
+ <h3><a id="pop-on-example" name="pop-on-example"></a>O.1 Pop-On Caption
+ Example</h3>
+
+ <p>An example of paint-on captions. In this example, two regions are targeted
+ with alternating, paint-on content, where content is timed using explicit
+ sequential time containment rules. Each paragraph is non-overlapping in time and
+ appears in the same single row of its targeted region.</p><a id=
+ "pop-on-example-1-s" name="pop-on-example-1-s"></a>
+
+ <table class="example">
+ <caption>
+ Example – Pop-On Captions
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 1c"/>
+ <region xml:id="r2" tts:color="yellow" tts:origin="10c 8c" tts:extent="40c 1c"/>
+ </layout>
+ </head>
+ <body>
+ <div timeContainer="seq">
+ <p region="r1" dur="4s">Lorem ipsum dolor sit</p
+ <p region="r2" dur="4s">Amet consectetur adipiscing elit</p>
+ <p region="r1" dur="6s">Sed do eiusmod tempor incididunt labore</p>
+ <p region="r2" dur="4s">et dolore magna aliqua</p>
+ <p region="r1" dur="7s">Ut enim ad minim veniam quis, nostrud</p>
+ </div>
+ </body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div2">
+ <h3><a id="roll-up-example" name="roll-up-example"></a>O.2 Roll-Up Caption
+ Example</h3>
+
+ <p>An example of roll-up captions. Roll-up effects are achieved by using
+ overlapped time intervals, where zero, one, or two paragraphs appear in the
+ region at a given time. Each paragraph consumes a single row (line) of the region
+ since no wrapping occurs. Depending on whether a presentation processor supports
+ <a href="#semantics-smooth-scrolling-recommendation">smooth scrolling between
+ adjacent synchronic intermediate document instances</a>, the transitions, i.e.,
+ moving an old paragraph (line) out and a new paragraph (line) in, will be either
+ smooth or discrete.</p><a id="roll-up-example-1-s" name=
+ "roll-up-example-1-s"></a>
+
+ <table class="example">
+ <caption>
+ Example – Roll-Up Captions
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 2c"/>
+ </layout>
+ </head>
+ <body>
+ <div region="r1">
+ <p begin="0s" end="8s">Lorem ipsum dolor sit</p
+ <p begin="4s" end="12s">Amet consectetur adipiscing elit</p>
+ <p begin="8s" end="18s">Sed do eiusmod tempor incididunt labore</p>
+ <p begin="14s" end="25s">et dolore magna aliqua</p>
+ <p begin="18s" end="29s">Ut enim ad minim veniam quis, nostrud</p>
+ </div>
+ </body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+
+ <div class="div2">
+ <h3><a id="paint-on-example" name="paint-on-example"></a>O.3 Paint-On Caption
+ Example</h3>
+
+ <p>An example of paint-on captions. Paint-on effects are achieved by using timed
+ <code>span</code> elements in order to expose (paint) inline text units, e.g.,
+ words, over some time interval. Here, five paragraphs have their individual words
+ sequentially timed in order to paint one new word every second. The end of the
+ active duration of each inline element coincides with the end of the
+ <code>div</code> element's parallel time container, so that once a word is
+ painted, it remains in the region (on its rendered line) until the
+ <code>div</code> element's active time interval lapses.</p><a id=
+ "paint-on-example-1-s" name="paint-on-example-1-s"></a>
+
+ <table class="example">
+ <caption>
+ Example – Paint-On Captions
+ </caption>
+
+ <tbody>
+ <tr>
+ <td>
+ <div class="exampleInner">
+ <pre>
+<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
+ xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
+ <head>
+ <layout>
+ <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 5c"/>
+ </layout>
+ </head>
+ <body>
+ <div begin="0s" end="25s">
+ <p>
+ <span begin="0s">Lorem</span>
+ <span begin="1s">ipsum</span>
+ <span begin="2s">dolor</span>
+ <span begin="3s">sit</span>
+ </p>
+ <p>
+ <span begin="4s">Amet</span>
+ <span begin="5s">consectetur</span>
+ <span begin="6s">adipiscing</span>
+ <span begin="7s">elit</span>
+ </p>
+ <p>
+ <span begin="8s">Sed</span>
+ <span begin="9s">do</span>
+ <span begin="10s">eiusmod</span>
+ <span begin="11s">tempor</span>
+ <span begin="12s">incididunt </span>
+ <span begin="13s">labore</span>
+ </p>
+ <p>
+ <span begin="14s">et</span>
+ <span begin="15s">dolore</span>
+ <span begin="16s">magna</span>
+ <span begin="17s">aliqua</span>
+ </p>
+ <p>
+ <span begin="18s">Ut</span>
+ <span begin="19s">enim</span>
+ <span begin="20s">ad</span>
+ <span begin="21s">minim</span>
+ <span begin="22s">veniam</span>
+ <span begin="23s">quis,</span>
+ <span begin="24s">nostrud</span>
+ </p>
+ </div>
+ </body>
+</tt>
+</pre>
+ </div>
+ </td>
+ </tr>
+ </tbody>
+ </table>
+ </div>
+ </div>
+
+ <div class="div1">
+ <h2><a id="acknowledgments" name="acknowledgments"></a>P Acknowledgments
+ (Non-Normative)</h2>
+
+ <p>The editor acknowledges the current and former members of the Timed Text Working
+ Group, the members of other W3C Working Groups, and industry experts in other
+ forums who have contributed directly or indirectly to the process or content of
+ this document as follows:</p>
+
+ <p>Glenn Adams, Thomas Bause-Mason, John Birch, Kees Blom, Bert Bos, Brad Botkin,
+ Dick Bulterman, Frans de Jong, Mike Dolan, Martin Dürst, Donald Evans, Geoff Freed,
+ Al Gilman, Giles Godart-Brown, Markus Gylling, Markku Hakkinen, Sean Hayes, Erik
+ Hodge, Philipp Hoschka, Suzi Hyun, Michael Jordan, Masahiko Kaneko, Courtney
+ Kennedy, George Kerscher, David Kirby, Andrew Kirkpatrick, Philippe Le Hégaret,
+ Chris Lilley, Pierre-Anthony Lemieux, Jason Livingston, Monica Martin, Thierry
+ Michel, Matthew May, Frank Olivier, Soohong Daniel Park, Silvia Pfeiffer, Brian
+ Raymor, David Ronca, Patrick Schmitz, David Singer, Craig Smithpeters, Andreas Tai,
+ and Mohamed Zergaoui.</p>
+
+ <p>The editor wishes to especially acknowledge the following contributions by
+ members: Micheal Dolan (SMPTE time codes, streaming; SMPTE liaison), David Kirby
+ (introductory example document; SMPTE time codes, descriptive metadata; EBU/AAF
+ liaison), Geoff Freed (styling and example images of style properties), Sean Hayes
+ (advanced profile concepts, including applicative timing), Eric Hodge (timing),
+ Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p>
+
+ <p>The Working Group dedicates this specification to our colleague David Kirby.</p>
+ </div>
+ </div>
+</body>
+</html>
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/backgroundColor.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/color.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/direction.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/displayAlign.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/display_0.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/display_1.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/display_2.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/display_3.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/display_4.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/extent.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/fontFamily.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/fontSize.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/fontStyle.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/fontWeight.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/lineHeight.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/model.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/opacity_0.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/opacity_1.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/opacity_2.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/opacity_3.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/opacity_4.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/origin.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/overflow.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/padding.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/streaming.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle1.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle2.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle3.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle4.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle5.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle6.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle7.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle8.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/subtitle9.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/textAlign.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/textDecoration.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/textOutline.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/unicodeBidi.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/visibility_0.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/visibility_1.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/visibility_2.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/visibility_3.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/wrapOption.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/writingMode.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/images/zIndex.png has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/rnc/schema.zip has changed
Binary file ttml10/spec/PER-ttaf1-dfxp-20130709/xsd/schema.zip has changed
--- a/ttml10/spec/PER-ttaf1-dfxp-201307DD.html Thu Jun 27 10:35:37 2013 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,21377 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en-us">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
- <title>Timed Text Markup Language (TTML) 1.0 (Second Edition)</title>
- <style type="text/css">
- code { font-family: monospace; }
-
- div.constraint,
- div.issue,
- div.note,
- div.notice { margin-left: 2em; }
-
- ol.enumar { list-style-type: decimal; }
- ol.enumla { list-style-type: lower-alpha; }
- ol.enumlr { list-style-type: lower-roman; }
- ol.enumua { list-style-type: upper-alpha; }
- ol.enumur { list-style-type: upper-roman; }
-
-
- div.exampleInner pre { margin-left: 1em;
- margin-top: 0em; margin-bottom: 0em}
- div.exampleOuter {border: 4px double gray;
- margin: 0em; padding: 0em}
- div.exampleInner { background-color: #d5dee3;
- border-top-width: 4px;
- border-top-style: double;
- border-top-color: #d3d3d3;
- border-bottom-width: 4px;
- border-bottom-style: double;
- border-bottom-color: #d3d3d3;
- padding: 4px; margin: 0em }
- div.exampleWrapper { margin: 4px }
- div.exampleHeader { font-weight: bold;
- margin: 4px}
-
- li p { margin-top: 0.3em; margin-bottom: 0.3em; }
- div.issue { border: 2px solid black; background-color: #ffff66; padding: 0em 1em; margin: 0em 0em }
- table.ednote { border-collapse: collapse; border: 2px solid black; width: 85% }
- table.ednote td { background-color: #ddaa66; border: 2px solid black }
- table.acronyms td.label { width: 15% }
- table.acronyms td.def { width: 65% }
- table.graphic { border: 0px none black; width: 100%; border-collapse: collapse }
- table.graphic caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.graphic td { border: 0px none black; text-align: center }
- table.common { border: 2px solid black; width: 85%; border-collapse: collapse }
- table.common caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.common th { padding: 0em 0.5em; border: 2px solid black; text-align: left }
- table.common td { padding: 0em 0.5em; border: 2px solid black }
- table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.syntax th { border: 0px solid black; text-align: left }
- table.syntax td { border: 0px solid black }
- table.syntax div { background-color: #ffffc8 }
- table.semantics { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.semantics caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.semantics th { border: 0px solid black; text-align: left }
- table.semantics td {
- border-left: 0px solid black;
- border-right: 0px solid black;
- border-top: 4px double #d3d3d3;
- border-bottom: 4px double #d3d3d3;
- background-color: #ccffcc
- }
- table.semantics code.formulae {
- padding: 1em;
- border: 1px dashed #005a9c;
- line-height: 1.1em;
- background-color: #fdfdfd;
- }
- table.example { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.example th { border: 0px solid black; text-align: left }
- table.example td { border: 0px solid black; }
- table.example div { background-color: #c8ffff }
- table.example-images { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images td { border: 0px solid black; text-align: center }
- table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images-bordered td { border: 1px solid red; text-align: left }
- .tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
- .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-PER.css">
-</head>
-
-<body>
- <div class="head">
- <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home"
- alt="W3C" height="48" width="72"></a></p>
-
- <h1><a id="title" name="title"></a>Timed Text Markup Language (TTML) 1.0
- (Second Edition)</h1>
-
- <h2><a id="w3c-doctype" name="w3c-doctype"></a>W3C Proposed Edited
- Recommendation DD July 2013</h2>
-
- <dl>
- <dt>This version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/2013/PER-ttaf1-dfxp-201307DD/">http://www.w3.org/TR/2013/PER-ttaf1-dfxp-201307DD/</a></dd>
-
- <dt>Latest version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</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></dd>
-
- <dt>Editor:</dt>
-
- <dd>Glenn Adams, Cox Communications, Inc.</dd>
-
- <dt>Contributing Authors:</dt>
-
- <dd>Mike Dolan, Invited Expert</dd>
-
- <dd>Geoff Freed, WGBH National Center for Accessible Media</dd>
-
- <dd>Sean Hayes, Microsoft</dd>
-
- <dd>Erik Hodge, RealNetworks</dd>
-
- <dd>David Kirby, British Broadcasting Corporation (BBC)</dd>
-
- <dd>Thierry Michel, W3C</dd>
-
- <dd>Dave Singer, Apple Computer</dd>
- </dl>
-
- <p>Please refer to the <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-issues.html">
- errata</a> for this document, which may include normative corrections.</p>
-
- <p>See also <a href=
- "http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp">
- <strong>translations</strong></a>.</p>
-
- <p class="copyright"><a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
- (<a href="http://www.csail.mit.edu/"><acronym title=
- "Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
- "http://www.ercim.eu/"><acronym title=
- "European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
- <a href="http://www.keio.ac.jp/">Keio</a>, <a href=
- "http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
- <a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
- and <a href=
- "http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
- rules apply.</p>
- </div>
- <hr>
-
- <div>
- <h2><a id="abstract" name="abstract"></a>Abstract</h2>
-
- <p>This document specifies the Timed Text Markup Language (TTML) in terms
- of a vocabulary and semantics thereof.</p>
-
- <p>The Timed Text Markup Language is a content type that represents timed
- text media for the purpose of interchange among authoring systems. Timed
- text is textual information that is intrinsically or extrinsically
- associated with timing information.</p>
-
- <p>It is intended to be used for the purpose of transcoding or exchanging
- timed text information among legacy distribution content formats presently
- in use for subtitling and captioning functions.</p>
-
- <p>In addition to being used for interchange among legacy distribution
- content formats, TTML Content may be used directly as a distribution
- format, for example, providing a standard content format to reference from
- a <code><track></code> element in an HTML5 document, or a
- <code><text></code> or <code><textstream></code> media element
- in a <a href="#smil21">[SMIL 2.1]</a> document.</p>
- </div>
-
- <div>
- <h2><a id="status" name="status"></a>Status of this Document</h2>
-
- <p><em>This section describes the status of this document at the time of
- its publication. Other documents may supersede this document. A list of
- current W3C publications and the latest revision of this technical report
- can be found in the <a href="http://www.w3.org/TR/">W3C technical reports
- index</a> at http://www.w3.org/TR/.</em></p>
-
- <p>This document, published on DD July 2013, is a <a href=
- "http://www.w3.org/2005/10/Process-20051014/tr.html#ProposedEditedRec">Proposed
- Edited Recommendation</a> of the W3C. This second edition is not a new
- version of this specification; its purpose is to clarify a number of issues
- that have become apparent since the first edition was published.</p>
-
- <p>This document has been produced by the <a href=
- "http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as
- part of the W3C <a href="http://www.w3.org/2008/WebVideo/">Video in the Web
- Activity</a>, following the procedures set out for the W3C <a href=
- "http://www.w3.org/Consortium/Process/">Process</a>. The authors of this
- document are listed in the header of this document.</p>
-
- <p>Publication as a Proposed Edited Recommendation does not imply
- endorsement by the W3C Membership. This is a draft document and may be
- updated, replaced or obsoleted by other documents at any time. It is
- inappropriate to cite this document as other than work in progress.</p>
-
- <p>W3C Advisory Committee Members are invited to send formal review
- comments on this Proposed Edited Recommendation to the W3C Team until DD
- August 2013. Members of the W3C Advisory Committee will find the
- appropriate review form for this document by consulting their <a href=
- "http://www.w3.org/2002/09/wbs/myQuestionnaires">list of WBS
- questionnaires</a>.</p>
-
- <p>This document incorporates changes made against the <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">Recommendation</a> of
- 18 November 2010 that resolve all errata known at the date of publication.
- A list of the errata that have been applied is provided in <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-changes.html#change-history-rec-to-2e-per">
- Changes from Recommendation to Proposed Edited Recommendation (2nd
- Ed.)</a>.</p>
-
- <p>Please report errors in and submit comments on this document to the W3C
- Timed Text public comments mailing list, <a href=
- "mailto:public-tt-comments@w3.org">public-tt-comments@w3.org</a>. Please
- include the string <code>[ttml10se]</code> at the beginning of the subject
- line of your report. Each email message should contain only one error
- report. Archives of the comments and responses are available at <a href=
- "http://lists.w3.org/Archives/Public/public-tt-comments/">http://lists.w3.org/Archives/Public/public-tt-comments/</a>.</p>
-
- <p>An updated <a href=
- "http://www.w3.org/2009/05/dfxp-results.html">implementation report</a>
- will be made available, but the decision of the Director to transition this
- document to Proposed Edited Recommendation did not depend on the existence
- of that report.</p>
-
- <p>The Timed Text Working Group plans to submit this specification for
- consideration as a W3C Recommendation (Second Edition) as soon as the
- Working Group has responded formally to all issues raised during the PER
- period against this document.</p>
-
- <p>This document was produced by a group operating under the <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C
- Patent Policy</a>. W3C maintains a <a href=
- "http://www.w3.org/2004/01/pp-impl/34314/status#disclosures" rel=
- "disclosure">public list of any patent disclosures</a> made in connection
- with the deliverables of the group; that page also includes instructions
- for disclosing a patent. An individual who has actual knowledge of a patent
- which the individual believes contains <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
- Claim(s)</a> must disclose the information in accordance with <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
- 6 of the W3C Patent Policy</a>.</p>
- </div>
-
- <div class="toc">
- <h2><a id="contents" name="contents"></a>Table of Contents</h2>
-
- <p class="toc">1 <a href="#intro">Introduction</a><br>
- 1.1 <a href="#model">System Model</a><br>
- 1.2 <a href="#example">Document Example</a><br>
- 2 <a href="#definitions">Definitions</a><br>
- 2.1 <a href="#acronyms">Acronyms</a><br>
- 2.2 <a href="#terms">Terminology</a><br>
- 2.3 <a href="#conventions">Documentation
- Conventions</a><br>
- 3 <a href="#conformance">Conformance</a><br>
- 3.1 <a href="#conformance-content">Content
- Conformance</a><br>
- 3.2 <a href="#conformance-processor">Processor
- Conformance</a><br>
- 3.2.1 <a href=
- "#conformance-generic-processor">Generic Processor Conformance</a><br>
- 3.2.2 <a href=
- "#conformance-transformation-processor">Transformation Processor
- Conformance</a><br>
- 3.2.3 <a href=
- "#conformance-presentation-processor">Presentation Processor
- Conformance</a><br>
- 3.3 <a href="#claims">Claims</a><br>
- 4 <a href="#doctypes">Document Types</a><br>
- 4.1 <a href="#ttml-content-doctype">TTML
- Content</a><br>
- 5 <a href="#vocabulary">Vocabulary</a><br>
- 5.1 <a href=
- "#vocabulary-namespaces">Namespaces</a><br>
- 5.2 <a href="#vocabulary-profiles">Profiles</a><br>
- 5.3 <a href="#vocabulary-overview">Catalog</a><br>
- 5.3.1 <a href=
- "#core-vocabulary-overview">Core Catalog</a><br>
- 5.3.2 <a href=
- "#extension-vocabulary-overview">Extension Catalog</a><br>
- 6 <a href="#parameters">Parameters</a><br>
- 6.1 <a href=
- "#parameter-element-vocabulary">Parameter Element Vocabulary</a><br>
- 6.1.1 <a href=
- "#parameter-vocabulary-profile">ttp:profile</a><br>
- 6.1.2 <a href=
- "#parameter-vocabulary-features">ttp:features</a><br>
- 6.1.3 <a href=
- "#parameter-vocabulary-feature">ttp:feature</a><br>
- 6.1.4 <a href=
- "#parameter-vocabulary-extensions">ttp:extensions</a><br>
- 6.1.5 <a href=
- "#parameter-vocabulary-extension">ttp:extension</a><br>
- 6.2 <a href=
- "#parameter-attribute-vocabulary">Parameter Attribute Vocabulary</a><br>
- 6.2.1 <a href=
- "#parameter-attribute-cellResolution">ttp:cellResolution</a><br>
- 6.2.2 <a href=
- "#parameter-attribute-clockMode">ttp:clockMode</a><br>
- 6.2.3 <a href=
- "#parameter-attribute-dropMode">ttp:dropMode</a><br>
- 6.2.4 <a href=
- "#parameter-attribute-frameRate">ttp:frameRate</a><br>
- 6.2.5 <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultiplier</a><br>
- 6.2.6 <a href=
- "#parameter-attribute-markerMode">ttp:markerMode</a><br>
- 6.2.7 <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br>
- 6.2.8 <a href=
- "#parameter-attribute-profile">ttp:profile</a><br>
- 6.2.9 <a href=
- "#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
- 6.2.10 <a href=
- "#parameter-attribute-tickRate">ttp:tickRate</a><br>
- 6.2.11 <a href=
- "#parameter-attribute-timeBase">ttp:timeBase</a><br>
- 7 <a href="#content">Content</a><br>
- 7.1 <a href="#content-element-vocabulary">Content
- Element Vocabulary</a><br>
- 7.1.1 <a href=
- "#document-structure-vocabulary-tt">tt</a><br>
- 7.1.2 <a href=
- "#document-structure-vocabulary-head">head</a><br>
- 7.1.3 <a href=
- "#document-structure-vocabulary-body">body</a><br>
- 7.1.4 <a href=
- "#content-vocabulary-div">div</a><br>
- 7.1.5 <a href=
- "#content-vocabulary-p">p</a><br>
- 7.1.6 <a href=
- "#content-vocabulary-span">span</a><br>
- 7.1.7 <a href=
- "#content-vocabulary-br">br</a><br>
- 7.2 <a href="#content-attribute-vocabulary">Content
- Attribute Vocabulary</a><br>
- 7.2.1 <a href=
- "#content-attribute-id">xml:id</a><br>
- 7.2.2 <a href=
- "#content-attribute-lang">xml:lang</a><br>
- 7.2.3 <a href=
- "#content-attribute-space">xml:space</a><br>
- 8 <a href="#styling">Styling</a><br>
- 8.1 <a href="#styling-element-vocabulary">Styling
- Element Vocabulary</a><br>
- 8.1.1 <a href=
- "#styling-vocabulary-styling">styling</a><br>
- 8.1.2 <a href=
- "#styling-vocabulary-style">style</a><br>
- 8.2 <a href="#styling-attribute-vocabulary">Styling
- Attribute Vocabulary</a><br>
- 8.2.1 <a href=
- "#style-attribute-style">style</a><br>
- 8.2.2 <a href=
- "#style-attribute-backgroundColor">tts:backgroundColor</a><br>
- 8.2.3 <a href=
- "#style-attribute-color">tts:color</a><br>
- 8.2.4 <a href=
- "#style-attribute-direction">tts:direction</a><br>
- 8.2.5 <a href=
- "#style-attribute-display">tts:display</a><br>
- 8.2.6 <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a><br>
- 8.2.7 <a href=
- "#style-attribute-extent">tts:extent</a><br>
- 8.2.8 <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a><br>
- 8.2.9 <a href=
- "#style-attribute-fontSize">tts:fontSize</a><br>
- 8.2.10 <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a><br>
- 8.2.11 <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a><br>
- 8.2.12 <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a><br>
- 8.2.13 <a href=
- "#style-attribute-opacity">tts:opacity</a><br>
- 8.2.14 <a href=
- "#style-attribute-origin">tts:origin</a><br>
- 8.2.15 <a href=
- "#style-attribute-overflow">tts:overflow</a><br>
- 8.2.16 <a href=
- "#style-attribute-padding">tts:padding</a><br>
- 8.2.17 <a href=
- "#style-attribute-showBackground">tts:showBackground</a><br>
- 8.2.18 <a href=
- "#style-attribute-textAlign">tts:textAlign</a><br>
- 8.2.19 <a href=
- "#style-attribute-textDecoration">tts:textDecoration</a><br>
- 8.2.20 <a href=
- "#style-attribute-textOutline">tts:textOutline</a><br>
- 8.2.21 <a href=
- "#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
- 8.2.22 <a href=
- "#style-attribute-visibility">tts:visibility</a><br>
- 8.2.23 <a href=
- "#style-attribute-wrapOption">tts:wrapOption</a><br>
- 8.2.24 <a href=
- "#style-attribute-writingMode">tts:writingMode</a><br>
- 8.2.25 <a href=
- "#style-attribute-zIndex">tts:zIndex</a><br>
- 8.3 <a href=
- "#styling-style-value-expressions">Style Value Expressions</a><br>
- 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.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.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>
- 8.4.1.2
- <a href="#semantics-style-association-referential">Referential
- Styling</a><br>
- 8.4.1.3
- <a href="#semantics-style-association-chained-referential">Chained
- Referential Styling</a><br>
- 8.4.1.4
- <a href="#semantics-style-association-nested">Nested Styling</a><br>
- 8.4.2 <a href=
- "#semantics-style-inheritance">Style Inheritance</a><br>
- 8.4.2.1
- <a href="#semantics-style-inheritance-content">Content Style
- Inheritance</a><br>
- 8.4.2.2
- <a href="#semantics-style-inheritance-region">Region Style
- Inheritance</a><br>
- 8.4.3 <a href=
- "#semantics-style-resolution-value-categories">Style Resolution Value
- Categories</a><br>
- 8.4.3.1
- <a href="#semantics-style-resolved-value-category-specified">Specified
- Values</a><br>
- 8.4.3.2
- <a href="#semantics-style-resolved-value-category-computed">Computed
- Values</a><br>
- 8.4.3.3
- <a href="#semantics-style-resolved-value-category-actual">Actual
- Values</a><br>
- 8.4.4 <a href=
- "#semantics-style-resolution-processing">Style Resolution
- Processing</a><br>
- 8.4.4.1
- <a href="#semantics-style-resolution-processing-definitions">Conceptual
- Definitions</a><br>
- 8.4.4.2
- <a href="#semantics-style-resolution-processing-sss">Specified Style Set
- Processing</a><br>
- 8.4.4.3
- <a href="#semantics-style-resolution-processing-css">Computed Style Set
- Processing</a><br>
- 8.4.4.4
- <a href="#semantics-style-resolution-process-overall">Style Resolution
- Process</a><br>
- 9 <a href="#layout">Layout</a><br>
- 9.1 <a href="#layout-element-vocabulary">Layout
- Element Vocabulary</a><br>
- 9.1.1 <a href=
- "#layout-vocabulary-layout">layout</a><br>
- 9.1.2 <a href=
- "#layout-vocabulary-region">region</a><br>
- 9.2 <a href="#layout-attribute-vocabulary">Layout
- Attribute Vocabulary</a><br>
- 9.2.1 <a href=
- "#layout-attribute-region">region</a><br>
- 9.3 <a href="#semantics-region-layout">Region
- Layout and Presentation</a><br>
- 9.3.1 <a href=
- "#semantics-default-region">Default Region</a><br>
- 9.3.2 <a href=
- "#semantics-region-layout-step-1">Intermediate Synchronic Document
- Construction</a><br>
- 9.3.3 <a href=
- "#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
- 9.3.4 <a href=
- "#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
- 9.4 <a href="#semantics-line-layout">Line
- Layout</a><br>
- 10 <a href="#timing">Timing</a><br>
- 10.1 <a href="#timing-element-vocabulary">Timing
- Element Vocabulary</a><br>
- 10.2 <a href="#timing-attribute-vocabulary">Timing
- Attribute Vocabulary</a><br>
- 10.2.1 <a href=
- "#timing-attribute-begin">begin</a><br>
- 10.2.2 <a href=
- "#timing-attribute-end">end</a><br>
- 10.2.3 <a href=
- "#timing-attribute-dur">dur</a><br>
- 10.2.4 <a href=
- "#timing-attribute-timeContainer">timeContainer</a><br>
- 10.3 <a href="#timing-time-value-expressions">Time
- Value Expressions</a><br>
- 10.3.1 <a href=
- "#timing-value-timeExpression"><timeExpression></a><br>
- 10.4 <a href="#timing-time-intervals">Time
- Intervals</a><br>
- 11 <a href="#animation">Animation</a><br>
- 11.1 <a href=
- "#animation-element-vocabulary">Animation Element Vocabulary</a><br>
- 11.1.1 <a href=
- "#animation-vocabulary-set">set</a><br>
- 11.2 <a href=
- "#animation-attribute-vocabulary">Animation Attribute Vocabulary</a><br>
- 12 <a href="#metadata">Metadata</a><br>
- 12.1 <a href=
- "#metadata-element-vocabulary">Metadata Element Vocabulary</a><br>
- 12.1.1 <a href=
- "#metadata-vocabulary-metadata">metadata</a><br>
- 12.1.2 <a href=
- "#metadata-vocabulary-title">ttm:title</a><br>
- 12.1.3 <a href=
- "#metadata-vocabulary-desc">ttm:desc</a><br>
- 12.1.4 <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a><br>
- 12.1.5 <a href=
- "#metadata-vocabulary-agent">ttm:agent</a><br>
- 12.1.6 <a href=
- "#metadata-vocabulary-name">ttm:name</a><br>
- 12.1.7 <a href=
- "#metadata-vocabulary-actor">ttm:actor</a><br>
- 12.2 <a href=
- "#metadata-attribute-vocabulary">Metadata Attribute Vocabulary</a><br>
- 12.2.1 <a href=
- "#metadata-attribute-agent">ttm:agent</a><br>
- 12.2.2 <a href=
- "#metadata-attribute-role">ttm:role</a><br></p>
-
- <h3><a id="appendices" name="appendices"></a>Appendices</h3>
-
- <p class="toc">A <a href="#reduced-infoset">Reduced XML Infoset</a><br>
- A.1 <a href="#reduced-infoset-document">Document
- Information Item</a><br>
- A.2 <a href="#reduced-infoset-element">Element
- Information Item</a><br>
- A.3 <a href="#reduced-infoset-attribute">Attribute
- Information Item</a><br>
- A.4 <a href="#reduced-infoset-character">Character
- Information Item</a><br>
- 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>
- 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>
- D.1.2 <a href=
- "#feature-backgroundColor">#backgroundColor</a><br>
- D.1.3 <a href=
- "#feature-backgroundColor-block">#backgroundColor-block</a><br>
- D.1.4 <a href=
- "#feature-backgroundColor-inline">#backgroundColor-inline</a><br>
- D.1.5 <a href=
- "#feature-backgroundColor-region">#backgroundColor-region</a><br>
- D.1.6 <a href=
- "#feature-bidi">#bidi</a><br>
- D.1.7 <a href=
- "#feature-cellResolution">#cellResolution</a><br>
- D.1.8 <a href=
- "#feature-clockMode">#clockMode</a><br>
- D.1.9 <a href=
- "#feature-clockMode-gps">#clockMode-gps</a><br>
- D.1.10 <a href=
- "#feature-clockMode-local">#clockMode-local</a><br>
- D.1.11 <a href=
- "#feature-clockMode-utc">#clockMode-utc</a><br>
- D.1.12 <a href=
- "#feature-color">#color</a><br>
- D.1.13 <a href=
- "#feature-content">#content</a><br>
- D.1.14 <a href=
- "#feature-core">#core</a><br>
- D.1.15 <a href=
- "#feature-direction">#direction</a><br>
- D.1.16 <a href=
- "#feature-display">#display</a><br>
- D.1.17 <a href=
- "#feature-display-block">#display-block</a><br>
- D.1.18 <a href=
- "#feature-display-inline">#display-inline</a><br>
- D.1.19 <a href=
- "#feature-display-region">#display-region</a><br>
- D.1.20 <a href=
- "#feature-displayAlign">#displayAlign</a><br>
- D.1.21 <a href=
- "#feature-dropMode">#dropMode</a><br>
- D.1.22 <a href=
- "#feature-dropMode-dropNTSC">#dropMode-dropNTSC</a><br>
- D.1.23 <a href=
- "#feature-dropMode-dropPAL">#dropMode-dropPAL</a><br>
- D.1.24 <a href=
- "#feature-dropMode-nonDrop">#dropMode-nonDrop</a><br>
- D.1.25 <a href=
- "#feature-extent">#extent</a><br>
- D.1.26 <a href=
- "#feature-extent-region">#extent-region</a><br>
- D.1.27 <a href=
- "#feature-extent-root">#extent-root</a><br>
- D.1.28 <a href=
- "#feature-fontFamily">#fontFamily</a><br>
- D.1.29 <a href=
- "#feature-fontFamily-generic">#fontFamily-generic</a><br>
- D.1.30 <a href=
- "#feature-fontFamily-non-generic">#fontFamily-non-generic</a><br>
- D.1.31 <a href=
- "#feature-fontSize">#fontSize</a><br>
- D.1.32 <a href=
- "#feature-fontSize-anamorphic">#fontSize-anamorphic</a><br>
- D.1.33 <a href=
- "#feature-fontSize-isomorphic">#fontSize-isomorphic</a><br>
- D.1.34 <a href=
- "#feature-fontStyle">#fontStyle</a><br>
- D.1.35 <a href=
- "#feature-fontStyle-italic">#fontStyle-italic</a><br>
- D.1.36 <a href=
- "#feature-fontStyle-oblique">#fontStyle-oblique</a><br>
- D.1.37 <a href=
- "#feature-fontWeight">#fontWeight</a><br>
- D.1.38 <a href=
- "#feature-fontWeight-bold">#fontWeight-bold</a><br>
- D.1.39 <a href=
- "#feature-frameRate">#frameRate</a><br>
- D.1.40 <a href=
- "#feature-frameRateMultiplier">#frameRateMultiplier</a><br>
- D.1.41 <a href=
- "#feature-layout">#layout</a><br>
- D.1.42 <a href=
- "#feature-length">#length</a><br>
- D.1.43 <a href=
- "#feature-length-cell">#length-cell</a><br>
- D.1.44 <a href=
- "#feature-length-em">#length-em</a><br>
- D.1.45 <a href=
- "#feature-length-integer">#length-integer</a><br>
- D.1.46 <a href=
- "#feature-length-negative">#length-negative</a><br>
- D.1.47 <a href=
- "#feature-length-percentage">#length-percentage</a><br>
- D.1.48 <a href=
- "#feature-length-pixel">#length-pixel</a><br>
- D.1.49 <a href=
- "#feature-length-positive">#length-positive</a><br>
- D.1.50 <a href=
- "#feature-length-real">#length-real</a><br>
- D.1.51 <a href=
- "#feature-lineBreak-uax14">#lineBreak-uax14</a><br>
- D.1.52 <a href=
- "#feature-lineHeight">#lineHeight</a><br>
- D.1.53 <a href=
- "#feature-markerMode">#markerMode</a><br>
- D.1.54 <a href=
- "#feature-markerMode-continuous">#markerMode-continuous</a><br>
- D.1.55 <a href=
- "#feature-markerMode-discontinuous">#markerMode-discontinuous</a><br>
- D.1.56 <a href=
- "#feature-metadata">#metadata</a><br>
- D.1.57 <a href=
- "#feature-nested-div">#nested-div</a><br>
- D.1.58 <a href=
- "#feature-nested-span">#nested-span</a><br>
- D.1.59 <a href=
- "#feature-opacity">#opacity</a><br>
- D.1.60 <a href=
- "#feature-origin">#origin</a><br>
- D.1.61 <a href=
- "#feature-overflow">#overflow</a><br>
- D.1.62 <a href=
- "#feature-overflow-visible">#overflow-visible</a><br>
- D.1.63 <a href=
- "#feature-padding">#padding</a><br>
- D.1.64 <a href=
- "#feature-padding-1">#padding-1</a><br>
- D.1.65 <a href=
- "#feature-padding-2">#padding-2</a><br>
- D.1.66 <a href=
- "#feature-padding-3">#padding-3</a><br>
- D.1.67 <a href=
- "#feature-padding-4">#padding-4</a><br>
- D.1.68 <a href=
- "#feature-pixelAspectRatio">#pixelAspectRatio</a><br>
- D.1.69 <a href=
- "#feature-presentation">#presentation</a><br>
- D.1.70 <a href=
- "#feature-profile">#profile</a><br>
- D.1.71 <a href=
- "#feature-showBackground">#showBackground</a><br>
- D.1.72 <a href=
- "#feature-structure">#structure</a><br>
- D.1.73 <a href=
- "#feature-styling">#styling</a><br>
- D.1.74 <a href=
- "#feature-styling-chained">#styling-chained</a><br>
- D.1.75 <a href=
- "#feature-styling-inheritance-content">#styling-inheritance-content</a><br>
- D.1.76 <a href=
- "#feature-styling-inheritance-region">#styling-inheritance-region</a><br>
- D.1.77 <a href=
- "#feature-styling-inline">#styling-inline</a><br>
- D.1.78 <a href=
- "#feature-styling-nested">#styling-nested</a><br>
- D.1.79 <a href=
- "#feature-styling-referential">#styling-referential</a><br>
- D.1.80 <a href=
- "#feature-subFrameRate">#subFrameRate</a><br>
- D.1.81 <a href=
- "#feature-textAlign">#textAlign</a><br>
- D.1.82 <a href=
- "#feature-textAlign-absolute">#textAlign-absolute</a><br>
- D.1.83 <a href=
- "#feature-textAlign-relative">#textAlign-relative</a><br>
- D.1.84 <a href=
- "#feature-textDecoration">#textDecoration</a><br>
- D.1.85 <a href=
- "#feature-textDecoration-over">#textDecoration-over</a><br>
- D.1.86 <a href=
- "#feature-textDecoration-through">#textDecoration-through</a><br>
- D.1.87 <a href=
- "#feature-textDecoration-under">#textDecoration-under</a><br>
- D.1.88 <a href=
- "#feature-textOutline">#textOutline</a><br>
- D.1.89 <a href=
- "#feature-textOutline-blurred">#textOutline-blurred</a><br>
- D.1.90 <a href=
- "#feature-textOutline-unblurred">#textOutline-unblurred</a><br>
- D.1.91 <a href=
- "#feature-tickRate">#tickRate</a><br>
- D.1.92 <a href=
- "#feature-timeBase-clock">#timeBase-clock</a><br>
- D.1.93 <a href=
- "#feature-timeBase-media">#timeBase-media</a><br>
- D.1.94 <a href=
- "#feature-timeBase-smpte">#timeBase-smpte</a><br>
- D.1.95 <a href=
- "#feature-timeContainer">#timeContainer</a><br>
- D.1.96 <a href=
- "#feature-time-clock">#time-clock</a><br>
- D.1.97 <a href=
- "#feature-time-clock-with-frames">#time-clock-with-frames</a><br>
- D.1.98 <a href=
- "#feature-time-offset">#time-offset</a><br>
- D.1.99 <a href=
- "#feature-time-offset-with-frames">#time-offset-with-frames</a><br>
- D.1.100 <a href=
- "#feature-time-offset-with-ticks">#time-offset-with-ticks</a><br>
- D.1.101 <a href=
- "#feature-timing">#timing</a><br>
- D.1.102 <a href=
- "#feature-transformation">#transformation</a><br>
- D.1.103 <a href=
- "#feature-unicodeBidi">#unicodeBidi</a><br>
- D.1.104 <a href=
- "#feature-visibility">#visibility</a><br>
- D.1.105 <a href=
- "#feature-visibility-block">#visibility-block</a><br>
- D.1.106 <a href=
- "#feature-visibility-inline">#visibility-inline</a><br>
- D.1.107 <a href=
- "#feature-visibility-region">#visibility-region</a><br>
- D.1.108 <a href=
- "#feature-wrapOption">#wrapOption</a><br>
- D.1.109 <a href=
- "#feature-writingMode">#writingMode</a><br>
- D.1.110 <a href=
- "#feature-writingMode-vertical">#writingMode-vertical</a><br>
- D.1.111 <a href=
- "#feature-writingMode-horizontal">#writingMode-horizontal</a><br>
- D.1.112 <a href=
- "#feature-writingMode-horizontal-lr">#writingMode-horizontal-lr</a><br>
- D.1.113 <a href=
- "#feature-writingMode-horizontal-rl">#writingMode-horizontal-rl</a><br>
- D.1.114 <a href=
- "#feature-zIndex">#zIndex</a><br>
- D.2 <a href="#feature-support">Feature
- Support</a><br>
- E <a href="#extensions">Extensions</a><br>
- E.1 <a href="#extension-designations">Extension
- Designations</a><br>
- F <a href="#profiles">Profiles</a><br>
- F.1 <a href="#profile-dfxp-transformation">DFXP
- Transformation Profile</a><br>
- F.2 <a href="#profile-dfxp-presentation">DFXP
- Presentation Profile</a><br>
- F.3 <a href="#profile-dfxp-full">DFXP Full
- Profile</a><br>
- G <a href="#references">References</a><br>
- 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="#d3e18638">Element Derivation</a><br>
- J.2 <a href="#d3e19117">Attribute
- Derivation</a><br>
- K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e20003">Requirements</a><br>
- K.2 <a href="#d3e20167">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>
- 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>
- O <a href="#common-styling">Common Caption Style Examples</a>
- (Non-Normative)<br>
- O.1 <a href="#pop-on-example">Pop-On Caption
- Example</a><br>
- O.2 <a href="#roll-up-example">Roll-Up Caption
- Example</a><br>
- O.3 <a href="#paint-on-example">Paint-On Caption
- Example</a><br>
- P <a href="#acknowledgments">Acknowledgments</a> (Non-Normative)<br></p>
- </div>
- <hr>
-
- <div class="body">
- <div class="div1">
- <h2><a id="intro" name="intro"></a>1 Introduction</h2>
-
- <p><em>Unless specified otherwise, this section and its sub-sections are
- non-normative.</em></p>
-
- <p>The Timed Text Markup Language (TTML) 1.0 provides a standardized
- representation of a particular subset of textual information with which
- stylistic, layout, and timing semantics are associated by an author or an
- authoring system for the purpose of interchange and processing.</p>
-
- <p>TTML is expressly designed to meet only a limited set of requirements
- established by <a href="#ttaf1-req">[TTAF1-REQ]</a>, and summarized in
- <a href="#requirements"><b>I Requirements</b></a>. In particular, only
- those requirements which service the need of performing interchange with
- existing, legacy distribution systems are satisfied.</p>
-
- <p>In addition to being used for interchange among legacy distribution
- content formats, TTML Content may be used directly as a distribution
- format (as implied by the acronym DFXP), providing, for example, a
- standard content format to reference from a <code><track></code>
- element in an HTML5 document, or a <code><text></code> or
- <code><textstream></code> media element in a <a href=
- "#smil21">[SMIL 2.1]</a> document. Certain properties of TTML support
- streamability of content, as described in <a href="#streaming"><b>L
- Streaming TTML Content</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While TTML was not expressly designed for direct (embedded)
- integration into an HTML or a SMIL document instance, such integration
- is not precluded.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In some contexts of use, it may be appropriate to employ animated
- content to depict sign language representations of the same content as
- expressed by a Timed Text <em>Document Instance</em>. This use case is
- not explicitly addressed by TTML mechanisms, but may be addressed by
- some external multimedia integration technology, such as SMIL.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In previous drafts of this specification, TTML was referred to as
- DFXP (Distribution Format Exchange Profile). This latter term is
- retained for historical reasons in certain contexts, such as profile
- names and designators, and the short name <code>ttaf1-dfxp</code> used
- in URLs to refer to this specification.</p>
- </div>
-
- <div class="div2">
- <h3><a id="model" name="model"></a>1.1 System Model</h3>
-
- <p>Use of TTML is intended to function in a wider context of Timed Text
- Authoring and Distribution mechanisms that are based upon the system
- model depicted in <a href="#model-graphic"><b>Figure 1 – System
- Model</b></a>, wherein the Timed Text Markup Language serves as a
- bidirectional interchange format among a heterogeneous collection of
- authoring systems, and as a unidirectional interchange format to a
- heterogeneous collection of distribution formats after undergoing
- transcoding or compilation to the target distribution formats as
- required, and where one particular distribution format is TTML (labeled
- as "DFXP" in the figure).</p><a id="model-graphic" name=
- "model-graphic"></a>
-
- <table class="example-images">
- <caption>
- Figure 1 – System Model
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/model.png" alt="System Model"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="example" name="example"></a>1.2 Document Example</h3>
-
- <p>A TTML <em>Document Instance</em> consists of a <code>tt</code>
- document element that contains a header and a body, where the header
- specifies document level metadata, styling definitions and layout
- definitions, and the body specifies text content intermixed with
- references to style and layout information and inline styling and
- timing information.</p><a id="ttml-example-document-structure" name=
- "ttml-example-document-structure"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Document Structure
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Document level metadata may specify a document title, description,
- and copyright information. In addition, arbitrary metadata drawn from
- other namespaces may be specified.</p><a id="ttml-example-metadata"
- name="ttml-example-metadata"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Timed Text TTML Example</ttm:title>
- <ttm:copyright>The Authors (c) 2006</ttm:copyright>
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Styling information may be specified in the form of style
- specification definitions that are referenced by layout and content
- information, specified inline with content information, or both.</p>
-
- <p>In <a href="#ttml-example-styling"><b>Example Fragment – TTML
- Styling</b></a>, four style sets of specifications are defined, with
- one set serving as a collection of default styles.</p><a id=
- "ttml-example-styling" name="ttml-example-styling"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <!-- s1 specifies default color, font, and text alignment -->
- <style xml:id="s1"
- tts:color="white"
- tts:fontFamily="proportionalSansSerif"
- tts:fontSize="22px"
- tts:textAlign="center"
- />
- <!-- alternative using yellow text but otherwise the same as style s1 -->
- <style xml:id="s2" style="s1" tts:color="yellow"/>
- <!-- a style based on s1 but justified to the right -->
- <style xml:id="s1Right" style="s1" tts:textAlign="end" />
- <!-- a style based on s2 but justified to the left -->
- <style xml:id="s2Left" style="s2" tts:textAlign="start" />
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Layout information defines one or more regions into which content is
- intended to be presented. A region definition may reference one or more
- sets of style specifications in order to permit content flowed in the
- region to inherit from these styles. In <a href=
- "#ttml-example-layout"><b>Example Fragment – TTML Layout</b></a>, the
- region definition makes reference to style specification
- <code>s1</code> augmented by specific inline styles which, together,
- allow content flowed into the region to inherit from the region's
- styles (in the case that a style is not already explicitly specified on
- content or inherited via the content hierarchy.)</p><a id=
- "ttml-example-layout" name="ttml-example-layout"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <region xml:id="subtitleArea"
- style="s1"
- tts:extent="560px 62px"
- tts:padding="5px 3px"
- tts:backgroundColor="black"
- tts:displayAlign="after"
- />
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The content of a <em>Document Instance</em> is expressed in its
- body, which is organized in terms of block and inline text elements.
- The hierarchical organization of content elements serves a primary role
- in determining both spatial and temporal relationships. For example, in
- <a href="#ttml-example-body"><b>Example Fragment – TTML Body</b></a>,
- each paragraph (<code>p</code> element) is flowed into its target
- region in the specified lexical order; furthermore, the active time
- interval of each paragraph is timed in accordance to its parent or
- sibling according to the applicable time containment semantics — in
- this case, the division parent is interpreted (by default) as a
- parallel time container.</p><a id="ttml-example-body" name=
- "ttml-example-body"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body region="subtitleArea">
- <div>
- <p xml:id="subtitle1" begin="0.76s" end="3.45s">
- It seems a paradox, does it not,
- </p>
- <p xml:id="subtitle2" begin="5.0s" end="10.0s">
- that the image formed on<br/>
- the Retina should be inverted?
- </p>
- <p xml:id="subtitle3" begin="10.0s" end="16.0s" style="s2">
- It is puzzling, why is it<br/>
- we do not see things upside-down?
- </p>
- <p xml:id="subtitle4" begin="17.2s" end="23.0s">
- You have never heard the Theory,<br/>
- then, that the Brain also is inverted?
- </p>
- <p xml:id="subtitle5" begin="23.0s" end="27.0s" style="s2">
- No indeed! What a beautiful fact!
- </p>
- <p xml:id="subtitle6a" begin="28.0s" end="34.6s" style="s2Left">
- But how is it proved?
- </p>
- <p xml:id="subtitle6b" begin="28.0s" end="34.6s" style="s1Right">
- Thus: what we call
- </p>
- <p xml:id="subtitle7" begin="34.6s" end="45.0s" style="s1Right">
- the vertex of the Brain<br/>
- is really its base
- </p>
- <p xml:id="subtitle8" begin="45.0s" end="52.0s" style="s1Right">
- and what we call its base<br/>
- is really its vertex,
- </p>
- <p xml:id="subtitle9a" begin="53.5s" end="58.7s">
- it is simply a question of nomenclature.
- </p>
- <p xml:id="subtitle9b" begin="53.5s" end="58.7s" style="s2">
- How truly delightful!
- </p>
- </div>
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The first subtitle <a href="#ttml-example-subtitle-1"><b>Subtitle 1
- – Time Interval [0.76, 3.45)</b></a> is presented during the time
- interval 0.76 to 3.45 seconds. This subtitle inherits its font family,
- font size, foreground color, and text alignment from the region into
- which it is presented. Since no region is explicitly specified on the
- paragraph, the nearest ancestor that specifies a region determines the
- targeted region. Note also that content is presented at the bottom
- (after edge) of the containing region due to the
- <code>tts:displayAlign="after"</code> being specified on the region
- definition.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notation "[<em>X</em>,<em>Y</em>]" denotes a closed interval
- from <em>X</em> to <em>Y</em>, including <em>X</em> and <em>Y</em>;
- "[<em>X</em>,<em>Y</em>)" denotes a right half-open interval from
- <em>X</em> to <em>Y</em>, including <em>X</em> but not including
- <em>Y</em>; "(<em>X</em>,<em>Y</em>]" denotes a left half-open
- interval from <em>X</em> to <em>Y</em>, not including <em>X</em> but
- including <em>Y</em>; "(<em>X</em>,<em>Y</em>)" denotes an open
- interval from <em>X</em> to <em>Y</em>, not including <em>X</em> or
- <em>Y</em>.</p>
- </div><a id="ttml-example-subtitle-1" name=
- "ttml-example-subtitle-1"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 1 – Time Interval [0.76, 3.45)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle1.png" alt="Subtitle 1"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The second subtitle continues with the default style, except that it
- contains two lines of text with an intervening author-specified line
- break. Note the effects of the use of
- <code>tts:textAlign="center"</code> to specify the paragraph's
- alignment in the inline progression direction.</p><a id=
- "ttml-example-subtitle-2" name="ttml-example-subtitle-2"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 2 – Time Interval [5.0, 10.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle2.png" alt="Subtitle 2"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The third subtitle continues, using a variant style which overrides
- the default style's foreground color with a different color.</p><a id=
- "ttml-example-subtitle-3" name="ttml-example-subtitle-3"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 3 – Time Interval [10.0, 16.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle3.png" alt="Subtitle 3"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fourth subtitle reverts to the default style.</p><a id=
- "ttml-example-subtitle-4" name="ttml-example-subtitle-4"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 4 – Time Interval [17.2, 23.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle4.png" alt="Subtitle 4"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fifth subtitle continues, again using a variant style which
- overrides the default style's foreground color with a different
- color.</p><a id="ttml-example-subtitle-5" name=
- "ttml-example-subtitle-5"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 5 – Time Interval [23.0, 27.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle5.png" alt="Subtitle 5"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the next active time interval, two distinct subtitles are
- simultaneously active, with the paragraphs expressing each subtitle
- using different styles that override color and paragraph text alignment
- of the default style. Note that the flow order is determined by the
- lexical order of elements as they appear in the content
- hierarchy.</p><a id="ttml-example-subtitle-6" name=
- "ttml-example-subtitle-6"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 6a and 6b – Time Interval [28.0, 34.6)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle6.png" alt=
- "Subtitles 6a and 6b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The next subtitle is specified in a similar manner using a style
- override to give the paragraph right (end) justification in the inline
- progression direction.</p><a id="ttml-example-subtitle-7" name=
- "ttml-example-subtitle-7"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 7 – Time Interval [34.6, 45.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle7.png" alt=
- "Subtitles 7a and 7b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The eighth subtitle uses the same style override as the previous
- subtitle in order to maintain the right (end) justification of the
- paragraph.</p><a id="ttml-example-subtitle-8" name=
- "ttml-example-subtitle-8"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 8 – Time Interval [47.3, 49.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle8.png" alt="Subtitle 8"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the final (ninth) active time interval, two distinct
- subtitles are again simultaneously active, but with a different style
- applied to the second paragraph to override the default color. Note
- that the flow order is determined by the lexical order of elements as
- they appear in the content hierarchy.</p><a id=
- "ttml-example-subtitle-9" name="ttml-example-subtitle-9"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 9a and 9b – Time Interval [53.5, 58.7)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle9.png" alt=
- "Subtitles 9a and 9b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The examples shown above demonstrate the primary types of
- information that may be authored using TTML: metadata, styling, layout,
- timing, and content. In typical cases, styling and layout information
- are separately specified in a <em>Document Instance</em>. Content
- information is expressed in a hierarchical fashion that embodies the
- organization of both spatial (flow) and timing information. Content
- makes direct or indirect references to styling and layout information
- and may specify inline overrides to styling.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="definitions" name="definitions"></a>2 Definitions</h2>
-
- <div class="div2">
- <h3><a id="acronyms" name="acronyms"></a>2.1 Acronyms</h3>
-
- <table class="acronyms" summary="Glossary List">
- <tr>
- <td class="label"><b>DFXP</b></td>
-
- <td class="def">
- <p>Distribution Format Exchange Profile</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT</b></td>
-
- <td class="def">
- <p>Timed Text</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTML</b></td>
-
- <td class="def">
- <p>Timed Text Markup Language</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTAF</b></td>
-
- <td class="def">
- <p>Timed Text Authoring Format</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTWG</b></td>
-
- <td class="def">
- <p>Timed Text Working Group</p>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="terms" name="terms"></a>2.2 Terminology</h3>
-
- <dl>
- <dt class="label">Abstract Document Instance</dt>
-
- <dd>
- <p>An instance of an abstract data set as represented by a
- <em>Reduced XML Infoset</em>.</p>
- </dd>
-
- <dt class="label">Abstract Document Type</dt>
-
- <dd>
- <p>A set of constraints that defines a class of <em>XML Information
- Sets</em> <a href="#infoset">[XML InfoSet]</a>.</p>
- </dd>
-
- <dt class="label">Attribute Information Item</dt>
-
- <dd>
- <p>Each specified or defaulted attribute of an XML document
- corresponds with an attribute information item as defined by
- <a href="#infoset">[XML InfoSet]</a>, §2.3.</p>
- </dd>
-
- <dt class="label">Character Information Item</dt>
-
- <dd>
- <p>Each data character appearing in an XML document corresponds
- with a character information item as defined by <a href=
- "#infoset">[XML InfoSet]</a>, §2.6.</p>
- </dd>
-
- <dt class="label">Computed Cell Size</dt>
-
- <dd>
- <p>The size (extent) of a cell computed by dividing the width of
- the <em>Root Container Region</em> (in pixels) by the column count,
- i.e., the number of cells in the horizontal axis, and by dividing
- the height of the <em>Root Container Region</em> (in pixels) by the
- row count, i.e., the number of cells in the vertical axis, where
- the column and row counts are determined by the
- <code>ttp:cellResolution</code> parameter attribute.</p>
- </dd>
-
- <dt class="label">Content Processor</dt>
-
- <dd>
- <p>A processing system capable of importing (receiving) Timed Text
- Markup Language content for the purpose of transforming,
- presenting, or otherwise processing the content.</p>
- </dd>
-
- <dt class="label">Content Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that are (or may be)
- employed by Timed Text Markup Language content.</p>
- </dd>
-
- <dt class="label">Content Region</dt>
-
- <dd>
- <p>A logical region into which rendered content is placed when
- modeling or performing presentation processing.</p>
- </dd>
-
- <dt class="label">Document Instance</dt>
-
- <dd>
- <p>A concrete realization of a Timed Text Markup Language document,
- where the concrete form is specific to the context of reference.
- For example, a sequence of bytes that represents an XML
- serialization of a Timed Text document, an internal, parsed
- representation of such a Timed Text document, etc.</p>
- </dd>
-
- <dt class="label">Document Interchange Context</dt>
-
- <dd>
- <p>The implied context or environment external to a <em>Content
- Processor</em> in which document interchange occurs, and in which
- out-of-band protocols or specifications may define certain
- behavioral defaults, such as an implied <em>Content
- Profile</em>.</p>
- </dd>
-
- <dt class="label">Document Processing Context</dt>
-
- <dd>
- <p>The implied context or environment internal to a <em>Content
- Processor</em> in which document processing occurs, and in which
- out-of-band protocols or specifications may define certain
- behavioral defaults, such as the establishment or creation of a
- <em>Synthetic Document Syncbase</em>.</p>
- </dd>
-
- <dt class="label">Element Information Item</dt>
-
- <dd>
- <p>Each element appearing in an XML document corresponds with an
- element information item as defined by <a href="#infoset">[XML
- InfoSet]</a>, §2.2.</p>
- </dd>
-
- <dt class="label">Exchange Profile</dt>
-
- <dd>
- <p>A content profile that serves a set of needs for content
- interchange.</p>
- </dd>
-
- <dt class="label">Extension</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined
- and labeled (using a extension designation) in another (public or
- private) specification.</p>
- </dd>
-
- <dt class="label">Feature</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined
- and labeled (using a feature designation) in this specification (or
- a future revision of this specification).</p>
- </dd>
-
- <dt class="label">Presentation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to layout, format,
- and render, i.e., to present, <em>Timed Text Markup Language</em>
- content by applying the presentation semantics defined in this
- specification.</p>
- </dd>
-
- <dt class="label">Processor</dt>
-
- <dd>
- <p>See <em>Content Processor</em>.</p>
- </dd>
-
- <dt class="label">Processor Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that must or may be
- implemented (supported) by a content processor.</p>
- </dd>
-
- <dt class="label">Profile Definition Document</dt>
-
- <dd>
- <p>A document that defines a specific collection of features and
- extensions for which support is required or optional in a recipient
- content processor.</p>
- </dd>
-
- <dt class="label">Region</dt>
-
- <dd>
- <p>A logical construct that models authorial intention regarding
- desired or potential presentation processing, and which is
- represented as a rectangular area of a presentation surface into
- which content is composed and rendered during presentation
- processing.</p>
- </dd>
-
- <dt class="label">Reduced XML Infoset</dt>
-
- <dd>
- <p>An XML Information Set <a href="#infoset">[XML InfoSet]</a> that
- satisfies the constraints specify by <a href=
- "#reduced-infoset"><b>A Reduced XML Infoset</b></a>.</p>
- </dd>
-
- <dt class="label">Related Media Object</dt>
-
- <dd>
- <p>A (possibly null) media object associated with or otherwise
- related to a <em>Document Instance</em>. For example, an aggregate
- audio/video media object for which a <em>Document Instance</em>
- provides caption or subtitle information, and with which that
- <em>Document Instance</em> is associated.</p>
- </dd>
-
- <dt class="label">Related Media Object Region</dt>
-
- <dd>
- <p>When a non-null <em>Related Media Object</em> exists, the region
- in which a presentation processor presents this media object.</p>
- </dd>
-
- <dt class="label">Root Container Region</dt>
-
- <dd>
- <p>A logical region that establishes a coordinate system into which
- <em>Document Instance</em> content regions are placed and
- optionally clipped.</p>
- </dd>
-
- <dt class="label">Root Temporal Extent</dt>
-
- <dd>
- <p>The temporal extent (interval) defined by the temporal beginning
- and ending of a <em>Document Instance</em> in relationship with
- some external application or presentation context.</p>
- </dd>
-
- <dt class="label">SMPTE Time Code</dt>
-
- <dd>
- <p>A time code whose format and semantics are established by
- <a href="#smpte12m">[SMPTE 12M]</a>, which may be embedded into or
- otherwise associated with media content, such as a broadcast
- audio/video stream.</p>
- </dd>
-
- <dt class="label">Synthetic Document Syncbase</dt>
-
- <dd>
- <p>A document level <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-Syncbases">
- syncbase</a> <a href="#smil21">[SMIL 2.1]</a>, § 10.7.1,
- synthesized or otherwise established by the <em>Document Processing
- Context</em> in accordance with the <em>Related Media Object</em>
- or other processing criteria.</p>
- </dd>
-
- <dt class="label">Synthetic SMPTE Document Syncbase</dt>
-
- <dd>
- <p>A <em>Synthetic Document Syncbase</em> constructed from
- <em>SMPTE Time Code</em> values embedded in or associated with the
- <em>Related Media Object</em> or otherwise determined by the
- <em>Document Processing Context</em>.</p>
- </dd>
-
- <dt class="label">Timed Text</dt>
-
- <dd>
- <p>Textual information that is intrinsically or extrinsically
- associated with timing information.</p>
- </dd>
-
- <dt class="label">Timed Text Markup Language</dt>
-
- <dd>
- <p>A content type that represents timed text media for the purpose
- of interchange among authoring systems.</p>
- </dd>
-
- <dt class="label">Timed Text Authoring System</dt>
-
- <dd>
- <p>A content authoring system capable of importing and exporting
- Timed Text Markup Language content.</p>
- </dd>
-
- <dt class="label">Transformation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to transform or
- otherwise rewrite <em>Timed Text Markup Language</em> content to
- either <em>Timed Text Markup Language</em> or to another
- (arbitrary) content format. An example of the first is a processor
- that removes or rewrites TTML features so as to conform to a
- profile of TTML. An example of the latter is a processor that
- translates TTML into a completely different timed text format.
- Because this specification does not otherwise define a target
- profile or format for transformation processing, no further
- transformation semantics are defined by this specification.</p>
- </dd>
-
- <dt class="label">Valid Abstract Document Instance</dt>
-
- <dd>
- <p>An <em>Abstract Document Instance</em> which has been assessed
- for validity and found to be valid as defined by <a href=
- "#doctypes"><b>4 Document Types</b></a>.</p>
- </dd>
- </dl>
- </div>
-
- <div class="div2">
- <h3><a id="conventions" name="conventions"></a>2.3 Documentation
- Conventions</h3>
-
- <p>Within normative prose in this specification, the words
- <em>may</em>, <em>should</em>, and <em>must</em> are defined as
- follows:</p>
-
- <dl class="conformance-keywords">
- <dt class="label">may</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are permitted to,
- but need not behave as described.</p>
- </dd>
-
- <dt class="label">should</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are strongly
- recommended to, but need not behave as described.</p>
- </dd>
-
- <dt class="label">must</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are required to
- behave as described; otherwise, they are in error.</p>
- </dd>
- </dl>
-
- <p>If normative specification language takes an imperative form, then
- it is to be treated as if the term <span class="strong">must</span>
- applies. Furthermore, if normative language takes a declarative form,
- and this language is governed by <span class="strong">must</span>, then
- it is also to be treated as if the term <span class=
- "strong">must</span> applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, the phrases "treat X as an error" and "consider X as
- an error" are to be read as mandatory requirements in the context of
- use. Similarly, if the specification prose is "X must apply", "X
- applies", or "X is mandatory", and "X" is further defined as "X is Y
- and Z", then, by transitive closure, this last declarative phrase is
- to be read as "Y is mandatory" and "Z is mandatory" in the context of
- use.</p>
- </div>
-
- <p>All normative syntactic definitions of XML representations and other
- related terms are depicted with a light yellow-orange background color
- and labeled as "XML Representation" or "Syntax Representation", such as
- in the following:</p><a id="elt-syntax-example" name=
- "elt-syntax-example"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: example
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<example
- <span class="reqattr">count</span> = integer
- size = (<em>large</em>|<em>medium</em>|<em>small</em>) : medium>
- <em>Content:</em> (all | any*)
-</example>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In an XML representation, bold-face attribute names (e.g.
- <span class="strong">count</span> above) indicate a required attribute
- information item, and the rest are optional. Where an attribute
- information item has an enumerated type definition, the values are
- shown separated by vertical bars, as for <code>size</code> above; if
- there is a default value, it is shown following a colon. Where an
- attribute information item has a built-in simple type definition
- defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its
- definition therein is given.</p>
-
- <p>The allowed content of the information item is shown as a grammar
- fragment, using the Kleene operators <code>?</code>, <code>*</code> and
- <code>+</code>. Each element name therein is a hyperlink to its own
- illustration.</p>
-
- <p>The term linear white-space (LWSP) is to be interpreted as a
- non-empty sequence of SPACE (U+0020), TAB (U+0009), CARRIAGE RETURN
- (U+000D), or LINE FEED (U+000A), which corresponds to production [3]
- <code>S</code> as defined by <a href="#xml10">[XML 1.0]</a>.</p>
-
- <p>All content of this specification that is not explicitly marked as
- non-normative is considered to be normative. If a section or appendix
- header contains the expression "Non-Normative", then the entirety of
- the section or appendix is considered non-normative.</p>
-
- <p>All paragraphs marked as a <span class="strong">Note</span> are
- considered non-normative.</p>
-
- <p>Example code fragments are depicted with a light blue-green
- background color and labeled as "Example Fragment", such as in the
- following:</p><a id="example-fragment-1" name="example-fragment-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Sample
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="conformance" name="conformance"></a>3 Conformance</h2>
-
- <p>This section specifies the general conformance requirements for TTML
- Content and processors.</p>
-
- <div class="div2">
- <h3><a id="conformance-content" name="conformance-content"></a>3.1
- Content Conformance</h3>
-
- <p>A TTML <em>Document Instance</em> conforms to this specification if
- the following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>When transporting a <em>Document Instance</em> in a <em>Document
- Interchange Context</em> in which a Media Type <a href=
- "#media-types">[Media Types]</a> identifies the content type of the
- interchanged <em>Document Instance</em>, then the specified media
- type is <code>application/ttml+xml</code> in conformance with
- <a href="#xml-media">[XML Media Types]</a> § 7, with which an
- optional <code>profile</code> parameter may appear, the value of
- which conforms to a profile designator as defined by <a href=
- "#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Document Instance</em> is or can be represented as a
- Reduced XML Infoset as defined by <a href="#reduced-infoset"><b>A
- Reduced XML Infoset</b></a>.</p>
- </li>
-
- <li>
- <p>The Reduced XML Infoset that corresponds to the <em>Document
- Instance</em> is or can be associated with one of the <em>Abstract
- Document Types</em> defined by <a href="#doctypes"><b>4 Document
- Types</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> that corresponds to the
- <em>Document Instance</em> is a <em>Valid Abstract Document
- Instance</em> of the associated <em>Abstract Document
- Type</em>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> satisfies all additional
- mandatory syntactic and semantic constraints defined by this
- specification. In addition, this Infoset should satisfy the web
- content accessibility guidelines specified by <a href=
- "#wcag">[WCAG]</a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div2">
- <h3><a id="conformance-processor" name="conformance-processor"></a>3.2
- Processor Conformance</h3>
-
- <div class="div3">
- <h4><a id="conformance-generic-processor" name=
- "conformance-generic-processor"></a>3.2.1 Generic Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> conforms to this specification
- if the following generic processor criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor provides at least one mechanism for notionally
- instantiating a Reduced XML Infoset representation of a
- conformant <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>If a process does or can perform validation of a candidate
- <em>Document Instance</em>, then it provides at least one
- mechanism to implicitly or explicitly associate the <em>Reduced
- XML Infoset</em> representation of a conformant <em>Document
- Instance</em> with one of the <em>Abstract Document Types</em>
- defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
- </li>
-
- <li>
- <p>The processor does not <em>a priori</em> reject or abort the
- processing of a conformant <em>Document Instance</em> unless the
- processor does not support some required (mandatory) feature
- specified or implied by a TTML Content profile declared to apply
- to the <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>The processor supports all mandatory processing semantics
- defined by this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>mandatory semantics</em> refers to all
- explicit use of the conformance key phrases <span class=
- "strong">must</span> and <span class="strong">must not</span>
- as well as any declarative statement that can be reasonably
- inferred from such key phrases. For example, these mandatory
- semantics include support for all features marked as mandatory
- in <a href="#feature-support"><b>D.2 Feature
- Support</b></a>.</p>
- </div>
- </li>
-
- <li>
- <p>If the processor supports some optional processing semantics
- defined by this specification, then it does so in a manner
- consistent with the defined semantics.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>optional semantics</em> refers to all
- explicit use of the conformance key phrases <span class=
- "strong">should</span>, <span class="strong">should not</span>,
- <span class="strong">may</span>, and <span class="strong">may
- not</span>, as well as any declarative statement that can be
- reasonably inferred from such key phrases. For example, these
- optional semantics include support for all features marked as
- optional in <a href="#feature-support"><b>D.2 Feature
- Support</b></a>.</p>
- </div>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-transformation-processor" name=
- "conformance-transformation-processor"></a>3.2.2 Transformation
- Processor Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML
- <em>Transformation Processor</em> if the following criteria are
- satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Transformation profile as
- specified by <a href="#profile-dfxp-transformation"><b>F.1 DFXP
- Transformation Profile</b></a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-presentation-processor" name=
- "conformance-presentation-processor"></a>3.2.3 Presentation Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML
- <em>Presentation Processor</em> if the following criteria are
- satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Presentation profile as
- specified by <a href="#profile-dfxp-presentation"><b>F.2 DFXP
- Presentation Profile</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="claims" name="claims"></a>3.3 Claims</h3>
-
- <p>Any claim of compliance with respect to the conformance of a TTML
- <em>Document Instance</em> or <em>Content Processor</em> must make
- reference to an implementation compliance statement (ICS).</p>
-
- <p>An implementation compliance statement must identify all mandatory
- and optional features of this specification that are satisfied by the
- document instance or the content processor implementation. In
- particular, the statement must identify the utilized or supported TTML
- vocabulary profile(s) as defined by <a href=
- "#vocabulary-profiles"><b>5.2 Profiles</b></a>, and, if a subset or
- superset profile is used or supported, then what features are excluded
- or included in the subset or superset profile.</p>
-
- <p>A <em>Document Instance</em> for which a compliance claim is made
- must specify either (1) a <code>ttp:profile</code> attribute on its
- root <code>tt</code> element as defined by <a href=
- "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a> or (2) a
- <code>ttp:profile</code> element as a child of the <code>head</code>
- element as defined by <a href="#parameter-vocabulary-profile"><b>6.1.1
- ttp:profile</b></a>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="doctypes" name="doctypes"></a>4 Document Types</h2>
-
- <p>This section defines the following TTML <em>Abstract Document
- Types</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-content-doctype"><b>4.1 TTML Content</b></a></p>
- </li>
- </ul>
-
- <p>Each <em>Abstract Document Type</em> consists of the following
- constraints:</p>
-
- <ul>
- <li>
- <p>a non-empty collection of element types, where each element type
- consists of a name, a (possibly empty) collection of attributes, and
- a content specification</p>
- </li>
-
- <li>
- <p>a non-empty collection of element types that may appear as the
- document element</p>
- </li>
- </ul>
-
- <p>An <em>Abstract Document Instance</em> may be assessed in terms of
- validity, and is considered to be a <em>Valid Abstract Document
- Instance</em> if it satisfies the following condition: if after</p>
-
- <ol class="enumar">
- <li>
- <p>pruning all element information items whose names are not members
- of the collection of element types defined by the associated
- <em>Abstract Document Type</em>, then</p>
- </li>
-
- <li>
- <p>pruning character information item children from any remaining
- element in case that all character children of the element denote XML
- whitespace characters and the element's type is defined as empty in
- the associated <em>Abstract Document Type</em>, and then</p>
- </li>
-
- <li>
- <p>pruning all attribute information items having expanded names such
- that the namespace URI of the expanded names are not listed in
- <a href="#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>,</p>
- </li>
- </ol>
-
- <p>then the document element is one of the document element types
- permitted by the associated <em>Abstract Document Type</em>, the
- descendants of the document element satisfy their respective element
- type's content specifications, all required attributes are present, and
- the declared value of each attribute satisfies the type declared by the
- associated <em>Abstract Document Type</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While a conformant processor may not <em>a priori</em> reject a
- conformant <em>Document Instance</em> that adheres to a supported
- content profile, a given <em>Document Instance</em> may be constrained
- by the author or authoring tool to satisfy a more restrictive
- definition of validity.</p>
- </div>
-
- <div class="div2">
- <h3><a id="ttml-content-doctype" name="ttml-content-doctype"></a>4.1
- TTML Content</h3>
-
- <p>TTML Content is an <em>Abstract Document Type</em> of a profile of
- the Timed Text Markup Language intended to be used for interchange
- among distribution systems. This document type is defined in terms of
- the element and attribute vocabulary specified in <a href=
- "#vocabulary"><b>5 Vocabulary</b></a>.</p>
-
- <p>This specification references two types of schemas that may be used
- to validate a superset/subset of conformant TTML Content <em>Document
- Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-schema-rnc"><b>B.1 Relax NG Compact (RNC)
- Schema</b></a></p>
- </li>
-
- <li>
- <p><a href="#ttml-schema-xsd"><b>B.2 XML Schema Definition (XSD)
- Schema</b></a></p>
- </li>
- </ul>
-
- <p>The (root) document element of a TTML Content <em>Document
- Instance</em> must be a <code>tt</code> element, as defined by <a href=
- "#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The schemas referenced by this specification do not validate all
- syntactic constraints defined by this specification, and, as such,
- represent a superset of conformant TTML Content. In particular,
- performing validation with one of the above referenced schemas may
- result in a <em>false positive</em> indication of validity. For
- example, both the RNC and XSD schemas specify that a
- <code>tts:fontFamily</code> attribute must satisfy the
- <code>xs:string</code> XSD data type; however, this data type is a
- superset of the values permitted to be used with the
- <code>tts:fontFamily</code> attribute.</p>
-
- <p>In addition, the RNC schema may produce a <em>false negative</em>
- indication of validity when using the <code>xml:id</code> attribute
- with an element in a foreign namespace, thus representing a subset of
- conformant TTML Content. This is due to a specific limitation in
- expressing wildcard patterns involving <code>xsd:ID</code> typed
- attributes in Relax NG schemas. Note that this specification defines
- the formal validity of a <em>Document Instance</em> to be based on an
- <em>Abstract Document Instance</em> from which all foreign namespace
- elements and attributes have been removed. Therefore, the exceptional
- reporting of this false negative does not impact the formal
- assessment of <em>Document Instance</em> validity.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="vocabulary" name="vocabulary"></a>5 Vocabulary</h2>
-
- <p>This section defines the namespaces, profiles, and vocabulary (as an
- element and attribute catalog) of the Timed Text Markup Language (TTML)
- as follows:</p>
-
- <ul>
- <li>
- <p><a href="#vocabulary-namespaces"><b>5.1 Namespaces</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-profiles"><b>5.2 Profiles</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-overview"><b>5.3 Catalog</b></a></p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="vocabulary-namespaces" name="vocabulary-namespaces"></a>5.1
- Namespaces</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of XML
- Namespaces <a href="#xmlns10">[XML Namespaces 1.0]</a> for elements and
- certain global attributes. The following table specifies this set of
- namespaces and indicates the default prefix used within this
- specification and the normative URI that denotes each namespace.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In a specific <em>Document Instance</em>, it is not required that
- the default prefixes shown below are used. Any prefix or namespace
- binding that satisfies the constraints of XML Namespaces <a href=
- "#xmlns10">[XML Namespaces 1.0]</a> may be used that is associated
- with the specified namespace URI.</p>
- </div><a id="namespace-vocab-table" name="namespace-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 1 – Namespaces
- </caption>
- <col width="30%" span="1">
- <col span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Prefix</th>
-
- <th>Value</th>
- </tr>
-
- <tr>
- <td>TT</td>
-
- <td><code>tt:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml</code></td>
- </tr>
-
- <tr>
- <td>TT Parameter</td>
-
- <td><code>ttp:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#parameter</code></td>
- </tr>
-
- <tr>
- <td>TT Style</td>
-
- <td><code>tts:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#styling</code></td>
- </tr>
-
- <tr>
- <td>TT Metadata</td>
-
- <td><code>ttm:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#metadata</code></td>
- </tr>
-
- <tr>
- <td>TT Profile</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/</code></td>
- </tr>
-
- <tr>
- <td>TT Feature</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/feature/</code></td>
- </tr>
-
- <tr>
- <td>TT Extension</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/extension/</code></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a reference to an element type is used in this specification
- and the name of the element type is not namespace qualified, then the
- TT Namespace applies.</p>
-
- <p>For certain namespaces defined above, the default prefix is
- specified as <em>none</em> if no XML vocabulary is defined in the
- namespace by this specification (nor expected to be defined in a
- future version of this specification). In such cases, the use of the
- namespace URI is for purposes other than defining XML vocabulary,
- e.g., for designating profiles, features, extensions and for
- dereferencing standard profile definitions.</p>
- </div>
-
- <p>All TTML Namespaces are <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState#namespacedef"><em>mutable</em></a>
- <a href="#nsstate">[NSState]</a>; all undefined names in these
- namespaces are reserved for future standardization by the W3C.</p>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-profiles" name="vocabulary-profiles"></a>5.2
- Profiles</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of standard,
- predefined profiles of its vocabulary and associated semantics. The
- following table specifies this set of profiles, indicating a normative
- name and designator for each predefined profile, and where each of
- these profiles is formally elaborated in <a href="#profiles"><b>F
- Profiles</b></a> or in another TTWG specification.</p><a id=
- "profile-vocab-table" name="profile-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 2 – Profiles
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Designator</th>
- </tr>
-
- <tr>
- <td>DFXP Transformation</td>
-
- <td>
- <code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Presentation</td>
-
- <td>
- <code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Full</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-full</code></td>
- </tr>
-
- <tr>
- <td>SDP US</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/sdp-us</code></td>
- </tr>
- </tbody>
- </table>
-
- <p>A profile designator must adhere to the <code>xsd:anyURI</code> data
- type defined by <a href="#xsd-2">[XML Schema Part 2]</a>, §3.2.17. If
- the profile designator is expressed as a relative URI, then it must be
- absolutized by using the TT Profile Namespace value as the base
- URI.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if a profile designator is expressed as
- <code>dfxp-presentation</code>, then the absolutized profile
- designator would be
- <code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code>.</p>
- </div>
-
- <p>All profile designators which have the TT Profile Namespace as a
- prefix but are otherwise not listed in <a href=
- "#profile-vocab-table"><b>Table 2 – Profiles</b></a> are reserved for
- future standardization, and must not be appear in a conformant
- <em>Document Instance</em>. Nothwithstanding this constraint, a profile
- designator is not restricted to the set of designators enumerated in
- <a href="#profile-vocab-table"><b>Table 2 – Profiles</b></a>, but may
- be any URI that feasibly dereferences a TTML <em>Profile Definition
- Document</em> provided it does not use the TT Profile Namespace as a
- prefix.</p>
-
- <p>The profile of TTML that must be supported by a TTML <em>Content
- Processor</em> in order to process a <em>Document Instance</em> is
- determined either (1) by specifying a <code>ttp:profile</code>
- attribute on the root <code>tt</code> element, as defined by <a href=
- "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a>, or (2) by
- including one or more <code>ttp:profile</code> elements in the
- <code>head</code> element, in accordance with <a href=
- "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
-
- <p>If a <code>ttp:profile</code> element appears as a descendant of the
- <code>tt</code> element, then the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute
- should not be specified on the <code>tt</code> element. If both a
- <code>ttp:profile</code> element and a <code>ttp:profile</code>
- attribute are present (in a given <em>Document Instance</em>), then the
- <code>ttp:profile</code> attribute must be ignored for the purpose of
- determining the declared profile requirements.</p>
-
- <p>If more than one <code>ttp:profile</code> element appears in a
- <em>Document Instance</em>, then all specified profiles apply
- simultaneously. In such a case, if some feature or some extension is
- specified by one profile to be used (mandatory and enabled) and by
- another profile to be required (mandatory) or optional (voluntary),
- then that feature or extension must be considered to be used (mandatory
- and enabled); if some feature or some extension is specified by one
- profile to be merely required (mandatory) and by another profile to be
- optional (voluntary), then that feature or extension must be considered
- to be required (mandatory).</p>
-
- <p>If neither <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute
- nor <a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a> element is
- present in a <em>Document Instance</em>, and if the <em>Document
- Interchange Context</em> does not make an implicit or explicit
- reference to a pre-defined Content Profile or does not specify a
- <em>Profile Definition Document</em> or another equivalent set of
- feature designations, then the DFXP Transformation profile applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is not a requirement on a conformant <em>Document Instance</em>
- that a <em>Content Profile</em> be internally defined by use of a
- <code>ttp:profile</code> element or internally referenced by a
- <code>ttp:profile</code> attribute. More specifically, it is
- permitted that the <em>Document Interchange Context</em> determines
- the applicable <em>Content Profile</em> through private agreement,
- out-of-band protocol, or common use (between sender and receiver) of
- a profile defined by an external specification.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is intended that the <code>ttp:profile</code> attribute be used
- when the author wishes to reference one of the standard, predefined
- profiles of TTML Content, and does not wish to modify (by
- supersetting or subsetting) that profile. This attribute may also be
- used by an author to indicate the use of a non-standard profile, in
- which case the specified profile designator expresses a URI that
- denotes an externally defined <em>Profile Definition Document</em>.
- However, it is not required that a conformant TTML Content processor
- be able to dereference such an externally specified profile
- definition.</p>
-
- <p>In contrast, it is intended that the <code>ttp:profile</code>
- element be used when the author wishes to make use of a modified
- predefined profile or wishes to include in the <em>Document
- Instance</em> a non-standard profile definition not based upon one of
- the predefined profiles.</p>
-
- <p>A predefined profile is supersetted by specifying some feature or
- extension to be required (mandatory) that was either not specified in
- the underlying, baseline profile or was specified as optional
- (voluntary) in the baseline profile. A predefined profile is
- subsetted by specifying some feature or extension to be optional
- (voluntary) that was specified as required in the underlying,
- baseline profile.</p>
-
- <p>When a baseline profile is modified by subsetting, the resulting,
- derived profile is referred to as a <em>subtractive</em> profile;
- when modified by supersetting, the result is referred to as an
- <em>additive</em> profile. It is also possible to define a derived
- profile that is simultaneously subtractive and additive.</p>
- </div>
-
- <p>If a <em>Document Instance</em> makes use of a feature defined by
- <a href="#feature-designations"><b>D.1 Feature Designations</b></a> and
- if the intended use of the document requires the recognition and
- processing of that feature, then the document must include a
- <em>required feature</em> or a <em>used feature</em> specification in
- one of its declared or referenced profiles. If a <em>Document
- Instance</em> makes use of an extension designatable by <a href=
- "#extension-designations"><b>E.1 Extension Designations</b></a> and if
- the intended use of the document requires the recognition and
- processing of that extension, then the document must include a
- <em>required extension</em> or a <em>used extension</em> specification
- in one of its declared or referenced profiles.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A required or used feature specification is expressed directly (or
- indirectly by referring to a profile) by means of a <a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a> element
- where the value of its <code>value</code> attribute is
- <code>required</code> or <code>use</code>, respectively. A required
- or used extension specification is expressed directly (or indirectly
- by referring to a profile) by means of a <a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a>
- element where the value of its <code>value</code> attribute is
- <code>required</code> or <code>use</code>, respectively.</p>
- </div>
-
- <p>An example of an author defined additive, derived profile of the
- DFXP Presentation profile is shown below in <a href=
- "#ttml-example-sub-profile"><b>Example Fragment – DFXP Additive
- Profile</b></a>.</p><a id="ttml-example-sub-profile" name=
- "ttml-example-sub-profile"></a>
-
- <table class="example">
- <caption>
- Example Fragment – DFXP Additive Profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <profile use="dfxp-presentation" xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <feature value="required">#fontStyle-italic</feature>
- </features>
- </profile>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the baseline profile is declared to be the
- DFXP Presentation profile, which is then additively modified by
- making the <code>#fontStyle-italic</code> feature required (rather
- than optional as it is defined in <a href=
- "#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>). Note also the resetting of the default XMLNS
- binding on the <code>profile</code> element to the TT Parameter
- Namespace.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-overview" name="vocabulary-overview"></a>5.3
- Catalog</h3>
-
- <p>The vocabulary of the Timed Text Markup Language (TTML) is defined
- in the following major catalogs (divisions of vocabulary):</p>
-
- <ul>
- <li>
- <p><a href="#core-vocabulary-overview"><b>5.3.1 Core
- Catalog</b></a></p>
- </li>
-
- <li>
- <p><a href="#extension-vocabulary-overview"><b>5.3.2 Extension
- Catalog</b></a></p>
- </li>
- </ul>
-
- <p>The core catalog defines the baseline, core vocabulary of TTML, and,
- in particular, the vocabulary of TTML Content. The extension catalog
- serves as a placeholder for extensions to the core vocabulary defined
- by TTML.</p>
-
- <div class="div3">
- <h4><a id="core-vocabulary-overview" name=
- "core-vocabulary-overview"></a>5.3.1 Core Catalog</h4>
-
- <p>The core vocabulary catalog is intended to satisfy the needs of
- TTML while providing a baseline vocabulary for future profiles. This
- vocabulary is divided into distinct categories, specified in detail
- in the following sections:</p>
-
- <ul>
- <li>
- <p><a href="#parameters"><b>6 Parameters</b></a></p>
- </li>
-
- <li>
- <p><a href="#content"><b>7 Content</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling"><b>8 Styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout"><b>9 Layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><b>10 Timing</b></a></p>
- </li>
-
- <li>
- <p><a href="#animation"><b>11 Animation</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata"><b>12 Metadata</b></a></p>
- </li>
- </ul>
-
- <p>The core element vocabulary specified for use with a <em>Document
- Instance</em> is enumerated in <a href=
- "#element-vocab-table"><b>Table 3 – Element
- Vocabulary</b></a>.</p><a id="element-vocab-table" name=
- "element-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 3 – Element Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Content</td>
-
- <td><a href="#document-structure-vocabulary-body">body</a>,
- <a href="#content-vocabulary-div">div</a>, <a href=
- "#content-vocabulary-p">p</a>, <a href=
- "#content-vocabulary-span">span</a>, <a href=
- "#content-vocabulary-br">br</a></td>
- </tr>
-
- <tr>
- <td>Document</td>
-
- <td><a href="#document-structure-vocabulary-tt">tt</a></td>
- </tr>
-
- <tr>
- <td>Head</td>
-
- <td><a href="#document-structure-vocabulary-head">head</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-vocabulary-layout">layout</a>, <a href=
- "#layout-vocabulary-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a></td>
- </tr>
-
- <tr>
- <td>Metadata Items</td>
-
- <td><a href="#metadata-vocabulary-actor">ttm:actor</a>,
- <a href="#metadata-vocabulary-agent">ttm:agent</a>, <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a>, <a href=
- "#metadata-vocabulary-desc">ttm:desc</a>, <a href=
- "#metadata-vocabulary-name">ttm:name</a>, <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameter Items</td>
-
- <td><a href="#parameter-vocabulary-profile">ttp:profile</a>,
- <a href="#parameter-vocabulary-features">ttp:features</a>,
- <a href="#parameter-vocabulary-feature">ttp:feature</a>,
- <a href="#parameter-vocabulary-extensions">ttp:extensions</a>,
- <a href=
- "#parameter-vocabulary-extension">ttp:extension</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#styling-vocabulary-styling">styling</a>, <a href=
- "#styling-vocabulary-style">style</a></td>
- </tr>
- </tbody>
- </table>
-
- <p>Element vocabulary groups that are used in defining content models
- for TTML element types are enumerated in <a href=
- "#element-vocab-group-table"><b>Table 4 – Element Vocabulary
- Groups</b></a>.</p><a id="element-vocab-group-table" name=
- "element-vocab-group-table"></a>
-
- <table class="common">
- <caption>
- Table 4 – Element Vocabulary Groups
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Group</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation.class</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Block.class</td>
-
- <td><a href="#content-vocabulary-div">div</a> | <a href=
- "#content-vocabulary-p">p</a></td>
- </tr>
-
- <tr>
- <td>Inline.class</td>
-
- <td><a href="#content-vocabulary-span">span</a> | <a href=
- "#content-vocabulary-span">br</a> | <code>#PCDATA</code></td>
- </tr>
-
- <tr>
- <td>Metadata.class</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a> |
- <a href="#metadata-vocabulary-copyright">ttm:agent</a> |
- <a href="#metadata-vocabulary-copyright">ttm:copyright</a> |
- <a href="#metadata-vocabulary-desc">ttm:desc</a> | <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameters.class</td>
-
- <td><a href=
- "#parameter-vocabulary-profile">ttp:profile</a></td>
- </tr>
- </tbody>
- </table>
-
- <p>The attribute vocabulary specified for use with the core
- vocabulary catalog is enumerated in <a href=
- "#attribute-vocab-table"><b>Table 5 – Attribute
- Vocabulary</b></a>.</p><a id="attribute-vocab-table" name=
- "attribute-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 5 – Attribute Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Attributes</th>
- </tr>
-
- <tr>
- <td>Core Attributes</td>
-
- <td><a href="#content-attribute-id">xml:id</a>, <a href=
- "#content-attribute-lang">xml:lang</a>, <a href=
- "#content-attribute-space">xml:space</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-attribute-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata Attributes</td>
-
- <td><a href="#metadata-attribute-agent">ttm:agent</a>, <a href=
- "#metadata-attribute-role">ttm:role</a></td>
- </tr>
-
- <tr>
- <td>Parameter Attributes</td>
-
- <td><a href=
- "#parameter-attribute-cellResolution">ttp:cellResolution</a>,
- <a href="#parameter-attribute-clockMode">ttp:clockMode</a>,
- <a href="#parameter-attribute-dropMode">ttp:dropMode</a>,
- <a href="#parameter-attribute-frameRate">ttp:frameRate</a>,
- <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a>,
- <a href="#parameter-attribute-markerMode">ttp:markerMode</a>,
- <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
- <a href="#parameter-attribute-profile">ttp:profile</a>,
- <a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a>,
- <a href="#parameter-attribute-tickRate">ttp:tickRate</a>,
- <a href="#parameter-attribute-timeBase">ttp:timeBase</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#style-attribute-style">style</a></td>
- </tr>
-
- <tr>
- <td>Styling Attributes</td>
-
- <td><a href=
- "#style-attribute-backgroundColor">tts:backgroundColor</a>,
- <a href="#style-attribute-color">tts:color</a>, <a href=
- "#style-attribute-direction">tts:direction</a>, <a href=
- "#style-attribute-display">tts:display</a>, <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a>, <a href=
- "#style-attribute-extent">tts:extent</a>, <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a>, <a href=
- "#style-attribute-fontSize">tts:fontSize</a>, <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a>, <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a>, <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a>, <a href=
- "#style-attribute-opacity">tts:opacity</a>, <a href=
- "#style-attribute-origin">tts:origin</a>, <a href=
- "#style-attribute-overflow">tts:overflow</a>, <a href=
- "#style-attribute-padding">tts:padding</a>, <a href=
- "#style-attribute-showBackground">tts:showBackground</a>,
- <a href="#style-attribute-textAlign">tts:textAlign</a>,
- <a href="#style-attribute-textDecoration">tts:textDecoration</a>,
- <a href="#style-attribute-textOutline">tts:textOutline</a>,
- <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a>,
- <a href="#style-attribute-visibility">tts:visibility</a>,
- <a href="#style-attribute-wrapOption">tts:wrapOption</a>,
- <a href="#style-attribute-writingMode">tts:writingMode</a>,
- <a href="#style-attribute-zIndex">tts:zIndex</a></td>
- </tr>
-
- <tr>
- <td>Timing Attributes</td>
-
- <td><a href="#timing-attribute-begin">begin</a>, <a href=
- "#timing-attribute-dur">dur</a>, <a href=
- "#timing-attribute-end">end</a>, <a href=
- "#timing-attribute-timeContainer">timeContainer</a></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only those attributes defined as either (1) global, i.e.,
- namespace qualified, or (2) shared element-specific, i.e., not
- namespace qualified but shared across multiple element types, are
- listed in <a href="#attribute-vocab-table"><b>Table 5 – Attribute
- Vocabulary</b></a> above.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All vocabulary defined by TTML consistently makes use of the
- so-called <em>lowerCamelCase</em> naming convention. In some cases,
- this results in the change of a name when the name was based upon
- another specification that used a different naming convention.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="extension-vocabulary-overview" name=
- "extension-vocabulary-overview"></a>5.3.2 Extension Catalog</h4>
-
- <p>The extension vocabulary catalog is intended for use by future
- profiles of TTML, and is not further defined by this version of this
- specification.</p>
-
- <p>In addition to standardized extension vocabulary, a conforming
- <em>Document Instance</em> may contain arbitrary namespace qualified
- elements that reside in any namespace other than those namespaces
- defined for use with this specification. Furthermore, a conforming
- <em>Document Instance</em> may contain arbitrary namespace qualified
- attributes on TTML defined vocabulary where such attributes reside in
- any namespace other than those defined for use with this
- specification.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="parameters" name="parameters"></a>6 Parameters</h2>
-
- <p>This section specifies the <em>parameters</em> matter of the core
- vocabulary catalog, where parameters are to be understood as information
- that is either (1) essential or (2) of significant importance for the
- purpose of interpreting the semantics of other types of information
- expressed by core vocabulary items or for establishing a <em>Document
- Processing Context</em> by means of which TTML Content can be related to
- an external environment.</p>
-
- <div class="div2">
- <h3><a id="parameter-element-vocabulary" name=
- "parameter-element-vocabulary"></a>6.1 Parameter Element
- Vocabulary</h3>
-
- <p>The following elements, all defined in the TT Parameter Namespace,
- specify parametric information that applies to a <em>Document
- Instance</em> or <em>Content Processor</em>:</p>
-
- <ul>
- <li>
- <p><a href="#parameter-vocabulary-profile"><b>6.1.1
- ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-features"><b>6.1.2
- ttp:features</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-feature"><b>6.1.3
- ttp:feature</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extensions"><b>6.1.4
- ttp:extensions</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extension"><b>6.1.5
- ttp:extension</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-profile" name=
- "parameter-vocabulary-profile"></a>6.1.1 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> element is used to specify a
- collection of used (mandatory and enabled), required (mandatory), and
- optional (voluntary) features and extensions that must or may be
- supported by a <em>Content Processor</em> in order to process a
- <em>Document Instance</em> that makes (or may make) use of such
- features and extensions.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The difference between a <em>feature</em> and an
- <em>extension</em> is where it is defined and how it is labeled: if
- defined in this specification (or a future revision thereof) and
- labeled with a feature designation in <a href="#features"><b>D
- Features</b></a>, then it is considered to be a feature; if defined
- in another specification and labeled there with an extension
- designation, then it is considered to be an extension. In general,
- features are expected to be defined by the W3C standards process,
- while extensions are expected to be defined by third parties.</p>
- </div>
-
- <p>This specification defines two distinct uses of the
- <code>ttp:profile</code> element:</p>
-
- <ul>
- <li>
- <p>as a child of the <code>head</code> element within a TTML
- <em>Document Instance</em>;</p>
- </li>
-
- <li>
- <p>as the root element of a TTML <em>Profile Definition
- Document</em> instance;</p>
- </li>
- </ul>
-
- <p>When a <code>tt:profile</code> element appears within a TTML
- <em>Document Instance</em>, its purpose is to express authorial
- intentions about which features and extensions must or may be
- supported by a recipient content processor. In addition, the element
- indirectly expresses information about the set of features or
- extensions that are (or may expected to be) used by the <em>Document
- Instance</em>.</p>
-
- <p>When a <code>tt:profile</code> element is used by a TTML
- <em>Profile Definition Document</em> instance, it serves to publish a
- machine readable specification of a specific TTML Content profile, of
- which this specification defines three such <em>Profile Definition
- Documents</em> in <a href="#profiles"><b>F Profiles</b></a>.</p>
-
- <p>The <code>ttp:profile</code> element accepts as its children zero
- or more elements in the <code>Metadata.class</code> element group,
- followed by zero or more <code>ttp:features</code> elements, followed
- by zero or more <code>ttp:extensions</code> elements.</p><a id=
- "elt-syntax-parameter-profile" name=
- "elt-syntax-parameter-profile"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile
- use = string
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-features">ttp:features</a>*, <a href=
-"#parameter-vocabulary-extensions">ttp:extensions</a>*
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>use</code> attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML
- Schema Part 2]</a>, §3.2.17, and, furthermore, must denote a profile
- designator in accordance with <a href="#vocabulary-profiles"><b>5.2
- Profiles</b></a>. In this case, the profile designator must refer to
- (1) a standard, predefined <em>Profile Definition Document</em> as
- defined by <a href="#profiles"><b>F Profiles</b></a>, or (2) a
- feasibly dereferenceable resource representing a valid <em>Profile
- Definition Document</em> instance. In either case, the referenced
- profile serves as the baseline profile of the specifying
- <code>ttp:profile</code> element.</p>
-
- <p>If the <code>use</code> attribute is not specified, then the
- baseline profile of the <code>ttp:profile</code> element must be
- considered to be the empty (null) profile, i.e., a profile definition
- containing no feature or extension specifications.</p>
-
- <p>The collection of features and extensions of a profile are
- determined according to the following ordered rules:</p>
-
- <ol class="enumar">
- <li>
- <p>initialize the features and extensions of the profile to the
- empty set;</p>
- </li>
-
- <li>
- <p>if a <code>use</code> attribute is present, then augment the
- profile with the set of features and extensions specified by the
- referenced baseline profile;</p>
- </li>
-
- <li>
- <p>for each <code>ttp:feature</code> and
- <code>ttp:extension</code> element descendant of the
- <code>ttp:profile</code> element, using a post-order traversal,
- merge the specified feature or extension with the features and
- extensions of the profile, where merging a feature or extension
- entails replacing an existing feature or extension specification,
- if it already exists, or adding a new feature or extension
- specification, if it does not yet exist in the profile;</p>
- </li>
- </ol>
-
- <p>A conformant TTML processor is not required to be able to
- dereference a <em>Profile Definition Document</em> that is not one of
- the standard, predefined profiles defined by <a href="#profiles"><b>F
- Profiles</b></a>. Furthermore, a conformant TTML processor may make
- use of a built-in, static form of each standard, predefined profile
- so as not to require dereferencing a network resource.</p>
-
- <p>If a TTML processor is unable to dereference a non-standard
- <em>Profile Definition Document</em>, then it must not further
- process the document without the presence of an explicit override
- from an end-user or some implementation specific parameter traceable
- to an end-user or to a user or system configuration setting. If a
- TTML processor aborts processing of a <em>Document Instance</em> due
- to the inability to reference a non-standard <em>Profile Definition
- Document</em>, then some end-user notification should be given unless
- the end-user or system has disabled such a notification, or if the
- processor does not permit or entail the intervention of an
- end-user.</p>
-
- <p>The <code>ttp:profile</code> element is illustrated by the
- following example.</p><a id="parameter-vocabulary-profile-example-1"
- name="parameter-vocabulary-profile-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <ttp:feature>#text-outline</ttp:feature>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as
- the baseline profile. This baseline profile is then supersetted
- (thus creating an additive derived profile) by requiring support
- for <code>#text-outline</code> feature.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-features" name=
- "parameter-vocabulary-features"></a>6.1.2 ttp:features</h4>
-
- <p>The <code>ttp:features</code> element is a container element used
- to group infomation about feature support requirements.</p>
-
- <p>The <code>ttp:features</code> element accepts as its children zero
- or more elements in the <code>Metadata.class</code> element group,
- followed by zero or more <code>ttp:feature</code> elements.</p><a id=
- "elt-syntax-parameter-features" name=
- "elt-syntax-parameter-features"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:features
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:features
- xml:base = string : <em>TT Feature Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-feature">ttp:feature</a>*
-</ttp:features>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere
- to the <code>xsd:anyURI</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, §3.2.17, (2) express an absolute
- URI that adheres to <a href="#xmlbase">[XML Base]</a> and, (3)
- express a feature namespace as defined by <a href=
- "#feature-designations"><b>D.1 Feature Designations</b></a>. If not
- specified, the <code>xml:base</code> attribute's default value
- applies, which is the TT Feature Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the
- abbreviation of feature designation URIs expressed by child
- <code>ttp:feature</code> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-feature" name=
- "parameter-vocabulary-feature"></a>6.1.3 ttp:feature</h4>
-
- <p>The <code>ttp:feature</code> element is used to specify infomation
- about support requirements for a particular feature.</p>
-
- <p>The children of the <code>ttp:feature</code> element must express
- a non-empty sequence of character information items that adheres to
- the <code>xsd:anyURI</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, §3.2.17.</p><a id=
- "elt-syntax-parameter-feature" name=
- "elt-syntax-parameter-feature"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:feature
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:feature>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the
- <code>ttp:feature</code> element is a relative URI, then, when
- combined with the feature namespace value expressed by the
- <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:features</code> element, it must express an absolute URI.
- In either case (original absolute URI or resulting absolutized URI),
- the URI expressed by the <code>ttp:feature</code> element must
- further adhere to the syntax of a feature designation as defined by
- <a href="#feature-designations"><b>D.1 Feature Designations</b></a>,
- and, furthermore, the specific designation that appears in this URI,
- i.e., the portion of the feature designation that starts with the
- fragment identifier separator '#', must be defined by this
- specification or some published version thereof (that has achieved
- REC status).</p>
-
- <p>If the URI expressed by the content of the
- <code>ttp:feature</code> element is a relative URI, then an
- <code>xml:base</code> attribute should be specified on the nearest
- ancestor <code>ttp:features</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming
- TTML processor must or may implement the designated feature in order
- to process the document. If the value of the <code>value</code>
- attribute is <code>optional</code>, then the processor need not
- implement or otherwise support the feature in order to process the
- document; if the value is <code>required</code>, then the processor
- must implement or otherwise support the feature, irrespective of
- whether the feature is enabled or disabled, in order to process the
- document; if the value is <code>use</code>, then the processor must
- both (1) implement or otherwise support the feature and (2) have
- enabled (activated) use of the feature.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element
- information item definition. Therefore, if a <code>value</code>
- attribute is not specified on a <code>ttp:feature</code> element,
- it is equivalent to specifying that support for the feature is
- required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is
- <code>required</code> or <code>use</code> and the TTML processor
- implementation does not support the feature, or if the
- <code>value</code> attribute is <code>use</code> and the TTML
- processor implementation supports but has disabled that feature, then
- it must not further process the document without the presence of an
- explicit override from an end-user or some implementation specific
- parameter traceable to an end-user or to a user or system
- configuration setting. If a TTML processor aborts processing of a
- <em>Document Instance</em> due to the specification of a required,
- but unsupported feature by this element, then some end-user
- notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or
- entail the intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is
- <code>optional</code>, and if the TTML processor implementation does
- not support the feature, then it may further process the document
- even in the case that some use of the feature is present in the
- document. In the case of actual use of a feature designated as
- optional, the default semantics associated with that feature apply;
- that is, the processor may behave as if the feature were not actually
- used or referenced by the document. Notwithstanding the above, the
- syntactic presence or reference to an optional feature by a document
- must not be considered to be a violation of document validity or a
- barrier to further processing if the syntactic expression is
- well-formed and valid.</p>
-
- <p>If some defined (i.e., standardized) or otherwise well known
- feature is not specified by a <code>ttp:feature</code> element in a
- given profile, then it must be interpreted as if the feature were
- specified with the <code>value</code> attribute equal to
- <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some feature is not present in a profile
- definition, then it is not to be interpreted as meaning the use of
- that feature (in a <em>Document Instance</em>) is disallowed or
- otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:feature</code> element is illustrated by the
- following example.</p><a id="parameter-vocabulary-feature-example-1"
- name="parameter-vocabulary-feature-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <span class=
-"strong"><ttp:feature value="required">#fontStyle-italic</ttp:feature></span>
- <span class=
-"strong"><ttp:feature value="required">#textDecoration-under</ttp:feature></span>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as
- the baseline profile. This baseline profile is then modified by two
- <code>ttp:feature</code> elements in order to superset the baseline
- profile (since neither <code>#fontStyle-italic</code> nor
- <code>#textDecoration-under</code> are required by the DFXP
- presentation profile).</p>
-
- <p>The effect of this example is to express authorial intentions
- that italic font style and text underlining must be supported.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extensions" name=
- "parameter-vocabulary-extensions"></a>6.1.4 ttp:extensions</h4>
-
- <p>The <code>ttp:extensions</code> element is a container element
- used to group infomation about extension support requirements.</p>
-
- <p>The <code>ttp:extensions</code> element accepts as its children
- zero or more elements in the <code>Metadata.class</code> element
- group, followed by zero or more <code>ttp:extension</code>
- elements.</p><a id="elt-syntax-parameter-extensions" name=
- "elt-syntax-parameter-extensions"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extensions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extensions
- xml:base = string : <em>TT Extension Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-extension">ttp:extension</a>*
-</ttp:extensions>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere
- to the <code>xsd:anyURI</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, §3.2.17, (2) express an absolute
- URI that adheres to <a href="#xmlbase">[XML Base]</a> and, (3)
- express an extension namespace as defined by <a href=
- "#extension-designations"><b>E.1 Extension Designations</b></a>. If
- not specified, the <code>xml:base</code> attribute's default value
- applies, which is the TT Extension Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the
- abbreviation of feature designation URIs expressed by child
- <code>ttp:extension</code> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extension" name=
- "parameter-vocabulary-extension"></a>6.1.5 ttp:extension</h4>
-
- <p>The <code>ttp:extension</code> element is used to specify
- infomation about support requirements for a particular extension.</p>
-
- <p>The children of the <code>ttp:extension</code> element must
- express a non-empty sequence of character information items that
- adheres to the <code>xsd:anyURI</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, §3.2.17.</p><a id=
- "elt-syntax-parameter-extension" name=
- "elt-syntax-parameter-extension"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extension
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:extension>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the
- <code>ttp:extension</code> element is a relative URI, then, when
- combined with the extension namespace value expressed by the
- <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:extensions</code> element, it must express an absolute URI.
- In either case (original absolute URI or resulting absolutized URI),
- the URI expressed by the <code>ttp:extension</code> element must
- further adhere to the syntax of an extension designation as defined
- by <a href="#extension-designations"><b>E.1 Extension
- Designations</b></a>.</p>
-
- <p>If the URI expressed by the content of the
- <code>ttp:feature</code> element is a relative URI, then an
- <code>xml:base</code> attribute should be specified on the nearest
- ancestor <code>ttp:extensions</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming
- TTML processor must or may implement the designated extension in
- order to process the document. If the value of the <code>value</code>
- attribute is <code>optional</code>, then the processor need not
- implement or otherwise support the extension in order to process the
- document; if the value is <code>required</code>, then the processor
- must implement or otherwise support the extension in order to process
- the document; if the value is <code>use</code>, then the processor
- must both (1) implement or otherwise support the extension and (2)
- enable (activate) use of the extension.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element
- information item definition. Therefore, if a <code>value</code>
- attribute is not specified on a <code>ttp:extension</code> element,
- it is equivalent to specifying that support for the extension is
- required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is
- <code>required</code> or <code>use</code> and the TTML processor
- implementation does not support the extension, or if the
- <code>value</code> attribute is <code>use</code> and the TTML
- processor implementation supports but has disabled that extension,
- then it must not further process the document without the presence of
- an explicit override from an end-user or some implementation specific
- parameter traceable to an end-user or to a user or system
- configuration setting. If a TTML processor aborts processing of a
- <em>Document Instance</em> due to the specification of a required,
- but unsupported extension by this element, then some end-user
- notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or
- entail the intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is
- <code>optional</code>, and if the TTML processor implementation does
- not support the extension, then it may further process the document
- even in the case that some use of the extension is present in the
- document. In the case of actual use of an extension designated as
- optional, the default semantics associated with that extension apply;
- that is, the processor may behave as if the extension were not
- actually used or referenced by the document. Notwithstanding the
- above, the syntactic presence or reference to an optional extension
- by a document must not be considered to be a violation of document
- validity or a barrier to further processing if the syntactic
- expression is well-formed and valid.</p>
-
- <p>If some well known extension is not specified by a
- <code>ttp:extension</code> element in a given profile, then it must
- be interpreted as if the extension were specified with the
- <code>value</code> attribute equal to <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some extension is not present in a profile
- definition, then it is not to be interpreted as meaning the use of
- that extension (in a <em>Document Instance</em>) is disallowed or
- otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:extension</code> element is illustrated by the
- following example.</p><a id=
- "parameter-vocabulary-extension-example-1" name=
- "parameter-vocabulary-extension-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-transformation">
- <ttp:extensions xml:base="http://example.org/ttml/extension/">
- <span class=
-"strong"><ttp:extension value="use">#prefilter-by-language</ttp:extension></span>
- </ttp:extensions>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP transformation profile is used as
- the baseline profile. This baseline profile is then supersetted by
- specifying that support and use is required for a private extension
- defined in a third party namespace.</p>
-
- <p>The effect of this example is to express authorial intentions
- that a recipient processor must support the DFXP transformation
- profile and must also support and enable an extension defined by a
- third party.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="parameter-attribute-vocabulary" name=
- "parameter-attribute-vocabulary"></a>6.2 Parameter Attribute
- Vocabulary</h3>
-
- <p>The following attributes are defined in the TT Parameter
- Namespace.</p>
-
- <ul>
- <li>
- <p><a href="#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-clockMode"><b>6.2.2
- ttp:clockMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-dropMode"><b>6.2.3
- ttp:dropMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5
- ttp:frameRateMultiplier</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-markerMode"><b>6.2.6
- ttp:markerMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7
- ttp:pixelAspectRatio</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-profile"><b>6.2.8
- ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-tickRate"><b>6.2.10
- ttp:tickRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must
- appear between adjacent non-terminal components of a TT Parameter value
- unless some other delimiter is permitted and used.</p>
-
- <div class="div3">
- <h4><a id="parameter-attribute-cellResolution" name=
- "parameter-attribute-cellResolution"></a>6.2.1
- ttp:cellResolution</h4>
-
- <p>The <code>ttp:cellResolution</code> attribute may be used by an
- author to express the number of horizontal and vertical cells into
- which the <em>Root Container Region</em> area is divided for the
- purpose of expressing presentation semantics in terms of a uniform
- grid.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id=
- "parameter-attribute-cellResolution-syntax" name=
- "parameter-attribute-cellResolution-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:cellResolution
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:cellResolution
- : columns rows // <em>columns</em> != 0; <em>rows</em> != 0
-
-columns | rows
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, the number of columns and rows must be
- considered to be 32 and 15, respectively. If specified, then columns
- or rows must not be zero (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The choice of values 32 and 15 are based on this being the
- maximum number of columns and rows defined by <a href=
- "#cea608c">[CEA-608-C]</a>.</p>
- </div>
-
- <p>A <code>ttp:cellResolution</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a uniform grid is employed only for the purpose of
- measuring lengths and expressing coordinates. In particular, it is
- not assumed that the presentation of text or the alignment of
- individual glyph areas is coordinated with this grid. Such
- alignment is possible, but requires the use of a monospaced font
- and a font size whose EM square exactly matches the cell size.</p>
- </div>
-
- <p>Except where indicated otherwise, when a <a href=
- "#style-value-length"><length></a> expressed in cells denotes a
- dimension parallel to the inline or block progression dimension, the
- cell's dimension in the inline or block progression dimension
- applies, respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if padding (on all four edges) is specified as
- 0.1c, the cell resolution is 20 by 10, and the extent of the
- <em>Root Container Region</em> is 640 by 480, then, assuming top to
- bottom, left to right writing mode, the start and end padding will
- be (640 / 20) * 0.1 pixels and the before and after padding will be
- (480 / 10) * 0.1 pixels.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-clockMode" name=
- "parameter-attribute-clockMode"></a>6.2.2 ttp:clockMode</h4>
-
- <p>The <code>ttp:clockMode</code> attribute is used to specify the
- interpretation of time expressions as real-time time coordinates when
- operating with time base of <code>clock</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value
- Expressions</b></a> for the specification of time expression syntax
- and semantics.</p>
- </div>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-clockMode-syntax"
- name="parameter-attribute-clockMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:clockMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:clockMode
- : "local"
- | "gps"
- | "utc"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is
- designated as <code>clock</code>, then this parameter applies as
- follows: if the parameter's value is <code>local</code>, then time
- expressions are interpreted as local wall-clock time coordinates; if
- <code>utc</code>, then time expressions are interpreted as UTC time
- coordinates <a href="#utc">[UTC]</a>; if <code>gps</code>, then time
- expressions are interpreted as GPS time coordinates <a href=
- "#gps">[GPS]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The primary difference between GPS time and UTC time is that GPS
- time is not adjusted for leap seconds, while UTC time is adjusted
- as follows: UTC = TAI (<em>Temp Atomique International</em>) +
- <em>leap seconds accumulated since 1972</em>. TAI is maintained by
- the <em>Bureau International des Poids et Mesures</em> (BIPM) in
- Sevres, France. The GPS system time is steered to a Master Clock
- (MC) at the US Naval Observatory which is kept within a close but
- unspecified tolerance of TAI.</p>
- </div>
-
- <p>If not specified, the value of this parameter must be considered
- to be <code>utc</code>.</p>
-
- <p>A <code>ttp:clockMode</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-dropMode" name=
- "parameter-attribute-dropMode"></a>6.2.3 ttp:dropMode</h4>
-
- <p>The <code>ttp:dropMode</code> attribute is used to specify
- constraints on the interpretation and use of frame counts that
- correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates
- when operating with time base of <code>smpte</code> as defined by
- <a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-dropMode-syntax"
- name="parameter-attribute-dropMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:dropMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:dropMode
- : "dropNTSC"
- | "dropPAL"
- | "nonDrop"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is
- designated as <code>smpte</code>, then this parameter applies as
- follows: if the parameter's value is <code>nonDrop</code>, then,
- within any given second of a time expression, frames count from 0 to
- <em>N−1</em>, where <em>N</em> is the value specified by the
- <code>ttp:frameRate</code> parameter, but while ignoring any value
- specified by the <code>ttp:frameRateMultiplier</code> parameter.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating in <code>nonDrop</code> mode, a second of a time
- expression may or may not be equal to a second of real time during
- normal (1x speed) forward playback. If the
- <code>ttp:frameRateMultiplier</code> parameter is specified and is
- not equal to 1:1, then a second of a time expression will either be
- shorter or longer than a second of elapsed play in real time.</p>
- </div>
-
- <p>If this parameter's value is <code>dropNTSC</code>, then, within
- any given second of a time expression except the second
- <code>00</code>, frames count from 0 to <em>N−1</em>, where
- <em>N</em> is the value specified by the <code>ttp:frameRate</code>
- parameter, but while ignoring any value specified by the
- <code>ttp:frameRateMultiplier</code> parameter. If the second of a
- time expression is <code>00</code> and the minute of the time
- expression is not <code>00</code>, <code>10</code>, <code>20</code>,
- <code>30</code>, <code>40</code>, or <code>50</code>, then frame
- codes <code>00</code> and <code>01</code> are dropped during that
- second; otherwise, these frame codes are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropNTSC</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in
- frame count occurs between consecutive frames as shown in the
- following sequence of time expressions: <code>01:08:59:28</code>,
- <code>01:08:59:29</code>, <code>01:09:00:02</code>,
- <code>01:09:00:03</code>.</p>
- </div>
-
- <p>If this parameter's value is <code>dropPAL</code>, then, within
- any given second of a time expression except the second
- <code>00</code>, frames count from 0 to <em>N−1</em>, where
- <em>N</em> is the value specified by the <code>ttp:frameRate</code>
- parameter, but while ignoring any value specified by the
- <code>ttp:frameRateMultiplier</code> parameter. If the second of a
- time expression is <code>00</code> and the minute of the time
- expression is even but not <code>00</code>, <code>20</code>, or
- <code>40</code>, then frame codes <code>00</code> through
- <code>03</code> are dropped during that second; otherwise, these
- frame codes are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropPAL</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in
- frame count occurs between consecutive frames as shown in the
- following sequence of time expressions: <code>01:09:59:28</code>,
- <code>01:09:59:29</code>, <code>01:10:00:04</code>,
- <code>01:10:00:05</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <code>dropPAL</code> mode is also known as the
- <em>M/PAL</em> or <em>PAL (M)</em> drop-frame code, which uses PAL
- modulation with the NTSC frame rate of ~29.97 frames/second. The
- M/PAL system is used primarily in Brazil.</p>
- </div>
-
- <p>If not specified, then <code>nonDrop</code> must be assumed to
- apply.</p>
-
- <p>A <code>ttp:dropMode</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-frameRate" name=
- "parameter-attribute-frameRate"></a>6.2.4 ttp:frameRate</h4>
-
- <p>The <code>ttp:frameRate</code> attribute is used to specify the
- frame rate of a related media object or the intrinsic frame rate of a
- <em>Document Instance</em> in case it is intended to function as an
- independent media object.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-frameRate-syntax"
- name="parameter-attribute-frameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The frame rate that applies to a <em>Document Instance</em> is
- used to interpret time expressions that are expressed in
- <em>frames</em> as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective
- frame rate is integral, then a frame is interpreted as a division of
- a second of media time, such that if the frame rate is specified as
- <em>F</em>, then a second of media time is divided into <em>F</em>
- intervals of equal duration, where each interval is labeled as frame
- <em>f</em>, with <em>f</em> ∈ [0…<em>F−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time
- expressions for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the frame rate must be considered to be equal to
- some application defined frame rate, or if no application defined
- frame rate applies, then thirty (30) frames per second. If specified,
- then the frame rate must be greater than zero (0).</p>
-
- <p>A <code>ttp:frameRate</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-frameRateMultiplier" name=
- "parameter-attribute-frameRateMultiplier"></a>6.2.5
- ttp:frameRateMultiplier</h4>
-
- <p>The <code>ttp:frameRateMultiplier</code> attribute is used to
- specify a multiplier to be applied to the frame rate specified by a
- <code>ttp:frameRate</code> attribute in order to compute the
- effective frame rate.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id=
- "parameter-attribute-frameRateMultiplier-syntax" name=
- "parameter-attribute-frameRateMultiplier-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRateMultiplier
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRateMultiplier
- : numerator denominator // <em>numerator</em> != 0; <em>denominator</em> != 0
-
-numerator | denominator
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A frame rate multiplier is used when the desired frame rate cannot
- be expressed as an integral number of frames per second.</p>
-
- <p>If not specified, the frame rate multiplier must be considered to
- be equal to one (1:1). Both numerator and denominator must be
- non-zero.</p>
-
- <p>A <code>ttp:frameRateMultiplier</code> attribute is considered to
- be significant only when specified on the <code>tt</code>
- element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The frame rate multiplier used for synchronizing with NTSC
- <a href="#smpte170m">[SMPTE 170M]</a> formatted video objects at 30
- frames per second is nominally 1000:1001. The nominal frame rate of
- NTSC video is defined as the chrominance sub-carrier frequency of
- 3,579,545.45…Hz (= 5.0MHz × 63/88) times the ratio 2/455 divided by
- the number of horizontal lines per frame of 525, which yields a
- frame rate of 29.970029970029… (= 30 × 1000/1001) frames per
- second. Other frame rate multipliers apply to different regions of
- usage and video format standards.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Except in the case of PAL/M, the frame rate multiplier used for
- synchronizing with PAL formatted video objects at 25 frames per
- second is nominally 1:1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-markerMode" name=
- "parameter-attribute-markerMode"></a>6.2.6 ttp:markerMode</h4>
-
- <p>The <code>ttp:markerMode</code> attribute is used to specify
- constraints on the interpretation and use of time expressions that
- correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates
- when operating with time base of <code>smpte</code> as defined by
- <a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-markerMode-syntax"
- name="parameter-attribute-markerMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:markerMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:markerMode
- : "continuous"
- | "discontinuous"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is
- designated as <code>smpte</code>, then this parameter applies as
- follows: if the parameter's value is <code>continuous</code>, then
- <a href="#smpte12m">[SMPTE 12M]</a> time coordinates may be assumed
- to be linear and either monotonically increasing or decreasing;
- however, if <code>discontinuous</code>, then any assumption must not
- be made regarding linearity or monotonicity of time coordinates.</p>
-
- <p>If not specified, the value of this parameter must be considered
- to be <code>discontinuous</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value for this parameter was originally specified
- (in <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">TTML 1.0 First
- Edition</a>) as <code>continuous</code>; however, further
- evaluation of the state of the industry indicates this choice was
- incorrect, and that the most common default is
- <code>discontinuous</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to lack of industry consensus on the utility and
- interpretation of the <code>continuous</code> marker mode, authors
- are advised to avoid its use. Furthermore, the
- <code>ttp:markerMode</code> is being considered for deprecation in
- the next revision of this specification.</p>
- </div>
-
- <p>A <code>ttp:markerMode</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <p>If a value of <code>continuous</code> applies, then time
- expressions may be converted to real time coordinates by taking into
- account the computed frame rate and drop mode as expressed by the
- <code>ttp:dropMode</code> parameter. In this case, the <em>Content
- Processor</em> must create and maintain a <em>Synthetic SMPTE
- Document Syncbase</em> within which these time expressions are
- interpreted as further described in <a href=
- "#timing-time-intervals"><b>10.4 Time Intervals</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>continuous</code> marker mode, there is an implied time
- coordinate space, the <em>Synthetic SMPTE Document Syncbase</em>,
- defined by the monotonically increasing (or decreasing) <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinates, while taking into
- account the computed frame rate and drop mode. All time expressions
- are interpreted in relationship to this time coordinate space based
- upon <em>SMPTE Time Code</em> synchronization events (markers),
- where the <em>Document Processing Context</em> emits these events
- with implied constraints regarding time coordinate monoticity and
- resynchronization in the presence of dropped frames.</p>
-
- <p>Use of <code>continuous</code> marker mode with the
- <code>smpte</code> time base is different from using the
- <code>media</code> time base because (1) the semantics of the
- <code>ttp:dropMode</code> parameter apply to the former, but not
- the latter, and (2) <a href="#smpte12m">[SMPTE 12M]</a> time
- coordinates may be applied monotonically to media which has been
- subjected to dilation in time, constriction in time, or reversal in
- time.</p>
- </div>
-
- <p>If a value of <code>discontinuous</code> applies, then time
- expressions must not be converted to real time coordinates,
- arithmetical operators (addition, multiplication) are not defined on
- time expressions, and, consequently, any (well-formed) expression of
- a duration must be considered to be invalid.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>discontinuous</code> marker mode, there is no effective time
- coordinate space; rather, all time expressions are interpreted as
- labeled synchronization events (markers), where the <em>Document
- Processing Context</em> emits these events, which, when they
- correspond with time expressions that denote the same label, cause
- a temporal interval to begin or end accordingly.</p>
-
- <p>An additional side-effect of operating in
- <code>discontinuous</code> mode is that time expressions of
- children have no necessary relationship with time expressions of
- their temporal container; that is, temporal containers and children
- of these containers are temporally activated and inactivated
- independently based on the occurrence of a labeled synchronization
- (marker) event.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notion of marker discontinuity as captured by this parameter
- is logically independent from the method used to count frames as
- expressed by the <code>ttp:dropMode</code> parameter. In
- particular, even if the <code>ttp:dropMode</code> parameter is
- specified as <code>dropNTSC</code> or <code>dropPAL</code>, the
- marker mode may be specified as <code>continuous</code>, even in
- the presence of frame count discontinuities induced by the frame
- counting method, unless there were some other non-linearity or
- discontinuity in marker labeling, for example, two consecutive
- frames labeled as <code>10:00:00:00</code> and
- <code>10:00:01:00</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-pixelAspectRatio" name=
- "parameter-attribute-pixelAspectRatio"></a>6.2.7
- ttp:pixelAspectRatio</h4>
-
- <p>The <code>ttp:pixelAspectRatio</code> attribute may be used by a
- content author to express the aspect ratio of non-square pixels in
- the production of content that makes use of pixel coordinates.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id=
- "parameter-attribute-pixelAspectRatio-syntax" name=
- "parameter-attribute-pixelAspectRatio-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:pixelAspectRatio
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:pixelAspectRatio
- : width height // <em>width</em> != 0; <em>height</em> != 0
-
-width | height
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, then square pixels (i.e., aspect ratio 1:1) must
- be assumed to apply. If specified, then both width and height must be
- non-zero.</p>
-
- <p>A <code>ttp:pixelAspectRatio</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This parameter may be used by a content transcoder or translator
- in order to convert pixel measurements between different pixel
- aspect ratios while still maintaining authorial layout
- intentions.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-profile" name=
- "parameter-attribute-profile"></a>6.2.8 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> attribute may be used by a content
- author to express the profile of the Timed Text Markup Language
- (TTML) used in a <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML
- Schema Part 2]</a>, §3.2.17, and, further, must specify a profile
- designator in accordance with <a href="#vocabulary-profiles"><b>5.2
- Profiles</b></a>.</p>
-
- <p>A <code>ttp:profile</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-subFrameRate" name=
- "parameter-attribute-subFrameRate"></a>6.2.9 ttp:subFrameRate</h4>
-
- <p>The <code>ttp:subFrameRate</code> attribute is used to specify the
- sub-frame rate of a related media object or the intrinsic sub-frame
- rate of a <em>Document Instance</em> in case it is intended to
- function as an independent media object.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-subFrameRate-syntax"
- name="parameter-attribute-subFrameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:subFrameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:subFrameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The sub-frame rate that applies to a <em>Document Instance</em> is
- used to interpret time expressions that are expressed in
- <em>sub-frames</em> as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective
- frame rate is integral, a sub-frame is interpreted as a division of a
- frame of media time, such that if the sub-frame rate is specified as
- <em>S</em>, then a frame of media time is divided into <em>S</em>
- intervals of equal duration, where each interval is labeled as
- sub-frame <em>s</em>, with <em>s</em> ∈ [0…<em>S−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time
- expressions for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the sub-frame rate must be considered to be
- equal to one (1). If specified, then the sub-frame rate must be
- greater than zero (0).</p>
-
- <p>A <code>ttp:subFrameRate</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The sub-frame is sometimes referred to as a <em>field</em> in
- the context of synchronization with an interlaced video media
- object.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-tickRate" name=
- "parameter-attribute-tickRate"></a>6.2.10 ttp:tickRate</h4>
-
- <p>The <code>ttp:tickRate</code> attribute is used to specify the
- tick rate of a related media object or the intrinsic tick rate of
- content of a <em>Document Instance</em> in case it is intended to
- function as an independent media object.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-tickRate-syntax"
- name="parameter-attribute-tickRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:tickRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:tickRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The tick rate that applies to a <em>Document Instance</em> is used
- to interpret time expressions that are expressed in <em>ticks</em> by
- using the <code>t</code> metric as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies, a tick is interpreted
- as an integral division of a second of media time, such that if the
- tick rate is specified as <em>T</em>, then a second of media time is
- divided into <em>T</em> intervals of equal duration, where each
- interval is labeled as tick <em>t</em>, with <em>t</em> ∈
- [0…<em>T−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time
- expressions for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, then if a frame rate is specified, the tick rate
- must be considered to be the effective frame rate multiplied by the
- sub-frame rate (i.e., ticks are interpreted as sub-frames); or, if no
- frame rate is specified, the tick rate must be considered to be one
- (1) tick per second of media time. If specified, then the tick rate
- must not be zero (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>There is no predefined relationship between ticks and frames or
- sub-frames. Ticks are an arbitrary division of seconds that permit
- use of fixed point arithmetic rather than fractional (and
- potentially inexact) expressions of seconds.</p>
- </div>
-
- <p>A <code>ttp:tickRate</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-timeBase" name=
- "parameter-attribute-timeBase"></a>6.2.11 ttp:timeBase</h4>
-
- <p>The <code>ttp:timeBase</code> attribute is used to specify the
- temporal coordinate system by means of which time expressions are
- interpreted in a <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax:</p><a id="parameter-attribute-timeBase-syntax"
- name="parameter-attribute-timeBase-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:timeBase
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:timeBase
- : "media"
- | "smpte"
- | "clock"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base is designated as <code>media</code>, then a time
- expression denotes a coordinate in some media object's time line,
- where the media object may be an external media object with which the
- content of a <em>Document Instance</em> is to be synchronized, or it
- may be the content of a <em>Document Instance</em> itself in a case
- where the timed text content is intended to establish an independent
- time line.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When using a media time base, if that time base is paused or
- scaled positively or negatively, i.e., the media play rate is not
- unity, then it is expected that the presentation of associated
- Timed Text content will be similarly paused, accelerated, or
- decelerated, respectively. The means for controlling an external
- media time base is outside the scope of this specification.</p>
- </div>
-
- <p>If the time base is designated as <code>smpte</code>, then a time
- expression denotes a <a href="#smpte12m">[SMPTE 12M]</a> time
- coordinate with which the content of a <em>Document Instance</em> is
- to be synchronized. In this case, the value of the
- <code>ttp:markerMode</code> and <code>ttp:dropMode</code> parameters
- apply, as defined by <a href=
- "#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a> and
- <a href="#parameter-attribute-dropMode"><b>6.2.3
- ttp:dropMode</b></a>, respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the time base is designated as <code>smpte</code>, every
- time expression denotes a media marker value akin to that defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, except instead of
- using an opaque marker name, a structured <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinate serves as the marker
- name.</p>
- </div>
-
- <p>If the time base is designated as <code>clock</code>, then the
- time expression denotes a coordinate in some real-world time line as
- established by some real-time clock, such as the local wall-clock
- time or UTC (Coordinated Universal Time) or GPS (Global Positioning
- System) time lines.</p>
-
- <p>If not specified, the default time base must be considered to be
- <code>media</code>.</p>
-
- <p>A <code>ttp:timeBase</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <p>When operating with either <code>media</code> or
- <code>smpte</code> time bases, a diachronic presentation of a
- <em>Document Instance</em> may be subject to transformations of the
- controlling time line, such as temporal reversal, dilation
- (expansion), or constriction (compression); however, when operating
- with the <code>clock</code> time base, no transformations are
- permitted, and diachronic presentation proceeds on a linear,
- monotonically increasing time line based on the passage of real
- time.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to there being only one time base parameter that applies to
- a given <em>Document Instance</em>, the interpretation of time
- expressions is uniform throughout the <em>Document
- Instance</em>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics"><b>N Time Expression
- Semantics</b></a> for further details on the interpretation of time
- expressions according to the designated time base.</p>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="content" name="content"></a>7 Content</h2>
-
- <p>This section specifies the <em>content</em> matter of the core
- vocabulary catalog.</p>
-
- <div class="div2">
- <h3><a id="content-element-vocabulary" name=
- "content-element-vocabulary"></a>7.1 Content Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal content
- aspects of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-tt"><b>7.1.1
- tt</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-head"><b>7.1.2
- head</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-body"><b>7.1.3
- body</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><b>7.1.4 div</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><b>7.1.5 p</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><b>7.1.6 span</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><b>7.1.7 br</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-tt" name=
- "document-structure-vocabulary-tt"></a>7.1.1 tt</h4>
-
- <p>The <code>tt</code> element serves as the root document element of
- a <em>Document Instance</em>.</p>
-
- <p>The <code>tt</code> element accepts as its children zero or one
- <code>head</code> element followed by zero or one <code>body</code>
- element.</p><a id="elt-syntax-tt" name="elt-syntax-tt"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: tt
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt
- <a href="#style-attribute-extent">tts:extent</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang"><span class=
-"reqattr">xml:lang</span></a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
- {<em>any attribute in TT Parameter namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#document-structure-vocabulary-head">head</a>?, <a href=
-"#document-structure-vocabulary-body">body</a>?
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <em>Root Temporal Extent</em>, i.e., the time interval over
- which a <em>Document Instance</em> is active, has an implicit
- duration that is equal to the implicit duration of the
- <code>body</code> element of the document, if the <code>body</code>
- element is present, or zero, if the <code>body</code> element is
- absent.</p>
-
- <p>If the <code>tts:extent</code> attribute is specified on the
- <code>tt</code> element, then it must adhere to <a href=
- "#style-attribute-extent"><b>8.2.7 tts:extent</b></a>, in which case
- it specifies the spatial extent of the <em>Root Container Region</em>
- in which content regions are located and presented. If no
- <code>tts:extent</code> attribute is specified, then the spatial
- extent of the <em>Root Container Region</em> is considered to be
- determined by the <em>Document Processing Context</em>. The origin of
- the <em>Root Container Region</em> is determined by the <em>Document
- Processing Context</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the absence of other requirements, and if a <em>Related Media
- Object</em> exists, then it is recommended that the <em>Document
- Processing Context</em> determine that:</p>
-
- <ul>
- <li>
- <p>if no <code>tts:extent</code> is specified on the root
- <code>tt</code> element, the extent of the <em>Root Container
- Region</em> be established as equal to the extent of the
- <em>Related Media Object Region</em>; and</p>
- </li>
-
- <li>
- <p>the origin of the <em>Root Container Region</em> be
- established so that this region is centered in the <em>Related
- Media Object Region</em>.</p>
- </li>
- </ul>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If an author desires to signal the (storage or image) aspect
- ratio of the <em>Root Container Region</em> without specifying its
- resolution, then this may be accomplished by using metadata
- specified in an external namespace, such as
- <code>m708:aspectRatio</code> as defined in <a href=
- "#smpte2052">[SMPTE 2052-11]</a>, §5.4.4. This would permit, for
- example, the interchange of information that reflects the the
- semantics of <a href="#cea708d">[CEA-708-D]</a> , §4.5 “Caption
- Service Metadata”, “ASPECT RATIO”.</p>
- </div>
-
- <p>An <code>xml:lang</code> attribute must be specified on the
- <code>tt</code> element. If the attribute value is empty, it
- signifies that there is no default language that applies to the text
- contained within the <em>Document Instance</em>.</p>
-
- <p>If no <code>xml:space</code> attribute is specified upon the
- <code>tt</code> element, then it must be considered as if the
- attribute had been specified with a value of
- <code>default</code>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-head" name=
- "document-structure-vocabulary-head"></a>7.1.2 head</h4>
-
- <p>The <code>head</code> element is a container element used to group
- header matter, including metadata, profile, styling, and layout
- information.</p>
-
- <p>The <code>head</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed
- by zero or more elements in the <code>Parameters.class</code> element
- group, followed by zero or one <code>styling</code> element, followed
- by zero or one <code>layout</code> element.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <em>Document Instance</em> as a whole, and not just the
- <code>head</code> element.</p>
-
- <p>Any parameters specified by children in the
- <code>Parameters.class</code> element group applies semantically to
- the <em>Document Instance</em> as a whole, and not just the
- <code>head</code> element.</p>
-
- <p>A <code>styling</code> child element is used to specify style
- constructs that are referenced from other style constructs, by layout
- constructs, and by content elements.</p>
-
- <p>A <code>layout</code> child element is used to specify layout
- constructs that are referenced by content elements.</p><a id=
- "elt-syntax-head" name="elt-syntax-head"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: head
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<head
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Parameters.class</a>*, <a href=
-"#styling-vocabulary-styling">styling</a>?, <a href=
-"#layout-vocabulary-layout">layout</a>?
-</head>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>head</code> element, the implied time interval of this element
- is defined to be coterminous with the <em>Root Temporal
- Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-body" name=
- "document-structure-vocabulary-body"></a>7.1.3 body</h4>
-
- <p>The <code>body</code> element functions as a logical container and
- a temporal structuring element for a sequence of textual content
- units represented as logical divisions.</p>
-
- <p>The <code>body</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed
- by zero or more elements in the <code>Animation.class</code> element
- group, followed by zero or more <code>div</code> elements.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <code>body</code> element and its descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>body</code> element.</p><a id="elt-syntax-body" name=
- "elt-syntax-body"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#content-vocabulary-div">div</a>*
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may specify a temporal interval for a <code>body</code>
- element using the <code>begin</code>, <code>dur</code>, and
- <code>end</code> attributes. If the begin point of this interval
- remains unspecified, then the begin point is interpreted as the
- beginning point of the <em>Root Temporal Extent</em>. Similarly, if
- the end point of this interval remains unspecified, then the end
- point is interpreted as the ending point of the <em>Root Temporal
- Extent</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <em>Document Instance</em> referenced from a SMIL presentation
- is expected to follow the same timing rules as apply to other SMIL
- media objects.</p>
- </div>
-
- <p>If relative begin or end times are specified on the
- <code>body</code> element, then these times are resolved by reference
- to the beginning and ending time of the <em>Root Temporal
- Extent</em>.</p>
-
- <p>If the <em>Root Temporal Extent</em> is shorter than the computed
- duration of the <code>body</code> element, then the active time
- interval of a <code>body</code> element is truncated to the active
- end point of the <em>Root Temporal Extent</em>.</p>
-
- <p>An author may associate a set of style properties with a
- <code>body</code> element by means of either the <code>style</code>
- attribute or inline style attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>body</code>
- element in a <em>Document Instance</em> are available for style
- inheritance by descendant content elements such as
- <code>div</code>, <code>p</code>, <code>span</code> and
- <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>body</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-div" name=
- "content-vocabulary-div"></a>7.1.4 div</h4>
-
- <p>The <code>div</code> element functions as a logical container and
- a temporal structuring element for a sequence of textual content
- units represented as logical sub-divisions or paragraphs.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When rendered on a continuous (non-paged) visual presentation
- medium, a <code>div</code> element is expected to generate one or
- more block areas that contain zero or more child block areas
- generated by the <code>div</code> element's descendant
- <code>p</code> elements.</p>
-
- <p>If some block area generated by a <code>div</code> element does
- not contain any child areas, then it is not expected to be
- presented.</p>
- </div>
-
- <p>The <code>div</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed
- by zero or more elements in the <code>Animation.class</code> element
- group, followed by zero or more <code>div</code> or <code>p</code>
- elements.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <code>div</code> element and its descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>div</code> element.</p><a id="elt-syntax-div" name=
- "elt-syntax-div"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: div
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<div
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Block.class</a>*
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a
- <code>div</code> element by means of either the <code>style</code>
- attribute or inline style attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>div</code>
- element in a <em>Document Instance</em> are available for style
- inheritance by descendant content elements such as
- <code>div</code>, <code>p</code>, <code>span</code>, and
- <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>div</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-p" name=
- "content-vocabulary-p"></a>7.1.5 p</h4>
-
- <p>A <code>p</code> element represents a logical paragraph, serving
- as a transition between block level and inline level formatting
- semantics.</p>
-
- <p>The <code>p</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed
- by zero or more elements in the <code>Animation.class</code> element
- group, followed by zero or more intermixed <code>span</code>
- elements, <code>br</code> elements, or text nodes interpreted as an
- anonymous spans.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <code>p</code> element and its descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>p</code> element.</p><a id="elt-syntax-p" name=
- "elt-syntax-p"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: p
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a
- <code>p</code> element by means of either the <code>style</code>
- attribute or inline style attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>p</code>
- element in a <em>Document Instance</em> are available for style
- inheritance by descendant content elements such as
- <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>p</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
-
- <p>If a sequence of children of a <code>p</code> element consists
- solely of character information items, then that sequence must be
- considered to be an <em>anonymous span</em> for the purpose of
- applying style properties that apply to <code>span</code>
- elements.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The presentation semantics of TTML effectively implies that a
- <code>p</code> element constitutes a line break. In particular, it
- is associated with a block-stacking constraint both before the
- first generated line area and after the last generated line area.
- See <a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic
- Flow Processing</b></a> for further details.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-span" name=
- "content-vocabulary-span"></a>7.1.6 span</h4>
-
- <p>The <code>span</code> element functions as a logical container and
- a temporal structuring element for a sequence of textual content
- units having inline level formatting semantics.</p>
-
- <p>When presented on a visual medium, a <code>span</code> element is
- intended to generate a sequence of inline areas, each containing one
- or more glyph areas.</p>
-
- <p>The <code>span</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed
- by zero or more elements in the <code>Animation.class</code> element
- group, followed by zero or more intermixed <code>span</code>
- elements, <code>br</code> elements, or text nodes interpreted as
- anonymous spans.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <code>span</code> element and its descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>span</code> element.</p><a id="elt-syntax-span" name=
- "elt-syntax-span"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: span
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<span
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</span>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a
- <code>span</code> element by means of either the <code>style</code>
- attribute or inline style attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>span</code>
- element in a <em>Document Instance</em> are available for style
- inheritance by descendant content elements such as
- <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>span</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-br" name=
- "content-vocabulary-br"></a>7.1.7 br</h4>
-
- <p>The <code>br</code> element denotes an explicit line
- break.</p><a id="elt-syntax-br" name="elt-syntax-br"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: br
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<br
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*
-</br>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When presented on a visual medium, the presence of a
- <code>br</code> element must be interpreted as a forced line
- break.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The visual presentation of a <code>br</code> element is intended
- to produce the same effect as the control character <code>CR</code>
- (U+000D) followed by the control code <code>LF</code> (U+000A) when
- presented on a teletype device. Therefore, two <code>br</code>
- elements in sequence will produce a different effect than a single
- <code>br</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="content-attribute-vocabulary" name=
- "content-attribute-vocabulary"></a>7.2 Content Attribute
- Vocabulary</h3>
-
- <p>This section defines the following common attributes used with many
- or all element types in the core vocabulary catalog:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id"><b>7.2.1 xml:id</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-lang"><b>7.2.2 xml:lang</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-space"><b>7.2.3
- xml:space</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="content-attribute-id" name=
- "content-attribute-id"></a>7.2.1 xml:id</h4>
-
- <p>The <code>xml:id</code> attribute is used as defined by <a href=
- "#xmlid">[XML ID]</a>.</p>
-
- <p>The <code>xml:id</code> attribute may be used with any element in
- the core vocabulary catalog.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-lang" name=
- "content-attribute-lang"></a>7.2.2 xml:lang</h4>
-
- <p>The <code>xml:lang</code> attribute is used as defined by <a href=
- "#xml10">[XML 1.0]</a>, §2.12, <em>Language Identification</em>.</p>
-
- <p>The <code>xml:lang</code> attribute must be specified on the
- <code>tt</code> element and may be specified by an instance of any
- other element type in the core vocabulary catalog except parameter
- vocabulary.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-space" name=
- "content-attribute-space"></a>7.2.3 xml:space</h4>
-
- <p>The <code>xml:space</code> attribute is used as defined by
- <a href="#xml10">[XML 1.0]</a>, §2.10, <em>White Space
- Handling</em>.</p>
-
- <p>The <code>xml:space</code> attribute may be used with any element
- in the core vocabulary catalog except parameter vocabulary.</p>
-
- <p>The semantics of the value <code>default</code> are fixed to mean
- that when performing presentation processing of a <em>Document
- Instance</em> as described by <a href=
- "#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
- Processing</b></a>, processing must occur as if the following
- properties were specified on the affected elements of an equivalent
- intermediate XSL-FO document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="auto"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="treat-as-space"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="true"</code></p>
- </li>
-
- <li>
- <p>
- <code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
- </li>
- </ul>
-
- <p>Similarly, the semantics of the value <code>preserve</code> are
- fixed to mean that when performing presentation processing,
- processing must occur as if the following properties were specified
- on the affected elements of an equivalent intermediate XSL-FO
- document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="preserve"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="false"</code></p>
- </li>
-
- <li>
- <p><code>white-space-treatment="preserve"</code></p>
- </li>
- </ul>
-
- <p>When performing other types of processing intended to eventually
- result in a visual presentation by means other than those described
- in this specification, the semantics of space collapsing and
- preservation as described above should be respected. For other types
- of processing, the treatment of the <code>xml:space</code> attribute
- is processor dependent, but should respect the semantics described
- above if possible.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the above four cited XSL-FO properties are
- defined by by <a href="#xsl11">[XSL 1.1]</a>, § 7.17.3, 7.16.7,
- 7.16.12, and 7.16.8, respectively.</p>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="styling" name="styling"></a>8 Styling</h2>
-
- <p>This section specifies the <em>styling</em> matter of the core
- vocabulary catalog, where styling is to be understood as a separable
- layer of information that applies to content and that denotes authorial
- intentions about the presentation of that content.</p>
-
- <p>Styling attributes are included in TTML to enable authorial intent of
- presentation to be included within a self-contained document. This
- section describes the semantics of style presentation in terms of a
- standard processing model. TTML Processors are not required to present
- <em>Document Instances</em> in any particular way; but an implementation
- of this model by a TTML Presentation Processor that provides externally
- observable results that are consistent with this model is likely to lead
- to a user experience that closely resembles the experience intended by
- the documents' authors.</p>
-
- <p>The semantics of TTML style presentation are described in terms of the
- model in <a href="#xsl11">[XSL 1.1]</a>. The effects of the attributes in
- this section are intended to be compatible with the layout and formatting
- model of XSL; however, Presentation agents may use any technology to
- satisfy the authorial intent of the document. In particular since
- <a href="#css2">[CSS2]</a> is a subset of this model, a CSS processor may
- be used for the features that the models have in common.</p>
-
- <p>No normative use of an <code><?xml-stylesheet ... ?></code>
- processing instruction is defined by this specification.</p>
-
- <div class="div2">
- <h3><a id="styling-element-vocabulary" name=
- "styling-element-vocabulary"></a>8.1 Styling Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal styling
- aspects of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#styling-vocabulary-styling"><b>8.1.1
- styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-styling" name=
- "styling-vocabulary-styling"></a>8.1.1 styling</h4>
-
- <p>The <code>styling</code> element is a container element used to
- group styling matter, including metadata that applies to styling
- matter.</p>
-
- <p>The <code>styling</code> element accepts as its children zero or
- more elements in the <code>Metadata.class</code> element group,
- followed by zero or more <code>style</code> elements.</p><a id=
- "elt-syntax-styling" name="elt-syntax-styling"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>styling</code> element, the implied time interval of this
- element is defined to be coterminous with the <em>Root Temporal
- Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-style" name=
- "styling-vocabulary-style"></a>8.1.2 style</h4>
-
- <p>The <code>style</code> element is used to define a set of style
- specifications expressed as a specified style set in accordance with
- <a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2
- Specified Style Set Processing</b></a>.</p>
-
- <p>The <code>style</code> element accepts as its children zero or
- more <code>metadata</code> elements.</p><a id="elt-syntax-style"
- name="elt-syntax-style"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</style>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <code>style</code> element appears as a descendant of a
- <code>region</code> element, then the <code>style</code> element must
- be ignored for the purpose of computing referential styles as defined
- by <a href="#semantics-style-association-referential"><b>8.4.1.2
- Referential Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, when referential styling is used by an element
- to refer to a <code>style</code> element, then the referenced
- <code>style</code> element must appear as a descendant of the
- <code>styling</code> element, and not in any other context.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-attribute-vocabulary" name=
- "styling-attribute-vocabulary"></a>8.2 Styling Attribute
- Vocabulary</h3>
-
- <p>This section defines the <a href="#style-attribute-style"><b>8.2.1
- style</b></a> attribute used with both style definition elements as
- well as content elements.</p>
-
- <p>In addition, this section specifies the following attributes in the
- TT Style Namespace for use with style definition elements, certain
- layout elements, and content elements that support inline style
- specifications:</p>
-
- <ul>
- <li>
- <p><a href="#style-attribute-backgroundColor"><b>8.2.2
- tts:backgroundColor</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-color"><b>8.2.3 tts:color</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-direction"><b>8.2.4
- tts:direction</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-display"><b>8.2.5
- tts:display</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-displayAlign"><b>8.2.6
- tts:displayAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-extent"><b>8.2.7
- tts:extent</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontFamily"><b>8.2.8
- tts:fontFamily</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontSize"><b>8.2.9
- tts:fontSize</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontStyle"><b>8.2.10
- tts:fontStyle</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontWeight"><b>8.2.11
- tts:fontWeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-lineHeight"><b>8.2.12
- tts:lineHeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-opacity"><b>8.2.13
- tts:opacity</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-origin"><b>8.2.14
- tts:origin</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-overflow"><b>8.2.15
- tts:overflow</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-padding"><b>8.2.16
- tts:padding</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-showBackground"><b>8.2.17
- tts:showBackground</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textAlign"><b>8.2.18
- tts:textAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textDecoration"><b>8.2.19
- tts:textDecoration</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textOutline"><b>8.2.20
- tts:textOutline</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-unicodeBidi"><b>8.2.21
- tts:unicodeBidi</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-visibility"><b>8.2.22
- tts:visibility</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-wrapOption"><b>8.2.23
- tts:wrapOption</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-writingMode"><b>8.2.24
- tts:writingMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-zIndex"><b>8.2.25
- tts:zIndex</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must
- appear between adjacent non-terminal components of a value of a TT
- Style or TT Style Extension Property value unless some other delimiter
- is permitted and used.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification makes use of <em>lowerCamelCased</em> local
- names for style attributes that are based upon like-named properties
- defined by <a href="#xsl11">[XSL 1.1]</a>. This convention is
- likewise extended to token values of such properties.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A style property may be expressed as a specified attribute on any
- content element type independently of whether the property applies to
- that element type. This capability permits the expression of an
- inheritable style property on ancestor elements to which the property
- does not apply.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-style" name=
- "style-attribute-style"></a>8.2.1 style</h4>
-
- <p>The <code>style</code> attribute is used by referential style
- association to reference one or more <code>style</code> elements each
- of which define a style (property) set.</p>
-
- <p>The <code>style</code> attribute may be specified by an instance
- of the following element types:</p>
-
- <ul>
- <li>
- <p><a href=
- "#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
- </ul>
-
- <p>If specified, the value of a <code>style</code> attribute must
- adhere to the <code>IDREFS</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, § 3.3.10, and, furthermore, each
- IDREF must reference a <code>style</code> element which has a
- <code>styling</code> element as an ancestor.</p>
-
- <p>If the same IDREF, <em>ID<sub>1</sub></em>, appears more than one
- time in the value of a <code>style</code> attribute, then there
- should be an intervening IDREF, <em>ID<sub>2</sub></em>, where
- <em>ID<sub>2</sub></em> is not equal to <em>ID<sub>1</sub></em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant
- referential styling while still allowing the same style to be
- referenced multiple times in order to potentially override prior
- referenced styles, e.g., when an intervening, distinct style is
- referenced in the IDREFS list.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See the specific element type definitions that permit use of the
- <code>style</code> attribute, as well as <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3
- Chained Referential Styling</b></a>, for further information on its
- semantics.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-backgroundColor" name=
- "style-attribute-backgroundColor"></a>8.2.2 tts:backgroundColor</h4>
-
- <p>The <code>tts:backgroundColor</code> attribute is used to specify
- a style property that defines the background color of a region or an
- area generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id=
- "style-property-details-backgroundColor" name=
- "style-property-details-backgroundColor"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>transparent</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>,
- <a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>The <code>tts:backgroundColor</code> style is illustrated by the
- following example.</p><a id=
- "style-attribute-backgroundColor-example-1" name=
- "style-attribute-backgroundColor-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="306px 114px"/>
- <style <span class="strong">tts:backgroundColor="red"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:padding="3px 40px"/>
-</region>
-...
-<p region="r1" <span class=
-"strong">tts:backgroundColor="purple"</span> tts:textAlign="center">
- Twinkle, twinkle, little bat!<br/>
- How <span <span class=
-"strong">tts:backgroundColor="green"</span>>I wonder</span> where you're at!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-backgroundColor-example-1-images"
- name="style-attribute-backgroundColor-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/backgroundColor.png" alt=
- "TTML backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.8.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-color" name=
- "style-attribute-color"></a>8.2.3 tts:color</h4>
-
- <p>The <code>tts:color</code> attribute is used to specify a style
- property that defines the foreground color of marks associated with
- an area generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-color" name=
- "style-property-details-color"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td>see prose</td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>The initial value of the <code>tts:color</code> property is
- considered to be implementation dependent. In the absence of end-user
- preference information, a conformant presentation processor should
- use an initial value that is highly contrastive to the background
- color of the <em>Root Container Region</em>.</p>
-
- <p>The <code>tts:color</code> style is illustrated by the following
- example.</p><a id="style-attribute-color-example-1" name=
- "style-attribute-color-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:color="white"</span>/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- In spring, when woods are <span <span class=
-"strong">tts:color="green"</span>>getting green</span>,<br/>
- I'll try and tell you what I mean.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-color-example-1-images" name=
- "style-attribute-color-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/color.png" alt=
- "TTML color style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.18.1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-direction" name=
- "style-attribute-direction"></a>8.2.4 tts:direction</h4>
-
- <p>The <code>tts:direction</code> attribute is used to specify a
- style property that defines the directionality of an embedding or
- override according to the Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-direction"
- name="style-property-details-direction"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>ltr</code> | <code>rtl</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>ltr</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>,
- <a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must ignore the attribute.</p>
-
- <p>The <code>tts:direction</code> style is illustrated by the
- following example.</p><a id="style-attribute-direction-example-1"
- name="style-attribute-direction-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Direction
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span tts:unicodeBidi="bidiOverride" <span class=
-"strong">tts:direction="rtl"</span>>where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-direction-example-1-images" name=
- "style-attribute-direction-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Direction
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/direction.png" alt=
- "TTML direction style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.29.1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-display" name=
- "style-attribute-display"></a>8.2.5 tts:display</h4>
-
- <p>The <code>tts:display</code> attribute is used to specify a style
- property that defines whether an element is a candidate for layout
- and composition in a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-display" name=
- "style-property-details-display"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>,
- <a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the
- affected element is a candidate for region layout and presentation;
- however, if the value is <code>none</code>, then the affected element
- and its descendants must be considered ineligible for region layout
- and presentation.</p>
-
- <p>The <code>tts:display</code> style is illustrated by the following
- example.</p><a id="style-attribute-display-example-1" name=
- "style-attribute-display-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="369px 119px"
- tts:backgroundColor="black"
- tts:color="white"
- tts:displayAlign="before"
- tts:textAlign="start"/>
-</region>
-...
-<div region="r1">
- <p dur="5s">
- [[[
- <span <span class="strong">tts:display="none"</span>>
- <set begin="1s" dur="1s" <span class=
-"strong">tts:display="auto"</span>/>
- Beautiful soup,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="2s" dur="1s" <span class=
-"strong">tts:display="auto"</span>/>
- so rich and green,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="3s" dur="1s" <span class=
-"strong">tts:display="auto"</span>/>
- waiting in a hot tureen!
- </span>
- ]]]
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-display-example-1-images" name=
- "style-attribute-display-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/display_0.png" alt=
- "TTML display style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_1.png" alt=
- "TTML display style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_2.png" alt=
- "TTML display style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_3.png" alt=
- "TTML display style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_4.png" alt=
- "TTML display style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href=
- "#css2">[CSS2]</a>, § 9.2.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-displayAlign" name=
- "style-attribute-displayAlign"></a>8.2.6 tts:displayAlign</h4>
-
- <p>The <code>tts:displayAlign</code> attribute is used to specify a
- style property that defines the alignment of block areas in the block
- progression direction.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-displayAlign"
- name="style-property-details-displayAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>before</code> | <code>center</code> |
- <code>after</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>before</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>before</code> were specified.</p>
-
- <p>The <code>tts:displayAlign</code> style is illustrated by the
- following example.</p><a id="style-attribute-displayAlign-example-1"
- name="style-attribute-displayAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="128px 66px" tts:origin="0px 0px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:extent="192px 66px" tts:origin="128px 66px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r3">
- <style tts:extent="128px 66px"/> style tts:origin="0px 132px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r4">
- <style tts:extent="192px 66px" tts:origin="128px 198px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-...
-<div>
- <p region="r1">I sent a message to the fish:</p>
- <p region="r2">I told them<br/> "This is what I wish."</p>
- <p region="r3">The little fishes of the sea,</p>
- <p region="r4">They sent an<br/> answer back to me.</p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-displayAlign-example-1-images" name=
- "style-attribute-displayAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/displayAlign.png" alt=
- "TTML displayAlign style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.14.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-extent" name=
- "style-attribute-extent"></a>8.2.7 tts:extent</h4>
-
- <p>The <code>tts:extent</code> attribute is used to specify the
- <em>width</em> and <em>height</em> of a region area (which may be the
- <em>Root Container Region</em>).</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-extent" name=
- "style-property-details-extent"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of <em>Root Container
- Region</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they
- must be interpreted as <em>width</em> and <em>height</em>, where the
- first specification is the <em>width</em>, and the second
- specification is the <em>height</em>.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used
- to express extent must be non-negative.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the
- initial value of the style property must be considered to be the same
- as the extent of the <em>Root Container Region</em>.</p>
-
- <p>The extent of the <em>Root Container Region</em> is determined
- either by a <code>tts:extent</code> specified on the <code>tt</code>
- element, if present, or as described by <a href=
- "#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a> if not
- present. If <code>tts:extent</code> is specified on the
- <code>tt</code> element, then the width and height must be expressed
- in terms of two <a href="#style-value-length"><length></a>
- specifications, and these specifications must be expressed as
- non-percentage, definite lengths using pixel units.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>auto</code> were specified.</p>
-
- <p>The <code>tts:extent</code> style is illustrated by the following
- example.</p><a id="style-attribute-extent-example-1" name=
- "style-attribute-extent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Extent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:extent="330px 122px"</span>/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- 'Tis the voice of the Lobster:<br/>
- I heard him declare,<br/>
- "You have baked me too brown,<br/>
- I must sugar my hair."
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-extent-example-1-images" name=
- "style-attribute-extent-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Extent
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/extent.png" alt=
- "TTML extent style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontFamily" name=
- "style-attribute-fontFamily"></a>8.2.8 tts:fontFamily</h4>
-
- <p>The <code>tts:fontFamily</code> attribute is used to specify a
- style property that defines the font family from which glyphs are
- selected for glyph areas generated by content flowed into a
- region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-fontFamily"
- name="style-property-details-fontFamily"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td>(<a href="#style-value-familyName"><familyName></a> |
- <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>)
- (<code>","</code> (<a href=
- "#style-value-familyName"><familyName></a> | <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>))*</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>default</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The initial value, <code>default</code>, is a generic font
- family name, and is further described in <a href=
- "#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a> below.</p>
- </div>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified font family is not available, then a presentation
- processor must attempt to map the specified font family to an
- available font family that has similar typographic characteristics,
- or, in the absence of such a mapping, it must interpret the font
- family as if the value <code>default</code> were specified.</p>
-
- <p>The <code>tts:fontFamily</code> style is illustrated by the
- following example.</p><a id="style-attribute-fontFamily-example-1"
- name="style-attribute-fontFamily-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="474px 146px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style <span class=
-"strong">tts:fontFamily="proportionalSansSerif"</span>/>
-</region>
-...
-<div region="r1">
- <p>
- "The time has come," the Walrus said,<br/>
- "to talk of many things:
- </p>
- <p tts:textAlign="end" <span class=
-"strong">tts:fontFamily="monospaceSerif"</span>>
- Of shoes, and ships, and sealing wax,<br/>
- Of cabbages and kings,
- </p>
- <p>
- And why the sea is boiling hot,<br/>
- and whether pigs have wings."
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontFamily-example-1-images" name=
- "style-attribute-fontFamily-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontFamily.png" alt=
- "TTML fontFamily style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.9.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontSize" name=
- "style-attribute-fontSize"></a>8.2.9 tts:fontSize</h4>
-
- <p>The <code>tts:fontSize</code> attribute is used to specify a style
- property that defines the font size for glyphs that are selected for
- glyph areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-fontSize" name=
- "style-property-details-fontSize"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1c</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to parent element's font size, or if no parent
- element, then relative to the <em>Computed Cell Size</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a single <a href="#style-value-length"><length></a> value
- is specified, then this length applies equally to horizontal and
- vertical scaling of a glyph's EM square; if two <a href=
- "#style-value-length"><length></a> values are specified, then
- the first expresses the horizontal scaling and the second expresses
- vertical scaling.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Use of independent horizontal and vertical font sizes is
- expected to be used with cell based units in order to denote fonts
- that are two rows in height and one column in width.</p>
- </div>
-
- <p>If horizontal and vertical sizes are expressed independently, then
- the units of the <a href="#style-value-length"><length></a>
- values must be the same.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used
- to express font size must be non-negative.</p>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the closest
- supported value were specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The expression <code>1c</code> means one cell, where
- <code>'c'</code> expresses the <em>cell</em> length unit as defined
- by <a href="#style-value-length"><b>8.3.9 <length></b></a>.
- When a single <length> is expressed using cell units, then it
- refers to the height of the <em>Computed Cell Size</em>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>As specified above, the use of percentage units to express font
- size are interpreted as relative to <em>Computed Cell Size</em>
- when there is no parent element. For example, if cell resolution is
- 32 by 15, and the extent of the <em>Root Container Region</em> is
- 640 by 480, then the <em>Computed Cell Size</em> is [20px, 32px],
- i.e., 640px/32 (width) and 480px/15 (height). Consequently, if
- <code>tts:fontSize</code> were specified as 75% on the root
- <code>tt</code> element, then this would be equivalent to
- specifying 24px, i.e., 32px cell height * 75%. If two length
- expressions (independent horizontal and vertical font scaling) were
- specified, e.g., "80% 75%", then this would be equivalent to
- specifying "16px 24px", i.e., 80% of 20px cell width is 16px, and
- 75% of 32px cell height is 24px.</p>
- </div>
-
- <p>The <code>tts:fontSize</code> style is illustrated by the
- following example.</p><a id="style-attribute-fontSize-example-1"
- name="style-attribute-fontSize-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="299px 97px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style <span class="strong">tts:fontSize="18px"</span>/>
-</region>
-...
-<p region="r1">
- Then fill up the glasses<br/>
- with treacle and ink,<br/>
- Or anything else<br/>
- that is <span <span class=
-"strong">tts:fontSize="24px"</span>>pleasant</span> to drink.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontSize-example-1-images" name=
- "style-attribute-fontSize-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontSize.png" alt=
- "TTML fontSize style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.9.4. The addition of a second length component to
- permit specifying font width and height independently is an
- extension introduced by TTML.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontStyle" name=
- "style-attribute-fontStyle"></a>8.2.10 tts:fontStyle</h4>
-
- <p>The <code>tts:fontStyle</code> attribute is used to specify a
- style property that defines the font style to apply to glyphs that
- are selected for glyph areas generated by content flowed into a
- region, where the mapping from font style value to specific font face
- or style parameterization is not determined by this
- specification.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-fontStyle"
- name="style-property-details-fontStyle"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>italic</code> |
- <code>oblique</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>Use of the value <code>oblique</code> denotes a shear
- transformation (at an unspecified angle) in the inline progression
- dimension.</p>
-
- <p>If a specified font style is not available, then a presentation
- processor must attempt to map the specified font style to an
- available font style that has similar typographic characteristics,
- or, in the absence of such a mapping, it must interpret the font
- style as if the value <code>normal</code> were specified.</p>
-
- <p>The <code>tts:fontStyle</code> style is illustrated by the
- following example.</p><a id="style-attribute-fontStyle-example-1"
- name="style-attribute-fontStyle-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="331px 84px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- In autumn, when the leaves are brown,<br/>
- Take pen and ink, and <span <span class=
-"strong">tts:fontStyle="italic"</span>>write it down.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontStyle-example-1-images" name=
- "style-attribute-fontStyle-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontStyle.png" alt=
- "TTML fontStyle style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.9.7.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontWeight" name=
- "style-attribute-fontWeight"></a>8.2.11 tts:fontWeight</h4>
-
- <p>The <code>tts:fontWeight</code> attribute is used to specify a
- style property that defines the font weight to apply to glyphs that
- are selected for glyph areas generated by content flowed into a
- region, where the mapping from font weight value to specific font
- face or weight parameterization is not determined by this
- specification.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-fontWeight"
- name="style-property-details-fontWeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>bold</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified font weight is not available, then a presentation
- processor must attempt to map the specified font weight to an
- available font weight that has similar typographic characteristics,
- or, in the absence of such a mapping, it must interpret the font
- weight as if the value <code>normal</code> were specified.</p>
-
- <p>The <code>tts:fontWeight</code> style is illustrated by the
- following example.</p><a id="style-attribute-fontWeight-example-1"
- name="style-attribute-fontWeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="376px 95px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- They told me you had been to her,<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>and mentioned me to him:</span><br/>
- She gave me a good character<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>but said I could not swim.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-fontWeight-example-1-images" name=
- "style-attribute-fontWeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontWeight.png" alt=
- "TTML fontWeight style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.9.9.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-lineHeight" name=
- "style-attribute-lineHeight"></a>8.2.12 tts:lineHeight</h4>
-
- <p>The <code>tts:lineHeight</code> attribute is used to specify a
- style property that defines the inter-baseline separation between
- line areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-lineHeight"
- name="style-property-details-lineHeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>normal</code>, then the
- initial value of the style property must be considered to be the same
- as the largest font size that applies to any descendant element.</p>
-
- <p>If specified as a <a href=
- "#style-value-length"><length></a>, then the length must be
- non-negative.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>normal</code> were specified.</p>
-
- <p>The <code>tts:lineHeight</code> style is illustrated by the
- following example.</p><a id="style-attribute-lineHeight-example-1"
- name="style-attribute-lineHeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="255px 190px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="16px"/>
- <style <span class="strong">tts:lineHeight="32px"</span>/>
-</region>
-...
-<p region="r1">
- He thought he saw an elephant,<br/>
- That practised on a fife:<br/>
- He looked again, and found it was<br/>
- A letter from his wife.<br/>
- "At length I realise," he said,<br/>
- "The bitterness of Life.
-"</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-lineHeight-example-1-images" name=
- "style-attribute-lineHeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/lineHeight.png" alt=
- "TTML lineHeight style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.16.4. Furthermore, it is the intention of this
- specification that the allocation rectangle of a line be consistent
- with the <span class="strong">per-inline-height-rectangle</span> as
- defined by <a href="#xsl11">[XSL 1.1]</a>, § 4.5, i.e., that a
- CSS-style line box stacking strategy be used.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-opacity" name=
- "style-attribute-opacity"></a>8.2.13 tts:opacity</h4>
-
- <p>The <code>tts:opacity</code> attribute is used to specify a style
- property that defines the opacity (or conversely, the transparency)
- of marks associated with a region.</p>
-
- <p>When presented onto a visual medium, the opacity of the region is
- applied uniformly and on a linear scale to all marks produced by
- content targeted to the region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-opacity" name=
- "style-property-details-opacity"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-alpha"><alpha></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1.0</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>The <code>tts:opacity</code> style is illustrated by the following
- example.</p><a id="style-attribute-opacity-example-1" name=
- "style-attribute-opacity-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1" dur="5s">
- <set begin="0s" dur="1s" <span class=
-"strong">tts:opacity="1.00"</span>/>
- <set begin="1s" dur="1s" <span class=
-"strong">tts:opacity="0.75"</span>/>
- <set begin="2s" dur="1s" <span class=
-"strong">tts:opacity="0.50"</span>/>
- <set begin="3s" dur="1s" <span class=
-"strong">tts:opacity="0.25"</span>/>
- <set begin="4s" dur="1s" <span class=
-"strong">tts:opacity="0.00"</span>/>
- <style tts:extent="304px 77px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- The sun was shining on the sea
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-opacity-example-1-images" name=
- "style-attribute-opacity-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/opacity_0.png" alt=
- "TTML opacity style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_1.png" alt=
- "TTML opacity style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_2.png" alt=
- "TTML opacity style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_3.png" alt=
- "TTML opacity style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_4.png" alt=
- "TTML opacity style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href=
- "#css3-color">[CSS3 Color]</a>, § 3.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-origin" name=
- "style-attribute-origin"></a>8.2.14 tts:origin</h4>
-
- <p>The <code>tts:origin</code> attribute is used to specify the
- <em>x</em> and <em>y</em> coordinates of the origin of a region area
- with respect to the origin of the <em>Root Container Region</em>.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-origin" name=
- "style-property-details-origin"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of <em>Root Container
- Region</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they
- must be interpreted as <em>x</em> and <em>y</em> coordinates, where
- the first specification is the <em>x</em> coordinate, and the second
- specification is the <em>y</em> coordinate.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the
- initial value of the style property must be considered to be the same
- as the origin of the <em>Root Container Region</em>.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>auto</code> were specified.</p>
-
- <p>The <code>tts:origin</code> style is illustrated by the following
- example.</p><a id="style-attribute-origin-example-1" name=
- "style-attribute-origin-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Origin
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:origin="40px 40px"</span>/>
- <style tts:extent="308px 92px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- "To dine!" she shrieked in dragon-wrath.<br/>
- "To swallow wines all foam and froth!<br/>
- To simper at a table-cloth!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-origin-example-1-images" name=
- "style-attribute-origin-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Origin
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/origin.png" alt=
- "TTML origin style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-overflow" name=
- "style-attribute-overflow"></a>8.2.15 tts:overflow</h4>
-
- <p>The <code>tts:overflow</code> attribute is used to specify a style
- property that defines whether a region area is clipped or not if the
- descendant areas of the region overflow its extent.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-overflow" name=
- "style-property-details-overflow"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>visible</code>, then
- content should not be clipped outside of the affected region, and
- region composition and layout must be performed as if the region's
- width and height were unconstrained, but with a well-defined origin.
- If the value is <code>hidden</code>, then content should be clipped
- outside of the affected region.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Unless a manual line break element <code>br</code> is used by
- the content author, a paragraph of a given region will generate no
- more than one line area in that region if the value of the
- <code>tts:overflow</code> style that applies to the region is
- <code>visible</code> and if the applicable
- <code>tts:wrapOption</code> style is <code>noWrap</code>.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>hidden</code> were specified.</p>
-
- <p>The <code>tts:overflow</code> style is illustrated by the
- following example.</p><a id="style-attribute-overflow-example-1"
- name="style-attribute-overflow-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="visible"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 43px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="hidden"</span>/>
-</region>
-...
-<p region="r1">
- "But wait a bit," the Oysters cried,<br/>
- "Before we have our chat;
-</p>
-<p region="r2">
- For some of us are out of breath,<br/>
- And all of us are fat!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-overflow-example-1-images" name=
- "style-attribute-overflow-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/overflow.png" alt=
- "TTML overflow style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>tts:noWrap</code> is set to
- <code>noWrap</code> to prevent automatic line wrapping (breaking);
- if this were not specified, then overflow would occur in the block
- progression direction as opposed to the inline progression
- direction.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.21.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-padding" name=
- "style-attribute-padding"></a>8.2.16 tts:padding</h4>
-
- <p>The <code>tts:padding</code> attribute is used to specify padding
- (or inset) space on all sides of a region area.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-padding" name=
- "style-property-details-padding"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>0px</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of region</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of one <a href=
- "#style-value-length"><length></a> specification, then that
- length applies to all edges of the affected areas. If the value
- consists of two <a href="#style-value-length"><length></a>
- specifications, then the first applies to the before and after edges,
- and the second applies to the start and end edges. If three <a href=
- "#style-value-length"><length></a> specifications are provided,
- then the first applies to the before edge, the second applies to the
- start and end edges, and the third applies to the after edge. If four
- <a href="#style-value-length"><length></a> specifications are
- provided, then they apply to before, end, after, and start edges,
- respectively.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used
- to express padding must be non-negative.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>0px</code> were specified.</p>
-
- <p>The <code>tts:padding</code> style is illustrated by the following
- example.</p><a id="style-attribute-padding-example-1" name=
- "style-attribute-padding-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Padding
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="446px 104px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style <span class="strong">tts:padding="10px 40px"</span>/>
-</region>
-...
-<p region="r1" tts:backgroundColor="red">
- Just the place for a Snark! I have said it twice:<br/>
- That alone should encourage the crew.<br/>
- Just the place for a Snark! I have said it thrice:<br/>
- What I tell you three times is true.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When rendering an area to which padding applies, the background
- color that applies to the area is rendered into the padded portion of
- the area.</p><a id="style-attribute-padding-example-1-images" name=
- "style-attribute-padding-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Padding
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/padding.png" alt=
- "TTML padding style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.31.15, except that individual shorthand values map to
- writing mode relative padding values as defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 7.8.31, 7.8.32, 7.8.33, and 7.8.34.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-showBackground" name=
- "style-attribute-showBackground"></a>8.2.17 tts:showBackground</h4>
-
- <p>The <code>tts:showBackground</code> attribute is used to specify
- constraints on when the background color of a region is intended to
- be presented.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-showBackground"
- name="style-property-details-showBackground"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>always</code> | <code>whenActive</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>always</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>always</code>, then the
- background color of a region is always rendered when performing
- presentation processing on a visual medium; if the value is
- <code>whenActive</code>, then the background color of a region is
- rendered only when some content is flowed into the region.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>always</code> were specified.</p>
-
- <p>The <code>tts:showBackground</code> style is illustrated by the
- following example.</p><a id=
- "style-attribute-showBackground-example-1" name=
- "style-attribute-showBackground-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Show Background
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="265px 100px"/>
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:showBackground="always"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:origin="205px 60px"/>
- <style tts:extent="290px 100px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:showBackground="whenActive"</span>/>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#smil21">[SMIL
- 2.1]</a>, § 5.3.3.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textAlign" name=
- "style-attribute-textAlign"></a>8.2.18 tts:textAlign</h4>
-
- <p>The <code>tts:textAlign</code> attribute is used to specify a
- style property that defines how inline areas are aligned within a
- containing block area in the inline progression direction.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-textAlign"
- name="style-property-details-textAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>left</code> | <code>center</code> |
- <code>right</code> | <code>start</code> | <code>end</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>start</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>start</code> were specified.</p>
-
- <p>The <code>tts:textAlign</code> style is illustrated by the
- following example.</p><a id="style-attribute-textAlign-example-1"
- name="style-attribute-textAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="start"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 47px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="end"</span>/>
-</region>
-...
-<p region="r1">
- Beware the Jabberwock, my son!<br/>
- The jaws that bite, the claws that catch!
-</p>
-<p region="r2">
- Beware the Jubjub bird, and shun<br/>
- The frumious Bandersnatch!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textAlign-example-1-images" name=
- "style-attribute-textAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textAlign.png" alt=
- "TTML textAlign style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.16.9.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textDecoration" name=
- "style-attribute-textDecoration"></a>8.2.19 tts:textDecoration</h4>
-
- <p>The <code>tts:textDecoration</code> attribute is used to specify a
- style property that defines a text decoration effect to apply to
- glyph areas or other inline areas that are generated by content
- flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-textDecoration"
- name="style-property-details-textDecoration"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | [ [ <code>underline</code> |
- <code>noUnderline</code> ] || [ <code>lineThrough</code> |
- <code>noLineThrough</code> ] || [ <code>overline</code> |
- <code>noOverline</code> ] ]</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>none</code> were specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The syntax used above in defining the value of this property is
- based on the value component syntax defined in <a href=
- "#css2">[CSS2]</a>, § 1.4.2.1. In essence, one or more of the
- values separated by <code>||</code> may appear in the property
- value in any order, such as <code>"noUnderline overline
- lineThrough"</code>.</p>
- </div>
-
- <p>The <code>tts:textDecoration</code> style is illustrated by the
- following example.</p><a id=
- "style-attribute-textDecoration-example-1" name=
- "style-attribute-textDecoration-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="385px 82px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:padding="5px 2px"/>
- <style <span class="strong">tts:textDecoration="underline"</span>/>
-</region>
-...
-<p region="r1">
- The sea was wet<span <span class=
-"strong">tts:textDecoration="noUnderline"</span>> as </span>wet
- <span <span class="strong">tts:textDecoration="noUnderline"</span>>
- could be,<br/>
- The sand was dry as dry.<br/>
- <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>There weren't any</span>
- You <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>couldn't</span>
- could not see a cloud<br/>
- Because no cloud was in the sky.
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textDecoration-example-1-images" name=
- "style-attribute-textDecoration-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textDecoration.png" alt=
- "TTML textDecoration style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.17.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textOutline" name=
- "style-attribute-textOutline"></a>8.2.20 tts:textOutline</h4>
-
- <p>The <code>tts:textOutline</code> attribute is used to specify a
- style property that defines a text outline effect to apply to glyphs
- that are selected for glyph areas generated by content flowed into a
- region.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-textOutline"
- name="style-property-details-textOutline"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | <a href=
- "#style-value-color"><color></a>? <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>The value of this attribute consists of an optional <a href=
- "#style-value-color"><color></a> term followed by one or two
- <a href="#style-value-length"><length></a> terms. If a
- <em>color</em> term is present, then it denotes the outline color; if
- no <em>color</em> term is present, the computed value of the
- <code>tts:color</code> applies. The first <em>length</em> term
- denotes the outline thickness and the second length term, if present,
- indicates the blur radius.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used
- to express thickness and blur radius must be non-negative.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When a <a href="#style-value-length"><length></a>
- expressed in cells is used in a <code>tts:textOutline</code> value,
- the cell's dimension in the block progression dimension applies.
- For example, if text outline thickness is specified as 0.1c, the
- cell resolution is 20 by 10, and the extent of the <em>Root
- Container Region</em> is 640 by 480, then the outline thickness
- will be a nominal 480 / 10 * 0.1 pixels, i.e., 4.8px, without
- taking into account rasterization effects.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>none</code> were specified.</p>
-
- <p>The <code>tts:textOutline</code> style is illustrated by the
- following example.</p><a id="style-attribute-textOutline-example-1"
- name="style-attribute-textOutline-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="transparent"/>
- <style tts:color="yellow"/>
- <style <span class="strong">tts:textOutline="black 2px 0px"</span>/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="24px"/>
-</region>
-...
-<p>
- How doth the little crocodile<br/>
- Improve its shining tail,<br/>
- And pour the waters of the Nile<br/>
- On every golden scale!<br/>
- How cheerfully he seems to grin,<br/>
- How neatly spreads his claws,<br/>
- And welcomes little fishes in,<br/>
- With gently smiling jaws!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-textOutline-example-1-images" name=
- "style-attribute-textOutline-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textOutline.png" alt=
- "backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-unicodeBidi" name=
- "style-attribute-unicodeBidi"></a>8.2.21 tts:unicodeBidi</h4>
-
- <p>The <code>tts:unicodeBidi</code> attribute is used to specify a
- style property that defines a directional embedding or override
- according to the Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-unicodeBidi"
- name="style-property-details-unicodeBidi"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>embed</code> |
- <code>bidiOverride</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>,
- <a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>normal</code> were specified.</p>
-
- <p>The <code>tts:unicodeBidi</code> style is illustrated by the
- following example.</p><a id="style-attribute-unicodeBidi-example-1"
- name="style-attribute-unicodeBidi-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span <span class=
-"strong">tts:unicodeBidi="bidiOverride"</span> tts:direction="rtl">where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-unicodeBidi-example-1-images" name=
- "style-attribute-unicodeBidi-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/unicodeBidi.png" alt=
- "TTML unicodeBidi style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.29.6.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-visibility" name=
- "style-attribute-visibility"></a>8.2.22 tts:visibility</h4>
-
- <p>The <code>tts:visibility</code> attribute is used to specify a
- style property that defines whether generated areas are visible or
- not when rendered on a visual presentation medium.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-visibility"
- name="style-property-details-visibility"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>visible</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>,
- <a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>The <code>tts:visibility</code> style has no affect on content
- layout or composition, but merely determines whether composed content
- is visible or not.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>visible</code> were specified.</p>
-
- <p>The <code>tts:visibility</code> style is illustrated by the
- following example.</p><a id="style-attribute-visibility-example-1"
- name="style-attribute-visibility-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="398px 121px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style/>
-</region>
-...
-<p region="r1" dur="4s">
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="1s" <span class=
-"strong">tts:visibility="visible"</span>/>
- Curiouser
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="2s" <span class=
-"strong">tts:visibility="visible"</span>/>
- and
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="3s" <span class=
-"strong">tts:visibility="visible"</span>/>
- curiouser!
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-visibility-example-1-images" name=
- "style-attribute-visibility-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/visibility_0.png" alt=
- "TTML visibility style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_1.png" alt=
- "TTML visibility style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_2.png" alt=
- "TTML visibility style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_3.png" alt=
- "TTML visibility style property - [3,4)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.30.17.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-wrapOption" name=
- "style-attribute-wrapOption"></a>8.2.23 tts:wrapOption</h4>
-
- <p>The <code>tts:wrapOption</code> attribute is used to specify a
- style property that defines whether or not automatic line wrapping
- (breaking) applies within the context of the affected element.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-wrapOption"
- name="style-property-details-wrapOption"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>wrap</code> | <code>noWrap</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>wrap</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style
- property, each character child of a <code>p</code> element is
- considered to be enclosed in an anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>wrap</code> were specified.</p>
-
- <p>The <code>tts:wrapOption</code> style is illustrated by the
- following example.</p><a id="style-attribute-wrapOption-example-1"
- name="style-attribute-wrapOption-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="192px 117px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:overflow="hidden"/>
- <style <span class="strong">tts:wrapOption="noWrap"</span>/>
-</region>
-...
-<p>
- I'll tell thee everything I can:<br/>
- There's little to relate.<br/>
- I saw an aged aged man,<br/>
- A-sitting on a gate.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-wrapOption-example-1-images" name=
- "style-attribute-wrapOption-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/wrapOption.png" alt=
- "TTML wrapOption style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.16.13.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-writingMode" name=
- "style-attribute-writingMode"></a>8.2.24 tts:writingMode</h4>
-
- <p>The <code>tts:writingMode</code> attribute is used to specify a
- style property that defines the block and inline progression
- directions to be used for the purpose of stacking block and inline
- areas within a region area.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-writingMode"
- name="style-property-details-writingMode"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>lrtb</code> | <code>rltb</code> | <code>tbrl</code> |
- <code>tblr</code> | <code>lr</code> | <code>rl</code> |
- <code>tb</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>lrtb</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>lrtb</code> were specified.</p>
-
- <p>The <code>tts:writingMode</code> style is illustrated by the
- following example.</p><a id="style-attribute-writingMode-example-1"
- name="style-attribute-writingMode-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="50px 570px"/>
- <style tts:origin="0px 0px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="tbrl"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="310px 50px"/>
- <style tts:origin="70px 120px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="rltb"</span>/>
-</region>
-...
-<p region="r1">
- I sometimes dig for buttered rolls,<br/>
- Or set limed twigs for crabs:
-</p>
-<p region="r2" tts:direction="rtl" tts:unicodeBidi="bidiOverride">
- I sometimes search the grassy knolls for the wheels of Hansom-cabs.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-writingMode-example-1-images" name=
- "style-attribute-writingMode-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/writingMode.png" alt=
- "TTML writingMode style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the second paragraph in the above example that targets region
- <code>r2</code>, the <code>tts:unicodeBidi</code> and
- <code>tts:direction</code> properties are set to
- <code>bidiOverride</code> and <code>rtl</code>, respectively, in
- order to override the normally left-to-right directionality of
- characters in the Latin script.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.29.7.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-zIndex" name=
- "style-attribute-zIndex"></a>8.2.25 tts:zIndex</h4>
-
- <p>The <code>tts:zIndex</code> attribute is used to specify a style
- property that defines the front-to-back ordering of region areas in
- the case that they overlap.</p>
-
- <p>This attribute may be specified by any element type that permits
- use of attributes in the TT Style Namespace; however, this attribute
- applies as a style property only to those element types indicated in
- the following table.</p><a id="style-property-details-zIndex" name=
- "style-property-details-zIndex"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href=
- "#style-value-integer"><integer></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href=
- "#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If two areas are associated with the same Z-index value, then, if
- those areas overlap in space, the area(s) generated by lexically
- subsequent elements must be rendered over area(s) generated by
- lexically prior elements, where lexical order is defined as the
- postorder traversal of a <em>Document Instance</em>.</p>
-
- <p>The semantics of the value <code>auto</code> are those defined by
- <a href="#xsl11">[XSL 1.1]</a>, § 7.30.18, where the <code>tt</code>
- element is considered to establish the root stacking context.</p>
-
- <p>If a specified value of this attribute is not supported, then a
- presentation processor must interpret the attribute as if the value
- <code>auto</code> were specified.</p>
-
- <p>The <code>tts:zIndex</code> style is illustrated by the following
- example.</p><a id="style-attribute-zIndex-example-1" name=
- "style-attribute-zIndex-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="0"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:origin="100px 60px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="1"</span>/>
-</region>
-<region xml:id="r3">
- <style tts:origin="0px 120px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="2"</span>/>
-</region>
-<region xml:id="r4">
- <style tts:origin="100px 180px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="3"</span>/>
-</region>
-...
-<p region="r1">
- I passed by his garden, and marked, with one eye,<br/>
- How the Owl and the Panther were sharing a pie.
-</p>
-<p region="r2">
- The Panther took pie-crust, and gravy, and meat,<br/>
- While the Owl had the dish as its share of the treat.
-</p>
-<p region="r3">
- When the pie was all finished, the Owl, as a boon,<br/>
- Was kindly permitted to pocket the spoon:
-</p>
-<p region="r4">
- While the Panther received knife and fork<br/>
- with a growl,<br/>
- And concluded the banquet by...
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table><a id="style-attribute-zIndex-example-1-images" name=
- "style-attribute-zIndex-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/zIndex.png" alt=
- "TTML zIndex style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this
- attribute are based upon that defined by <a href="#xsl11">[XSL
- 1.1]</a>, § 7.30.18.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-style-value-expressions" name=
- "styling-style-value-expressions"></a>8.3 Style Value Expressions</h3>
-
- <p>Style property values include the use of the following
- expressions:</p>
-
- <ul>
- <li>
- <p><a href="#style-value-alpha"><b>8.3.1 <alpha></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-color"><b>8.3.2 <color></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-digit"><b>8.3.3 <digit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-familyName"><b>8.3.5
- <familyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-hexDigit"><b>8.3.7
- <hexDigit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-integer"><b>8.3.8
- <integer></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-length"><b>8.3.9
- <length></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-namedColor"><b>8.3.10
- <namedColor></b></a></p>
- </li>
- </ul>
-
- <p>In the syntax representations defined in this section, no linear
- whitespace (LWSP) is implied or permitted between tokens unless
- explicitly specified.</p>
-
- <div class="div3">
- <h4><a id="style-value-alpha" name="style-value-alpha"></a>8.3.1
- <alpha></h4>
-
- <p>An <alpha> expression is used to express an opacity value,
- where 0 means fully transparent and 1 means fully opaque.</p><a id=
- "alpha-style-expression-syntax" name=
- "alpha-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <alpha>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<alpha>
- : <em>float</em>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above syntax representation, the syntactic element
- <em><code>float</code></em> must adhere to the lexical representation
- defined by <a href="#xsd-2">[XML Schema Part 2]</a> § 3.2.4.1.
- If the value represented is less than 0.0, then it must be
- interpreted as equal to 0.0; similarly, if the value represented is
- greater than 1.0, then it must be interpreted as 1.0. The value NaN
- must be interpreted as 0.0.</p>
-
- <p>A specified value for <alpha> should not be
- <code>NaN</code>, less than 0, or greater than 1.</p>
-
- <p>If a presentation processor does not support a specific, valid
- opacity value, then it must interpret it as being equal to the
- closest supported value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-color" name="style-value-color"></a>8.3.2
- <color></h4>
-
- <p>A <color> expression is used to specify a named color, exact
- RGB color triple, or exact RGBA color tuple, where the alpha
- component, if expressed, is maximum (255) at 100% opacity and minimum
- (0) at 0% opacity, and where the applicable color space is defined by
- <a href="#srgb">[SRGB]</a>.</p><a id="color-style-expression-syntax"
- name="color-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <color>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<color>
- : "#" rrggbb
- | "#" rrggbbaa
- | "rgb" "(" r-value "," g-value "," b-value ")"
- | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
- | <a href="#style-value-namedColor"><namedColor></a>
-
-rrggbb
- : <a href="#style-value-hexDigit"><hexDigit></a>{6}
-
-rrggbbaa
- : <a href="#style-value-hexDigit"><hexDigit></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"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When expressing RGB component values, these values are considered
- to <span class="strong">not</span> be premultiplied by alpha.</p>
-
- <p>For the purpose of performing presentation processing such that
- non-opaque or non-transparent alpha or opacity values apply, then the
- semantics of compositing functions are defined with respect to the
- use of the <a href="#srgb">[SRGB]</a> color space for both inputs and
- outputs of the composition function.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of <a href="#srgb">[SRGB]</a> for the stated semantics
- of composition is not meant to prevent an actual processor from
- using some other color space either for internal or external
- purposes. For example, a presentation processor may ultimately
- convert the SRGB values used here to the YUV color space for
- rendition on a television device.</p>
- </div>
-
- <p>If a presentation processor does not support a specific, valid
- color or alpha value, then it must interpret it as being equal to the
- closest supported value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-digit" name="style-value-digit"></a>8.3.3
- <digit></h4>
-
- <p>A <digit> is used to express integers and other types of
- numbers or tokens.</p><a id="digit-style-expression-syntax" name=
- "digit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <digit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<digit>
- : "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" name=
- "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 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" name=
- "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" name=
- "familyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <familyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<familyName>
- : 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>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In addition to adhering to the syntax rules specified above, the
- following semantic rules apply:</p>
-
- <ul>
- <li>
- <p>the semantic value of a <familyName> expression is the
- semantic value of its <code>unquoted-string</code> or
- <code>quoted-string</code> non-terminal, according to whichever
- applies;</p>
- </li>
-
- <li>
- <p>the semantic value of an <code>unquoted-string</code>
- non-terminal is a pair <code><</code><em>quoted</em>,
- <em>content</em><code>></code>, where <em>quoted</em> is a
- boolean <code>false</code>, and where <em>content</em> is the
- result of appending the value of each <code>identifier</code>
- non-terminal, in lexical order, where the value of each
- identifier is preceded by a single SPACE (U+0020) character if it
- is not the first identifier;</p>
- </li>
-
- <li>
- <p>the semantic value of a <code>quoted-string</code>
- non-terminal is a pair <code><</code><em>quoted</em>,
- <em>content</em><code>></code>, where <em>quoted</em> is a
- boolean <code>true</code>, and where <em>content</em> is the
- unquoted content of the quoted string, i.e., the sequence of
- characters between the delimiting quotes.</p>
- </li>
-
- <li>
- <p>the semantic value of an <code>escape</code> non-terminal is
- the value of the escaped <code>char</code>;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of an
- <code>unquoted-string</code> that contains an
- <code>identifier</code> that starts with two <code>-</code>
- HYPHEN-MINUS (U+002D) characters must be considered to be
- invalid;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of an
- <code>unquoted-string</code> that contains a single
- <code>identifier</code> that matches (by case sensitive
- comparison) a <genericFamilyName> must be interpreted as
- that <genericFamilyName>;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of a
- <code>quoted-string</code> whose content (unquoted value) matches
- (by case sensitive comparison) a <genericFamilyName> must
- not be interpreted as that <genericFamilyName>, but as the
- actual name of a non-generic font family.</p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The syntactic element <em><code>char</code></em> is to be
- interpreted according to the <code>Char</code> production defined
- by <a href="#xml10">[XML 1.0]</a> §2.2.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <code>{unicode}</code> escape mechanism defined by <a href=
- "#css2">[CSS2]</a> §4.1.1 is not supported by this syntax;
- rather, authors are expected to either (1) directly encode the
- character using the document encoding or (2) use an XML character
- reference according to <a href="#xml10">[XML 1.0]</a> §4.1.
- When a syntactically significant character needs to be used without
- its normal syntactic interpretation, it may be be escaped using the
- backslash (reverse solidus) <code>escape</code> non-terminal
- specified above.</p>
-
- <p>When using the backslash (reverse solidus) <code>escape</code>
- non-terminal, the above syntax does not place any restriction on
- what character may be escaped, e.g., <code>\\[\n\r\f0-9a-f]</code>
- are permitted. If one of these latter escapes appears in a
- <familyName> expression, then it will need to be converted to
- a <code>{unicode}</code> escape if it is to be used with a standard
- XSL-FO or CSS parser. In particular, a backslash followed by a
- newline is ignored by CSS, while it is not ignored by the above
- syntax. Such an unignored escaped newline would need to be
- represented using an equivalent <code>{unicode}</code> escape, such
- as <code>\a</code>, to order to express in CSS.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-genericFamilyName" name=
- "style-value-genericFamilyName"></a>8.3.6
- <genericFamilyName></h4>
-
- <p>A <genericFamilyName> expression specifies a font family
- using a general token that indicates a class of font families.</p>
-
- <p>The resolution of a generic family name to a concrete font
- instance is considered to be implementation dependent, both in the
- case of content authoring and content interpretation.</p><a id=
- "genericFamilyName-style-expression-syntax" name=
- "genericFamilyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <genericFamilyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<genericFamilyName>
- : "default"
- | "monospace"
- | "sansSerif"
- | "serif"
- | "monospaceSansSerif"
- | "monospaceSerif"
- | "proportionalSansSerif"
- | "proportionalSerif"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The mapping between a generic (font) family name and an actual
- font is not determined by this specification; however, the
- distinction of monospace versus proportional and serif versus
- sans-serif should be maintained if possible when performing
- presentation.</p>
-
- <p>If a generic (font) family name of <code>monospace</code> is
- specified, then it may be interpreted as equivalent to either
- <code>monospaceSansSerif</code> or <code>monospaceSerif</code>. The
- generic family names <code>sansSerif</code> and <code>serif</code>
- are to be interpreted as equivalent to
- <code>proportionalSansSerif</code> and
- <code>proportionalSerif</code>, respectively.</p>
-
- <p>If the generic family name <code>default</code> is specified (or
- implied by an initial value), then its typographic characteristics
- are considered to be implementation dependent; however, it is
- recommended that this default font family be mapped to an monospaced,
- sans-serif font.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-hexDigit" name=
- "style-value-hexDigit"></a>8.3.7 <hexDigit></h4>
-
- <p>A <hexDigit> is used to express integers and other types of
- numbers or tokens that employ base 16 arithmetic.</p>
-
- <p>For the purpose of parsing, a distinction must not be made between
- lower and upper case.</p><a id="hexDigit-style-expression-syntax"
- name="hexDigit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <hexDigit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<hexDigit>
- : <a href="#style-value-digit"><digit></a>
- | "a" | "b" | "c" | "d" | "e" | "f"
- | "A" | "B" | "C" | "D" | "E" | "F"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-integer" name="style-value-integer"></a>8.3.8
- <integer></h4>
-
- <p>An <integer> expression is used to express an arbitrary,
- signed integral value.</p><a id="integer-style-expression-syntax"
- name="integer-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <integer>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<integer>
- : ( "+" | "-" )? <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-length" name="style-value-length"></a>8.3.9
- <length></h4>
-
- <p>A <length> expression is used to express either a coordinate
- component of point in a cartesian space or a distance between two
- points in a cartesian space.</p><a id=
- "length-style-expression-syntax" name=
- "length-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <length>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<length>
- : 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"><digit></a>+
-
-non-negative-real
- : <a href="#style-value-digit"><digit></a>* "." <a href=
-"#style-value-digit"><digit></a>+
-
-units
- : "px"
- | "em"
- | "c" // abbreviation of "cell"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>It is an error to omit the units component of a scalar length
- value.</p>
-
- <p>The semantics of the unit of measure <code>px</code> (pixel) are
- as defined by <a href="#xsl11">[XSL 1.1]</a>, § 5.9.13.</p>
-
- <p>When specified relative to a font whose size is expressed as a
- single length measure or as two length measures of equal length, the
- unit of measure <code>em</code> is considered to be identical to that
- defined by <a href="#xsl11">[XSL 1.1]</a>, § 5.9.13; however, when
- specified relative to a font whose size is expressed as two length
- measures of non-equal lengths, then one <code>em</code> is equal to
- the inline progression dimension of the anamorphically scaled font
- when used to specify lengths in the inline progression direction and
- equal to the block progression dimension of the scaled font when used
- to specify lengths in the block progression direction.</p>
-
- <p>The semantics of the unit of measure <code>c</code> (cell) are
- defined by the parameter <a href=
- "#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-namedColor" name=
- "style-value-namedColor"></a>8.3.10 <namedColor></h4>
-
- <p>A <namedColor> is used to express an RGBA color with a
- convenient name, and where the applicable color space is defined by
- <a href="#srgb">[SRGB]</a>.</p>
-
- <p>For the purpose of parsing, a distinction must not be made between
- lower and upper case.</p><a id="namedColor-style-expression-syntax"
- name="namedColor-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <namedColor>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<namedColor>
- : "transparent" // #00000000
- | "black" // #000000ff
- | "silver" // #c0c0c0ff
- | "gray" // #808080ff
- | "white" // #ffffffff
- | "maroon" // #800000ff
- | "red" // #ff0000ff
- | "purple" // #800080ff
- | "fuchsia" // #ff00ffff
- | "magenta" // #ff00ffff (= fuchsia)
- | "green" // #008000ff
- | "lime" // #00ff00ff
- | "olive" // #808000ff
- | "yellow" // #ffff00ff
- | "navy" // #000080ff
- | "blue" // #0000ffff
- | "teal" // #008080ff
- | "aqua" // #00ffffff
- | "cyan" // #00ffffff (= aqua)
-</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" name=
- "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
- <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" name="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
- <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" name=
- "semantics-style-resolution"></a>8.4 Style Resolution</h3>
-
- <p>This section defines the semantics of style resolution in terms of a
- standard processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association"><b>8.4.1 Style
- Association</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance"><b>8.4.2 Style
- Inheritance</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-value-categories"><b>8.4.3
- Style Resolution Value Categories</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing"><b>8.4.4 Style
- Resolution Processing</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation of this model is permitted provided that the
- externally observable results are consistent with the results produced
- by this model.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of style resolution employed here are based upon
- <a href="#xsl11">[XSL 1.1]</a>, § 5.</p>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-association" name=
- "semantics-style-association"></a>8.4.1 Style Association</h4>
-
- <p>Style association is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each
- content and layout element.</p>
-
- <p>Style matter may be associated with content and layout matter in a
- number of ways:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-inline">inline
- styling</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-association-referential">referential
- styling</a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-association-chained-referential">chained
- referential styling</a></p>
- </li>
- </ul>
-
- <p>In addition to the above, style matter may be associated with
- layout matter using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-nested">nested
- styling</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-association-inline" name=
- "semantics-style-association-inline"></a>8.4.1.1 Inline
- Styling</h5>
-
- <p>Style properties may be expressed in an inline manner by direct
- specification of an attribute from the TT Style Namespace on the
- affected element. When expressed in this manner, the association of
- style information is referred to as <em>inline styling</em>.</p>
-
- <p>Style properties associated by inline styling are afforded a
- higher priority than all other forms of style
- association.</p><a id="style-association-example-1" name=
- "style-association-example-1"></a>
-
- <table class="example">
- <caption>
- Example – Inline Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class=
-"strong">tts:color="white"</span>>White 1 <span <span class=
-"strong">tts:color="yellow"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1
- "</code> and <code>" White 2"</code>, which are interpreted as
- anonymous spans, are not associated with a color style property;
- rather, they inherit their color style from their parent
- <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-referential" name=
- "semantics-style-association-referential"></a>8.4.1.2 Referential
- Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and
- referenced by the affected element using the <code>style</code>
- attribute. When expressed in this manner, the association of style
- information is referred to as <em>referential styling</em>.</p>
-
- <p>If a <code>style</code> attribute specifies multiple references,
- then those references are evaluated in the specified order, and
- that order applies to resolution of the value of a style property
- in the case that it is specified along multiple reference
- paths.</p>
-
- <p>The use of referential styling is restricted to making reference
- to <code>style</code> element descendants of a <code>styling</code>
- element. It is considered an error to reference a
- <code>style</code> element that is a descendant of a
- <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of referential styling encourages the reuse of style
- specifications while sacrificing locality of reference.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style
- properties by a hybrid mixture of inline and referential styling,
- in which case inline styling is given priority as described above
- by <a href="#semantics-style-association-inline"><b>8.4.1.1
- Inline Styling</b></a>.</p>
- </div><a id="style-association-example-2" name=
- "style-association-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class="strong">xml:id="s1"</span> tts:color="white"/>
-<style <span class="strong">xml:id="s2"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White 1 <span <span class=
-"strong">style="s2"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1
- "</code> and <code>" White 2"</code>, which are interpreted as
- anonymous spans, are not associated with a color style property;
- rather, they inherit their color style from their parent
- <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-chained-referential" name=
- "semantics-style-association-chained-referential"></a>8.4.1.3
- Chained Referential Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and
- may themselves reference other out-of-line style properties, thus
- creating a chain of references starting at the affected element.
- When expressed in this manner, the association of style information
- is referred to as <em>chained referential styling</em>.</p>
-
- <p>If the same style property is specified in more than one
- referenced style set, then the last referenced style set applies,
- where the order of application starts from the affected element and
- proceeds to referenced style sets, and, in turn, to subsequent
- referenced style sets.</p>
-
- <p>A loop in a sequence of chained style references must be
- considered an error.</p>
-
- <p>The use of referential styling is restricted to making reference
- to <code>style</code> element descendants of a <code>styling</code>
- element. It is considered an error to reference a
- <code>style</code> element that is a descendant of a
- <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of chained referential styling encourages the grouping
- of style specifications into general and specific sets, which
- further aids in style specification reuse.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style
- properties by a hybrid mixture of inline, referential styling,
- and chained referential styling, in which case inline styling is
- given priority as described above by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div><a id="style-association-example-3" name=
- "style-association-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Chained Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class=
-"strong">xml:id="s1"</span> tts:color="white" tts:fontFamily="monospaceSerif"/>
-<style <span class="strong">xml:id="s2"</span> <span class=
-"strong">style="s1"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White Monospace</p>
-<p <span class="strong">style="s2"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-nested" name=
- "semantics-style-association-nested"></a>8.4.1.4 Nested
- Styling</h5>
-
- <p>Style properties may be expressed in a nested manner by direct
- specification of one or more <code>style</code> element children of
- the affected element. When expressed in this manner, the
- association of style information is referred to as <em>nested
- styling</em>.</p>
-
- <p>Style properties associated by nested styling are afforded a
- lower priority than inline styling but with higher priority than
- referential styling.</p><a id="style-association-example-4" name=
- "style-association-example-4"></a>
-
- <table class="example">
- <caption>
- Example – Nested Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <span class="strong"><style tts:extent="128px 66px"/></span>
- <span class="strong"><style tts:origin="0px 0px"/></span>
- <span class="strong"><style tts:displayAlign="center"/></span>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this version of this specification, nested styling applies
- only to the <code>region</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-inheritance" name=
- "semantics-style-inheritance"></a>8.4.2 Style Inheritance</h4>
-
- <p>Style inheritance is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each
- content and layout element.</p>
-
- <p>Styles are further propagated to content matter using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-inheritance-content">content style
- inheritance</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance-content">region style
- inheritance</a></p>
- </li>
- </ul>
-
- <p>For the purpose of determining inherited styles, the element
- hierarchy of an intermediate synchronic document form of a
- <em>Document Instance</em> must be used, where such intermediate
- forms are defined by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic
- Document Construction</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate synchronic document form is utilized rather
- than the original form in order to facilitate region inheritance
- processing.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-content" name=
- "semantics-style-inheritance-content"></a>8.4.2.1 Content Style
- Inheritance</h5>
-
- <p>Style properties are inherited from ancestor content elements
- within an intermediate synchronic document if a style property is
- not associated with a content element (or an anonymous span) and
- the style property is designated as inheritable.</p>
-
- <p>If a style property is determined to require inheritance, then
- the inherited value must be the value of the same named style
- property in the computed style set of the element's immediate
- ancestor element within the applicable intermediate synchronic
- document.</p><a id="style-inheritance-example-2" name=
- "style-inheritance-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Content Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>>
- <span tts:color="yellow">Yellow Monospace</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>span</code> element that
- encloses the character items <code>Yellow Monospace</code> is not
- associated with a <code>tts:fontFamily</code> style property and
- this property is inheritable; therefore, the value of the
- <code>tts:fontFamily</code> style is inherited from the computed
- style set of the ancestor <code>p</code> element, and is added to
- the specified style set of the <code>span</code> element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-region" name=
- "semantics-style-inheritance-region"></a>8.4.2.2 Region Style
- Inheritance</h5>
-
- <p>Style properties are inherited from a region element in the
- following case:</p>
-
- <ol class="enumar">
- <li>
- <p>if a style property <em>P</em> is not associated with a
- content element or an anonymous span <em>E</em> and the style
- property is designated as inheritable, and</p>
- </li>
-
- <li>
- <p>if that style property <em>P</em> is in the computed style
- set of region <em>R</em>, and</p>
- </li>
-
- <li>
- <p>if that element <em>E</em> is flowed into (presented within)
- region <em>R</em>.</p>
- </li>
- </ol><a id="style-inheritance-example-3" name=
- "style-inheritance-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Region Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region <span class="strong">xml:id="r1"</span>>
- <style tts:color="yellow"/>
- <style tts:fontFamily="monospaceSerif"/>
-</region>
-...
-<p <span class="strong">region="r1"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the anonymous span that encloses the
- character items <code>Yellow Monospace</code> effectively
- inherits the <code>tts:color</code> and
- <code>tts:fontFamily</code> styles specified on the
- <code>region</code> element into which the <code>p</code> element
- is flowed (presented).</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-value-categories" name=
- "semantics-style-resolution-value-categories"></a>8.4.3 Style
- Resolution Value Categories</h4>
-
- <p>During style resolution, layout, and presentation processing,
- three categories of style property values are distinguished as
- follows:</p>
-
- <ul>
- <li>
- <p><a href=
- "#semantics-style-resolved-value-category-specified">specified
- values</a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-resolved-value-category-computed">computed
- values</a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-resolved-value-category-actual">actual
- values</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-specified" name=
- "semantics-style-resolved-value-category-specified"></a>8.4.3.1
- Specified Values</h5>
-
- <p>Values of style properties that are associated with or inherited
- by an element or anonymous span are referred to as <em>specified
- values</em>. The set of all specified style properties of a given
- element is referred to as the <em>specified style set</em> of that
- element.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-computed" name=
- "semantics-style-resolved-value-category-computed"></a>8.4.3.2
- Computed Values</h5>
-
- <p>When style properties are specified using relative value
- expressions, such as a named color, a relative unit (e.g., cell),
- or a percentage, then they need to be further resolved into
- absolute units, such as an RGB triple, pixels, etc.</p>
-
- <p>During the style resolution process, all specified style values
- are reinterpreted (or recalculated) in absolute terms, and then
- recorded as <em>computed values</em>. The set of all computed style
- properties of a given element is referred to as the <em>computed
- style set</em> of that element.</p>
-
- <p>When a style value is inherited, either explicitly or
- implicitly, it is the computed value of the style that is inherited
- from an ancestor element. This is required since the resolution of
- certain relative units, such as percentage, require evaluating the
- expression in the immediate (local) context of reference, and not
- in a distant (remote) context of reference where the related
- (resolving) expression is not available.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-actual" name=
- "semantics-style-resolved-value-category-actual"></a>8.4.3.3 Actual
- Values</h5>
-
- <p>During the actual presentation process, other transformations
- occur that map some value expressions to concrete, physical values.
- For example, the colors of computed style values are further
- subjected to closest color approximation and gamma correction
- during the display process. In addition, length value expressions
- that use pixels in computed style values are considered to express
- logical rather than physical (device) pixels. Consequently, these
- logical pixels are subject to being further transformed or mapped
- to physical (device) pixels during presentation.</p>
-
- <p>The final values that result from the logical to device mapping
- process are referred to as <em>actual values</em>. The set of all
- actual style properties of a given element is referred to as the
- <em>actual style set</em> of that element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>More than one set of actual values may be produced during the
- process of presentation. For example, a TTML presentation
- processor device may output an RGBA component video signal which
- is then further transformed by an NTSC or PAL television to
- produce a final image. In this case, both color and dimensions
- may further be modified prior to presentation.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In general, a TTML presentation processor will not have access
- to actual style set values; as a consequence, no further use or
- reference to actual values is made below when formally describing
- the style resolution process.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-processing" name=
- "semantics-style-resolution-processing"></a>8.4.4 Style Resolution
- Processing</h4>
-
- <p>The process of style resolution is defined herein as the procedure
- (and results thereof) for resolving (determining) the computed values
- of all style properties that apply to content and layout
- elements:</p>
-
- <ul>
- <li>
- <p><a href=
- "#semantics-style-resolution-processing-definitions"><b>8.4.4.1
- Conceptual Definitions</b></a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified
- Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed
- Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href=
- "#semantics-style-resolution-process-overall"><b>8.4.4.4 Style
- Resolution Process</b></a></p>
- </li>
- </ul>
-
- <p>The process described here forms an integral sub-process of
- <a href="#semantics-region-layout"><b>9.3 Region Layout and
- Presentation</b></a>.</p>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-definitions" name=
- "semantics-style-resolution-processing-definitions"></a>8.4.4.1
- Conceptual Definitions</h5>
-
- <p>For the purpose of interpreting the style resolution processing
- model specified below, the following conceptual definitions
- apply:</p>
-
- <dl>
- <dt class="label">[style property]</dt>
-
- <dd>
- <p>a style property, <em>P</em>, is considered to consist of a
- tuple <code>[name, value]</code>, where the name of the
- property is a tuple <code>[namespace value, unqualified
- name]</code> and the value of the property is a tuple
- <code>[category, type, value expression]</code></p><a id=
- "conceptual-definition-example-style-property" name=
- "conceptual-definition-example-style-property"></a>
-
- <table class="example">
- <caption>
- Example – conceptual style property
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-[
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red"]
-]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </dd>
-
- <dt class="label">[style (property) set]</dt>
-
- <dd>
- <p>a style (property) set consists of an unordered collection
- of style properties, where no two style properties within the
- set have an identical name, where by "identical name" is meant
- equality of namespace value of name tuple and unqualified name
- of name tuple;</p>
-
- <p>in a specified style (property) set, the category of each
- style property is "specified"; a specified style (property) set
- of an element <em>E</em> is referred to as
- <em>SSS(E)</em>;</p><a id=
- "conceptual-definition-example-specified-style-set" name=
- "conceptual-definition-example-specified-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (specified) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["specified", <em>length</em>, "1c" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["specified", <em>length</em>, "117%" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>in a computed style (property) set, the category of each
- style property is either "specified" or "computed"; a computed
- style (property) set of an element <em>E</em> is referred to as
- <em>CSS(E)</em>;</p><a id=
- "conceptual-definition-example-computed-style-set" name=
- "conceptual-definition-example-computed-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (computed) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["computed", <em>color</em>, 0xFF0000 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["computed", <em>length</em>, "24px" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["computed", <em>length</em>, "28px" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </dd>
-
- <dt class="label">[style (property) merging]</dt>
-
- <dd>
- <p>a style property <em>P<sub>new</sub></em> is merged into a
- style (property) set, <em>SS</em>, as follows: if a style
- property <em>P<sub>old</sub></em> is already present in
- <em>SS</em> where the name of <em>P<sub>new</sub></em> is
- identical to the name of <em>P<sub>old</sub></em>, then replace
- <em>P<sub>old</sub></em> in <em>SS</em> with
- <em>P<sub>new</sub></em>; otherwise, add
- <em>P<sub>new</sub></em> to <em>SS</em>;</p>
- </dd>
-
- <dt class="label">[style (property) set merging]</dt>
-
- <dd>
- <p>a style (property) set <em>SS<sub>new</sub></em> is merged
- into an existing style (property) set <em>SS<sub>old</sub></em>
- as follows: for each style property <em>P<sub>new</sub></em> in
- <em>SS<sub>new</sub></em>, merge <em>P<sub>new</sub></em> into
- <em>SS<sub>old</sub></em>;</p>
- </dd>
- </dl>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-sss" name=
- "semantics-style-resolution-processing-sss"></a>8.4.4.2 Specified
- Style Set Processing</h5>
-
- <p>The specified style set <em>SSS</em> of an element or anonymous
- span <em>E</em>, <em>SSS(E)</em>, is determined according to the
- following ordered rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[initialization]</span> initialize the
- specified style set <em>SSS</em> of <em>E</em> to the empty
- set;</p>
- </li>
-
- <li>
- <p><span class="strong">[referential and chained referential
- styling]</span> for each <code>style</code> element
- <em>S<sub>REF</sub></em> referenced by a <code>style</code>
- attribute specified on <em>E</em>, and in the order specified
- in the <code>style</code> attribute, then, if
- <em>S<sub>REF</sub></em> is a descendant of a
- <code>styling</code> element, merge the specified style set of
- <em>S<sub>REF</sub></em>, <em>SSS(S<sub>REF</sub>)</em>, into
- the specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[nested styling]</span> for each nested
- <code>style</code> element child <em>S<sub>NEST</sub></em> of
- <em>E</em>, and in the specified order of child elements, merge
- the specified style set of <em>S<sub>NEST</sub></em>,
- <em>SSS(S<sub>NEST</sub>)</em>, into the specified style set of
- <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[inline styling]</span> for each style
- property <em>P</em> expressed as a specified styling attribute
- of <em>E</em>, merge <em>P</em> into the specified style set of
- <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[animation styling]</span> for each
- style property <em>P</em> expressed as a specified styling
- attribute of an immediate animation (<code>set</code>) element
- child of element <em>E</em>, merge <em>P</em> into the
- specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[implicit inheritance]</span> if the
- element type of <em>E</em> is not the styling element type
- <code>style</code>, then for each inheritable style property
- <em>P<sub>INH</sub></em> in the set of style properties defined
- above in <a href="#styling-attribute-vocabulary"><b>8.2 Styling
- Attribute Vocabulary</b></a>, perform the following ordered
- sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if <em>P<sub>INH</sub></em> is present in the specified
- style set of <em>E</em>, <em>SSS(E)</em>, then continue to
- the next inheritable style property;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is the layout element
- type <code>region</code>, then set <em>P′</em> to the
- initial value of property <em>P</em>, where the initial
- value of a property is determined according to the specific
- property definition found above in <a href=
- "#styling-attribute-vocabulary"><b>8.2 Styling Attribute
- Vocabulary</b></a>;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is a content element
- type or anonymous span, then set <em>P′</em> to the result
- of looking up the value of <em>P</em> in the computed style
- set of the immediate ancestor element of <em>E</em>, i.e.,
- <em>CSS(PARENT(E))</em>;</p>
- </li>
-
- <li>
- <p>if the value of <em>P′</em> is not undefined, then merge
- <em>P′</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>.</p>
- </li>
- </ol>
- </li>
- </ol>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-css" name=
- "semantics-style-resolution-processing-css"></a>8.4.4.3 Computed
- Style Set Processing</h5>
-
- <p>The computed style set <em>CSS</em> of an element or anonymous
- span <em>E</em>, <em>CSS(E)</em>, is determined according to the
- following ordered rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[resolve specified styles]</span>
- determine (obtain) the specified style set <em>SSS</em> of
- <em>E</em>, namely, <em>SSS(E)</em>, in accordance with
- <a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2
- Specified Style Set Processing</b></a>;</p>
- </li>
-
- <li>
- <p><span class="strong">[initialization]</span> initialize
- <em>CSS(E)</em> to a (deep) copy of <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[filter]</span> if <em>E</em> is a
- <code>style</code> element, then return <em>CSS(E)</em> as the
- resulting computed style set without further resolution;
- otherwise, continue with the next rule;</p>
- </li>
-
- <li>
- <p><span class="strong">[relative value resolution]</span> for
- each style property <em>P</em> in <em>CSS(E)</em>, where the
- value type of <em>P</em> is relative, perform the following
- ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>replace the relative value of <em>P</em> with an
- equivalent, non-relative (computed) value;</p>
- </li>
-
- <li>
- <p>set the category of <em>P</em> to "computed";</p>
- </li>
- </ol>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>As a result of the filtering rule above, the computed style
- set of a <code>style</code> element includes only specified
- values, in which case relative value expressions remain relative;
- consequently, the resolution of relative value expressions (that
- may be assigned by means of referential style association) always
- takes place in the context of a layout or content element which
- has a presentation context, and not in the non-presentation,
- declaration context of a referentiable <code>style</code>
- element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-process-overall" name=
- "semantics-style-resolution-process-overall"></a>8.4.4.4 Style
- Resolution Process</h5>
-
- <p>The top-level style resolution process is defined as follows:
- using a preorder traversal of each element and anonymous span,
- <em>E</em>, of an intermediate synchronic document,
- <em>DOC<sub>inter</sub></em>, perform the following ordered
- sub-steps:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[filter]</span> if the element type of
- <em>E</em> is not the styling element type <code>style</code>,
- is not the layout element type <code>region</code>, and is not
- one of the content element types <code>body</code>,
- <code>div</code>, <code>p</code>, <code>span</code>,
- <code>br</code>, or anonymous span, then continue to the next
- element in the preorder traversal;</p>
- </li>
-
- <li>
- <p><span class="strong">[resolve computed styles]</span>
- determine (obtain) the computed style set <em>CSS</em> of
- <em>E</em>, namely, <em>CSS(E)</em>, in accordance with
- <a href="#semantics-style-resolution-processing-css"><b>8.4.4.3
- Computed Style Set Processing</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="layout" name="layout"></a>9 Layout</h2>
-
- <p>This section specifies the <em>layout</em> matter of the core
- vocabulary catalog, where layout is to be understood as a separable layer
- of information that applies to content and that denotes authorial
- intentions about the presentation of that content.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The two layers of layout and style matter are considered to be
- independently separable. Layout matter specifies one or more spaces or
- areas into which content is intended to be presented, while style
- matter specifies the manner in which presentation occurs within the
- layout.</p>
-
- <p>In certain cases, a content author may choose to embed (inline)
- style matter directly into layout or content matter. In such cases, an
- alternative exists – use of referential styling – in which the style
- matter is not embedded (inlined).</p>
- </div>
-
- <div class="div2">
- <h3><a id="layout-element-vocabulary" name=
- "layout-element-vocabulary"></a>9.1 Layout Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal layout
- aspects of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-layout" name=
- "layout-vocabulary-layout"></a>9.1.1 layout</h4>
-
- <p>The <code>layout</code> element is a container element used to
- group layout matter, including metadata that applies to layout
- matter.</p>
-
- <p>The <code>layout</code> element accepts as its children zero or
- more elements in the <code>Metadata.class</code> element group,
- followed by zero or more <code>region</code> elements.</p><a id=
- "elt-syntax-layout" name="elt-syntax-layout"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#layout-vocabulary-region">region</a>*
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>layout</code> element, the implied time interval of this
- element is defined to be coterminous with the <em>Root Temporal
- Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-region" name=
- "layout-vocabulary-region"></a>9.1.2 region</h4>
-
- <p>The <code>region</code> element is used to define a rectangular
- space or area into which content is to be flowed for the purpose of
- presentation.</p>
-
- <p>In addition, and in accordance with <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>, the <code>region</code> element may be used to
- specify inheritable style properties to be inherited by content that
- is flowed into it.</p>
-
- <p>The <code>region</code> element accepts as its children zero or
- more elements in the <code>Metadata.class</code> element group,
- followed by zero or more elements in the <code>Animation.class</code>
- element group, followed by zero or more <code>style</code>
- elements.</p>
-
- <p>Any metadata specified by children in the
- <code>Metadata.class</code> element group applies semantically to the
- <code>region</code> element and its descendants as a whole. Any
- animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>region</code> element. Any <code>style</code> child element
- must be considered a local style definition that applies only to the
- containing <code>region</code> element, i.e., does not apply for
- resolving referential styling (but does apply for region style
- inheritance).</p><a id="elt-syntax-region" name=
- "elt-syntax-region"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#metadata-attribute-role">ttm:role</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href=
-"#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If <code>begin</code> and (or) <code>end</code> attributes are
- specified on a <code>region</code> element, then they specify the
- beginning and (or) ending points of a time interval during which the
- region is eligible for activation and with respect to which animation
- child elements of the region are timed. If specified, these begin and
- end points are relative to the time interval of the nearest ancestor
- element associated with a time interval, irregardless of whether that
- interval is explicit or implied.</p>
-
- <p>The nearest ancestor element of a <code>region</code> element that
- is associated with a time interval is the <code>layout</code>
- element.</p>
-
- <p>If a <code>dur</code> attribute is specified on the
- <code>region</code> element, then it specifies the simple duration of
- the region.</p>
-
- <p>For the purpose of determining the semantics of presentation
- processing, a region that is temporally inactive must not produce any
- visible marks when presented on a visual medium.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>region</code> element may be associated with a time
- interval for two purposes: (1) in order to temporally bound the
- presentation of the region and its content, and (2) to provide a
- temporal context in which animations of region styles may be
- effected.</p>
-
- <p>For example, an author may wish to specify a region that is
- otherwise empty, but may have a visible background color to be
- presented starting at some time and continuing over the region's
- duration. The simple duration of the region serves additionally to
- scope the presentation effects of content that is targeted to the
- region. An author may also wish to move a region within the
- <em>Root Container Region</em> or change a region's background
- color by means of animation effects. In both of these cases, it is
- necessary to posit an active time interval for a region.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>region</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
-
- <p>If a <a href="#metadata-attribute-role"><code>ttm:role</code></a>
- attribute is specified on a <code>region</code> element, then it must
- adhere to the value syntax defined by <a href=
- "#metadata-attribute-role-syntax"><b>Syntax Representation –
- ttm:role</b></a>, and where the roles identified by this attribute
- express the semantic roles of the region independently from the
- semantic roles of any content targeted to (associated with) the
- region.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="layout-attribute-vocabulary" name=
- "layout-attribute-vocabulary"></a>9.2 Layout Attribute Vocabulary</h3>
-
- <p>This section defines the <a href="#layout-attribute-region"><b>9.2.1
- region</b></a> attribute used with content elements.</p>
-
- <div class="div3">
- <h4><a id="layout-attribute-region" name=
- "layout-attribute-region"></a>9.2.1 region</h4>
-
- <p>The <code>region</code> attribute is used to reference a
- <code>region</code> element which defines a space or area into which
- a content element is intended to be flowed.</p>
-
- <p>If specified, the value of a <code>region</code> attribute must
- adhere to the <code>IDREF</code> data type defined by <a href=
- "#xsd-2">[XML Schema Part 2]</a>, § 3.3.9, and, furthermore, this
- IDREF must reference a <code>region</code> element which has a
- <code>layout</code> element as an ancestor.</p>
-
- <p>The <code>region</code> attribute may be specified by an instance
- of the following element types:</p>
-
- <ul>
- <li>
- <p><a href=
- "#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#semantics-region-layout"><b>9.3 Region Layout and
- Presentation</b></a> below for further information on content flow
- in a region.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-region-layout" name=
- "semantics-region-layout"></a>9.3 Region Layout and Presentation</h3>
-
- <p>This section defines the semantics of region layout and presentation
- in terms of a standard processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-default-region"><b>9.3.1 Default
- Region</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate
- Synchronic Document Construction</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic
- Flow Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-example"><b>9.3.4 Elaborated
- Example (Informative)</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation is permitted provided that the externally
- observable results are consistent with the results produced by this
- model.</p>
-
- <div class="div3">
- <h4><a id="semantics-default-region" name=
- "semantics-default-region"></a>9.3.1 Default Region</h4>
-
- <p>If a <em>Document Instance</em> does not specify a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element, then a
- <em>default region</em> is implied with the following
- characteristics:</p>
-
- <ul>
- <li>
- <p>the identity of the default region is considered to be
- anonymous;</p>
- </li>
-
- <li>
- <p>the extent of the default region is the same as the extent of
- the <em>Root Container Region</em>;</p>
- </li>
-
- <li>
- <p>the temporal interval of the default region is the same as the
- interval defined by the <em>Root Temporal Extent</em>;</p>
- </li>
- </ul>
-
- <p>Furthermore, if no <a href=
- "#layout-vocabulary-region"><code>region</code></a> element is
- specified, then the <a href=
- "#layout-attribute-region"><code>region</code></a> attribute must not
- be specified on any content element in the <em>Document
- Instance</em>.</p>
-
- <p>If a default region is implied for a given <em>Document
- Instance</em>, then the <a href=
- "#document-structure-vocabulary-body"><code>body</code></a> element
- is implicitly targeted to (associated with) the default region.</p>
-
- <p>When implying a default region, the <em>Document Instance</em> is
- to be treated as if a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element and its
- parent <a href="#layout-vocabulary-layout"><code>layout</code></a>
- element were specified in a <a href=
- "#document-structure-vocabulary-head"><code>head</code></a> element,
- and a matching <a href=
- "#layout-attribute-region"><code>region</code></a> attribute were
- specified on the <a href=
- "#document-structure-vocabulary-body"><code>body</code></a> element
- as shown in the following example:</p><a id=
- "semantics-default-region-example" name=
- "semantics-default-region-example"></a>
-
- <table class="example">
- <caption>
- Example – Implied Default Region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <span class="strong"><layout>
- <region xml:id="anonymous"/>
- </layout></span>
- </head>
- <body <span class="strong">region="anonymous"</span>/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a default <code>region</code> element and
- <code>region</code> attribute are implied. In addition, a
- <code>layout</code> container element is implied for the implied
- <code>region</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-1" name=
- "semantics-region-layout-step-1"></a>9.3.2 Intermediate Synchronic
- Document Construction</h4>
-
- <p>For the purposes of performing presentation processing, the active
- time duration of a <em>Document Instance</em> is divided into a
- sequence of time coordinates where at each time coordinate, some
- element becomes temporally active or inactive, then, at each such
- time coordinate, a <em>Document Instance</em> is mapped from its
- original, source form, <em>DOC<sub>source</sub></em> , to an
- intermediate synchronic document form, <em>DOC<sub>inter</sub></em> ,
- according to the <span class="strong">[construct intermediate
- document]</span> procedure:</p>
-
- <dl>
- <dt class="label">[construct intermediate document]</dt>
-
- <dd>
- <ol class="enumar">
- <li>
- <p>for each temporally active region <em>R</em>, replicate
- the sub-tree of <em>DOC<sub>source</sub></em> headed by the
- <code>body</code> element;</p>
- </li>
-
- <li>
- <p>evaluating this sub-tree in a postorder traversal, prune
- elements if they are not a content element, if they are
- temporally inactive, if they are empty, or if they aren't
- associated with region <em>R</em> according to the
- <span class="strong">[associate region]</span> procedure;</p>
- </li>
-
- <li>
- <p>if the pruned sub-tree is non-empty, then reparent it to
- the <em>R</em> element;</p>
- </li>
-
- <li>
- <p>finally, after completing the above steps, prune the
- original <code>body</code> element from the intermediate
- document, then prune all <code>region</code>,
- <code>begin</code>, <code>end</code>, and <code>dur</code>
- attributes, which are no longer semantically relevant;</p>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the term <em>prune</em>, when used in
- reference to an element, means that the element is to be
- removed from its parent's children, which, in turn, implies
- that the descendants of the pruned element will no longer be
- descendants of the element's parent. When <em>prune</em> is
- used in reference to an attribute, it means that attribute is
- to be removed from its associated (owning) element node.</p>
- </div>
- </dd>
-
- <dt class="label">[associate region]</dt>
-
- <dd>
- <p>A content element is associated with a region according to the
- following ordered rules, where the first rule satisfied is used
- and remaining rules are skipped:</p>
-
- <ol class="enumar">
- <li>
- <p>if the element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute,
- then the element is associated with the region referenced by
- that attribute;</p>
- </li>
-
- <li>
- <p>if some ancestor of that element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute,
- then the element is associated with the region referenced by
- the most immediate ancestor that specifies this
- attribute;</p>
- </li>
-
- <li>
- <p>if the element contains a descendant element that
- specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute,
- then the element is associated with the region referenced by
- that attribute;</p>
- </li>
-
- <li>
- <p>if a default region was implied (due to the absence of any
- <a href="#layout-vocabulary-region"><code>region</code></a>
- element), then the element is associated with the default
- region;</p>
- </li>
-
- <li>
- <p>the element is not associated with any region.</p>
- </li>
- </ol>
- </dd>
- </dl>
-
- <p>The result of performing the processing described above will be a
- sequence of <em>N</em> intermediate synchronic <em>Document
- Instances</em>, <em>DOC<sub><span>inter<sub>0</sub></span></sub></em>
- … <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>.</p>
-
- <div class="note" id="semantics-smooth-scrolling-recommendation">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Where an implementation is able to detect significant similarity
- between two adjacent synchronic <em>Document Instances</em>,
- <em>DOC<sub><span>inter<sub>N</sub></span></sub></em>
- <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>, then it is
- preferred that the implementation make the transition between
- presenting the two instances as smooth as possible, e.g., as
- described by <a href="#cea608c">[CEA-608-C]</a>, § C.3.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-2" name=
- "semantics-region-layout-step-2"></a>9.3.3 Synchronic Flow
- Processing</h4>
-
- <p>Subsequent to performing a temporal (synchronic) slice and
- subsequent remapping of regionally selected content hierarchy, the
- resulting intermediate synchronic document is subjected to a flow
- transformation step that produces a rooted flow object tree
- represented as an XSL FO document instance as defined by <a href=
- "#xsl11">[XSL 1.1]</a>, and semantically extended by TTML specific
- style properties that have no XSL FO counterpart.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the use of XSL FO is intended to be conceptual
- only, employed solely for the purpose of defining the normative
- presentation semantics of TTML. An actual implementation of this
- algorithm is not required to create or process XSL-FO
- representations. In particular, it is possible to implement these
- semantics using alternative presentation models, such as Cascading
- Style Sheets (CSS).</p>
- </div>
-
- <p>Each intermediate synchronic document produced by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic
- Document Construction</b></a> is mapped to an XSL FO document
- instance, <em>F</em>, as follows:</p>
-
- <ol class="enumar">
- <li>
- <p>perform the following ordered sub-steps to create anonymous
- spans:</p>
-
- <ol class="enumla">
- <li>
- <p>for each significant text node in a content element,
- synthesize an anonymous span to enclose the text node,
- substituting the new anonymous span for the original text
- node child in its sibling and parent hierarchy;</p>
- </li>
-
- <li>
- <p>for each contiguous sequence of anonymous spans, replace
- the sequence with a single anonymous span which contains a
- sequence of text nodes representing the individual text node
- children of the original sequence of anonymous spans;</p>
- </li>
-
- <li>
- <p>for each span element whose child is a single anonymous
- span, replace the anonymous span with its sequence of child
- text nodes;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>resolve styles according to <a href=
- "#semantics-style-resolution-process-overall"><b>8.4.4.4 Style
- Resolution Process</b></a>;</p>
- </li>
-
- <li>
- <p>map the <code>tt</code> element to an <code>fo:root</code>
- element, populated initially with an
- <code>fo:layout-master-set</code> element that contains a valid
- <code>fo:simple-page-master</code> that, in turn, contains an
- <code>fo:region-body</code> child, where the extent of the
- <em>Root Container Region</em> expressed on the <code>tt</code>
- element is mapped to <code>page-width</code> and
- <code>page-height</code> attributes on the
- <code>fo:simple-page-master</code> element;</p>
- </li>
-
- <li>
- <p>map the <code>layout</code> element to an
- <code>fo:page-sequence</code> element and a child
- <code>fo:flow</code> element that reference the page master and
- page region defined by the simple page master produced above;</p>
- </li>
-
- <li>
- <p>map each non-empty <code>region</code> element to an
- <code>fo:block-container</code> element with an
- <code>absolute-position</code> attribute with value
- <code>absolute</code>, with <code>top</code>, <code>left</code>,
- <code>bottom</code>, and <code>right</code> attributes that
- express a rectangle equivalent to the region's origin and extent,
- and with a <code>line-stacking-strategy</code> attribute with
- value <code>line-height</code>;</p>
- </li>
-
- <li>
- <p>for each <code>body</code>, <code>div</code>, and
- <code>p</code> element that is not associated with a
- <code>tts:display</code> style property with the value
- <code>none</code>, map the element to a distinct
- <code>fo:block</code> element, populating the style properties of
- <code>fo:block</code> by using the computed style set associated
- with each original TTML Content element;</p>
- </li>
-
- <li>
- <p>for the resulting <code>fo:block</code> formatting object
- produced in the previous step that corresponds to the
- <code>body</code> element, perform the following ordered
- sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>after</code>, then synthesize and insert as the first
- child of this <code>fo:block</code> an empty
- <code>fo:block</code> with the following attributes:
- <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of
- the former two attributes is the height or width of the
- containing <code>fo:block-container</code> element, whichever
- of these is designated as the block progression dimension,
- and where the value of the last is <code>retain</code>;</p>
- </li>
-
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>before</code>, then synthesize and insert as the last
- child of this <code>fo:block</code> an empty
- <code>fo:block</code> with the following attributes:
- <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of
- the former two attributes is the height or width of the
- containing <code>fo:block-container</code> element, whichever
- of these is designated as the block progression dimension,
- and where the value of the last is <code>retain</code>;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>for each <code>span</code> element that is not associated with
- a <code>tts:display</code> style property with the value
- <code>none</code> and for each anonymous span that is a child of
- a <code>p</code> or <code>span</code> element, map the element or
- sequence of character items to a distinct <code>fo:inline</code>
- element, populating the style properties of
- <code>fo:inline</code> by using the computed style set associated
- with each original TTML Content element or anonymous span;</p>
- </li>
-
- <li>
- <p>for each <code>br</code> element that is not associated with a
- <code>tts:display</code> style property with the value
- <code>none</code>, map the element to a distinct
- <code>fo:character</code> element having the following
- properties:</p>
-
- <ul>
- <li>
- <p><code>character="&#x000A;"</code></p>
- </li>
-
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
- </ul>
- </li>
-
- <li>
- <p>for each TTML style property attribute in some computed style
- set that has no counterpart in <a href="#xsl11">[XSL 1.1]</a>,
- map that attribute directly through to the relevant formatting
- object produced by the input TTML Content element to which the
- style property applies;</p>
- </li>
-
- <li>
- <p>optionally, synthesize a unique <code>id</code> attribute on
- each resulting formatting object element that relates that
- element to the input element that resulted in that formatting
- object element;</p>
- </li>
- </ol>
-
- <p>For each resulting document instance F, if processing requires
- presentation on a visual medium, then apply formatting and rendering
- semantics consistent with that prescribed by <a href="#xsl11">[XSL
- 1.1]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In an XSL FO area tree produced by formatting <em>F</em> using
- an <a href="#xsl11">[XSL 1.1]</a> formatting processor, the
- <code>page-viewport-area</code>, which is generated by
- <code>fo:page-sequence</code> element by reference to the sole
- generated <code>fo:simple-page-master</code> element, would
- correspond to the <em>Root Container Region</em> defined above in
- <a href="#definitions"><b>2 Definitions</b></a>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to the possible presence of TTML style properties or style
- property values in a given <em>Document Instance</em> for which
- there is no <a href="#xsl11">[XSL 1.1]</a> counterpart,
- Implementors should recognize that it is the layout model of
- <a href="#xsl11">[XSL 1.1]</a> that is being referenced by this
- specification, not the requirement to use a compliant <a href=
- "#xsl11">[XSL 1.1]</a> formatting processor, since such would not
- necessarily be sufficient to satisfy the full presentation
- semantics defined by this specification, and would contain a large
- number of features not needed to implement the presentation
- semantics of TTML.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The purpose of inserting additional, collapsible space in the
- block progression dimension of the <code>fo:block</code> that
- corresponds with the <code>body</code> element is to ensure that
- the before and after edges of this <code>fo:block</code> are
- coincident with the before and after edges of the
- <code>fo:block-container</code> that corresponds to the containing
- <code>region</code>, while simultaneously taking into account the
- needs to satisfy alignment in the block progression dimension. For
- example, this assures that the background color associated with the
- <code>body</code> element, if not <code>transparent</code>, will
- fill the containing region wholly.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-example" name=
- "semantics-region-layout-example"></a>9.3.4 Elaborated Example
- (Informative)</h4>
-
- <p>An example of the processing steps described above is elaborated
- below, starting with <a href="#region-mapping-example-1-s"><b>Example
- – Sample Source Document</b></a>.</p><a id=
- "region-mapping-example-1-s" name="region-mapping-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Sample Source Document
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- </layout>
- </head>
- <body xml:id="b1">
- <div xml:id="d1" begin="0s" dur="2s">
- <p xml:id="p1" region="r1">Text 1</p>
- <p xml:id="p2" region="r2">Text 2</p>
- </div>
- <div xml:id="d2" begin="1s" dur="2s">
- <p xml:id="p3" region="r2">Text 3</p>
- <p xml:id="p4" region="r1">Text 4</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above document, the content hierarchy consists of two
- divisions, each containing two paragraphs. This content is targeted
- (associated with) one of two non-overlapping regions that are styled
- identically except for their position and their foreground colors,
- the latter of which is inherited by and applies to the (and, in this
- case, anonymous) spans reparented into the regions.</p>
-
- <p>The following, first intermediate document shows the synchronic
- state for time interval [0,1), during which time only division
- <code>d1</code> is temporally active, and where paragraphs
- <code>p1</code> and <code>p2</code> (and their ancestors) are
- associated with regions <code>r1</code> and <code>r2</code>,
- respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate documents shown below are not valid
- <em>Document Instances</em>, but rather, are representations of
- possible internal processing states used for didactic purposes.</p>
- </div><a id="region-mapping-example-1-i0" name=
- "region-mapping-example-1-i0"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An XSL FO document instance that would yield rendering consistent
- with TTML, and which may be produced by performing flow processing
- upon the first intermediate document is illustrated below.</p><a id=
- "region-mapping-example-1-f0" name="region-mapping-example-1-f0"></a>
-
- <table class="example">
- <caption>
- Example – XSL FO Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="m1"
- page-width="640px" page-height="480px">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-reference="m1">
- <fo:flow flow-name="xsl-region-body">
- <!-- region (r1) -->
- <fo:block-container id="r1" absolute-position="absolute"
- left="10px" top="100px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-1">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-1">
- <!-- p (p1) -->
- <fo:block id="p1" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="red">Text 1</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- <!-- region (r2) -->
- <fo:block-container id="r2" absolute-position="absolute"
- left="10px" top="300px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-2">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-2">
- <!-- p (p2) -->
- <fo:block id="p2" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="yellow">Text 2</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- </fo:flow>
- </fo:page-sequence>
-</fo:root>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, second intermediate document shows the synchronic
- state for time interval [1,2), during which time both divisions
- <code>d1</code> and <code>d2</code> are temporally active, and where
- paragraphs <code>p1</code> and <code>p4</code> (and their ancestors)
- are associated with region <code>r1</code> and paragraphs
- <code>p2</code> and <code>p3</code> (and their ancestors) are
- associated with region <code>r2</code>.</p><a id=
- "region-mapping-example-1-i1" name="region-mapping-example-1-i1"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [1s,2s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, third intermediate document shows the synchronic
- state for time interval [2,3), during which time only division
- <code>d2</code> is temporally active, and where paragraphs
- <code>p4</code> and <code>p3</code> (and their ancestors) are
- associated with regions <code>r1</code> and <code>r2</code>,
- respectively.</p><a id="region-mapping-example-1-i2" name=
- "region-mapping-example-1-i2"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [2s,3s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-line-layout" name="semantics-line-layout"></a>9.4
- Line Layout</h3>
-
- <p>If a profile that applies to a <em>Document Instance</em> requires
- use of the <a href="#feature-lineBreak-uax14">#lineBreak-uax14</a>
- feature (i.e., the value attribute for the feature is specified as
- <code>use</code>), then the recommendations defined by <a href=
- "http://www.unicode.org/reports/tr14/#Algorithm">Line Breaking
- Algorithm</a> <a href="#uax14">[UAX14]</a> apply when performing line
- layout on the content of the <em>Document Instance</em>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="timing" name="timing"></a>10 Timing</h2>
-
- <p>This section specifies the <em>timing</em> matter of the core
- vocabulary catalog, where timing is to be understood as a separable layer
- of information that applies to content and that denotes authorial
- intentions about the temporal presentation of that content.</p>
-
- <div class="div2">
- <h3><a id="timing-element-vocabulary" name=
- "timing-element-vocabulary"></a>10.1 Timing Element Vocabulary</h3>
-
- <p>No timing related element vocabulary is defined for use in the core
- vocabulary catalog.</p>
- </div>
-
- <div class="div2">
- <h3><a id="timing-attribute-vocabulary" name=
- "timing-attribute-vocabulary"></a>10.2 Timing Attribute Vocabulary</h3>
-
- <p>This section defines the following basic timing attributes for use
- with timed elements:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin"><b>10.2.1 begin</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end"><b>10.2.2 end</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur"><b>10.2.3 dur</b></a></p>
- </li>
- </ul>
-
- <p>In addition, this section defines the <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>
- attribute for use with timed elements that serve simultaneously as
- timing containers.</p>
-
- <div class="div3">
- <h4><a id="timing-attribute-begin" name=
- "timing-attribute-begin"></a>10.2.1 begin</h4>
-
- <p>The <code>begin</code> attribute is used to specify the begin
- point of a temporal interval associated with a timed element. If
- specified, the value of a <code>begin</code> attribute must adhere to
- a <timeExpression> specification as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The begin point of a temporal interval is included in the
- interval; i.e., the interval is left-wise closed.</p>
-
- <p>The semantics of the <code>begin</code> attribute are those
- defined by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking
- into account any overriding semantics defined by this
- specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-end" name=
- "timing-attribute-end"></a>10.2.2 end</h4>
-
- <p>The <code>end</code> attribute is used to specify the ending point
- of a temporal interval associated with a timed element. If specified,
- the value of an <code>end</code> attribute must adhere to a
- <timeExpression> specification as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The ending point of a temporal interval is not included in the
- interval; i.e., the interval is right-wise open.</p>
-
- <p>The presentation effects of a non-empty active temporal interval
- include the frame immediately prior to the frame (or tick) equal to
- or immediately following the time specified by the ending point, but
- do not extend into this latter frame (or tick).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if an active interval is [10s,10.33333s), and the
- frame rate is 30 frames per second, then the presentation effects
- of the interval are limited to frames 300 through 309 only
- (assuming that 0s corresponds with frame 0). The same holds if the
- active interval is specified as [300f,310f).</p>
- </div>
-
- <p>The semantics of the <code>end</code> attribute are those defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into
- account any overriding semantics defined by this specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-dur" name=
- "timing-attribute-dur"></a>10.2.3 dur</h4>
-
- <p>The <code>dur</code> attribute is used to specify the duration of
- a temporal interval associated with a timed element. If specified,
- the value of a <code>dur</code> attribute must adhere to a
- <timeExpression> specification as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the <code>clock-time</code> form of a
- <timeExpression> specification is used with a
- <code>dur</code> attribute, it is intended to be interpreted as a
- difference between two implied clock time expressions.</p>
- </div>
-
- <p>When a <em>Document Instance</em> specifies the use of the
- <code>smpte</code> time base and <code>discontinuous</code> marker
- mode, a (well-formed) <code>dur</code> attribute must not be
- specified on any element.</p>
-
- <p>The semantics of the <code>dur</code> attribute are those defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into
- account any overriding semantics defined by this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the context of the subset of <a href="#smil21">[SMIL 2.1]</a>
- semantics supported by this specification, the active duration of
- an element that specifies both <code>end</code> and
- <code>dur</code> attributes is equal to the lesser of the value of
- the <code>dur</code> attribute and the difference between the value
- of the <code>end</code> attribute and the element's begin time.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-timeContainer" name=
- "timing-attribute-timeContainer"></a>10.2.4 timeContainer</h4>
-
- <p>The <code>timeContainer</code> attribute is used to specify a
- local temporal context by means of which timed child elements are
- temporally situated.</p>
-
- <p>If specified, the value of a <code>timeContainer</code> attribute
- must be one of the following:</p>
-
- <ul>
- <li>
- <p><code>par</code></p>
- </li>
-
- <li>
- <p><code>seq</code></p>
- </li>
- </ul>
-
- <p>If the time container semantics of an element instance is
- <code>par</code>, then the temporal intervals of child elements are
- considered to apply in parallel, i.e., simultaneously in time.
- Furthermore, the specification of the time interval of each child
- element is considered to be relative to the temporal interval of the
- container element instance. For the purpose of determining the
- <a href="#smil21">[SMIL 2.1]</a> <code>endsync</code> semantics of a
- <code>par</code> time container, a default value of <code>all</code>
- applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a default value of <code>all</code> for the
- <code>endsync</code> behavior is distinct from <a href=
- "#smil21">[SMIL 2.1]</a> which uses a default value of
- <code>last</code>.</p>
- </div>
-
- <p>If the time container semantics of an element instance is
- <code>seq</code>, then the temporal intervals of child elements are
- considered to apply in sequence, i.e., sequentially in time.
- Furthermore, the specification of the time interval of each child
- element is considered to be relative to the temporal interval of its
- sibling elements, unless it is the first child element, in which case
- it is considered to be relative to the temporal interval of the
- container element instance.</p>
-
- <p>Each time container is considered to constitute an independent
- time base, i.e., time coordinate system.</p>
-
- <p>If a <code>timeContainer</code> attribute is not specified on an
- element that has time container semantics, then <code>par</code> time
- container semantics must apply.</p>
-
- <p>Time container semantics applies only to the following element
- types:</p>
-
- <ul>
- <li>
- <p><a href=
- "#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <p>The semantics of parallel and sequential time containment are
- those defined by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.2, while
- taking into account any overriding semantics defined by this
- specification.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-value-expressions" name=
- "timing-time-value-expressions"></a>10.3 Time Value Expressions</h3>
-
- <p>Timing attribute values include the use of the following
- expressions:</p>
-
- <ul>
- <li>
- <p><a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="timing-value-timeExpression" name=
- "timing-value-timeExpression"></a>10.3.1 <timeExpression></h4>
-
- <p>A <timeExpression> is used to specify a coordinate within
- some time base, where the applicable time base is determined by the
- <code>ttp:timeBase</code> parameter, and where the semantics defined
- by <a href="#time-expression-semantics"><b>N Time Expression
- Semantics</b></a> apply.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a>, <a href=
- "#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>, <a href=
- "#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a>, and
- <a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a> for further information on explicit
- specification of frame rate, sub-frame rate, tick rate, and time
- base.</p>
- </div><a id="timeExpression-syntax" name="timeExpression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <timeExpression>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : clock-time
- | offset-time
-
-clock-time
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-
-offset-time
- : time-count fraction? metric
-
-hours
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>+
-
-minutes | seconds
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
-
-frames
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>+
-
-sub-frames
- : <a href="#style-value-digit"><digit></a>+
-
-fraction
- : "." <a href="#style-value-digit"><digit></a>+
-
-time-count
- : <a href="#style-value-digit"><digit></a>+
-
-metric
- : "h" // hours
- | "m" // minutes
- | "s" // seconds
- | "ms" // milliseconds
- | "f" // frames
- | "t" // ticks
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <timeExpression> is expressed in terms of a
- <em>clock-time</em>, then leading zeroes are used when expressing
- hours, minutes, seconds, and frames less than 10. Minutes are
- constrained to [0…59], while seconds (including any fractional part)
- are constrained to the closed interval [0,60], where the value 60
- applies only to leap seconds.</p>
-
- <p>If a <timeExpression> is expressed in terms of a
- <em>clock-time</em> and a <em>frames</em> term is specified, then the
- value of this term must be constrained to the interval
- [0…<em>F-1</em>], where <em>F</em> is the frame rate determined by
- the <code>ttp:frameRate</code> parameter as defined by <a href=
- "#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a>. It
- is considered an error if a <em>frames</em> term or <code>f</code>
- (frames) metric is specified when the <code>clock</code> time base
- applies.</p>
-
- <p>If a <timeExpression> is expressed in terms of a
- <em>clock-time</em> and a <em>sub-frames</em> term is specified, then
- the value of this term must be constrained to the interval
- [0…<em>S-1</em>], where <em>S</em> is the sub-frame rate determined
- by the <code>ttp:subFrameRate</code> parameter as defined by <a href=
- "#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>. It is considered an error if a
- <em>sub-frames</em> term is specified when the <code>clock</code>
- time base applies.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-intervals" name="timing-time-intervals"></a>10.4
- Time Intervals</h3>
-
- <p>The semantics of time containment, durations, and intervals defined
- by <a href="#smil21">[SMIL 2.1]</a> apply to the interpretation of
- like-named timed elements and timing vocabulary defined by this
- specification, given the following constraints:</p>
-
- <ul>
- <li>
- <p>The implicit duration of an anonymous span is defined as
- follows: if the anonymous span's parent time container is a
- parallel time container, then the implicit duration is equivalent
- to the <code>indefinite</code> duration value as defined by
- <a href="#smil21">[SMIL 2.1]</a>; if the anonymous span's parent
- time container is a sequential time container, then the implicit
- duration is equivalent to zero.</p>
- </li>
-
- <li>
- <p>The implicit duration of a <code>body</code>, <code>div</code>,
- <code>p</code>, or <code>span</code> element is determined in
- accordance to (1) whether the element is a parallel or sequential
- time container, (2) the default <code>endsync</code> semantics
- defined above by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>,
- and (3) the semantics of <a href="#smil21">[SMIL 2.1]</a> as
- applied to these time containers.</p>
- </li>
-
- <li>
- <p>The implicit duration of the <code>region</code> element is
- defined to be equivalent to the <code>indefinite</code> duration
- value as defined by <a href="#smil21">[SMIL 2.1]</a>.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>clock</code>, then time
- expressions are considered to be equivalent to wall-clock based
- timing in <a href="#smil21">[SMIL 2.1]</a>, where the specific
- semantics of <a href="#time-expression-semantics-clock"><b>N.1
- Clock Time Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>media</code>, then time
- expressions are considered to be equivalent to offset based timing
- in <a href="#smil21">[SMIL 2.1]</a>, where the specific semantics
- of <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>smpte</code>, then time
- expressions are considered to be equivalent to either offset based
- timing or event based timing in <a href="#smil21">[SMIL 2.1]</a>,
- where the specific semantics of <a href=
- "#time-expression-semantics-smpte"><b>N.3 SMPTE Time Base</b></a>
- apply.</p>
- </li>
- </ul>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="animation" name="animation"></a>11 Animation</h2>
-
- <p>This section specifies the <em>animation</em> matter of the core
- vocabulary catalog, where animation is to be understood as a separable
- layer of information that combines timing and styling in order to denote
- authorial intention about (temporally) dynamic styling of content.</p>
-
- <div class="div2">
- <h3><a id="animation-element-vocabulary" name=
- "animation-element-vocabulary"></a>11.1 Animation Element
- Vocabulary</h3>
-
- <p>The following elements specify the structure and principal animation
- aspects of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><b>11.1.1 set</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="animation-vocabulary-set" name=
- "animation-vocabulary-set"></a>11.1.1 set</h4>
-
- <p>The <code>set</code> element is used as a child element of a
- content element or a <code>region</code> element in order to express
- a discrete change of some style parameter value that applies over
- some time interval.</p>
-
- <p>The <code>set</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group.</p><a id=
- "elt-syntax-set" name="elt-syntax-set"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<set
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>a single attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
-</set>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of multiple <code>set</code> element children may be
- used to effect fade and position transitions.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate
- content styling is illustrated below:</p><a id=
- "animation-vocabulary-set-example-1" name=
- "animation-vocabulary-set-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Content Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<p dur="5s" tts:color="yellow">
-<span class="strong"><set begin="1s" dur="1s" tts:color="red"/></span>
-<span class="strong"><set begin="2s" dur="1s" tts:color="green"/></span>
-<span class="strong"><set begin="3s" dur="1s" tts:color="red"/></span>
-Text with Flashing Colors!
-</p>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the foreground color of the content "Text
- with Flashing Colors" is animated from yellow, to red, to green, to
- red, then back to yellow over a 5 second period.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate region
- styling is illustrated below:</p><a id=
- "animation-vocabulary-set-example-2" name=
- "animation-vocabulary-set-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Region Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
- xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
- xmlns:tts="http://www.w3.org/ns/ttml#styling"
- ttp:cellResolution="40 16">
- <head>
- <layout>
- <region xml:id="r1" timeContainer="seq">
- <span class=
-"strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <span class=
-"strong"><set dur="2s" tts:origin=" 2c 2c"/></span>
- <span class=
-"strong"><set dur="3s" tts:origin=" 8c 14c"/></span>
- <span class=
-"strong"><set dur="2s" tts:origin="14c 4c"/></span>
- <span class=
-"strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <style tts:extent="24c 2c"/>
- </region>
- </layout>
- </head>
- <body region="r1">...</body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <em>Root Container Region</em> is
- divided into a cell grid of 40 columns and 16 rows. A region,
- <code>r1</code>, with dimensions of 24 columns and 2 rows is then
- positioned within the <em>Root Container Region</em>, with its
- position varying over time in order to create an effect of moving
- the region, which may be desirable so as to avoid obscuring
- characters in an underlying video with captions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the <code>set</code> element are based upon
- that defined by <a href="#smil21">[SMIL 2.1]</a>, § 3.6.2.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="animation-attribute-vocabulary" name=
- "animation-attribute-vocabulary"></a>11.2 Animation Attribute
- Vocabulary</h3>
-
- <p>No animation related attribute vocabulary is defined for use in the
- core vocabulary catalog.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="metadata" name="metadata"></a>12 Metadata</h2>
-
- <p>This section specifies the <em>metadata</em> matter of the core
- vocabulary catalog, where metadata is to be understood as a separable
- layer of information that applies to parameters, content, style, layout,
- timing, and even metadata itself, where the information represented by
- metadata takes one of two forms: (1) metadata defined by this
- specification for standardized use in a <em>Document Instance</em>, and
- (2) arbitrary metadata defined outside of the scope of this
- specification, whose use and semantics depend entirely upon an
- application's use of TTML Content.</p>
-
- <div class="div2">
- <h3><a id="metadata-element-vocabulary" name=
- "metadata-element-vocabulary"></a>12.1 Metadata Element Vocabulary</h3>
-
- <p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1
- metadata</b></a> element serves as a generic container element for
- grouping metadata information.</p>
-
- <p>In addition, the following elements, all defined in the TT Metadata
- Namespace, provide standard representations for metadata that is
- expected to be commonly used in a <em>Document Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-vocabulary-title"><b>12.1.2
- ttm:title</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-desc"><b>12.1.3
- ttm:desc</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-copyright"><b>12.1.4
- ttm:copyright</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-agent"><b>12.1.5
- ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-name"><b>12.1.6
- ttm:name</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-actor"><b>12.1.7
- ttm:actor</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-metadata" name=
- "metadata-vocabulary-metadata"></a>12.1.1 metadata</h4>
-
- <p>The <code>metadata</code> element functions as a generic container
- for metadata information.</p>
-
- <p>Metadata information may be expressed with a <code>metadata</code>
- element by specifying (1) one or more metadata attributes on the
- <code>metadata</code> element, (2) one or more metadata child
- elements in the <code>metadata</code> element, or (3) a combination
- of metadata attributes and metadata child elements. Both types of
- metadata information are referred to in this document as <em>metadata
- items</em>.</p><a id="elt-syntax-metadata" name=
- "elt-syntax-metadata"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> ({<em>any element in TT Metadata namespace</em>}|{<em>any element not in any TT namespace</em>})*
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The meaning of a specific metadata item must be evaluated in the
- context where it appears. The core vocabulary catalog permits an
- arbitrary number of <code>metadata</code> element children on any
- content element type except for the <code>tt</code> element. See
- specific element vocabulary definitions for any constraints that
- apply to such usage.</p>
- </div>
-
- <p>The use of document metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-1" name=
- "metadata-vocabulary-metadata-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Document Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<head>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Document Metadata Example</ttm:title>
- <ttm:desc>This document employs document metadata.</ttm:desc>
- </metadata>
-</head>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The use of element metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-2" name=
- "metadata-vocabulary-metadata-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Chapter 6 – Sherlock Holmes Gives a Demonstration</ttm:title>
- <ttm:desc>Holmes shows Watson how the murderer entered the window.</ttm:desc>
- </metadata>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The use of metadata attribute items is illustrated by the
- following example.</p><a id="metadata-vocabulary-metadata-example-3"
- name="metadata-vocabulary-metadata-example-3"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Metadata Attribute Items
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div xmlns:ext="http://example.org/ttml#metadata">
- <metadata ext:ednote="remove this division prior to publishing"/>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a global attribute from a foreign
- (external) namespace is used to express a metadata attribute that
- applies semantically to the containing <code>div</code> element.
- Note that the attribute may also be expressed directly on the
- <code>div</code> element; however, in this case the author wishes
- to segregate certain metadata attributes by expressing them
- indirectly on <code>metadata</code> elements.</p>
- </div>
-
- <p>The use of foreign element metadata is illustrated by the
- following example.</p><a id="metadata-vocabulary-metadata-example-4"
- name="metadata-vocabulary-metadata-example-4"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<metadata
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:dcterms="http://purl.org/dc/terms/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <dc:title>Foreign Element Metadata Example</dc:title>
- <dc:description>Express metadata using elements in foreign namespace.</dc:description>
- <dc:format xsi:type="dcterms:IMT">application/ttml+xml</dc:format>
-</metadata>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a number of elements defined by the Dublin
- Core metadata vocabulary are used to express document level
- metadata.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-title" name=
- "metadata-vocabulary-title"></a>12.1.2 ttm:title</h4>
-
- <p>The <code>ttm:title</code> element is used to express a
- human-readable title of a specific element instance.</p><a id=
- "elt-syntax-metadata-title" name="elt-syntax-metadata-title"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:title
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:title
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:title>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:title</code> element is defined
- by this specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:title</code> element are shown above in
- <a href="#metadata-vocabulary-metadata-example-1"><b>Example Fragment
- – Document Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment –
- Element Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-desc" name=
- "metadata-vocabulary-desc"></a>12.1.3 ttm:desc</h4>
-
- <p>The <code>ttm:desc</code> element is used to express a
- human-readable description of a specific element instance.</p><a id=
- "elt-syntax-metadata-desc" name="elt-syntax-metadata-desc"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:desc
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:desc
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:desc>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:desc</code> element is defined
- by this specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:desc</code> element are shown above in
- <a href="#metadata-vocabulary-metadata-example-1"><b>Example Fragment
- – Document Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment –
- Element Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-copyright" name=
- "metadata-vocabulary-copyright"></a>12.1.4 ttm:copyright</h4>
-
- <p>The <code>ttm:copyright</code> element is used to express a
- human-readable copyright that applies to some scoping level.</p>
-
- <p>A copyright statement that applies to a document as a whole should
- appear as a child of the <code>head</code> element.</p><a id=
- "elt-syntax-metadata-copyright" name=
- "elt-syntax-metadata-copyright"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:copyright
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:copyright
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:copyright>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:copyright</code> element is
- defined by this specification.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-agent" name=
- "metadata-vocabulary-agent"></a>12.1.5 ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> element is used to define an agent for
- the purpose of associating content information with an agent who is
- involved in the production or expression of that content.</p>
-
- <p>The <code>ttm:agent</code> element accepts as its children zero or
- more <code>ttm:name</code> elements followed by zero or one
- <code>ttm:actor</code> element.</p>
-
- <p>At least one <code>ttm:name</code> element child should be
- specified that expresses a name for the agent, whether it be the name
- of a person, character, group, or organization.</p><a id=
- "elt-syntax-metadata-agent" name="elt-syntax-metadata-agent"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:agent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:agent
- <span class=
-"reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#metadata-vocabulary-name">ttm:name</a>*, <a href=
-"#metadata-vocabulary-actor">ttm:actor</a>?
-</ttm:agent>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:agent</code> element, and, if specified, must have one of
- the following values:</p>
-
- <ul>
- <li>
- <p><code>person</code></p>
- </li>
-
- <li>
- <p><code>character</code></p>
- </li>
-
- <li>
- <p><code>group</code></p>
- </li>
-
- <li>
- <p><code>organization</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>If the value of the <code>type</code> attribute is
- <code>character</code>, then the <code>ttm:agent</code> element
- instance should specify a <code>ttm:actor</code> child that specifies
- the agent that plays the role of the actor.</p>
-
- <p>A <code>ttm:agent</code> metadata item is considered to be
- significant only when specified as a child of the <code>head</code>
- element or as a child of a <code>metadata</code> element child of the
- <code>head</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>ttm:agent</code> element instance is typically
- referenced using a <code>ttm:agent</code> attribute on a content
- element.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a character agent is played by multiple actors, then multiple
- character 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" name=
- "metadata-vocabulary-agent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Agent Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-
-<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <head>
- <span class=
-"strong"><ttm:agent xml:id="connery" type="person"></span>
- <ttm:name type="family">Connery</ttm:name>
- <ttm:name type="given">Thomas Sean</ttm:name>
- <ttm:name type="alias">Sean</ttm:name>
- <ttm:name type="full">Sir Thomas Sean Connery</ttm:name>
- <span class="strong"></ttm:agent></span>
- <span class=
-"strong"><ttm:agent xml:id="bond" type="character"></span>
- <ttm:name type="family">Bond</ttm:name>
- <ttm:name type="given">James</ttm:name>
- <ttm:name type="alias">007</ttm:name>
- <ttm:actor agent="connery"/>
- <span class="strong"></ttm:agent></span>
- </head>
- <body>
- <div>
- ...
- <p <span class=
-"strong">ttm:agent="bond"</span>>I travel, a sort of licensed troubleshooter.</p>
- ...
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, two agents, a real (person) agent, Sean
- Connery, and a fictitious (character) agent, James Bond, are
- defined, where the latter is linked to the former by means of the a
- <code>ttm:actor</code> element. A reference is then made from
- content (the <code>p</code> element) to the character agent
- associated with (responsible for producing) that content. Note that
- in this example the <code>ttm:agent</code> metadata items are
- specified as immediate children of the document's <code>head</code>
- element rather than being placed in a container
- <code>metadata</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-name" name=
- "metadata-vocabulary-name"></a>12.1.6 ttm:name</h4>
-
- <p>The <code>ttm:name</code> element is used to specify a name of a
- person, character, group, or organization.</p><a id=
- "elt-syntax-metadata-name" name="elt-syntax-metadata-name"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:name
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:name
- <span class=
-"reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:name>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:name</code> element, and, if specified, must have one of
- the following values:</p>
-
- <ul>
- <li>
- <p><code>full</code></p>
- </li>
-
- <li>
- <p><code>family</code></p>
- </li>
-
- <li>
- <p><code>given</code></p>
- </li>
-
- <li>
- <p><code>alias</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>The relationship between the type of a name and the syntactic
- expression of the name is not defined by this specification.</p>
-
- <p>Two examples of the <code>ttm:name</code> element are shown above
- in <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment
- – Agent Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-actor" name=
- "metadata-vocabulary-actor"></a>12.1.7 ttm:actor</h4>
-
- <p>The <code>ttm:actor</code> element is used to link the definition
- of a (role-based) character agent with another agent that portrays
- the character.</p><a id="elt-syntax-metadata-actor" name=
- "elt-syntax-metadata-actor"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:actor
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:actor
- <span class="reqattr">agent</span> = IDREF
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</ttm:actor>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <code>agent</code> attribute of a <code>ttm:actor</code>
- element must reference a <code>ttm:agent</code> element that denotes
- the person, group, or organization acting the part of a
- character.</p>
-
- <p>An example of the <code>ttm:actor</code> element is shown above in
- <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment –
- Agent Metadata</b></a>.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="metadata-attribute-vocabulary" name=
- "metadata-attribute-vocabulary"></a>12.2 Metadata Attribute
- Vocabulary</h3>
-
- <p>This section specifies the following attributes in the TT Metadata
- Namespace for use with the <code>metadata</code> element and with
- certain content elements:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-attribute-agent"><b>12.2.1
- ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-role"><b>12.2.2
- ttm:role</b></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only certain metadata item attributes may be used with content
- elements. See the definitions of content elements to determine
- permissible usage.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-agent" name=
- "metadata-attribute-agent"></a>12.2.1 ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> attribute takes an <code>IDREFS</code>
- value, and is used with certain content elements to designate the
- agents that perform or are involved in the performance of the
- content.</p>
-
- <p>If specified, a <code>ttm:agent</code> attribute must reference
- <code>ttm:agent</code> element instances that appear as a descendent
- of the same <em>Document Instance</em> as that of the referring
- element.</p>
-
- <p>The same IDREF, <em>ID</em>, should not appear more than once in
- the value of a <code>ttm:agent</code> attribute.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant
- agent references.</p>
- </div>
-
- <p>An example of the <code>ttm:agent</code> attribute is shown above
- in <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment
- – Agent Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-role" name=
- "metadata-attribute-role"></a>12.2.2 ttm:role</h4>
-
- <p>The <code>ttm:role</code> attribute may be used by a content
- author to express the roles, functions, or characteristics of some
- content element that is so labeled.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- following syntax, where the syntactic element <em>S</em> must adhere
- to production [3] <code>S</code> as defined by <a href="#xml10">[XML
- 1.0]</a> § 2.3:</p><a id="metadata-attribute-role-syntax" name=
- "metadata-attribute-role-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttm:role
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttm:role
- role ( <em>S</em> role )*
-
-role
- : "action"
- | "caption"
- | "description"
- | "dialog"
- | "expletive"
- | "kinesic"
- | "lyrics"
- | "music"
- | "narration"
- | "quality"
- | "sound"
- | "source"
- | "suppressed"
- | "reproduction"
- | "thought"
- | "title"
- | "transcription"
- | extension-role
-
-extension-role
- : "x-" token-char+
-
-token-char
- : { XML NameChar } // XML 1.1 Production [4a]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The same <code>role</code> token, <em>R</em>, should not appear
- more than once in the value of a <code>ttm:role</code> attribute.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant
- role tokens.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All values of <code>ttm:role</code> that do not start with the
- prefix <code>x-</code> are reserved for future standardization.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If using a custom <code>x-</code> prefixed form of
- <code>ttm:role</code>, it is recommended that an organization
- unique infix be used as well in order to prevent collisions. For
- example, <code>x-example-org-custom-role</code>. Furthermore, a
- registry for role values is available at <a href=
- "http://www.w3.org/wiki/TTML/RoleRegistry">http://www.w3.org/wiki/TTML/RoleRegistry</a>
- in order to promote interoperability and collision avoidance.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="back">
- <div class="div1">
- <h2><a id="reduced-infoset" name="reduced-infoset"></a>A Reduced XML
- Infoset</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>For the purposes of this specification, a <em>Reduced XML Infoset</em>
- is an XML Information Set <a href="#infoset">[XML InfoSet]</a> that
- consists of only the following information items and information item
- properties:</p>
-
- <div class="div2">
- <h3><a id="reduced-infoset-document" name=
- "reduced-infoset-document"></a>A.1 Document Information Item</h3>
-
- <ul>
- <li>
- <p><code>[document element]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-element" name=
- "reduced-infoset-element"></a>A.2 Element Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[children]</code></p>
- </li>
-
- <li>
- <p><code>[attributes]</code></p>
- </li>
- </ul>
-
- <p>Child information items <code>[children]</code> are reduced to only
- element and character information items.</p>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-attribute" name=
- "reduced-infoset-attribute"></a>A.3 Attribute Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[normalized value]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-character" name=
- "reduced-infoset-character"></a>A.4 Character Information Item</h3>
-
- <ul>
- <li>
- <p><code>[character code]</code></p>
- </li>
- </ul>
-
- <p>Contiguous character information items are not required to be
- represented distinctly, but may be aggregated (chunked) into a sequence
- of character codes (i.e., a character string).</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="schemas" name="schemas"></a>B Schemas</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following schemas for use with
- <em>Document Instances</em>:</p>
-
- <ul>
- <li>
- <p>Relax NG, Compact Syntax (RNC) Schema</p>
- </li>
-
- <li>
- <p>XML Schema Definition (XSD) Schema</p>
- </li>
- </ul>
-
- <p>In any case where a schema specified by this appendix differs from the
- normative definitions of document type, element type, or attribute type
- as defined by the body of this specification, then the body of this
- specification takes precedence.</p>
-
- <div class="div2">
- <h3><a id="ttml-schema-rnc" name="ttml-schema-rnc"></a>B.1 Relax NG
- Compact (RNC) Schema</h3>
-
- <p>A Relax NG Compact Syntax (RNC) <a href="#rng">[RELAX NG]</a> based
- schema for TTML Content is available at <a href="rnc/schema.zip">ZIP
- Archive</a>. This schema does not normatively define the validity 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 class="div2">
- <h3><a id="ttml-schema-xsd" name="ttml-schema-xsd"></a>B.2 XML Schema
- Definition (XSD) Schema</h3>
-
- <p>A W3C XML Schema Definition (XSD) <a href="#xsd-1">[XML Schema Part
- 1]</a> based schema for TTML Content is available at <a href=
- "xsd/schema.zip">ZIP Archive</a>. This schema does not normatively
- define the validity 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" name=
- "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>
- </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. A TTML verification (including validation) utility is
- available in open source form at <a href=
- "http://github.com/skynav/ttv">http://github.com/skynav/ttv</a>.</p>
- </dd>
-
- <dt class="label">Additional information:</dt>
-
- <dd>
- <dl>
- <dt class="label">Magic number(s):</dt>
-
- <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="features" name="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 or optional for a transformation or presentation
- processor.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A TTML processor is said to <em>implement the transformation
- semantics</em> or <em>implement the presentation semantics</em> of
- feature designation <em>F</em> if it satisfies the requirements of this
- appendix with respect to the definition of feature designation
- <em>F</em> as pertains to transformation or presentation processing,
- respectively.</p>
- </div>
-
- <div class="div2">
- <h3><a id="feature-designations" name="feature-designations"></a>D.1
- Feature Designations</h3>
-
- <p>A feature designation is expressed as a string that adheres to the
- following 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 for future standardization.</p>
-
- <p>The following sub-sections define all feature designations,
- expressed as relative URIs (fragment identifiers) with respect to the
- TT Feature Namespace base URI.</p>
-
- <div class="div3">
- <h4><a id="feature-animation" name="feature-animation"></a>D.1.1
- #animation</h4>
-
- <p>A TTML transformation processor supports the
- <code>#animation</code> feature if it recognizes and is capable of
- transforming the following vocabulary defined by <a href=
- "#animation"><b>11 Animation</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><code>set</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#animation</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor" name=
- "feature-backgroundColor"></a>D.1.2 #backgroundColor</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor</code> feature if it recognizes and is capable
- of transforming the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor</code> feature if it (1) implements
- presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute and (2) is capable of displaying or generating an output
- display signal that distinguishes between at least sixteen (16)
- values of color, including all primary and secondary colors of the
- SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-block" name=
- "feature-backgroundColor-block"></a>D.1.3 #backgroundColor-block</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-block</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate a
- block area during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-block</code> feature if it (1) implements
- presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates a block
- area and (2) is capable of displaying or generating an output display
- signal that distinguishes between at least sixteen (16) values of
- color, including all primary and secondary colors of the SRGB color
- space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-inline" name=
- "feature-backgroundColor-inline"></a>D.1.4
- #backgroundColor-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-inline</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate an
- inline area during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-inline</code> feature if it (1) implements
- presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates an inline
- area and (2) is capable of displaying or generating an output display
- signal that distinguishes between at least sixteen (16) values of
- color, including all primary and secondary colors of the SRGB color
- space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-region" name=
- "feature-backgroundColor-region"></a>D.1.5
- #backgroundColor-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-region</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-region</code> feature if it (1) implements
- presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element and (2)
- is capable of displaying or generating an output display signal that
- distinguishes between at least sixteen (16) values of color,
- including all primary and secondary colors of the SRGB color space
- .</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-bidi" name="feature-bidi"></a>D.1.6 #bidi</h4>
-
- <p>A TTML processor supports the <code>#bidi</code> feature if it
- supports the following features:</p>
-
- <ul>
- <li>
- <p><a href="#feature-direction"><code>#direction</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-unicodeBidi"><code>#unicodeBidi</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-cellResolution" name=
- "feature-cellResolution"></a>D.1.7 #cellResolution</h4>
-
- <p>A TTML transformation processor supports the
- <code>#cellResolution</code> feature if it recognizes and is capable
- of transforming the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#cellResolution</code> feature if it implements presentation
- semantic support for the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode" name="feature-clockMode"></a>D.1.8
- #clockMode</h4>
-
- <p>A TTML transformation processor supports the
- <code>#clockMode</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode</code>
- feature if it implements presentation semantic support for the
- <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-gps" name=
- "feature-clockMode-gps"></a>D.1.9 #clockMode-gps</h4>
-
- <p>A TTML transformation processor supports the
- <code>#clockMode-gps</code> feature if it recognizes and is capable
- of transforming the <code>gps</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#clockMode-gps</code> feature if it implements presentation
- semantic support for the <code>gps</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-local" name=
- "feature-clockMode-local"></a>D.1.10 #clockMode-local</h4>
-
- <p>A TTML transformation processor supports the
- <code>#clockMode-local</code> feature if it recognizes and is capable
- of transforming the <code>local</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#clockMode-local</code> feature if it implements presentation
- semantic support for the <code>local</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-utc" name=
- "feature-clockMode-utc"></a>D.1.11 #clockMode-utc</h4>
-
- <p>A TTML transformation processor supports the
- <code>#clockMode-utc</code> feature if it recognizes and is capable
- of transforming the <code>utc</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#clockMode-utc</code> feature if it implements presentation
- semantic support for the <code>utc</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-color" name="feature-color"></a>D.1.12 #color</h4>
-
- <p>A TTML transformation processor supports the <code>#color</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-color"><code>tts:color</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#color</code>
- feature if it (1) implements presentation semantic support for the
- <a href="#style-attribute-color"><code>tts:color</code></a> attribute
- and (2) is capable of displaying or generating an output display
- signal that distinguishes between at least sixteen (16) values of
- color, including all primary and secondary colors of the SRGB color
- space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-content" name="feature-content"></a>D.1.13
- #content</h4>
-
- <p>A TTML transformation processor supports the <code>#content</code>
- feature if it recognizes and is capable of transforming the following
- vocabulary defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><code>br</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#content</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-core" name="feature-core"></a>D.1.14 #core</h4>
-
- <p>A TTML transformation processor supports the <code>#core</code>
- feature if it recognizes and is capable of transforming the following
- core attributes vocabulary defined by <a href="#content"><b>7
- Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id">@<code>xml:id</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-id">@<code>xml:lang</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#content-attribute-id">@<code>xml:space</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#core</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-direction" name="feature-direction"></a>D.1.15
- #direction</h4>
-
- <p>A TTML transformation processor supports the
- <code>#direction</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#direction</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display" name="feature-display"></a>D.1.16
- #display</h4>
-
- <p>A TTML transformation processor supports the <code>#display</code>
- feature if it recognizes and is capable of transforming all defined
- values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#display</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-block" name=
- "feature-display-block"></a>D.1.17 #display-block</h4>
-
- <p>A TTML transformation processor supports the
- <code>#display-block</code> feature if it recognizes and is capable
- of transforming all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate a block area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#display-block</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that generates a block area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-inline" name=
- "feature-display-inline"></a>D.1.18 #display-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#display-inline</code> feature if it recognizes and is capable
- of transforming all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate an inline area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#display-inline</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that generates an inline area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-region" name=
- "feature-display-region"></a>D.1.19 #display-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#display-region</code> feature if it recognizes and is capable
- of transforming all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#display-region</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-displayAlign" name=
- "feature-displayAlign"></a>D.1.20 #displayAlign</h4>
-
- <p>A TTML transformation processor supports the
- <code>#displayAlign</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#displayAlign</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode" name="feature-dropMode"></a>D.1.21
- #dropMode</h4>
-
- <p>A TTML transformation processor supports the
- <code>#dropMode</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode</code>
- feature if it implements presentation semantic support for the
- <a href="#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropNTSC" name=
- "feature-dropMode-dropNTSC"></a>D.1.22 #dropMode-dropNTSC</h4>
-
- <p>A TTML transformation processor supports the
- <code>#dropMode-dropNTSC</code> feature if it recognizes and is
- capable of transforming the <code>dropNTSC</code> value of the
- <a href="#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#dropMode-dropNTSC</code> feature if it implements presentation
- semantic support for the <code>dropNTSC</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropPAL" name=
- "feature-dropMode-dropPAL"></a>D.1.23 #dropMode-dropPAL</h4>
-
- <p>A TTML transformation processor supports the
- <code>#dropMode-dropPAL</code> feature if it recognizes and is
- capable of transforming the <code>dropPAL</code> value of the
- <a href="#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#dropMode-dropPAL</code> feature if it implements presentation
- semantic support for the <code>dropPAL</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-nonDrop" name=
- "feature-dropMode-nonDrop"></a>D.1.24 #dropMode-nonDrop</h4>
-
- <p>A TTML transformation processor supports the
- <code>#dropMode-nonDrop</code> feature if it recognizes and is
- capable of transforming the <code>nonDrop</code> value of the
- <a href="#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#dropMode-nonDrop</code> feature if it implements presentation
- semantic support for the <code>nonDrop</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent" name="feature-extent"></a>D.1.25
- #extent</h4>
-
- <p>A TTML transformation processor supports the <code>#extent</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#extent</code>
- feature if it implements presentation semantic support for the
- <a href="#style-attribute-extent"><code>tts:extent</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-region" name=
- "feature-extent-region"></a>D.1.26 #extent-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#extent-region</code> feature if it recognizes and is capable
- of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when
- applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#extent-region</code> feature if it implements presentation
- semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when
- applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-root" name="feature-extent-root"></a>D.1.27
- #extent-root</h4>
-
- <p>A TTML transformation processor supports the
- <code>#extent-root</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when
- applied to the <a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#extent-root</code> feature if it implements presentation
- semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when
- applied to a <a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily" name="feature-fontFamily"></a>D.1.28
- #fontFamily</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontFamily</code> feature if it implements presentation
- semantic support for the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-generic" name=
- "feature-fontFamily-generic"></a>D.1.29 #fontFamily-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-generic</code> feature if it recognizes and is
- capable of transforming <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values
- when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontFamily-generic</code> feature if it implements
- presentation semantic support for <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values
- when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-non-generic" name=
- "feature-fontFamily-non-generic"></a>D.1.30
- #fontFamily-non-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-non-generic</code> feature if it recognizes and is
- capable of transforming <a href=
- "#style-value-familyName"><familyName></a> values when used
- with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontFamily-non-generic</code> feature if it implements
- presentation semantic support for <a href=
- "#style-value-familyName"><familyName></a> values when used
- with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize" name="feature-fontSize"></a>D.1.31
- #fontSize</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize</code>
- feature if it implements presentation semantic support for the
- <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-anamorphic" name=
- "feature-fontSize-anamorphic"></a>D.1.32 #fontSize-anamorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-anamorphic</code> feature if it recognizes and is
- capable of transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontSize-anamorphic</code> feature if it implements
- presentation semantic support for defined values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-isomorphic" name=
- "feature-fontSize-isomorphic"></a>D.1.33 #fontSize-isomorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-isomorphic</code> feature if it recognizes and is
- capable of transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of a single <a href=
- "#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontSize-isomorphic</code> feature if it implements
- presentation semantic support for defined values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of a single <a href=
- "#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle" name="feature-fontStyle"></a>D.1.34
- #fontStyle</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontStyle</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-italic" name=
- "feature-fontStyle-italic"></a>D.1.35 #fontStyle-italic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontStyle-italic</code> feature if it recognizes and is
- capable of transforming the <code>italic</code> value of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontStyle-italic</code> feature if it implements presentation
- semantic support for the <code>italic</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-oblique" name=
- "feature-fontStyle-oblique"></a>D.1.36 #fontStyle-oblique</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontStyle-oblique</code> feature if it recognizes and is
- capable of transforming the <code>oblique</code> value of the
- <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontStyle-oblique</code> feature if it implements presentation
- semantic support for the <code>oblique</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight" name="feature-fontWeight"></a>D.1.37
- #fontWeight</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontWeight</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontWeight</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight-bold" name=
- "feature-fontWeight-bold"></a>D.1.38 #fontWeight-bold</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontWeight-bold</code> feature if it recognizes and is capable
- of transforming <code>bold</code> value of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontWeight-bold</code> feature if it implements presentation
- semantic support for the <code>bold</code> of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRate" name="feature-frameRate"></a>D.1.39
- #frameRate</h4>
-
- <p>A TTML transformation processor supports the
- <code>#frameRate</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#frameRate</code>
- feature if it implements presentation semantic support for the
- <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRateMultiplier" name=
- "feature-frameRateMultiplier"></a>D.1.40 #frameRateMultiplier</h4>
-
- <p>A TTML transformation processor supports the
- <code>#frameRateMultiplier</code> feature if it recognizes and is
- capable of transforming the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#frameRateMultiplier</code> feature if it implements
- presentation semantic support for the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-layout" name="feature-layout"></a>D.1.41
- #layout</h4>
-
- <p>A TTML transformation processor supports the <code>#layout</code>
- feature if it (1) recognizes and is capable of transforming the
- following vocabulary defined by <a href="#layout"><b>9
- Layout</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#layout-vocabulary-layout"><code>layout</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#layout-attribute-region">@<code>region</code></a></p>
- </li>
- </ul>
-
- <p>and (2) supports the following attributes when applied to the
- <a href="#layout-vocabulary-region"><code>region</code></a>
- element:</p>
-
- <ul>
- <li>
- <p><a href=
- "#style-attribute-extent"><code>tts:extent</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#style-attribute-origin"><code>tts:origin</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#layout</code>
- feature if it implements presentation semantic support for the same
- vocabulary and features enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length" name="feature-length"></a>D.1.42
- #length</h4>
-
- <p>A TTML transformation processor supports the <code>#length</code>
- feature if it recognizes and is capable of transforming all defined
- values of the <a href="#style-value-length"><length></a> style
- value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length</code> is intended to imply support
- for the following features: <code>#length-integer</code>,
- <code>#length-real</code>, <code>#length-positive</code>,
- <code>#length-negative</code>, <code>#length-cell</code>,
- <code>#length-em</code>, <code>#length-percentage</code>, and
- <code>#length-pixel</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-cell" name="feature-length-cell"></a>D.1.43
- #length-cell</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-cell</code> feature if it recognizes and is capable of
- transforming scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-cell</code> feature if it implements presentation
- semantic support for scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-cell</code> does not, by itself, imply
- support for <code>#length-integer</code>,
- <code>#length-real</code>, <code>#length-positive</code>, or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-em" name="feature-length-em"></a>D.1.44
- #length-em</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-em</code> feature if it recognizes and is capable of
- transforming scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that
- use <code>em</code> (EM) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-em</code>
- feature if it implements presentation semantic support for scalar
- values of the <a href="#style-value-length"><length></a> style
- value expression that use <code>em</code> (EM) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-em</code> does not, by itself, imply
- support for <code>#length-integer</code>,
- <code>#length-real</code>, <code>#length-positive</code>, or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-integer" name=
- "feature-length-integer"></a>D.1.45 #length-integer</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-integer</code> feature if it recognizes and is capable
- of transforming integer values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-integer</code> feature if it implements presentation
- semantic support for integer values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-integer</code> does not, by itself,
- imply support for <code>#length-positive</code> or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-negative" name=
- "feature-length-negative"></a>D.1.46 #length-negative</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-negative</code> feature if it recognizes and is capable
- of transforming negative values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-negative</code> feature if it implements presentation
- semantic support for negative values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-negative</code> does not, by itself,
- imply support for <code>#length-integer</code> or
- <code>#length-real</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-percentage" name=
- "feature-length-percentage"></a>D.1.47 #length-percentage</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-percentage</code> feature if it recognizes and is
- capable of transforming percentage values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-percentage</code> feature if it implements presentation
- semantic support for percentage values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-percentage</code> does not, by itself,
- imply support for <code>#length-integer</code>,
- <code>#length-real</code>, <code>#length-positive</code>, or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-pixel" name=
- "feature-length-pixel"></a>D.1.48 #length-pixel</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-pixel</code> feature if it recognizes and is capable of
- transforming scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-pixel</code> feature if it implements presentation
- semantic support for scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-pixel</code> does not, by itself,
- imply support for <code>#length-integer</code>,
- <code>#length-real</code>, <code>#length-positive</code>, or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-positive" name=
- "feature-length-positive"></a>D.1.49 #length-positive</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-positive</code> feature if it recognizes and is capable
- of transforming positive values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-positive</code> feature if it implements presentation
- semantic support for positive values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> is intended to imply
- support for zero valued <a href=
- "#style-value-length"><length></a> style value
- expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> does not, by itself,
- imply support for <code>#length-integer</code> or
- <code>#length-real</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-real" name="feature-length-real"></a>D.1.50
- #length-real</h4>
-
- <p>A TTML transformation processor supports the
- <code>#length-real</code> feature if it recognizes and is capable of
- transforming real values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the
- <code>#length-real</code> feature if it implements presentation
- semantic support for real values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> is intended to imply
- support for integer valued <a href=
- "#style-value-length"><length></a> style value expressions as
- well as real valued expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> does not, by itself, imply
- support for <code>#length-positive</code> or
- <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineBreak-uax14" name=
- "feature-lineBreak-uax14"></a>D.1.51 #lineBreak-uax14</h4>
-
- <p>A TTML transformation processor supports the
- <code>#lineBreak-uax14</code> feature if it recognizes and is capable
- of transforming requirements expressed by <a href=
- "#uax14">[UAX14]</a> into its target document space.</p>
-
- <p>A TTML presentation processor supports the
- <code>#lineBreak-uax14</code> feature if it implements presentation
- semantic support for <a href="#uax14">[UAX14]</a> as applies to line
- breaking.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineHeight" name="feature-lineHeight"></a>D.1.52
- #lineHeight</h4>
-
- <p>A TTML transformation processor supports the
- <code>#lineHeight</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#lineHeight</code> feature if it implements presentation
- semantic support for the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode" name="feature-markerMode"></a>D.1.53
- #markerMode</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode</code> feature if it implements presentation
- semantic support for the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-continuous" name=
- "feature-markerMode-continuous"></a>D.1.54
- #markerMode-continuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-continuous</code> feature if it recognizes and is
- capable of transforming the <code>continuous</code> value of the
- <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-continuous</code> feature if it implements
- presentation semantic support for the <code>continuous</code> value
- of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-discontinuous" name=
- "feature-markerMode-discontinuous"></a>D.1.55
- #markerMode-discontinuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-discontinuous</code> feature if it recognizes and
- is capable of transforming the <code>discontinuous</code> value of
- the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-discontinuous</code> feature if it implements
- presentation semantic support for the <code>discontinuous</code>
- value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-metadata" name="feature-metadata"></a>D.1.56
- #metadata</h4>
-
- <p>A TTML transformation processor supports the
- <code>#metadata</code> feature if it recognizes and is capable of
- transforming the following vocabulary defined by <a href=
- "#metadata"><b>12 Metadata</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#metadata-vocabulary-metadata"><code>metadata</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:title</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:desc</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:copyright</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:name</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-vocabulary-title"><code>ttm:actor</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-attribute-agent">@<code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#metadata-attribute-role">@<code>ttm:role</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#metadata</code>
- feature if it recognizes and is capable of presenting the information
- expressed by the same vocabulary enumerated above.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification does not define a standardized form for the
- presentation of metadata information. The presentation or ability
- to present metadata information is considered to be implementation
- dependent.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-div" name="feature-nested-div"></a>D.1.57
- #nested-div</h4>
-
- <p>A TTML transformation processor supports the
- <code>#nested-div</code> feature if it recognizes and is capable of
- transforming nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the
- <code>#nested-div</code> feature if it implements presentation
- semantic support for nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-span" name="feature-nested-span"></a>D.1.58
- #nested-span</h4>
-
- <p>A TTML transformation processor supports the
- <code>#nested-span</code> feature if it recognizes and is capable of
- transforming nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the
- <code>#nested-span</code> feature if it implements presentation
- semantic support for nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-opacity" name="feature-opacity"></a>D.1.59
- #opacity</h4>
-
- <p>A TTML transformation processor supports the <code>#opacity</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#opacity</code>
- feature if it (1) implements presentation semantic support for the
- <a href="#style-attribute-opacity"><code>tts:opacity</code></a>
- attribute and (2) is capable of displaying or generating an output
- display signal that distinguishes between at least eight (8) values
- of opacity.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-origin" name="feature-origin"></a>D.1.60
- #origin</h4>
-
- <p>A TTML transformation processor supports the <code>#origin</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#origin</code>
- feature if it implements presentation semantic support for the
- <a href="#style-attribute-origin"><code>tts:origin</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow" name="feature-overflow"></a>D.1.61
- #overflow</h4>
-
- <p>A TTML transformation processor supports the
- <code>#overflow</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#overflow</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow-visible" name=
- "feature-overflow-visible"></a>D.1.62 #overflow-visible</h4>
-
- <p>A TTML transformation processor supports the
- <code>#overflow-visible</code> feature if it recognizes and is
- capable of transforming the <code>visible</code> value of the
- <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#overflow-visible</code> feature if it implements presentation
- semantic support for the <code>visible</code> value of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding" name="feature-padding"></a>D.1.63
- #padding</h4>
-
- <p>A TTML transformation processor supports the <code>#padding</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#padding</code>
- feature if it implements presentation semantic support for the
- <a href="#style-attribute-padding"><code>tts:padding</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-1" name="feature-padding-1"></a>D.1.64
- #padding-1</h4>
-
- <p>A TTML transformation processor supports the
- <code>#padding-1</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute
- that consist of one <a href="#style-value-length"><length></a>
- specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-1</code>
- feature if it implements presentation semantic support for values of
- the <a href="#style-attribute-padding"><code>tts:padding</code></a>
- attribute that consist of one <a href=
- "#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-2" name="feature-padding-2"></a>D.1.65
- #padding-2</h4>
-
- <p>A TTML transformation processor supports the
- <code>#padding-2</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute
- that consist of two <a href="#style-value-length"><length></a>
- specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-2</code>
- feature if it implements presentation semantic support for values of
- the <a href="#style-attribute-padding"><code>tts:padding</code></a>
- attribute that consist of two <a href=
- "#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-3" name="feature-padding-3"></a>D.1.66
- #padding-3</h4>
-
- <p>A TTML transformation processor supports the
- <code>#padding-3</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute
- that consist of three <a href=
- "#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-3</code>
- feature if it implements presentation semantic support for values of
- the <a href="#style-attribute-padding"><code>tts:padding</code></a>
- attribute that consist of three <a href=
- "#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-4" name="feature-padding-4"></a>D.1.67
- #padding-4</h4>
-
- <p>A TTML transformation processor supports the
- <code>#padding-4</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute
- that consist of four <a href="#style-value-length"><length></a>
- specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-4</code>
- feature if it implements presentation semantic support for values of
- the <a href="#style-attribute-padding"><code>tts:padding</code></a>
- attribute that consist of four <a href=
- "#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-pixelAspectRatio" name=
- "feature-pixelAspectRatio"></a>D.1.68 #pixelAspectRatio</h4>
-
- <p>A TTML transformation processor supports the
- <code>#pixelAspectRatio</code> feature if it recognizes and is
- capable of transforming the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#pixelAspectRatio</code> feature if it implements presentation
- semantic support for the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-presentation" name=
- "feature-presentation"></a>D.1.69 #presentation</h4>
-
- <p>A TTML processor supports the <code>#presentation</code> feature
- if it (1) satisfies the generic processor criteria defined by
- <a href="#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>, (2) implements support for the region and line
- layout semantics defined by <a href="#semantics-region-layout"><b>9.3
- Region Layout and Presentation</b></a> and <a href=
- "#semantics-line-layout"><b>9.4 Line Layout</b></a>, respectively,
- and (3) implements presentation semantics for the following
- features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
-
- <p>In addition, a TTML processor that supports the
- <code>#presentation</code> feature should satisfy the user agent
- accessibility guidelines specified by <a href="#uaag">[UAAG]</a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-profile" name="feature-profile"></a>D.1.70
- #profile</h4>
-
- <p>A TTML transformation processor supports the <code>#profile</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute
- on the <a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a> element and
- transforming the following vocabulary defined by <a href=
- "#parameter-element-vocabulary"><b>6.1 Parameter Element
- Vocabulary</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#profile</code>
- feature if it implements presentation semantic support for the same
- vocabulary specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-showBackground" name=
- "feature-showBackground"></a>D.1.71 #showBackground</h4>
-
- <p>A TTML transformation processor supports the
- <code>#showBackground</code> feature if it recognizes and is capable
- of transforming all defined values of the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#showBackground</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-structure" name="feature-structure"></a>D.1.72
- #structure</h4>
-
- <p>A TTML transformation processor supports the
- <code>#structure</code> feature if it recognizes and is capable of
- transforming the following vocabulary defined by <a href=
- "#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#document-structure-vocabulary-head"><code>head</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#structure</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling" name="feature-styling"></a>D.1.73
- #styling</h4>
-
- <p>A TTML transformation processor supports the <code>#styling</code>
- feature if it recognizes and is capable of transforming the following
- vocabulary defined by <a href="#styling"><b>8 Styling</b></a>:</p>
-
- <ul>
- <li>
- <p><a href=
- "#styling-vocabulary-styling"><code>styling</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-style">@<code>style</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#styling</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-chained" name=
- "feature-styling-chained"></a>D.1.74 #styling-chained</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-chained</code> feature if it recognizes and is capable
- of transforming chained style association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-chained</code> feature if it implements presentation
- semantic support for chained style association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-content" name=
- "feature-styling-inheritance-content"></a>D.1.75
- #styling-inheritance-content</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is
- capable of transforming content style inheritance as defined by
- <a href="#semantics-style-inheritance-content"><b>8.4.2.1 Content
- Style Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-content</code> feature if it implements
- presentation semantic support for content style inheritance as
- defined by <a href="#semantics-style-inheritance-content"><b>8.4.2.1
- Content Style Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-region" name=
- "feature-styling-inheritance-region"></a>D.1.76
- #styling-inheritance-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is
- capable of transforming region style inheritance as defined by
- <a href="#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-region</code> feature if it implements
- presentation semantic support for region style inheritance as defined
- by <a href="#semantics-style-inheritance-region"><b>8.4.2.2 Region
- Style Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inline" name=
- "feature-styling-inline"></a>D.1.77 #styling-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inline</code> feature if it recognizes and is capable
- of transforming inline style association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inline</code> feature if it implements presentation
- semantic support for inline style association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-nested" name=
- "feature-styling-nested"></a>D.1.78 #styling-nested</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-nested</code> feature if it recognizes and is capable
- of transforming nested style association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested
- Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-nested</code> feature if it implements presentation
- semantic support for nested style association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested
- Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-referential" name=
- "feature-styling-referential"></a>D.1.79 #styling-referential</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-referential</code> feature if it recognizes and is
- capable of transforming referential style association as defined by
- <a href="#semantics-style-association-referential"><b>8.4.1.2
- Referential Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-referential</code> feature if it implements
- presentation semantic support for referential style association as
- defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-subFrameRate" name=
- "feature-subFrameRate"></a>D.1.80 #subFrameRate</h4>
-
- <p>A TTML transformation processor supports the
- <code>#subFrameRate</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#subFrameRate</code> feature if it implements presentation
- semantic support for the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign" name="feature-textAlign"></a>D.1.81
- #textAlign</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign</code>
- feature if it implements presentation semantic support for all
- defined values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-absolute" name=
- "feature-textAlign-absolute"></a>D.1.82 #textAlign-absolute</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-absolute</code> feature if it recognizes and is
- capable of transforming the <code>left</code>, <code>center</code>,
- and <code>right</code> values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textAlign-absolute</code> feature if it implements
- presentation semantic support for the <code>left</code>,
- <code>center</code>, and <code>right</code> values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-relative" name=
- "feature-textAlign-relative"></a>D.1.83 #textAlign-relative</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-relative</code> feature if it recognizes and is
- capable of transforming the <code>start</code>, <code>center</code>,
- and <code>end</code> values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textAlign-relative</code> feature if it implements
- presentation semantic support for the <code>start</code>,
- <code>center</code>, and <code>end</code> values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration" name=
- "feature-textDecoration"></a>D.1.84 #textDecoration</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration</code> feature if it recognizes and is capable
- of transforming all defined values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-over" name=
- "feature-textDecoration-over"></a>D.1.85 #textDecoration-over</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-over</code> feature if it recognizes and is
- capable of transforming the <code>overline</code> and
- <code>noOverline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-over</code> feature if it implements
- presentation semantic support for the <code>overline</code> and
- <code>noOverline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-through" name=
- "feature-textDecoration-through"></a>D.1.86
- #textDecoration-through</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-through</code> feature if it recognizes and is
- capable of transforming the <code>lineThrough</code> and
- <code>noLineThrough</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-through</code> feature if it implements
- presentation semantic support for the <code>lineThrough</code> and
- <code>noLineThrough</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-under" name=
- "feature-textDecoration-under"></a>D.1.87 #textDecoration-under</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-under</code> feature if it recognizes and is
- capable of transforming the <code>underline</code> and
- <code>noUnderline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-under</code> feature if it implements
- presentation semantic support for the <code>underline</code> and
- <code>noUnderline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline" name="feature-textOutline"></a>D.1.88
- #textOutline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textOutline</code> feature if it implements presentation
- semantic support for the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-blurred" name=
- "feature-textOutline-blurred"></a>D.1.89 #textOutline-blurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-blurred</code> feature if it recognizes and is
- capable of transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that includes a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textOutline-blurred</code> feature if it implements
- presentation semantic support for values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that includes a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-unblurred" name=
- "feature-textOutline-unblurred"></a>D.1.90
- #textOutline-unblurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-unblurred</code> feature if it recognizes and is
- capable of transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that does not include a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textOutline-unblurred</code> feature if it implements
- presentation semantic support for values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that does not include a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-tickRate" name="feature-tickRate"></a>D.1.91
- #tickRate</h4>
-
- <p>A TTML transformation processor supports the
- <code>#tickRate</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#tickRate</code>
- feature if it implements presentation semantic support for the
- <a href="#parameter-attribute-tickRate"><code>ttp:tickRate</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-clock" name=
- "feature-timeBase-clock"></a>D.1.92 #timeBase-clock</h4>
-
- <p>A TTML transformation processor supports the
- <code>#timeBase-clock</code> feature if it recognizes and is capable
- of transforming the <code>clock</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute and if it supports the <a href=
- "#feature-clockMode"><code>#clockMode</code></a> feature.</p>
-
- <p>A TTML presentation processor supports the
- <code>#timeBase-clock</code> feature if it implements presentation
- semantic support for the <code>clock</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute and if it supports the <a href=
- "#feature-clockMode"><code>#clockMode</code></a> feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-media" name=
- "feature-timeBase-media"></a>D.1.93 #timeBase-media</h4>
-
- <p>A TTML transformation processor supports the
- <code>#timeBase-media</code> feature if it recognizes and is capable
- of transforming the <code>media</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#timeBase-media</code> feature if it implements presentation
- semantic support for the <code>media</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-smpte" name=
- "feature-timeBase-smpte"></a>D.1.94 #timeBase-smpte</h4>
-
- <p>A TTML transformation processor supports the
- <code>#timeBase-smpte</code> feature if it recognizes and is capable
- of transforming the <code>smpte</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute and if it supports the <a href=
- "#feature-dropMode"><code>#dropMode</code></a> feature.</p>
-
- <p>A TTML presentation processor supports the
- <code>#timeBase-smpte</code> feature if it implements presentation
- semantic support for the <code>smpte</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a>
- attribute and if it supports the <a href=
- "#feature-dropMode"><code>#dropMode</code></a> feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeContainer" name=
- "feature-timeContainer"></a>D.1.95 #timeContainer</h4>
-
- <p>A TTML transformation processor supports the
- <code>#timeContainer</code> feature if it recognizes and is capable
- of transforming the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#timeContainer</code> feature if it implements presentation
- semantic support for the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock" name="feature-time-clock"></a>D.1.96
- #time-clock</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-clock</code> feature if it recognizes and is capable of
- transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that
- satisfy the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-clock</code> feature if it implements presentation
- semantic support for the same syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock-with-frames" name=
- "feature-time-clock-with-frames"></a>D.1.97
- #time-clock-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-clock-with-frames</code> feature if it supports the
- <a href="#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>,
- and <a href="#feature-subFrameRate"><code>#subFrameRate</code></a>
- features and if it recognizes and is capable of transforming all
- values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that
- satisfy the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-clock-with-frames</code> feature if it implements
- presentation semantic support for the same features and syntax
- specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset" name="feature-time-offset"></a>D.1.98
- #time-offset</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset</code> feature if it recognizes and is capable of
- transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that
- satisfy the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? ( "h" | "m" | "s" | "ms" )
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset</code> feature if it implements presentation
- semantic support for the same syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-frames" name=
- "feature-time-offset-with-frames"></a>D.1.99
- #time-offset-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-frames</code> feature if it supports the
- <a href="#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>,
- and <a href="#feature-subFrameRate"><code>#subFrameRate</code></a>
- features and if it recognizes and is capable of transforming all
- values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that
- satisfy the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "f"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-frames</code> feature if it implements
- presentation semantic support for the same features and syntax
- specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-ticks" name=
- "feature-time-offset-with-ticks"></a>D.1.100
- #time-offset-with-ticks</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-ticks</code> feature if it supports the
- <a href="#feature-tickRate"><code>#tickRate</code></a> feature and if
- it recognizes and is capable of transforming all values of the
- <a href="#timing-value-timeExpression"><timeExpression></a>
- that satisfy the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "t"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-ticks</code> feature if it implements
- presentation semantic support for the same features and syntax
- specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timing" name="feature-timing"></a>D.1.101
- #timing</h4>
-
- <p>A TTML transformation processor supports the <code>#timing</code>
- feature if it recognizes and is capable of transforming the following
- vocabulary defined by <a href="#timing"><b>10 Timing</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin">@<code>begin</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur">@<code>dur</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end">@<code>end</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#timing</code>
- feature if it implements presentation semantic support for the same
- vocabulary enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-transformation" name=
- "feature-transformation"></a>D.1.102 #transformation</h4>
-
- <p>A TTML processor supports the <code>#transformation</code> feature
- if it (1) satisfies the generic processor criteria defined by
- <a href="#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a> and (2) implements the transformation semantics
- of the following features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-unicodeBidi" name=
- "feature-unicodeBidi"></a>D.1.103 #unicodeBidi</h4>
-
- <p>A TTML transformation processor supports the
- <code>#unicodeBidi</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#unicodeBidi</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility" name="feature-visibility"></a>D.1.104
- #visibility</h4>
-
- <p>A TTML transformation processor supports the
- <code>#visibility</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#visibility</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-block" name=
- "feature-visibility-block"></a>D.1.105 #visibility-block</h4>
-
- <p>A TTML transformation processor supports the
- <code>#visibility-block</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate a
- block area during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#visibility-block</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates a block
- area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-inline" name=
- "feature-visibility-inline"></a>D.1.106 #visibility-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#visibility-inline</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate an
- inline area during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#visibility-inline</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates an inline
- area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-region" name=
- "feature-visibility-region"></a>D.1.107 #visibility-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#visibility-region</code> feature if it recognizes and is
- capable of transforming all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#visibility-region</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-wrapOption" name="feature-wrapOption"></a>D.1.108
- #wrapOption</h4>
-
- <p>A TTML transformation processor supports the
- <code>#wrapOption</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#wrapOption</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode" name=
- "feature-writingMode"></a>D.1.109 #writingMode</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode</code> feature if it implements presentation
- semantic support for all defined values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-vertical" name=
- "feature-writingMode-vertical"></a>D.1.110 #writingMode-vertical</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-vertical</code> feature if it recognizes and is
- capable of transforming the <code>tbrl</code>, <code>tblr</code>, and
- <code>tb</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-vertical</code> feature if it implements
- presentation semantic support for the <code>tbrl</code>,
- <code>tblr</code>, and <code>tb</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal" name=
- "feature-writingMode-horizontal"></a>D.1.111
- #writingMode-horizontal</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is
- capable of transforming the <code>lrtb</code>, <code>rltb</code>,
- <code>lr</code> and <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal</code> feature if it implements
- presentation semantic support for the <code>lrtb</code>,
- <code>rltb</code>, <code>lr</code> and <code>rl</code> values of the
- <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-lr" name=
- "feature-writingMode-horizontal-lr"></a>D.1.112
- #writingMode-horizontal-lr</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is
- capable of transforming the <code>lrtb</code> and <code>lr</code>
- values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-lr</code> feature if it implements
- presentation semantic support for the <code>lrtb</code> and
- <code>lr</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-rl" name=
- "feature-writingMode-horizontal-rl"></a>D.1.113
- #writingMode-horizontal-rl</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is
- capable of transforming the <code>rltb</code> and <code>rl</code>
- values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-rl</code> feature if it implements
- presentation semantic support for the <code>rltb</code> and
- <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-zIndex" name="feature-zIndex"></a>D.1.114
- #zIndex</h4>
-
- <p>A TTML transformation processor supports the <code>#zIndex</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#zIndex</code>
- feature if it implements presentation semantic support for the
- <a href="#style-attribute-zIndex"><code>tts:zIndex</code></a>
- attribute.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="feature-support" name="feature-support"></a>D.2 Feature
- Support</h3>
-
- <p>The following table, <a href="#feature-support-table"><b>Table D-1 –
- Feature Support</b></a>, enumerates every defined feature designation
- (expressed without the TT Feature Namespace), and, for each designated
- feature, specifies whether the feature must be implemented, i.e., is
- mandatory (M), or may be implemented, i.e., is optional (O), for
- transformation and presentation processors.</p><a id=
- "feature-support-table" name="feature-support-table"></a>
-
- <table class="common">
- <caption>
- Table D-1 – Feature Support
- </caption>
- <col width="60%" span="1">
- <col width="20%" span="1">
- <col width="20%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Transformation</span></td>
-
- <td><span class="strong">Presentation</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-animation"><code>#animation</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor"><code>#backgroundColor</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-bidi"><code>#bidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-cellResolution"><code>#cellResolution</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode"><code>#clockMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-clockMode-gps"><code>#clockMode-gps</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-clockMode-local"><code>#clockMode-local</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-clockMode-utc"><code>#clockMode-utc</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-color"><code>#color</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-direction"><code>#direction</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display"><code>#display</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-display-block"><code>#display-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-display-inline"><code>#display-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-display-region"><code>#display-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-displayAlign"><code>#displayAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-dropMode"><code>#dropMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent"><code>#extent</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-extent-region"><code>#extent-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-extent-root"><code>#extent-root</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily"><code>#fontFamily</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontSize"><code>#fontSize</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontWeight"><code>#fontWeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-frameRate"><code>#frameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-layout"><code>#layout</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length"><code>#length</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-cell"><code>#length-cell</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-em"><code>#length-em</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-integer"><code>#length-integer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-negative"><code>#length-negative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-percentage"><code>#length-percentage</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-pixel"><code>#length-pixel</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-positive"><code>#length-positive</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-real"><code>#length-real</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-lineHeight"><code>#lineHeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode"><code>#markerMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-metadata"><code>#metadata</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-nested-div"><code>#nested-div</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-nested-span"><code>#nested-span</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-opacity"><code>#opacity</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-origin"><code>#origin</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-overflow"><code>#overflow</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-overflow-visible"><code>#overflow-visible</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding"><code>#padding</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-1"><code>#padding-1</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-2"><code>#padding-2</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-3"><code>#padding-3</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-4"><code>#padding-4</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-presentation"><code>#presentation</code></a></td>
-
- <td>O</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-showBackground"><code>#showBackground</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling"><code>#styling</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-chained"><code>#styling-chained</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inline"><code>#styling-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-nested"><code>#styling-nested</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-referential"><code>#styling-referential</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-subFrameRate"><code>#subFrameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textAlign"><code>#textAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-relative"><code>#textAlign-relative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration"><code>#textDecoration</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-over"><code>#textDecoration-over</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-through"><code>#textDecoration-through</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-under"><code>#textDecoration-under</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline"><code>#textOutline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-tickRate"><code>#tickRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-timeBase-clock"><code>#timeBase-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-timeBase-media"><code>#timeBase-media</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-timeContainer"><code>#timeContainer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-clock"><code>#time-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-transformation"><code>#transformation</code></a></td>
-
- <td>M</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-unicodeBidi"><code>#unicodeBidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility"><code>#visibility</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-block"><code>#visibility-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-inline"><code>#visibility-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-region"><code>#visibility-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-wrapOption"><code>#wrapOption</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode"><code>#writingMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-zIndex"><code>#zIndex</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-transformation-mandatory-table"><b>Table D-2 – Mandatory
- Features - Transformation</b></a>, enumerates all mandatory features
- for a TTML Transformation Processor, providing additional comments to
- summarize the context of usage or the nature of the feature. The
- <em>Profile Definition Document</em> that defines the corresponding
- DFXP Transformation Profile is specified in <a href=
- "#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a>.</p><a id="feature-transformation-mandatory-table"
- name="feature-transformation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-2 – Mandatory Features - Transformation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href=
- "#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>,
- <a href="#content-attribute-id">@<code>xml:lang</code></a>,
- <a href="#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a>, <a href=
- "#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>,
- <a href="#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-transformation"><code>#transformation</code></a></td>
-
- <td></td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-presentation-mandatory-table"><b>Table D-3 – Mandatory
- Features - Presentation</b></a>, enumerates all mandatory features for
- a TTML Presentation Processor, providing additional comments to
- summarize the context of usage or the nature of the feature. The
- <em>Profile Definition Document</em> that defines the corresponding
- DFXP Presentation Profile is specified in <a href=
- "#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>.</p><a id="feature-presentation-mandatory-table" name=
- "feature-presentation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-3 – Mandatory Features - Presentation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href=
- "#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>,
- <a href="#content-attribute-id">@<code>xml:lang</code></a>,
- <a href="#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-presentation"><code>#presentation</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href=
- "#document-structure-vocabulary-tt"><code>tt</code></a>, <a href=
- "#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>,
- <a href="#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="extensions" name="extensions"></a>E Extensions</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the syntactic form of extension designations,
- which are used to express authorial intent regarding the support for
- extension mechanisms in a TTML processor.</p>
-
- <div class="div2">
- <h3><a id="extension-designations" name=
- "extension-designations"></a>E.1 Extension Designations</h3>
-
- <p>An extension designation is expressed as a string that adheres to
- the following 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
- Extension Namespace, then all values of the following
- <code>designation</code> token are reserved for future
- standardization.</p>
-
- <p>If the extension namespace of an extension designation is not the TT
- Extension Namespace, i.e., is an <em>Other Extension Namespace</em>,
- then the extension namespace must be expressed as an absolute URI
- capable of serving as a base URI used in combination with a
- <code>designation</code> token that takes the form of a fragment
- identifier.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="profiles" name="profiles"></a>F Profiles</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following standard TTML profiles:</p>
-
- <ul>
- <li>
- <p><a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-full"><b>F.3 DFXP Full Profile</b></a></p>
- </li>
- </ul>
-
- <p>The SDP US profile is defined in <a href=
- "http://www.w3.org/TR/ttml10-sdp-us/">TTML Simple Delivery Profile for
- Closed Captions (US)</a>.</p>
-
- <p>Each TTML profile is defined in terms of a <em>Profile Definition
- Document</em>, which is expressed as an XML document wherein the root
- element adheres to <a href="#parameter-vocabulary-profile"><b>6.1.1
- ttp:profile</b></a>.</p>
-
- <div class="div2">
- <h3><a id="profile-dfxp-transformation" name=
- "profile-dfxp-transformation"></a>F.1 DFXP Transformation Profile</h3>
-
- <p>The DFXP Transformation Profile is intended to be used to express
- minimum compliance for transformation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-transformation" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#presentation</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-presentation" name=
- "profile-dfxp-presentation"></a>F.2 DFXP Presentation Profile</h3>
-
- <p>The DFXP Presentation Profile is intended to be used to express
- minimum compliance for presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-presentation" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#transformation</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-full" name="profile-dfxp-full"></a>F.3 DFXP
- Full Profile</h3>
-
- <p>The DFXP Full Profile is intended to be used to express maximum
- compliance for both transformation and presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-full" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#animation</feature>
- <feature value="required">#backgroundColor-block</feature>
- <feature value="required">#backgroundColor-inline</feature>
- <feature value="required">#backgroundColor-region</feature>
- <feature value="required">#backgroundColor</feature>
- <feature value="required">#bidi</feature>
- <feature value="required">#cellResolution</feature>
- <feature value="required">#clockMode-gps</feature>
- <feature value="required">#clockMode-local</feature>
- <feature value="required">#clockMode-utc</feature>
- <feature value="required">#clockMode</feature>
- <feature value="required">#color</feature>
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#direction</feature>
- <feature value="required">#display-block</feature>
- <feature value="required">#display-inline</feature>
- <feature value="required">#display-region</feature>
- <feature value="required">#display</feature>
- <feature value="required">#displayAlign</feature>
- <feature value="required">#dropMode-dropNTSC</feature>
- <feature value="required">#dropMode-dropPAL</feature>
- <feature value="required">#dropMode-nonDrop</feature>
- <feature value="required">#dropMode</feature>
- <feature value="required">#extent-region</feature>
- <feature value="required">#extent-root</feature>
- <feature value="required">#extent</feature>
- <feature value="required">#fontFamily-generic</feature>
- <feature value="required">#fontFamily-non-generic</feature>
- <feature value="required">#fontFamily</feature>
- <feature value="required">#fontSize-anamorphic</feature>
- <feature value="required">#fontSize-isomorphic</feature>
- <feature value="required">#fontSize</feature>
- <feature value="required">#fontStyle-italic</feature>
- <feature value="required">#fontStyle-oblique</feature>
- <feature value="required">#fontStyle</feature>
- <feature value="required">#fontWeight-bold</feature>
- <feature value="required">#fontWeight</feature>
- <feature value="required">#frameRate</feature>
- <feature value="required">#frameRateMultiplier</feature>
- <feature value="required">#layout</feature>
- <feature value="required">#length-cell</feature>
- <feature value="required">#length-em</feature>
- <feature value="required">#length-integer</feature>
- <feature value="required">#length-negative</feature>
- <feature value="required">#length-percentage</feature>
- <feature value="required">#length-pixel</feature>
- <feature value="required">#length-positive</feature>
- <feature value="required">#length-real</feature>
- <feature value="required">#length</feature>
- <feature value="required">#lineBreak-uax14</feature>
- <feature value="required">#lineHeight</feature>
- <feature value="required">#markerMode-continuous</feature>
- <feature value="required">#markerMode-discontinuous</feature>
- <feature value="required">#markerMode</feature>
- <feature value="required">#metadata</feature>
- <feature value="required">#nested-div</feature>
- <feature value="required">#nested-span</feature>
- <feature value="required">#opacity</feature>
- <feature value="required">#origin</feature>
- <feature value="required">#overflow-visible</feature>
- <feature value="required">#overflow</feature>
- <feature value="required">#padding-1</feature>
- <feature value="required">#padding-2</feature>
- <feature value="required">#padding-3</feature>
- <feature value="required">#padding-4</feature>
- <feature value="required">#padding</feature>
- <feature value="required">#pixelAspectRatio</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#showBackground</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#styling-chained</feature>
- <feature value="required">#styling-inheritance-content</feature>
- <feature value="required">#styling-inheritance-region</feature>
- <feature value="required">#styling-inline</feature>
- <feature value="required">#styling-nested</feature>
- <feature value="required">#styling-referential</feature>
- <feature value="required">#styling</feature>
- <feature value="required">#subFrameRate</feature>
- <feature value="required">#textAlign-absolute</feature>
- <feature value="required">#textAlign-relative</feature>
- <feature value="required">#textAlign</feature>
- <feature value="required">#textDecoration-over</feature>
- <feature value="required">#textDecoration-through</feature>
- <feature value="required">#textDecoration-under</feature>
- <feature value="required">#textDecoration</feature>
- <feature value="required">#textOutline-blurred</feature>
- <feature value="required">#textOutline-unblurred</feature>
- <feature value="required">#textOutline</feature>
- <feature value="required">#tickRate</feature>
- <feature value="required">#time-clock-with-frames</feature>
- <feature value="required">#time-clock</feature>
- <feature value="required">#time-offset-with-frames</feature>
- <feature value="required">#time-offset-with-ticks</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timeBase-clock</feature>
- <feature value="required">#timeBase-media</feature>
- <feature value="required">#timeBase-smpte</feature>
- <feature value="required">#timeContainer</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <feature value="required">#unicodeBidi</feature>
- <feature value="required">#visibility-block</feature>
- <feature value="required">#visibility-inline</feature>
- <feature value="required">#visibility-region</feature>
- <feature value="required">#visibility</feature>
- <feature value="required">#wrapOption</feature>
- <feature value="required">#writingMode-horizontal-lr</feature>
- <feature value="required">#writingMode-horizontal-rl</feature>
- <feature value="required">#writingMode-horizontal</feature>
- <feature value="required">#writingMode-vertical</feature>
- <feature value="required">#writingMode</feature>
- <feature value="required">#zIndex</feature>
- <!-- optional (voluntary) feature support -->
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="references" name="references"></a>G References</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <dl>
- <dt class="label"><a id="css2" name="css2"></a>CSS2</dt>
-
- <dd>Bert Bos et al., <a href=
- "http://www.w3.org/TR/2011/REC-CSS2-20110607/"><cite>Cascading Style
- Sheets, Level 2 Revision 1</cite></a>, W3C Recommendation, 07 June
- 2011. (See <a href=
- "http://www.w3.org/TR/2011/REC-CSS2-20110607/">http://www.w3.org/TR/2011/REC-CSS2-20110607/</a>.)</dd>
-
- <dt class="label"><a id="css3-color" name="css3-color"></a>CSS3
- Color</dt>
-
- <dd>Tantek Çelik and Chris Lilley, <a href=
- "http://www.w3.org/TR/2011/REC-css3-color-20110607/"><cite>CSS Color
- Module Level 3</cite></a>, W3C Recommendation, 07 June 2011. (See
- <a href=
- "http://www.w3.org/TR/2011/REC-css3-color-20110607/">http://www.w3.org/TR/2011/REC-css3-color-20110607/</a>.)</dd>
-
- <dt class="label"><a id="gps" name="gps"></a>GPS</dt>
-
- <dd><a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global
- Positioning System</cite></a>, US Naval Observatory. (See <a href=
- "http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</a>.)</dd>
-
- <dt class="label"><a id="media-types" name="media-types"></a>Media
- Types</dt>
-
- <dd>Ned Freed and Nathaniel Borenstein, <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt"><cite>Multipurpose Internet
- Mail Extensions (MIME) Part Two: Media Types</cite></a>, RFC 2046,
- November 1996, IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</a>.)</dd>
-
- <dt class="label"><a id="rng" name="rng"></a>RELAX NG</dt>
-
- <dd>ISO/IEC 19757-2, <a href="http://www.iso.org/"><cite>Information
- technology – Document Schema Definition Language (DSDL) – Part 2:
- Regular-grammar-based validation – RELAX NG</cite></a>, International
- Organization for Standardization (ISO).</dd>
-
- <dt class="label"><a id="smil21" name="smil21"></a>SMIL 2.1</dt>
-
- <dd>Dick Bultermann, et al., <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/"><cite>Synchronized
- Multimedia Integration Language (SMIL 2.1)</cite></a>, W3C
- Recommendation, 13 December 2005. (See <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</a>.)</dd>
-
- <dt class="label"><a id="smpte12m" name="smpte12m"></a>SMPTE 12M</dt>
-
- <dd>ANSI/SMPTE 12M, <a href="https://www.smpte.org/"><cite>Television,
- Audio and Film – Time and Control Code</cite></a>, SMPTE Standard.</dd>
-
- <dt class="label"><a id="srgb" name="srgb"></a>SRGB</dt>
-
- <dd>IEC 61966-2-1, <a href="http://www.iec.ch/"><cite>Multimedia
- systems and equipment – Colour measurement and management – Part 2-1:
- Colour management – Default RGB colour space – sRGB</cite></a>,
- International Electrotechnical Commission (IEC).</dd>
-
- <dt class="label"><a id="uaag" name="uaag"></a>UAAG</dt>
-
- <dd>Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds., <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/"><cite>User Agent
- Accessibility Guidelines 1.0</cite></a>, W3C Recommendation, 17
- December 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</a>.)</dd>
-
- <dt class="label"><a id="uax14" name="uax14"></a>UAX14</dt>
-
- <dd>Asmus Freytag, <a href=
- "http://www.unicode.org/reports/tr14/tr14-17.html"><cite>Line Breaking
- Properties</cite></a>, Unicode Consortium, 29 August 2005. (See
- <a href="http://www.unicode.org/reports/tr14/tr14-17.html">http://www.unicode.org/reports/tr14/tr14-17.html</a>.)</dd>
-
- <dt class="label"><a id="utc" name="utc"></a>UTC</dt>
-
- <dd>Recommendation TF.460, <a href=
- "http://www.itu.int/"><cite>Standard-Frequency and Time-Signal
- Emissions</cite></a>, International Telecommunciations Union, Radio
- Sector (ITU-R).</dd>
-
- <dt class="label"><a id="wcag" name="wcag"></a>WCAG</dt>
-
- <dd>Ben Caldwell, et al., Eds., <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/"><cite>Web Content
- Accessibility Guidelines (WCAG) 2.0</cite></a>, W3C Recommendation, 11
- December 2008. (See <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/">http://www.w3.org/TR/2008/REC-WCAG20-20081211/</a>.)</dd>
-
- <dt class="label"><a id="xml10" name="xml10"></a>XML 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/"><cite>Extensible Markup
- Language (XML) 1.0 (Fifth Edition)</cite></a>, W3C Recommendation, 26
- November 2008. (See <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>.)</dd>
-
- <dt class="label"><a id="xml11" name="xml11"></a>XML 1.1</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/"><cite>Extensible Markup
- Language (XML) 1.1 (Second Edition)</cite></a>, W3C Recommendation, 16
- August 2006, edited in place 29 September 2006. (See <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/">http://www.w3.org/TR/2006/REC-xml11-20060816/</a>.)</dd>
-
- <dt class="label"><a id="xmlbase" name="xmlbase"></a>XML Base</dt>
-
- <dd>Jonathan Marsh and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/"><cite>XML Base
- (Second Edition)</cite></a>, W3C Recommendation, 28 January 2009. (See
- <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/">http://www.w3.org/TR/2009/REC-xmlbase-20090128/</a>.)</dd>
-
- <dt class="label"><a id="xmlid" name="xmlid"></a>XML ID</dt>
-
- <dd>Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds., <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/"><cite>xml:id Version
- 1.0</cite></a>, W3C Recommendation, 09 September 2005. (See <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>.)</dd>
-
- <dt class="label"><a id="infoset" name="infoset"></a>XML InfoSet</dt>
-
- <dd>John Cowan and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML
- Information Set (Second Edition)</cite></a>, W3C Recommendation, 04
- February 2004. (See <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>.)</dd>
-
- <dt class="label"><a id="xml-media" name="xml-media"></a>XML Media
- Types</dt>
-
- <dd>Makato Murata, Simon St. Laurent, Kan Khon, Eds., <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media
- Types</cite></a>, RFC 3023, January 2001, IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)</dd>
-
- <dt class="label"><a id="xmlns10" name="xmlns10"></a>XML Namespaces
- 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/"><cite>Namespaces in
- XML 1.0 (Third Edition)</cite></a>, W3C Recommendation, 8 December
- 2009. (See <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/">http://www.w3.org/TR/2009/REC-xml-names-20091208/</a>.)</dd>
-
- <dt class="label"><a id="xsd-1" name="xsd-1"></a>XML Schema Part 1</dt>
-
- <dd>Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn,
- Eds., <a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part
- 1: Structures</cite></a>, W3C Recommendation, 28 October 2004. (See
- <a href=
- "http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>.)</dd>
-
- <dt class="label"><a id="xsd-2" name="xsd-2"></a>XML Schema Part 2</dt>
-
- <dd>Paul Biron and Ashok Malhotra, <a href=
- "http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2:
- Datatypes</cite></a>, W3C Recommendation, 28 October 2004. (See
- <a href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.)</dd>
-
- <dt class="label"><a id="xsl11" name="xsl11"></a>XSL 1.1</dt>
-
- <dd>Anders Berglund, <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/"><cite>Extensible
- Stylesheet Language (XSL) Version 1.1</cite></a>, W3C Recommendation,
- 05 December 2006. (See <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="other-references" name="other-references"></a>H Other
- References (Non-Normative)</h2>
-
- <dl>
- <dt class="label"><a id="ccreq" name="ccreq"></a>CC-DECODER-REQ</dt>
-
- <dd><a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- <cite>Closed Caption Decoder Requirements for Analog
- Television</cite></a>, United States Code of Federal Regulations, Title
- 47, Volume 1, Part 15, § 15.119. (See <a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml</a>.)</dd>
-
- <dt class="label"><a id="cea608c" name="cea608c"></a>CEA-608-C</dt>
-
- <dd>EIA/CEA-608-C, <a href="http://www.ce.org/"><cite>Line 21 Data
- Services</cite></a>, EIA/CEA Standard, Consumer Electronics Association
- (CEA).</dd>
-
- <dt class="label"><a id="cea708d" name="cea708d"></a>CEA-708-D</dt>
-
- <dd>CEA-708-D, <a href="http://www.ce.org/"><cite>Digital Television
- (DTV) Closed Captioning</cite></a>, CEA Standard, Consumer Electronics
- Association (CEA).</dd>
-
- <dt class="label"><a id="dcmes" name="dcmes"></a>DCMES 1.1</dt>
-
- <dd>Dublin Core Metadata Initiative, <a href=
- "http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata
- Element Set, Version 1.1: Reference Description</cite></a>. (See
- <a href=
- "http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)</dd>
-
- <dt class="label"><a id="mpeg7-5" name="mpeg7-5"></a>MPEG7-5</dt>
-
- <dd>ISO/IEC 15938-5, <a href="http://www.iso.org/"><cite>Information
- technology – Multimedia content description interface – Part 5:
- Multimedia description schemes</cite></a>, International Organization
- for Standardization (ISO).</dd>
-
- <dt class="label"><a id="nsstate" name="nsstate"></a>NSState</dt>
-
- <dd>Norman Walsh, Ed., <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html"><cite>The
- Disposition of Names in an XML Namespace</cite></a>, TAG Finding, 9
- January 2006. (See <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html">http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09</a>.)</dd>
-
- <dt class="label"><a id="qaf-sg" name="qaf-sg"></a>QAF SG</dt>
-
- <dd>Karl Dubost, et al., <a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/"><cite>QA
- Framework: Specifications Guidelines</cite></a>, W3C Recommendation, 17
- August 2005. (See <a href=
- "http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</a>.)</dd>
-
- <dt class="label"><a id="smpte170m" name="smpte170m"></a>SMPTE
- 170M</dt>
-
- <dd>ANSI/SMPTE 170M, <a href="http://www.smpte.org/"><cite>Television –
- Composite Analog Video Signal – NTSC for Studio
- Applications</cite></a>, SMPTE Standard.</dd>
-
- <dt class="label"><a id="smpte2052" name="smpte2052"></a>SMPTE
- 2052-11</dt>
-
- <dd>SMPTE 2052-11, <a href="http://www.smpte.org/"><cite>Conversion
- from CEA-708 Caption Data to SMPTE-TT</cite></a>, SMPTE Recommended
- Practice.</dd>
-
- <dt class="label"><a id="svg11" name="svg11"></a>SVG 1.1</dt>
-
- <dd>Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds., <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/"><cite>Scalable Vector
- Graphics (SVG) 1.1 Specification</cite></a>, W3C Recommendation, 14
- January 2003. (See <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</a>.)</dd>
-
- <dt class="label"><a id="ttaf1-req" name="ttaf1-req"></a>TTAF1-REQ</dt>
-
- <dd>Glenn Adams, Ed., <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/"><cite>Timed Text
- (TT) Authoring Format 1.0 Use Cases and Requirements</cite></a>, W3C
- Working Group Note, 27 April 2006. (See <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</a>.)</dd>
-
- <dt class="label"><a id="xhtml10" name="xhtml10"></a>XHTML 1.0</dt>
-
- <dd>Steven Pemberton, et al., <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTML™ 1.0, The
- Extensible Hypertext Markup Language (Second Edition)</cite></a>, W3C
- Recommendation, 01 August 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="requirements" name="requirements"></a>I Requirements
- (Non-Normative)</h2>
-
- <p>The Timed Text Markup Language (TTML), also known as the Distribution
- Format Exchange Profile (DFXP) of the Timed Text Authoring Format (TTAF),
- satisfies a subset of the requirements established by <a href=
- "#ttaf1-req">[TTAF1-REQ]</a>. The following table enumerates these
- requirements and indicates the extent to which they are satisfied by this
- specification, where <em>S</em> denotes a requirement is satisfied,
- <em>P</em> denotes a requirement is partially satisfied, and <em>N</em>
- denotes a requirement is not satisfied.</p><a id="requirements-table"
- name="requirements-table"></a>
-
- <table class="common">
- <caption>
- Table I-1 – Requirement Satisfaction
- </caption>
- <col width="10%" span="1">
- <col width="40%" span="1">
- <col width="10%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>ID</th>
-
- <th>Name</th>
-
- <th>Status</th>
-
- <th>Comments</th>
- </tr>
-
- <tr>
- <td>R100</td>
-
- <td>Specification Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R101</td>
-
- <td>Specification Modularity</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R102</td>
-
- <td>Specification Organization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R103</td>
-
- <td>Core and Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R104</td>
-
- <td>Evolution of Core</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R105</td>
-
- <td>Ownership of Core</td>
-
- <td>S</td>
-
- <td>TT namespaces</td>
- </tr>
-
- <tr>
- <td>R106</td>
-
- <td>Surjection of Core</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R107</td>
-
- <td>Evolution of Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R108</td>
-
- <td>Ownership of Periphery</td>
-
- <td>S</td>
-
- <td>Non-TT namespaces</td>
- </tr>
-
- <tr>
- <td>R109</td>
-
- <td>Transformation</td>
-
- <td>S</td>
-
- <td>Supports 3GPP, QText, RealText, SAMI</td>
- </tr>
-
- <tr>
- <td>R110</td>
-
- <td>Streamable Transformation</td>
-
- <td>S</td>
-
- <td>Progressive decoding</td>
- </tr>
-
- <tr>
- <td>R111</td>
-
- <td>Accessibility – Content</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R112</td>
-
- <td>Accessibility – Authoring System</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R200</td>
-
- <td>Authorability</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R201</td>
-
- <td>Multiple Natural Languages</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R202</td>
-
- <td>Natural Language Coverage</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R203</td>
-
- <td>Natural Language Association Granularity</td>
-
- <td>S</td>
-
- <td>See <code>xml:lang</code></td>
- </tr>
-
- <tr>
- <td>R204</td>
-
- <td>Minimum Character Representability</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R205</td>
-
- <td>Intrinsic and Extrinsic Text Content</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R206</td>
-
- <td>Markup Association</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R207</td>
-
- <td>Conditional Content</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R208</td>
-
- <td>Flowed Text</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R209</td>
-
- <td>Logical Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R210</td>
-
- <td>Presentational Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td>Implied mapping from logical flowed text.</td>
- </tr>
-
- <tr>
- <td>R211</td>
-
- <td>Flowed Text Vocabulary Relationship</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R212</td>
-
- <td>Flowed Text Vocabulary Separation</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R213</td>
-
- <td>Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R214</td>
-
- <td>Non-Flowed Text Vocabulary</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R215</td>
-
- <td>Hybrid Flowed and Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R216</td>
-
- <td>Hyperlinking</td>
-
- <td>N</td>
-
- <td>Can support via XLink</td>
- </tr>
-
- <tr>
- <td>R217</td>
-
- <td>Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R218</td>
-
- <td>Non-Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R219</td>
-
- <td>Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R220</td>
-
- <td>Non-Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R221</td>
-
- <td>Descriptive Vocabulary</td>
-
- <td>S</td>
-
- <td>See <code>ttm:agent</code>, <code>ttm:role</code></td>
- </tr>
-
- <tr>
- <td>R222</td>
-
- <td>Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R223</td>
-
- <td>Non-Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R290</td>
-
- <td>Markup Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R291</td>
-
- <td>Markup Format and Unicode Interaction</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R292</td>
-
- <td>Extrinsic Resource References</td>
-
- <td>N</td>
-
- <td>No extrinsic references</td>
- </tr>
-
- <tr>
- <td>R293</td>
-
- <td>Schema Validity Specification</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R300</td>
-
- <td>Inline Styling</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Inline Styling Form</td>
-
- <td>P</td>
-
- <td>Inline and referential styling</td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling Form</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R304</td>
-
- <td>Styling Prioritization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R305</td>
-
- <td>Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R306</td>
-
- <td>Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports absolute position, background color, color, display
- none, display alignment, font family, font size, font style, font
- weight, height, line height, origin, opacity, overflow, padding
- (before, after, start, end), text alignment, text shadow (as
- outline), visibility, width, writing mode, z-index</td>
- </tr>
-
- <tr>
- <td>R390</td>
-
- <td>Style Parameter Symmetry</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R391</td>
-
- <td>Style Parameter Definitions</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R392</td>
-
- <td>Style Parameter Shorthands</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R401</td>
-
- <td>Inline Timing</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R402</td>
-
- <td>Out-of-Line Timing</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R403</td>
-
- <td>Synchronization Parameters</td>
-
- <td>P</td>
-
- <td>Supports begin, end, dur</td>
- </tr>
-
- <tr>
- <td>R404</td>
-
- <td>Synchronization Parameter Value Spaces</td>
-
- <td>P</td>
-
- <td>Supports offset values, media marker values (SMPTE 12M),
- wall-clock values</td>
- </tr>
-
- <tr>
- <td>R405</td>
-
- <td>Time Containment Semantics</td>
-
- <td>P</td>
-
- <td>Supports sequential, parallel</td>
- </tr>
-
- <tr>
- <td>R500</td>
-
- <td>Animation Modes</td>
-
- <td>P</td>
-
- <td>Supports discrete</td>
- </tr>
-
- <tr>
- <td>R502</td>
-
- <td>Highlight Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:backgroundColor="..."/></code></td>
- </tr>
-
- <tr>
- <td>R503</td>
-
- <td>Fade Transition Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:opacity="..."/></code></td>
- </tr>
-
- <tr>
- <td>R504</td>
-
- <td>Animated Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R505</td>
-
- <td>Animated Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports animating background color, color, display, opacity,
- origin, visibility</td>
- </tr>
-
- <tr>
- <td>N506</td>
-
- <td>Animated Content</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R600</td>
-
- <td>Metadata Item Association</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code>, <code>Metadata.class</code></td>
- </tr>
-
- <tr>
- <td>R601</td>
-
- <td>Metadata Item Constituents</td>
-
- <td>P</td>
-
- <td>Supports name, value</td>
- </tr>
-
- <tr>
- <td>R602</td>
-
- <td>Metadata Item Value Representation</td>
-
- <td>P</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R603</td>
-
- <td>Metadata Item Extensibility</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R604</td>
-
- <td>Metadata Item Validation</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R690</td>
-
- <td>Dublin Core Preference</td>
-
- <td>N</td>
-
- <td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>,
- <code>ttm:title</code></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div1">
- <h2><a id="derivation" name="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="d3e18638" name="d3e18638"></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 the model
- (if a model is indicated); the fourth column specifies details about
- the derivation; the last column refers to additional notes describing
- the nature of the derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a
- notation is use to indicate the addition or removal of an attribute.
- For example, in the derivation of the <code>tt:div</code> element, the
- details column includes "-@class", which denotes that the
- <code>class</code> attribute that is specified for use with the
- <code>xhtml:div</code> model element is not specified for use with the
- corresponding TTML element; in contrast, the details column includes
- "+@begin", which denotes that a <code>begin</code> attribute is added
- that is not specified for use with the <code>xhtml:div</code> model
- element.</p><a id="element-vocab-derivation-table" name=
- "element-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-1 – Elements
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Element</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-body"><code>tt:body</code></a></td>
-
- <td><code>xhtml:body</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur,
- +@end, +@region, +@timeContainer, +@ttm:*, +@tts:*; content model
- subsetted to zero or more division (div) children, and
- supersetted by optional metadata and animation children</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-br"><code>tt:br</code></a></td>
-
- <td><code>xhtml:br</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space;
- content model supersetted by optional metadata and animation
- children for congruity with other content vocabulary</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href=
- "#content-vocabulary-div"><code>tt:div</code></a></td>
-
- <td><code>xhtml:div</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur,
- +@end, +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space;
- content model subsetted to zero or more paragraph (p) children,
- and supersetted by optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-head"><code>tt:head</code></a></td>
-
- <td><code>xhtml:head</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model
- changed to optional metadata children, followed by optional
- styling child, followed by optional layout child</td>
-
- <td>1,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#layout-vocabulary-layout"><code>tt:layout</code></a></td>
-
- <td><code>fo:simple-page-master</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-metadata"><code>tt:metadata</code></a></td>
-
- <td><code>svg:metadata</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model
- subsetted to foreign namespace element content only (no
- #PCDATA)</td>
-
- <td>3,5</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-p"><code>tt:p</code></a></td>
-
- <td><code>xhtml:p</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur,
- +@end, +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space;
- content model subsetted to zero or more span children, and
- supersetted by optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#layout-vocabulary-region"><code>tt:region</code></a></td>
-
- <td><code>fo:region-*</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#animation-vocabulary-set"><code>tt:set</code></a></td>
-
- <td><code>svg:set</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@* except begin, dur, end; +@tts:*, +@xml:lang,
- +@xml:space</td>
-
- <td>3,6</td>
- </tr>
-
- <tr>
- <td><a href=
- "#content-vocabulary-span"><code>tt:span</code></a></td>
-
- <td><code>xhtml:span</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur,
- +@end, +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space;
- content model subsetted to zero or more #PCDATA or break (br)
- children, and supersetted by optional metadata and animation
- children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#styling-vocabulary-style"><code>tt:style</code></a></td>
-
- <td><em>style specification</em></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>XML representation of identified set of pairs of style
- property name and value, with optional inclusion of other styles
- by reference to other style elements</td>
-
- <td>7</td>
- </tr>
-
- <tr>
- <td><a href=
- "#styling-vocabulary-styling"><code>tt:styling</code></a></td>
-
- <td><code>xhtml:style</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>XML representation of a set of style specifications sets,
- each represented by a style child element</td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-tt"><code>tt:tt</code></a></td>
-
- <td><code>xhtml:html</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model
- subsetted by permitting body and/or head to be optional</td>
-
- <td>1,8</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-actor"><code>ttm:actor</code></a></td>
-
- <td><code>mpeg7:Creator</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-agent"><code>ttm:agent</code></a></td>
-
- <td><code>mpeg7:Agent</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-copyright"><code>ttm:copyright</code></a></td>
-
- <td><code>mpeg7:CopyrightString</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-desc"><code>ttm:desc</code></a></td>
-
- <td><code>svg:desc</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-name"><code>ttm:name</code></a></td>
-
- <td><code>mpeg7:Name</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-title"><code>ttm:title</code></a></td>
-
- <td><code>svg:title</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a></td>
-
- <td><code>@baseProfile</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>11</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Derivation is indicated with respect to the strict DTD defined
- by <a href="#xhtml10">[XHTML 1.0]</a>, §A.1.</p>
- </li>
-
- <li>
- <p>The <code>class</code> attribute is effectively replaced by
- the <code>style</code> attribute, which, instead of specifying an
- inline style, refers indirectly to one or more <a href=
- "#styling-vocabulary-style"><code>style</code></a> elements that
- define a set of style specification sets.</p>
- </li>
-
- <li>
- <p>The <code>xml:lang</code> and <code>xml:space</code>
- attributes are defined for all element types in order to support
- their inheritance semantics to operate in the context of foreign
- namespace elements.</p>
- </li>
-
- <li>
- <p>Derivation is conceptual (notional) only.</p>
- </li>
-
- <li>
- <p>The <code>xml:base</code> attribute is not used since there
- are no external references from core vocabulary.</p>
- </li>
-
- <li>
- <p>The <code>attributeName</code> and <code>to</code> attributes
- of <code>svg:set</code> are replaced by the direct expression of
- the target attribute name and value by use of a
- <code>tts:*</code> attribute.</p>
- </li>
-
- <li>
- <p>CSS style specification syntax is mapped to XML by use of
- attributes defined in the TT Style Namespace.</p>
- </li>
-
- <li>
- <p>The <code>xml:id</code> attribute is defined for use on all
- element types.</p>
- </li>
-
- <li>
- <p>The <code>style</code> attribute is supported only on content
- elements.</p>
- </li>
-
- <li>
- <p>Derived from the use of <code>@requiredExtensions</code> 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="d3e19117" name="d3e19117"></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 the model
- (if a model is indicated); the fourth column specifies details about
- the derivation; the last column refers to additional notes describing
- the nature of the derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a
- notation is use to indicate the addition or removal of an attribute
- value. For example, in the derivation of the <code>timeContainer</code>
- attribute, the details column includes "-excl", which denotes that the
- <code>excl</code> value that is specified for use with the
- <code>timeContainer</code> model attribute is not specified for use
- with the corresponding TTML attribute; similarly, an "+<em>value</em>"
- in the details column indicates that the attribute's values have been
- extended to include <em>value</em>.</p>
-
- <p>Only those attributes that are specified for use on more than one
- TTML element type are listed below. Those per-element namespace
- attributes that are uniquely defined for a specific TTML element type
- are not listed below, but are considered to be part of the specific
- element type's derivation described in <a href=
- "#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
- above.</p><a id="attribute-vocab-derivation-table" name=
- "attribute-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-2 – Attributes
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Attribute</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-begin"><code>begin</code></a></td>
-
- <td><code>begin</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-dur"><code>dur</code></a></td>
-
- <td><code>dur</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-end"><code>end</code></a></td>
-
- <td><code>end</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#layout-attribute-region"><code>region</code></a></td>
-
- <td><code>master-reference</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-style"><code>style</code></a></td>
-
- <td><code>class</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>dereferences style specification(s) directly</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a></td>
-
- <td><code>timeContainer</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>-excl, -none; no default attribute value</td>
-
- <td>5</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-attribute-agent"><code>ttm:agent</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute agent of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-attribute-role"><code>ttm:role</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute role of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses uniform grid resolution for cell based
- coordinates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>determines how to interpret time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses integral frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to express non-integral, rational frame rates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses marker continuity semantics</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses pixel aspect ratio of related media</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses profile of TTML used by a <em>Document
- Instance</em></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses frame counting (drop) modes</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses sub-frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret tick based time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret semantics of time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a></td>
-
- <td><code>background-color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,6</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-color"><code>tts:color</code></a></td>
-
- <td><code>color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>6</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-direction"><code>tts:direction</code></a></td>
-
- <td><code>direction</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-display"><code>tts:display</code></a></td>
-
- <td><code>display</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>only <code>auto</code>, <code>none</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a></td>
-
- <td><code>display-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-extent"><code>tts:extent</code></a></td>
-
- <td><code>width</code>, <code>height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a></td>
-
- <td><code>font-family</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, extends generic family names</td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a></td>
-
- <td><code>font-size</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a></td>
-
- <td><code>font-style</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-backslant</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a></td>
-
- <td><code>font-weight</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-bolder</code>,
- <code>-lighter</code>, <code>-<number></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a></td>
-
- <td><code>line-height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-<number></code>,
- <code>-<space></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a></td>
-
- <td><code>opacity</code></td>
-
- <td><a href="#css3-color">[CSS3 Color]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-origin"><code>tts:origin</code></a></td>
-
- <td><code>top</code>, <code>left</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a></td>
-
- <td><code>overflow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-auto</code>,
- <code>-error-if-overflow</code></td>
-
- <td>8</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-padding"><code>tts:padding</code></a></td>
-
- <td><code>padding</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a></td>
-
- <td><code>showBackground</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a></td>
-
- <td><code>text-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a></td>
-
- <td><code>text-decoration</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,10,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a></td>
-
- <td><code>text-shadow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>11,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a></td>
-
- <td><code>unicode-bidi</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a></td>
-
- <td><code>visibility</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-collapse</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-wrapOption"><code>tts:wrapOption</code></a></td>
-
- <td><code>wrap-option</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a></td>
-
- <td><code>writing-mode</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>+tblr</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a></td>
-
- <td><code>z-index</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-id"><code>xml:id</code></a></td>
-
- <td><code>xml:id</code></td>
-
- <td><a href="#xmlid">[XML ID]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#content-attribute-lang"><code>xml:lang</code></a></td>
-
- <td><code>xml:lang</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#content-attribute-space"><code>xml:space</code></a></td>
-
- <td><code>xml:space</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>see notes</td>
-
- <td>12</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Attribute name and/or value(s) are normalized to use
- <em>lowerCamelCase</em> naming convention.</p>
- </li>
-
- <li>
- <p>Restricted to expressing a clock value that denotes one of the
- following in accordance to whether the parameter expressed by the
- <code>ttp:timeBase</code> attribute is <code>media</code>,
- <code>smpte</code>, or <code>clock</code>, respectively: (1) an
- offset from an implicit syncbase that is linked to a media time
- line, (2) an event time that represents the occurrence of an
- implicit media marker, or (3) a wall-clock time.</p>
- </li>
-
- <li>
- <p>Syntactically subsets and supersets the <a href=
- "#smil21">[SMIL 2.1]</a> <code>Clock-value</code> syntax as
- follows: (1) requires non-negative <code>Full-clock-value</code>
- or <code>Timecount-value</code>; (2) if
- <code>Full-clock-value</code> then <em>hours</em> must be two or
- more digits; (3) if <code>Timecount-value</code>, then
- <em>metric</em> must be specified; (4) uses <code>m</code> as
- alias for <code>min</code> metric to denote minutes; (5) adds
- <code>f</code> and <code>t</code> metrics denoting frames and
- ticks, respectively; (6) adds alternative expression of optional
- <code>Fraction</code> in <code>Full-clock-value</code> by
- specifying frame count or frame count with subframe count.</p>
- </li>
-
- <li>
- <p>Interpretation of time expression is further constrained by
- parameters expressed by <code>ttp:clockMode</code>,
- <code>ttp:dropMode</code>, <code>ttp:frameRate</code>,
- <code>ttp:frameRateMultiplier</code>,
- <code>ttp:markerMode</code>, <code>ttp:subFrameRate</code>,
- <code>ttp:tickRate</code>, and <code>ttp:timeBase</code>
- attributes.</p>
- </li>
-
- <li>
- <p>Uses subset of named colors from model to which two aliases
- are added as follows: <code>magenta</code> as
- <code>fuchsia</code>, and <code>cyan</code> as
- <code>aqua</code>.</p>
- </li>
-
- <li>
- <p>If not specified, then parallel (par) container semantics
- apply to the element types specified by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4
- timeContainer</b></a>.</p>
- </li>
-
- <li>
- <p>Restricts size to length specification which can be a
- percentage; adds optional second length (or percentage) for
- specifying separate horizontal and vertical scaling of glyph's EM
- square.</p>
- </li>
-
- <li>
- <p>Expressed in terms of writing mode relative padding properties
- rather than absolute padding properties.</p>
- </li>
-
- <li>
- <p>Excludes <code>blink</code> and <code>no-blink</code>
- values.</p>
- </li>
-
- <li>
- <p>Uses only one length specification instead of two, where one
- length defines distance of outline effect from nominal edge of
- glyph contour outline perpendicular to point of glyph contour.
- Percentage lengths are also added to express outline effect in
- relative to font size. Outline effects are intended to be drawn
- both outside of outer closed contours and inside of inner closed
- contours.</p>
- </li>
-
- <li>
- <p>On root element, default attribute value specified as
- <code>default</code>, which is defined in terms of whitespace
- normalization. Semantics of preservation and default
- normalization are defined in terms of presentation semantics by
- <a href="#content-attribute-space"><b>7.2.3
- xml:space</b></a>.</p>
- </li>
-
- <li>
- <p>Defined to be inheritable.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="qa" name="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="d3e20003" name="d3e20003"></a>K.1 Requirements</h3><a id=
- "qa-framework-requirements-table" name=
- "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="d3e20167" name="d3e20167"></a>K.2 Guidelines</h3><a id=
- "qa-framework-guidelines-table" name=
- "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">
- <h2><a id="streaming" name="streaming"></a>L Streaming TTML Content
- (Non-Normative)</h2>
-
- <p>TTML Content is designed to support streamability by implementing the
- following properties:</p>
-
- <ul>
- <li>
- <p>can be progressively encoded (i.e., does not require computing
- subsequent data prior to sending current data);</p>
- </li>
-
- <li>
- <p>can be progressively decoded (i.e., does not require forward
- references, but uses only reverse references when necessary);</p>
- </li>
-
- <li>
- <p>does not require dereferencing (and subsequent loading) of any
- resources other than TTML Content (i.e., no embedded URIs);</p>
- </li>
-
- <li>
- <p>does not support alternative content forms (e.g., different
- language, graphics formats, time bases) in a single document;</p>
- </li>
-
- <li>
- <p>has timing structure compiled into inline format that makes
- possible a temporal ordering of content that follows temporal
- presentation order;</p>
- </li>
-
- <li>
- <p>constrains content models to prevent arbitrary nested content
- structures;</p>
- </li>
- </ul>
-
- <p>One possible means by which TTML Content may be streamed is to
- partition a <em>Document Instance</em>'s information set into
- non-overlapping fragments, where one particular fragment, call it the
- <em>root fragment</em>, represents the front matter (head) of the
- <em>Document Instance</em> as well as its top level structural elements,
- and other fragments represent content whose time intervals are expected
- to be active in parallel.</p>
-
- <p>In applications that require arbitrary (random) entry into a stream,
- i.e., the property of being able to start reading data at an arbitrary
- data access unit, the root fragment will be repetitively transmitted
- (inserted) into the stream in order to permit a decoder to resynchronize
- and acquire sufficient structural information in the information set in
- order to interpret subsequent content 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" name=
- "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" name="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 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" name=
- "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 <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" name=
- "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, 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" name="clock-time-and-real-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Real Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>R = C + epochOffset + discontinuityOffset</code><br>
- <br>
- where <code>C ∈ ℜ</code>, <code>0 ≤ C < ∞</code>,
- <code>C</code> in seconds since the most immediately prior
- midnight of the reference clock base;<br>
- <br>
- <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset <
- ∞</code>, <code>epochOffset</code> in seconds, with 0 being
- the beginning of epoch <code>E</code>, and where the value of
- <code>epochOffset</code> is determined from the computed
- value of the <code>ttp:clockMode</code> parameter as
- follows:<br>
- <br>
- (1) if <code>local</code>, then the difference between the
- local real time at the most immediately prior local midnight
- and the local real time at the beginning of epoch
- <code>E</code>, expressed in seconds;<br>
- <br>
- (2) if <code>gps</code>, then the difference between the GPS
- time at the most immediately prior GPS midnight and the GPS
- time at the beginning of epoch <code>E</code>, expressed in
- seconds;<br>
- <br>
- (3) if <code>utc</code>, then the difference between the UTC
- time at the most immediately prior UTC midnight and the UTC
- time at the beginning of epoch <code>E</code>, expressed in
- seconds;<br>
- <br>
- <code>discontinuityOffset ∈ ℜ</code>, <code>−∞ <
- discontinuityOffset < ∞</code>,
- <code>discontinuityOffset</code> in seconds, and where the
- value of <code>discontinuityOffset</code> is equal to the sum
- of leap seconds (and fractions thereof) that have been added
- (or subtracted) since the most immediately prior midnight in
- the reference clock base;<br>
- <br>
- and <code>epochOffset</code> and
- <code>discontinuityOffset</code> are determined once and only
- once prior to the beginning of the <em>Root Temporal
- Extent</em> such that during the period between value
- determination and the beginning of the <em>Root Temporal
- Extent</em> there occurs no local midnight or reference clock
- base discontinuity.<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related
- to clock time <span class="strong"><code>C</code></span> as
- follows:</p><a id="time-expressions-and-clock-time" name=
- "time-expressions-and-clock-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Clock Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- If a time expression uses the <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks
- (<code>t</code>) metric, then:<br>
- <br>
- <code>C = 3600 * hours + 60 * minutes + seconds</code><br>
- <br>
- where <code>hours</code>, <code>minutes</code>,
- <code>seconds</code> components are extracted from time
- expression if present, or zero if not present.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em>
- form that uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>C = ticks / tickRate</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <em>frames</em> and <em>sub-frames</em> terms and the frames
- (<code>f</code>) metric of time expressions do not apply when using
- the <code>clock</code> time base.</p>
- </div>
-
- <p>The clock time base <span class="strong"><code>C</code></span> is
- independent of media time <span class=
- "strong"><code>M</code></span>:</p><a id="clock-time-and-media-time"
- name="clock-time-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>M ¬∝ C</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, timing is disconnected from (not necessarily
- proportional to) media time when the <code>clock</code> time base is
- used. For example, if the media play rate is zero (0), media playback
- is suspended; however, timing coordinates 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" name=
- "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, 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" name="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>
- <code>R = playRate * M + epochOffset</code><br>
- <br>
- where <code>M ∈ ℜ</code>, <code>0 ≤ M < ∞</code>,
- <code>M</code> in seconds, with 0 corresponding to the
- beginning of the <em>Root Temporal Extent</em>;<br>
- <br>
- <code>playRate ∈ ℜ</code>, <code>−∞ < playRate <
- ∞</code>, <code>playRate</code> is unit-less, and where the
- value of <code>playRate</code> is determined by the document
- processing context;<br>
- <br>
- and <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset <
- ∞</code>, <code>epochOffset</code> in seconds, with 0
- corresponding to the beginning of an epoch <code>E</code>,
- and where the value of <code>epochOffset</code> is the
- difference between the local real time at the beginning of
- the <em>Root Temporal Extent</em> and the local real time at
- the the beginning of epoch <code>E</code>, expressed in
- seconds.</p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related
- to media time <span class="strong"><code>M</code></span> in accordance
- to the <code>ttp:frameRate</code>, <code>ttp:subFrameRate</code>, and
- <code>ttp:frameRateMultipler</code> parameters as follows:</p><a id=
- "time-expressions-and-media-time" name=
- "time-expressions-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- If a time expression uses a <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks
- (<code>t</code>) metric, then:<br>
- <br>
- <code>M = referenceBegin + 3600 * hours + 60 * minutes +
- seconds + ((frames + (subFrames / subFrameRate)) /
- effectiveFrameRate)</code><br>
- <br>
- where <code>referenceBegin</code> is determined according to
- whether the nearest ancestor time container employs parallel
- (<code>par</code>) or sequential (<code>seq</code>)
- semantics: if parallel or if sequential and no prior sibling
- timed element exists, then <code>referenceBegin</code> is the
- media time that corresponds to the beginning of the nearest
- ancestor time container or zero (0) if this time container is
- the <em>Root Temporal Extent</em>; otherwise, if sequential
- and a prior sibling timed element exists, then
- <code>referenceBegin</code> is the media time that
- corresponds to the active end of the immediate prior sibling
- timed element;<br>
- <br>
- the <code>hours</code>, <code>minutes</code>,
- <code>seconds</code>, <code>frames</code>,
- <code>subFrames</code> components are extracted from time
- expression if present, or zero if not present;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em>
- form that uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>M = referenceBegin + ticks / tickRate</code><br>
- <br>
- where <code>referenceBegin</code> is as described above;<br>
- <br>
- the <code>ticks</code> component is extracted from time
- expression;<br>
- <br>
- and <code>tickRate</code> is the computed value of the
- <code>ttp:tickRate</code> parameter;<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" name=
- "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, 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 Codes</em> are encountered in the
- <em>Related Media Object</em>.</p>
-
- <p>Otherwise, if the computed value of the <code>ttp:markerMode</code>
- parameter is <code>continuous</code>, then the relationships between
- time expressions and local real time and media time are as described
- below in terms of a <em>Synthetic SMPTE Document Syncbase</em>, here
- referred to as the SMPTE time base <span class=
- "strong"><code>S</code></span>.</p><a id=
- "time-expressions-and-smpte-time" name=
- "time-expressions-and-smpte-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and SMPTE Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>S = (countedFrames - droppedFrames + (subFrames /
- subFrameRate)) / effectiveFrameRate</code><br>
- <br>
- where<br>
- <br>
- <code>countedFrames = (3600 * hours + 60 * minutes + seconds)
- * frameRate + frames</code><br>
- <br>
- <code>hours</code>, <code>minutes</code>,
- <code>seconds</code>, <code>frames</code>,
- <code>subFrames</code> components are extracted from time
- expression if present, or zero if not present;<br>
- <br>
- <code>droppedFrames</code> is computed as follows:<br>
- <br>
- 1. let <em>dropMode</em> be the computed value of the
- <code>ttp:dropMode</code> parameter;<br>
- <br>
- 2. if <em>dropMode</em> is <code>dropNTSC</code>, let
- <code>droppedFrames = (hours * 54 + floor(minutes -
- minutes/10)) * 2</code>;<br>
- <br>
- 3. otherwise, if <em>dropMode</em> is <code>dropPAL</code>,
- let <code>droppedFrames = (hours * 27 + floor(minutes/2 -
- minutes/20)) * 4</code>;<br>
- <br>
- 4. otherwise, let <code>droppedFrames = 0</code>;<br>
- <br>
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<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.<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" name="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>
- <code>M = referenceBegin + S</code><br>
- <br>
- where <code>referenceBegin</code> is determined according to
- whether the nearest ancestor time container employs parallel
- (<code>par</code>) or sequential (<code>seq</code>)
- semantics: if parallel or if sequential and no prior sibling
- timed element exists, then <code>referenceBegin</code> is the
- SMPTE time that corresponds to the beginning of the nearest
- ancestor time container or zero (0) if this time container is
- the <em>Root Temporal Extent</em>; otherwise, if sequential
- and a prior sibling timed element exists, then
- <code>referenceBegin</code> is the SMPTE time that
- corresponds to the active end of the immediate prior sibling
- timed element;<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Given the derived media time base as described above, then media
- time base <span class="strong"><code>M</code></span> is related to the
- local real time <span class="strong"><code>R</code></span> as described
- in <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> above.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="common-styling" name="common-styling"></a>O Common Caption
- Style Examples (Non-Normative)</h2>
-
- <p>This section provides examples of the following common caption styles
- using TTML Content to obtain the desired behavior:</p>
-
- <ul>
- <li>
- <p>Pop-On Captions</p>
- </li>
-
- <li>
- <p>Roll-Up Captions</p>
- </li>
-
- <li>
- <p>Paint-On Captions</p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="pop-on-example" name="pop-on-example"></a>O.1 Pop-On Caption
- Example</h3>
-
- <p>An example of paint-on captions. In this example, two regions are
- targeted with alternating, paint-on content, where content is timed
- using explicit sequential time containment rules. Each paragraph is
- non-overlapping in time and appears in the same single row of its
- targeted region.</p><a id="pop-on-example-1-s" name=
- "pop-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Pop-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 1c"/>
- <region xml:id="r2" tts:color="yellow" tts:origin="10c 8c" tts:extent="40c 1c"/>
- </layout>
- </head>
- <body>
- <div timeContainer="seq">
- <p region="r1" dur="4s">Lorem ipsum dolor sit</p
- <p region="r2" dur="4s">Amet consectetur adipiscing elit</p>
- <p region="r1" dur="6s">Sed do eiusmod tempor incididunt labore</p>
- <p region="r2" dur="4s">et dolore magna aliqua</p>
- <p region="r1" dur="7s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="roll-up-example" name="roll-up-example"></a>O.2 Roll-Up
- Caption Example</h3>
-
- <p>An example of roll-up captions. Roll-up effects are achieved by
- using overlapped time intervals, where zero, one, or two paragraphs
- appear in the region at a given time. Each paragraph consumes a single
- row (line) of the region since no wrapping occurs. Depending on whether
- a presentation processor supports <a href=
- "#semantics-smooth-scrolling-recommendation">smooth scrolling between
- adjacent synchronic intermediate document instances</a>, the
- transitions, i.e., moving an old paragraph (line) out and a new
- paragraph (line) in, will be either smooth or discrete.</p><a id=
- "roll-up-example-1-s" name="roll-up-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Roll-Up Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 2c"/>
- </layout>
- </head>
- <body>
- <div region="r1">
- <p begin="0s" end="8s">Lorem ipsum dolor sit</p
- <p begin="4s" end="12s">Amet consectetur adipiscing elit</p>
- <p begin="8s" end="18s">Sed do eiusmod tempor incididunt labore</p>
- <p begin="14s" end="25s">et dolore magna aliqua</p>
- <p begin="18s" end="29s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="paint-on-example" name="paint-on-example"></a>O.3 Paint-On
- Caption Example</h3>
-
- <p>An example of paint-on captions. Paint-on effects are achieved by
- using timed <code>span</code> elements in order to expose (paint)
- inline text units, e.g., words, over some time interval. Here, five
- paragraphs have their individual words sequentially timed in order to
- paint one new word every second. The end of the active duration of each
- inline element coincides with the end of the <code>div</code> element's
- parallel time container, so that once a word is painted, it remains in
- the region (on its rendered line) until the <code>div</code> element's
- active time interval lapses.</p><a id="paint-on-example-1-s" name=
- "paint-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Paint-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 5c"/>
- </layout>
- </head>
- <body>
- <div begin="0s" end="25s">
- <p>
- <span begin="0s">Lorem</span>
- <span begin="1s">ipsum</span>
- <span begin="2s">dolor</span>
- <span begin="3s">sit</span>
- </p>
- <p>
- <span begin="4s">Amet</span>
- <span begin="5s">consectetur</span>
- <span begin="6s">adipiscing</span>
- <span begin="7s">elit</span>
- </p>
- <p>
- <span begin="8s">Sed</span>
- <span begin="9s">do</span>
- <span begin="10s">eiusmod</span>
- <span begin="11s">tempor</span>
- <span begin="12s">incididunt </span>
- <span begin="13s">labore</span>
- </p>
- <p>
- <span begin="14s">et</span>
- <span begin="15s">dolore</span>
- <span begin="16s">magna</span>
- <span begin="17s">aliqua</span>
- </p>
- <p>
- <span begin="18s">Ut</span>
- <span begin="19s">enim</span>
- <span begin="20s">ad</span>
- <span begin="21s">minim</span>
- <span begin="22s">veniam</span>
- <span begin="23s">quis,</span>
- <span begin="24s">nostrud</span>
- </p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="acknowledgments" name="acknowledgments"></a>P Acknowledgments
- (Non-Normative)</h2>
-
- <p>The editor acknowledges the current and former members of the Timed
- Text Working Group, the members of other W3C Working Groups, and industry
- experts in other forums who have contributed directly or indirectly to
- the process or content of this document as follows:</p>
-
- <p>Glenn Adams, Thomas Bause-Mason, John Birch, Kees Blom, Bert Bos, Brad
- Botkin, Dick Bulterman, Frans de Jong, Mike Dolan, Martin Dürst, Donald
- Evans, Geoff Freed, Al Gilman, Giles Godart-Brown, Markus Gylling, Markku
- Hakkinen, Sean Hayes, Erik Hodge, Philipp Hoschka, Suzi Hyun, Michael
- Jordan, Masahiko Kaneko, Courtney Kennedy, George Kerscher, David Kirby,
- Andrew Kirkpatrick, Philippe Le Hégaret, Chris Lilley, Pierre-Anthony
- Lemieux, Jason Livingston, Monica Martin, Thierry Michel, Matthew May,
- Frank Olivier, Soohong Daniel Park, Silvia Pfeiffer, Brian Raymor, David
- Ronca, Patrick Schmitz, David Singer, Craig Smithpeters, Andreas Tai, and
- Mohamed Zergaoui.</p>
-
- <p>The editor wishes to especially acknowledge the following
- contributions by members: Micheal Dolan (SMPTE time codes, streaming;
- SMPTE liaison), David Kirby (introductory example document; SMPTE time
- codes, descriptive metadata; EBU/AAF liaison), Geoff Freed (styling and
- example images of style properties), Sean Hayes (advanced profile
- concepts, including applicative timing), Eric Hodge (timing), Thierry
- Michel (metadata), and Dave Singer (animation, scrolling).</p>
-
- <p>The Working Group dedicates this specification to our colleague David
- Kirby.</p>
- </div>
- </div>
-</body>
-</html>
Binary file ttml10/spec/PER-ttaf1-dfxp-201307DD.zip has changed
--- a/ttml10/spec/build.xml Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/build.xml Fri Jun 28 00:19:59 2013 -0600
@@ -286,7 +286,7 @@
<echo>WARNING: changelog.xml and acknowledgments.xml MAY be out of date. Use "main" target if necessary.</echo>
</target>
- <property name="per.name" value="PER-ttaf1-dfxp-201307DD"/>
+ <property name="per.name" value="PER-ttaf1-dfxp-20130709"/>
<property name="per.target" value="${basedir}/${per.name}"/>
<target name="per-archive" description="Create PER Archive">
<fail>
--- a/ttml10/spec/entities.dtd Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/entities.dtd Fri Jun 28 00:19:59 2013 -0600
@@ -1,9 +1,9 @@
<!-- comment / uncomment the appropriate entity -->
-<!ENTITY % sub.entities SYSTEM "entitiesedcopy.dtd" >
+<!-- <!ENTITY % sub.entities SYSTEM "entitiesedcopy.dtd" > -->
<!-- <!ENTITY % sub.entities SYSTEM "entitieswd.dtd" > -->
<!-- <!ENTITY % sub.entities SYSTEM "entitiescr.dtd" > -->
-<!-- <!ENTITY % sub.entities SYSTEM "entitiesper.dtd" > -->
+<!ENTITY % sub.entities SYSTEM "entitiesper.dtd" >
%sub.entities;
<!-- Titles -->
--- a/ttml10/spec/entitiesper.dtd Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/entitiesper.dtd Fri Jun 28 00:19:59 2013 -0600
@@ -6,10 +6,11 @@
<!ENTITY draft.year "2013">
<!ENTITY draft.month "July">
<!ENTITY draft.mm "07">
-<!ENTITY draft.day "DD">
-<!ENTITY draft.dd "DD">
+<!ENTITY draft.day "09">
+<!ENTITY draft.dd "09">
<!ENTITY draft.date "&draft.year;&draft.mm;&draft.dd;">
+<!ENTITY review.end.date "06 August 2013">
<!ENTITY prefix "ttaf1-dfxp">
--- a/ttml10/spec/statusper.xml Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/statusper.xml Fri Jun 28 00:19:59 2013 -0600
@@ -18,7 +18,10 @@
part of the W3C <loc href="http://www.w3.org/2008/WebVideo/">Video
in the Web Activity</loc>, following the procedures set out for the W3C <loc
href="http://www.w3.org/Consortium/Process/">Process</loc>. The authors of this
-document are listed in the header of this document.</p>
+document are listed in the header of this document, including input and review
+by liaisons from the <loc href="http://www3.ebu.ch/cms/en/home">European
+Broadcasting Union (EBU)</loc>, and the <loc href="https://www.smpte.org">Society
+of Motion Picture & Television Engineers (SMPTE)</loc>.</p>
<p>Publication as a Proposed Edited Recommendation does not imply endorsement by
the W3C Membership. This is a draft document and may be updated,
@@ -26,7 +29,7 @@
inappropriate to cite this document as other than work in progress.</p>
<p>W3C Advisory Committee Members are invited to send formal review comments
-on this Proposed Edited Recommendation to the W3C Team until DD August 2013.
+on this Proposed Edited Recommendation to the W3C Team until &review.end.date;.
Members of the W3C Advisory Committee will find the appropriate review form
for this document by consulting their
<loc href="http://www.w3.org/2002/09/wbs/myQuestionnaires">list
@@ -54,7 +57,7 @@
<p>The Timed Text Working Group plans to submit this specification for
consideration as a W3C Recommendation (Second Edition) as soon as the Working
-Group has responded formally to all issues raised during the PER period
+Group has responded formally to all issues raised during the PER review period
against this document.</p>
<p>This document was produced by a group operating under the <loc
--- a/ttml10/spec/ttaf1-dfxp.html Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/ttaf1-dfxp.html Fri Jun 28 00:19:59 2013 -0600
@@ -1,6 +1,6 @@
<!DOCTYPE html
PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-<html lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Timed Text Markup Language (TTML) 1.0 (Second Edition) -- (Editor's copy)</title><style type="text/css">
+<html lang="en-us"><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><title>Timed Text Markup Language (TTML) 1.0 (Second Edition)</title><style type="text/css">
code { font-family: monospace; }
div.constraint,
@@ -80,14 +80,14 @@
.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/06/27 16:25:13 $<div id="revisions"></div><div class="head">
+</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-PER.css"></head><body><div class="head"><p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"></a></p>
<h1><a id="title"></a>Timed Text Markup Language (TTML) 1.0 (Second Edition)</h1>
-<h2><a id="w3c-doctype"></a>Editors' copy $Date: 2013/06/27 16:25:13 $ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
-<a href="ttaf1-dfxp.html">ttaf1-dfxp.html</a>
-</dd><dt>Latest version:</dt><dd><a href="http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10/spec/ttaf1-dfxp.html?content-type=text/html;charset=utf-8">http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10/spec/ttaf1-dfxp.html?content-type=text/html;charset=utf-8</a></dd><dt>Previous version:</dt><dd>
+<h2><a id="w3c-doctype"></a>W3C Proposed Edited Recommendation 09 July 2013</h2><dl><dt>This version:</dt><dd>
+<a href="http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/">http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/</a>
+</dd><dt>Latest version:</dt><dd><a href="http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</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>
</dd><dt>Editor:</dt><dd>Glenn Adams, Cox Communications, Inc.</dd><dt>Contributing Authors:</dt><dd>Mike Dolan, Invited Expert</dd><dd>Geoff Freed, WGBH National Center for Accessible Media</dd><dd>Sean Hayes, Microsoft</dd><dd>Erik Hodge, RealNetworks</dd><dd>David Kirby, British Broadcasting Corporation (BBC)</dd><dd>Thierry Michel, W3C</dd><dd>Dave Singer, Apple Computer</dd></dl><p>Please refer to the <a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-issues.html">errata</a> for this document, which may
- include normative corrections.</p><p>See also <a href="http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp"><strong>translations</strong></a>.</p><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr><div>
+ include normative corrections.</p><p>See also <a href="http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp"><strong>translations</strong></a>.</p><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.eu/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>, <a href="http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr><div>
<h2><a id="abstract"></a>Abstract</h2><p>This document specifies the Timed Text Markup Language (TTML) in terms of a
vocabulary and semantics thereof.</p><p>The Timed Text Markup Language is a content type that represents
timed text media for the purpose of interchange among authoring
@@ -100,8 +100,53 @@
for example, providing a standard content format to reference from a <code><track></code>
element in an HTML5 document, or a <code><text></code> or
<code><textstream></code> media element in a <a href="#smil21">[SMIL 2.1]</a> document.</p></div><div>
-<h2><a id="status"></a>Status of this Document</h2><p><strong>This document is an editor's copy that has
- no official standing.</strong></p><p></p></div><div class="toc">
+<h2><a id="status"></a>Status of this Document</h2><p><em>This section describes the status of this document at the
+time of its publication. Other documents may supersede this document.
+A list of current W3C publications and the latest revision of this
+technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
+http://www.w3.org/TR/.</em></p><p>This document, published on 09 July 2013,
+is a <a href="http://www.w3.org/2005/10/Process-20051014/tr.html#ProposedEditedRec">Proposed Edited Recommendation</a>
+of the W3C. This second edition is not a new version of this specification;
+its purpose is to clarify a number of issues that have become apparent since the
+first edition was published.</p><p>This document has been produced by the <a href="http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as
+part of the W3C <a href="http://www.w3.org/2008/WebVideo/">Video
+in the Web Activity</a>, following the procedures set out for the W3C <a href="http://www.w3.org/Consortium/Process/">Process</a>. The authors of this
+document are listed in the header of this document, including input and review
+by liaisons from the <a href="http://www3.ebu.ch/cms/en/home">European
+Broadcasting Union (EBU)</a>, and the <a href="https://www.smpte.org">Society
+of Motion Picture & Television Engineers (SMPTE)</a>.</p><p>Publication as a Proposed Edited Recommendation does not imply endorsement by
+the W3C Membership. This is a draft document and may be updated,
+replaced or obsoleted by other documents at any time. It is
+inappropriate to cite this document as other than work in progress.</p><p>W3C Advisory Committee Members are invited to send formal review comments
+on this Proposed Edited Recommendation to the W3C Team until 06 August 2013.
+Members of the W3C Advisory Committee will find the appropriate review form
+for this document by consulting their
+<a href="http://www.w3.org/2002/09/wbs/myQuestionnaires">list
+of WBS questionnaires</a>.</p><p>This document incorporates changes made against the
+<a href="http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">Recommendation</a>
+of 18 November 2010 that resolve all errata known at the date of publication.
+A list of the errata that have been applied is provided in
+<a href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-changes.html#change-history-rec-to-2e-per">Changes
+from Recommendation to Proposed Edited Recommendation (2nd Ed.)</a>.</p><p>Please report errors in and submit comments on this document to the
+W3C Timed Text public comments mailing list,
+<a href="mailto:public-tt-comments@w3.org">public-tt-comments@w3.org</a>.
+Please include the string <code>[ttml10se]</code> at the beginning of the
+subject line of your report. Each email message should contain only one
+error report. Archives of the comments and responses are available at
+<a href="http://lists.w3.org/Archives/Public/public-tt-comments/">http://lists.w3.org/Archives/Public/public-tt-comments/</a>.</p><p>An updated <a href="http://www.w3.org/2009/05/dfxp-results.html">implementation
+report</a> will be made available, but the decision of the Director to transition
+this document to Proposed Edited Recommendation did not depend on the existence of that
+report.</p><p>The Timed Text Working Group plans to submit this specification for
+consideration as a W3C Recommendation (Second Edition) as soon as the Working
+Group has responded formally to all issues raised during the PER review period
+against this document.</p><p>This document was produced by a group operating under the <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February
+2004 W3C Patent Policy</a>. W3C maintains a <a href="http://www.w3.org/2004/01/pp-impl/34314/status#disclosures" rel="disclosure">public list of any patent
+disclosures</a> made in connection with the deliverables of the group;
+that page also includes instructions for disclosing a patent. An
+individual who has actual knowledge of a patent which the individual
+believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
+Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section
+6 of the W3C Patent Policy</a>.</p></div><div class="toc">
<h2><a id="contents"></a>Table of Contents</h2><p class="toc">1 <a href="#intro">Introduction</a><br>
1.1 <a href="#model">System Model</a><br>
1.2 <a href="#example">Document Example</a><br>
@@ -392,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="#d3e18570">Element Derivation</a><br>
- J.2 <a href="#d3e19049">Attribute Derivation</a><br>
+ J.1 <a href="#d3e18678">Element Derivation</a><br>
+ J.2 <a href="#d3e19157">Attribute Derivation</a><br>
K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e19935">Requirements</a><br>
- K.2 <a href="#d3e20099">Guidelines</a><br>
+ K.1 <a href="#d3e20043">Requirements</a><br>
+ K.2 <a href="#d3e20207">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>
@@ -6479,7 +6524,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="d3e18570"></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="d3e18678"></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
@@ -6534,7 +6579,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="d3e19049"></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="d3e19157"></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
@@ -6606,9 +6651,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="d3e19935"></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="d3e20043"></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="d3e20099"></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="d3e20207"></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">
@@ -6960,4 +7005,4 @@
Kirby (introductory example document; SMPTE time codes, descriptive metadata; EBU/AAF liaison), Geoff Freed (styling
and example images of style properties), Sean Hayes (advanced profile
concepts, including applicative timing), Eric Hodge (timing),
-Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p><p>The Working Group dedicates this specification to our colleague David Kirby.</p></div></div></body></html>
\ No newline at end of file
+Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p><p>The Working Group dedicates this specification to our colleague David Kirby.</p></div></div></body></html>
--- a/ttml10/spec/ttaf1-dfxp.xml Thu Jun 27 10:35:37 2013 -0600
+++ b/ttml10/spec/ttaf1-dfxp.xml Fri Jun 28 00:19:59 2013 -0600
@@ -1241,7 +1241,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<p>A profile designator must adhere to the
<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
§3.2.17. If the profile designator is expressed as a relative URI,
@@ -1511,7 +1511,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<p>Element vocabulary groups that are used in defining content models
for TTML element types are enumerated in <specref ref="element-vocab-group-table"/>.</p>
<table id="element-vocab-group-table" role="common">
@@ -1569,7 +1569,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<p>The attribute vocabulary specified for use with the core vocabulary
catalog is enumerated in
<specref ref="attribute-vocab-table"/>.</p>
@@ -3566,7 +3566,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-backgroundColor-example-1-images" role="example-images">
<caption>Example Rendition – Background Color</caption>
<tbody>
@@ -3653,7 +3653,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-color-example-1-images" role="example-images">
<caption>Example Rendition – Color</caption>
<tbody>
@@ -3746,7 +3746,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-direction-example-1-images" role="example-images">
<caption>Example Rendition – Direction</caption>
<tbody>
@@ -3859,7 +3859,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-display-example-1-images" role="example-images">
<caption>Example Rendition – Display</caption>
<tbody>
@@ -3987,7 +3987,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-displayAlign-example-1-images" role="example-images">
<caption>Example Rendition – Display Align</caption>
<tbody>
@@ -4089,7 +4089,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-extent-example-1-images" role="example-images">
<caption>Example Rendition – Extent</caption>
<tbody>
@@ -4192,7 +4192,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-fontFamily-example-1-images" role="example-images">
<caption>Example Rendition – Font Family</caption>
<tbody>
@@ -4312,7 +4312,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-fontSize-example-1-images" role="example-images">
<caption>Example Rendition – Font Size</caption>
<tbody>
@@ -4412,7 +4412,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-fontStyle-example-1-images" role="example-images">
<caption>Example Rendition – Font Style</caption>
<tbody>
@@ -4421,7 +4421,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<note role="derivation">
<p>The semantics of the style property
represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
@@ -4510,7 +4510,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-fontWeight-example-1-images" role="example-images">
<caption>Example Rendition – Font Weight</caption>
<tbody>
@@ -4609,7 +4609,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-lineHeight-example-1-images" role="example-images">
<caption>Example Rendition – Line Height</caption>
<tbody>
@@ -4618,7 +4618,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<note role="derivation">
<p>The semantics of the style property
represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
@@ -4704,7 +4704,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-opacity-example-1-images" role="example-images">
<caption>Example Rendition – Opacity</caption>
<tbody>
@@ -4819,7 +4819,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-origin-example-1-images" role="example-images">
<caption>Example Rendition – Origin</caption>
<tbody>
@@ -4935,7 +4935,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-overflow-example-1-images" role="example-images">
<caption>Example Rendition – Overflow</caption>
<tbody>
@@ -5234,7 +5234,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-textAlign-example-1-images" role="example-images">
<caption>Example Rendition – Text Align</caption>
<tbody>
@@ -5347,7 +5347,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-textDecoration-example-1-images" role="example-images">
<caption>Example Rendition – Text Decoration</caption>
<tbody>
@@ -5461,7 +5461,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-textOutline-example-1-images" role="example-images">
<caption>Example Rendition – Text Outline</caption>
<tbody>
@@ -5551,7 +5551,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-unicodeBidi-example-1-images" role="example-images">
<caption>Example Rendition – Unicode Bidirectionality</caption>
<tbody>
@@ -5659,7 +5659,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-visibility-example-1-images" role="example-images">
<caption>Example Rendition – Visibility</caption>
<tbody>
@@ -5768,7 +5768,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-wrapOption-example-1-images" role="example-images">
<caption>Example Rendition – Wrap Option</caption>
<tbody>
@@ -5871,7 +5871,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<table id="style-attribute-writingMode-example-1-images" role="example-images">
<caption>Example Rendition – Writing Mode</caption>
<tbody>
@@ -6011,8 +6011,8 @@
</tr>
</tbody>
</table>
-<p/>
-<p/>
+<p></p>
+<p></p>
<table id="style-attribute-zIndex-example-1-images" role="example-images">
<caption>Example Rendition – Z Index</caption>
<tbody>
@@ -6833,7 +6833,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
</def>
</gitem>
<gitem>
@@ -6907,7 +6907,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
</def>
</gitem>
<gitem>
@@ -8148,7 +8148,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<p>The use of element metadata is illustrated by the following example.</p>
<table id="metadata-vocabulary-metadata-example-2" role="example">
<caption>Example Fragment – Element Metadata</caption>
@@ -8169,7 +8169,7 @@
</tr>
</tbody>
</table>
-<p/>
+<p></p>
<p>The use of metadata attribute items is illustrated by the following example.</p>
<table id="metadata-vocabulary-metadata-example-3" role="example">
@@ -8197,7 +8197,7 @@
attributes by expressing them indirectly on <el>metadata</el>
elements.</p>
</note>
-<p/>
+<p></p>
<p>The use of foreign element metadata is illustrated by the following example.</p>
<table id="metadata-vocabulary-metadata-example-4" role="example">
<caption>Example Fragment – Foreign Element Metadata</caption>
@@ -8224,7 +8224,7 @@
<p>In the above example, a number of elements defined by the Dublin
Core metadata vocabulary are used to express document level metadata.</p>
</note>
-<p/>
+<p></p>
</div3>
<div3 id="metadata-vocabulary-title">
<head>ttm:title</head>