--- a/ttml1/spec/ttml1.html Sat Jan 09 14:15:34 2016 +0100
+++ b/ttml1/spec/ttml1.html Thu Jan 21 11:13:54 2016 -0500
@@ -1,20546 +1,18 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
-<html lang="en-us">
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
- <title>Timed Text Markup Language 1 (TTML1) (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-REC.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 1 (TTML1) (Second
- Edition)</h1>
-
- <h2><a id="w3c-doctype" name="w3c-doctype"></a>W3C Recommendation 24 September
- 2013</h2>
-
- <dl>
- <dt>This version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/2013/REC-ttml1-20130924/">http://www.w3.org/TR/2013/REC-ttml1-20130924/</a></dd>
-
- <dt>Latest version:</dt>
-
- <dd><a href="http://www.w3.org/TR/ttml1/">http://www.w3.org/TR/ttml1/</a></dd>
-
- <dt>Previous 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>Previous recommendation:</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="http://www.w3.org/2013/09/ttml1-errata.html"><strong>errata</strong></a> for
- this document, which may include normative corrections.</p>
-
- <p>See also <a href=
- "http://www.w3.org/2003/03/Translations/byTechnology?technology=ttml1"><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 Timed Text Markup Language (TTML), Version 1, also known
- as TTML1, 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 has been reviewed by W3C Members, by software developers, and by
- other W3C groups and interested parties, and is endorsed by the Director as a W3C
- Recommendation. It is a stable document and may be used as reference material or
- cited from another document. W3C's role in making the Recommendation is to draw
- attention to the specification and to promote its widespread deployment. This
- enhances the functionality and interoperability of the Web.</p>
-
- <p>This version reflects changes made as a result of applying errata and addressing
- comments received since the Recommendation was first published. With one minor
- exception noted below, these changes are editorial.</p>
-
- <p>This document is a revision of Timed Text Markup Language (TTML) 1.0 <a href=
- "#ttml10">[TTML10]</a>, superseding that <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">previous Recommendation</a>. The
- only identified substantive difference between this version and its predecessor is a
- change of the default treatment of the <code>ttp:markerMode</code> parameter
- attribute from <code>continuous</code> to <code>discontinuous</code>. A cumulative
- summary of all changes applied to this version since the Recommendation was first
- published is available at <a href=
- "http://www.w3.org/2013/09/ttml1-changes.html#change-history-rec-to-2e-per">Changes from Recommendation to
- Proposed Edited Recommendation (2nd Ed.)</a> and <a href=
- "http://www.w3.org/2013/09/ttml1-changes.html#change-history-2e-per-to-rec-2e">Changes from Proposed Edited
- Recommendation (2nd Ed.) to Recommendation (2nd Ed.)</a>.</p>
-
- <p>A <a href="http://www.w3.org/2008/10/dfxp-testsuite.zip">sample test suite</a> is
- available. This set of tests is not intended to be exhaustive. The <a href=
- "http://www.w3.org/2009/05/dfxp-results.html">implementation report</a> used by the
- director to transition to Recommendation has been made available. There have been no
- formal objections to the publication of this document.</p>
-
- <p>This document was 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>If you wish to report errors in or submit comments on this document, then please
- submit them to <a href="mailto:public-tt@w3.org">public-tt@w3.org</a> (<a href=
- "mailto:public-tt-request@w3.org">subscribe</a>, <a href=
- "http://lists.w3.org/Archives/Public/public-tt/">archive</a>). All comments are
- welcome.</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="#d3e18942">Element Derivation</a><br>
- J.2 <a href="#d3e19424">Attribute Derivation</a><br>
- K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e20309">Requirements</a><br>
- K.2 <a href="#d3e20473">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) Version 1, also referred to as TTML1,
- 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, 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 is 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 the first edition of this specification, the version number
- <code>1.0</code> was used to refer to this version of TTML. In this second
- edition, this version number is simplified to <code>1</code> as a result of a
- determination to call the next (future) version <code>2</code> instead of
- <code>1.1</code>.</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 older URLs to refer to this
- specification. Starting in this edition of the first version of TTML, the short
- name <code>ttml1</code> will be used, and subsequent versions of TTML are
- expected to use short names of <code>ttml2</code>, etc., with integer version
- numbers.</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>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this example, the <code>p</code> element is used as a presentational
- element rather than as a semantic element, i.e., as a linguistic paragraph. It
- is up to an author to determine which TTML elements are used to convey the
- intended meaning. For instance, this example could be written to use timing on
- <code>span</code> elements in order to preserve the integrity of semantic
- paragraphs.</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 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 profile.</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 profile of content 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">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 of this
- media object, expressed in the coordinate system that applies to the
- <em>Document Instance</em> that is associated with the related 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
- 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>, 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
- <code>used</code> (mandatory and enabled) and by another profile to be
- <code>required</code> (mandatory) or <code>optional</code> (voluntary), then that
- feature or extension must be considered to be <code>used</code> (mandatory and
- enabled); if some feature or some extension is specified by one profile to be
- merely <code>required</code> (mandatory) and by another profile to be
- <code>optional</code> (voluntary), then that feature or extension must be
- considered to be <code>required</code> (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 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
- profile 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 profile 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 <code>required</code> (mandatory) that was either not specified in the
- underlying, baseline profile or was specified as <code>optional</code>
- (voluntary) in the baseline profile. A predefined profile is subsetted by
- specifying some feature or extension to be <code>optional</code> (voluntary)
- that was specified as <code>required</code> (mandatory) 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 <em>required feature</em> or <em>used feature</em> 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 <em>required extension</em> or <em>used
- extension</em> 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 id="element-vocab-type-animation">
- <td>Animation</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr id="element-vocab-type-content">
- <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 id="element-vocab-type-document">
- <td>Document</td>
-
- <td><a href="#document-structure-vocabulary-tt">tt</a></td>
- </tr>
-
- <tr id="element-vocab-type-head">
- <td>Head</td>
-
- <td><a href="#document-structure-vocabulary-head">head</a></td>
- </tr>
-
- <tr id="element-vocab-type-layout">
- <td>Layout</td>
-
- <td><a href="#layout-vocabulary-layout">layout</a>, <a href=
- "#layout-vocabulary-region">region</a></td>
- </tr>
-
- <tr id="element-vocab-type-metadata">
- <td>Metadata</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a></td>
- </tr>
-
- <tr id="element-vocab-type-metadata-items">
- <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 id="element-vocab-type-parameter-items">
- <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 id="element-vocab-type-styling">
- <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>ttp: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>ttp: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 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="#cea608e">[CEA-608-E]</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=
- "#cea708e">[CEA-708-E]</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
- <a href="#element-vocab-type-content">Content</a> elements.</p>
-
- <p>A <code>layout</code> child element is used to specify layout constructs
- that are referenced by <a href="#element-vocab-type-content">Content</a>
- 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
- <a href="#element-vocab-type-content">Content</a> 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
- <a href="#element-vocab-type-content">Content</a> 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
- <a href="#element-vocab-type-content">Content</a> 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
- <a href="#element-vocab-type-content">Content</a> 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>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>br</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>br</code> element.</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><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
- <a href="#element-vocab-type-content">Content</a> 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
- <a href="#element-vocab-type-content">Content</a> 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 <a href=
- "#element-vocab-type-content">Content</a> 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="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to the general syntax of this specification (and the schemas it
- references) with respect to how style attributes are specified, particularly
- for the purpose of supporting inheritance, it is possible for an author to
- inadvertently specify a non-inheritable style attribute on an element that
- applies neither to that element or any of its descendants while still remaining
- conformant from a content validity perspective. Content authors may wish to
- make use of TTML content verification tools that detect and warn about such
- usage.</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><a id="style-attribute-backgroundColor-example-1-images" name=
- "style-attribute-backgroundColor-example-1-images"></a></p>
-
- <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><a id="style-attribute-color-example-1-images" name=
- "style-attribute-color-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>ltr</code>.</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><a id="style-attribute-direction-example-1-images" name=
- "style-attribute-direction-example-1-images"></a></p>
-
- <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><a id="style-attribute-display-example-1-images" name=
- "style-attribute-display-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>before</code>.</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><a id="style-attribute-displayAlign-example-1-images" name=
- "style-attribute-displayAlign-example-1-images"></a></p>
-
- <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 computed 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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the closest supported
- value.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this context, the phrase <em>closest supported value</em> means the
- value for which the Euclidean distance between the computed extent and the
- supported extent is minimized. If there are multiple closest supported values
- equally distant from the computed value, then the value most distant from
- [0,0], i.e., of greatest extent, is used.</p>
- </div>
-
- <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><a id="style-attribute-extent-example-1-images" name=
- "style-attribute-extent-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must attempt to map the computed font
- family to a supported font family that has similar typographic characteristics,
- or, in the absence of such a mapping, it must use the value
- <code>default</code>.</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><a id="style-attribute-fontFamily-example-1-images" name=
- "style-attribute-fontFamily-example-1-images"></a></p>
-
- <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>if not <a href="#content-vocabulary-span"><code>region</code></a>
- element, then relative to parent element's font size; otherwise, 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>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A glyph's EM square is conventionally defined as the EM square of the font
- that contains the glyph. That is, glyphs do not have an EM square that is
- distinct from their font's EM square.</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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the closest supported
- value.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this context, the phrase <em>closest supported value</em> means the
- value for which the Euclidean distance between the computed font size and the
- supported font size is minimized. If there are multiple closest supported
- values equally distant from the computed value, then the value most distant
- from 0 (single length specification) or [0,0] (two length specifications) is
- used, i.e., the largest font size, is used.</p>
- </div>
-
- <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>. When two <length> values are expressed
- using cell units, then the first refers to the width of the <em>Computed Cell
- Size</em>, and the second refers to the height of the <em>Computed Cell
- Size</em>.</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><a id="style-attribute-fontSize-example-1-images" name=
- "style-attribute-fontSize-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>normal</code>.</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><a id="style-attribute-fontStyle-example-1-images" name=
- "style-attribute-fontStyle-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>normal</code>.</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><a id="style-attribute-fontWeight-example-1-images" name=
- "style-attribute-fontWeight-example-1-images"></a></p>
-
- <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 computed
- value of the style property must be considered to be no less than the size of
- the largest font size that applies to the element and its descendant elements
- in the intermediate synchronic document as determined 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>It is recommended that presentation processors use a computed line height
- that is 125% of the size of the largest applicable font size when the value
- <code>normal</code> is specified. The choice of 125% allows use of a font
- size of <code>0.8c</code> in order to obtain a line height of
- <code>1c</code>.</p>
- </div>
-
- <p>If specified as a <a href="#style-value-length"><length></a>, then the
- length must be non-negative.</p>
-
- <p>If a computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the closest supported
- value.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this context, the phrase <em>closest supported value</em> means the
- value for which the Euclidean distance between the computed line height and
- the supported line height is minimized. If there are multiple closest
- supported values equally distant from the computed value, then the value most
- distant from 0, i.e., the largest line height, is used.</p>
- </div>
-
- <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><a id="style-attribute-lineHeight-example-1-images" name=
- "style-attribute-lineHeight-example-1-images"></a></p>
-
- <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>
-
- <p><a id="style-attribute-opacity-example-1-images" name=
- "style-attribute-opacity-example-1-images"></a></p>
-
- <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 computed 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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the closest supported
- value.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this context, the phrase <em>closest supported value</em> means the
- value for which the Euclidean distance between the computed origin and the
- supported origin is minimized. If there are multiple closest supported values
- equally distant from the computed value, then the value least distant from
- [0,0], i.e., closest to the coordinate space origin, is used.</p>
- </div>
-
- <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><a id="style-attribute-origin-example-1-images" name=
- "style-attribute-origin-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>hidden</code>.</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><a id="style-attribute-overflow-example-1-images" name=
- "style-attribute-overflow-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the closest supported
- value.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this context, the phrase <em>closest supported value</em> means the
- value for which the Euclidean distance between the computed padding and the
- supported padding is minimized. If there are multiple closest supported
- values equally distant from the computed value, then the value most distant
- from 0, i.e., the greatest padding, is used.</p>
- </div>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>always</code>.</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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>start</code>.</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><a id="style-attribute-textAlign-example-1-images" name=
- "style-attribute-textAlign-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>none</code>.</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><a id="style-attribute-textDecoration-example-1-images" name=
- "style-attribute-textDecoration-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>none</code>.</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><a id="style-attribute-textOutline-example-1-images" name=
- "style-attribute-textOutline-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>normal</code>.</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><a id="style-attribute-unicodeBidi-example-1-images" name=
- "style-attribute-unicodeBidi-example-1-images"></a></p>
-
- <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 computed value of the property associated with this attribute is not
- supported, then a presentation processor must use the value
- <code>visible</code>.</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>