--- a/ttml10/spec/PER-ttaf1-dfxp-20130709/PER-ttaf1-dfxp-20130709.html Fri Jun 28 00:32:41 2013 -0600
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,20379 +0,0 @@
-<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
-
-<html lang="en-us">
-<head>
- <meta name="generator" content=
- "HTML Tidy for Linux/x86 (vers 25 March 2009), see www.w3.org">
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
-
- <title>Timed Text Markup Language (TTML) 1.0 (Second Edition)</title>
- <style type="text/css">
-code { font-family: monospace; }
-
- div.constraint,
- div.issue,
- div.note,
- div.notice { margin-left: 2em; }
-
- ol.enumar { list-style-type: decimal; }
- ol.enumla { list-style-type: lower-alpha; }
- ol.enumlr { list-style-type: lower-roman; }
- ol.enumua { list-style-type: upper-alpha; }
- ol.enumur { list-style-type: upper-roman; }
-
-
- div.exampleInner pre { margin-left: 1em;
- margin-top: 0em; margin-bottom: 0em}
- div.exampleOuter {border: 4px double gray;
- margin: 0em; padding: 0em}
- div.exampleInner { background-color: #d5dee3;
- border-top-width: 4px;
- border-top-style: double;
- border-top-color: #d3d3d3;
- border-bottom-width: 4px;
- border-bottom-style: double;
- border-bottom-color: #d3d3d3;
- padding: 4px; margin: 0em }
- div.exampleWrapper { margin: 4px }
- div.exampleHeader { font-weight: bold;
- margin: 4px}
-
- li p { margin-top: 0.3em; margin-bottom: 0.3em; }
- div.issue { border: 2px solid black; background-color: #ffff66; padding: 0em 1em; margin: 0em 0em }
- table.ednote { border-collapse: collapse; border: 2px solid black; width: 85% }
- table.ednote td { background-color: #ddaa66; border: 2px solid black }
- table.acronyms td.label { width: 15% }
- table.acronyms td.def { width: 65% }
- table.graphic { border: 0px none black; width: 100%; border-collapse: collapse }
- table.graphic caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.graphic td { border: 0px none black; text-align: center }
- table.common { border: 2px solid black; width: 85%; border-collapse: collapse }
- table.common caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.common th { padding: 0em 0.5em; border: 2px solid black; text-align: left }
- table.common td { padding: 0em 0.5em; border: 2px solid black }
- table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.syntax th { border: 0px solid black; text-align: left }
- table.syntax td { border: 0px solid black }
- table.syntax div { background-color: #ffffc8 }
- table.semantics { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.semantics caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.semantics th { border: 0px solid black; text-align: left }
- table.semantics td {
- border-left: 0px solid black;
- border-right: 0px solid black;
- border-top: 4px double #d3d3d3;
- border-bottom: 4px double #d3d3d3;
- background-color: #ccffcc
- }
- table.semantics code.formulae {
- padding: 1em;
- border: 1px dashed #005a9c;
- line-height: 1.1em;
- background-color: #fdfdfd;
- }
- table.example { border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
- table.example th { border: 0px solid black; text-align: left }
- table.example td { border: 0px solid black; }
- table.example div { background-color: #c8ffff }
- table.example-images { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images td { border: 0px solid black; text-align: center }
- table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
- table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
- table.example-images-bordered td { border: 1px solid red; text-align: left }
- .tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
- .strong { font-weight: bold }
- .reqattr { font-weight: bold }
- .optattr { font-style: italic }
- </style>
- <link rel="stylesheet" type="text/css" href=
- "http://www.w3.org/StyleSheets/TR/W3C-PER.css">
-</head>
-
-<body>
- <div class="head">
- <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C"
- height="48" width="72"></a></p>
-
- <h1><a id="title" name="title"></a>Timed Text Markup Language (TTML) 1.0 (Second
- Edition)</h1>
-
- <h2><a id="w3c-doctype" name="w3c-doctype"></a>W3C Proposed Edited Recommendation 09
- July 2013</h2>
-
- <dl>
- <dt>This version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/">http://www.w3.org/TR/2013/PER-ttaf1-dfxp-20130709/</a></dd>
-
- <dt>Latest version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</a></dd>
-
- <dt>Previous version:</dt>
-
- <dd><a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/</a></dd>
-
- <dt>Editor:</dt>
-
- <dd>Glenn Adams, Cox Communications, Inc.</dd>
-
- <dt>Contributing Authors:</dt>
-
- <dd>Mike Dolan, Invited Expert</dd>
-
- <dd>Geoff Freed, WGBH National Center for Accessible Media</dd>
-
- <dd>Sean Hayes, Microsoft</dd>
-
- <dd>Erik Hodge, RealNetworks</dd>
-
- <dd>David Kirby, British Broadcasting Corporation (BBC)</dd>
-
- <dd>Thierry Michel, W3C</dd>
-
- <dd>Dave Singer, Apple Computer</dd>
- </dl>
-
- <p>Please refer to the <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-issues.html">errata</a>
- for this document, which may include normative corrections.</p>
-
- <p>See also <a href=
- "http://www.w3.org/2003/03/Translations/byTechnology?technology=ttaf1-dfxp"><strong>translations</strong></a>.</p>
-
- <p class="copyright"><a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2013 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup>
- (<a href="http://www.csail.mit.edu/"><acronym title=
- "Massachusetts Institute of Technology">MIT</acronym></a>, <a href=
- "http://www.ercim.eu/"><acronym title=
- "European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>,
- <a href="http://www.keio.ac.jp/">Keio</a>, <a href=
- "http://ev.buaa.edu.cn/">Beihang</a>), All Rights Reserved. W3C <a href=
- "http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>,
- <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a>
- and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a>
- rules apply.</p>
- </div>
- <hr>
-
- <div>
- <h2><a id="abstract" name="abstract"></a>Abstract</h2>
-
- <p>This document specifies the Timed Text Markup Language (TTML) in terms of a
- vocabulary and semantics thereof.</p>
-
- <p>The Timed Text Markup Language is a content type that represents timed text media
- for the purpose of interchange among authoring systems. Timed text is textual
- information that is intrinsically or extrinsically associated with timing
- information.</p>
-
- <p>It is intended to be used for the purpose of transcoding or exchanging timed text
- information among legacy distribution content formats presently in use for subtitling
- and captioning functions.</p>
-
- <p>In addition to being used for interchange among legacy distribution content
- formats, TTML Content may be used directly as a distribution format, for example,
- providing a standard content format to reference from a <code><track></code>
- element in an HTML5 document, or a <code><text></code> or
- <code><textstream></code> media element in a <a href="#smil21">[SMIL 2.1]</a>
- document.</p>
- </div>
-
- <div>
- <h2><a id="status" name="status"></a>Status of this Document</h2>
-
- <p><em>This section describes the status of this document at the time of its
- publication. Other documents may supersede this document. A list of current W3C
- publications and the latest revision of this technical report can be found in the
- <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
- http://www.w3.org/TR/.</em></p>
-
- <p>This document, published on 09 July 2013, is a <a href=
- "http://www.w3.org/2005/10/Process-20051014/tr.html#ProposedEditedRec">Proposed
- Edited Recommendation</a> of the W3C. This second edition is not a new version of
- this specification; its purpose is to clarify a number of issues that have become
- apparent since the first edition was published.</p>
-
- <p>This document has been produced by the <a href=
- "http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as part of the
- W3C <a href="http://www.w3.org/2008/WebVideo/">Video in the Web Activity</a>,
- following the procedures set out for the W3C <a href=
- "http://www.w3.org/Consortium/Process/">Process</a>. The authors of this document are
- listed in the header of this document, including input and review by liaisons from
- the <a href="http://www3.ebu.ch/cms/en/home">European Broadcasting Union (EBU)</a>,
- and the <a href="https://www.smpte.org">Society of Motion Picture & Television
- Engineers (SMPTE)</a>.</p>
-
- <p>Publication as a Proposed Edited Recommendation does not imply endorsement by the
- W3C Membership. This is a draft document and may be updated, replaced or obsoleted by
- other documents at any time. It is inappropriate to cite this document as other than
- work in progress.</p>
-
- <p>W3C Advisory Committee Members are invited to send formal review comments on this
- Proposed Edited Recommendation to the W3C Team until 06 August 2013. Members of the
- W3C Advisory Committee will find the appropriate review form for this document by
- consulting their <a href="http://www.w3.org/2002/09/wbs/myQuestionnaires">list of WBS
- questionnaires</a>.</p>
-
- <p>This document incorporates changes made against the <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">Recommendation</a> of 18
- November 2010 that resolve all errata known at the date of publication. A list of the
- errata that have been applied is provided in <a href=
- "https://dvcs.w3.org/hg/ttml/raw-file/default/ttml10/spec/ttml-changes.html#change-history-rec-to-2e-per">
- Changes from Recommendation to Proposed Edited Recommendation (2nd Ed.)</a>.</p>
-
- <p>Please report errors in and submit comments on this document to the W3C Timed Text
- public comments mailing list, <a href=
- "mailto:public-tt-comments@w3.org">public-tt-comments@w3.org</a>. Please include the
- string <code>[ttml10se]</code> at the beginning of the subject line of your report.
- Each email message should contain only one error report. Archives of the comments and
- responses are available at <a href=
- "http://lists.w3.org/Archives/Public/public-tt-comments/">http://lists.w3.org/Archives/Public/public-tt-comments/</a>.</p>
-
- <p>An updated <a href="http://www.w3.org/2009/05/dfxp-results.html">implementation
- report</a> will be made available, but the decision of the Director to transition
- this document to Proposed Edited Recommendation did not depend on the existence of
- that report.</p>
-
- <p>The Timed Text Working Group plans to submit this specification for consideration
- as a W3C Recommendation (Second Edition) as soon as the Working Group has responded
- formally to all issues raised during the PER review period against this document.</p>
-
- <p>This document was produced by a group operating under the <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/">5 February 2004 W3C Patent
- Policy</a>. W3C maintains a <a href=
- "http://www.w3.org/2004/01/pp-impl/34314/status#disclosures" rel="disclosure">public
- list of any patent disclosures</a> made in connection with the deliverables of the
- group; that page also includes instructions for disclosing a patent. An individual
- who has actual knowledge of a patent which the individual believes contains <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential
- Claim(s)</a> must disclose the information in accordance with <a href=
- "http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of
- the W3C Patent Policy</a>.</p>
- </div>
-
- <div class="toc">
- <h2><a id="contents" name="contents"></a>Table of Contents</h2>
-
- <p class="toc">1 <a href="#intro">Introduction</a><br>
- 1.1 <a href="#model">System Model</a><br>
- 1.2 <a href="#example">Document Example</a><br>
- 2 <a href="#definitions">Definitions</a><br>
- 2.1 <a href="#acronyms">Acronyms</a><br>
- 2.2 <a href="#terms">Terminology</a><br>
- 2.3 <a href="#conventions">Documentation Conventions</a><br>
- 3 <a href="#conformance">Conformance</a><br>
- 3.1 <a href="#conformance-content">Content
- Conformance</a><br>
- 3.2 <a href="#conformance-processor">Processor
- Conformance</a><br>
- 3.2.1 <a href=
- "#conformance-generic-processor">Generic Processor Conformance</a><br>
- 3.2.2 <a href=
- "#conformance-transformation-processor">Transformation Processor Conformance</a><br>
- 3.2.3 <a href=
- "#conformance-presentation-processor">Presentation Processor Conformance</a><br>
- 3.3 <a href="#claims">Claims</a><br>
- 4 <a href="#doctypes">Document Types</a><br>
- 4.1 <a href="#ttml-content-doctype">TTML Content</a><br>
- 5 <a href="#vocabulary">Vocabulary</a><br>
- 5.1 <a href="#vocabulary-namespaces">Namespaces</a><br>
- 5.2 <a href="#vocabulary-profiles">Profiles</a><br>
- 5.3 <a href="#vocabulary-overview">Catalog</a><br>
- 5.3.1 <a href=
- "#core-vocabulary-overview">Core Catalog</a><br>
- 5.3.2 <a href=
- "#extension-vocabulary-overview">Extension Catalog</a><br>
- 6 <a href="#parameters">Parameters</a><br>
- 6.1 <a href="#parameter-element-vocabulary">Parameter Element
- Vocabulary</a><br>
- 6.1.1 <a href=
- "#parameter-vocabulary-profile">ttp:profile</a><br>
- 6.1.2 <a href=
- "#parameter-vocabulary-features">ttp:features</a><br>
- 6.1.3 <a href=
- "#parameter-vocabulary-feature">ttp:feature</a><br>
- 6.1.4 <a href=
- "#parameter-vocabulary-extensions">ttp:extensions</a><br>
- 6.1.5 <a href=
- "#parameter-vocabulary-extension">ttp:extension</a><br>
- 6.2 <a href="#parameter-attribute-vocabulary">Parameter
- Attribute Vocabulary</a><br>
- 6.2.1 <a href=
- "#parameter-attribute-cellResolution">ttp:cellResolution</a><br>
- 6.2.2 <a href=
- "#parameter-attribute-clockMode">ttp:clockMode</a><br>
- 6.2.3 <a href=
- "#parameter-attribute-dropMode">ttp:dropMode</a><br>
- 6.2.4 <a href=
- "#parameter-attribute-frameRate">ttp:frameRate</a><br>
- 6.2.5 <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultiplier</a><br>
- 6.2.6 <a href=
- "#parameter-attribute-markerMode">ttp:markerMode</a><br>
- 6.2.7 <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br>
- 6.2.8 <a href=
- "#parameter-attribute-profile">ttp:profile</a><br>
- 6.2.9 <a href=
- "#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br>
- 6.2.10 <a href=
- "#parameter-attribute-tickRate">ttp:tickRate</a><br>
- 6.2.11 <a href=
- "#parameter-attribute-timeBase">ttp:timeBase</a><br>
- 7 <a href="#content">Content</a><br>
- 7.1 <a href="#content-element-vocabulary">Content Element
- Vocabulary</a><br>
- 7.1.1 <a href=
- "#document-structure-vocabulary-tt">tt</a><br>
- 7.1.2 <a href=
- "#document-structure-vocabulary-head">head</a><br>
- 7.1.3 <a href=
- "#document-structure-vocabulary-body">body</a><br>
- 7.1.4 <a href=
- "#content-vocabulary-div">div</a><br>
- 7.1.5 <a href=
- "#content-vocabulary-p">p</a><br>
- 7.1.6 <a href=
- "#content-vocabulary-span">span</a><br>
- 7.1.7 <a href=
- "#content-vocabulary-br">br</a><br>
- 7.2 <a href="#content-attribute-vocabulary">Content Attribute
- Vocabulary</a><br>
- 7.2.1 <a href=
- "#content-attribute-id">xml:id</a><br>
- 7.2.2 <a href=
- "#content-attribute-lang">xml:lang</a><br>
- 7.2.3 <a href=
- "#content-attribute-space">xml:space</a><br>
- 8 <a href="#styling">Styling</a><br>
- 8.1 <a href="#styling-element-vocabulary">Styling Element
- Vocabulary</a><br>
- 8.1.1 <a href=
- "#styling-vocabulary-styling">styling</a><br>
- 8.1.2 <a href=
- "#styling-vocabulary-style">style</a><br>
- 8.2 <a href="#styling-attribute-vocabulary">Styling Attribute
- Vocabulary</a><br>
- 8.2.1 <a href=
- "#style-attribute-style">style</a><br>
- 8.2.2 <a href=
- "#style-attribute-backgroundColor">tts:backgroundColor</a><br>
- 8.2.3 <a href=
- "#style-attribute-color">tts:color</a><br>
- 8.2.4 <a href=
- "#style-attribute-direction">tts:direction</a><br>
- 8.2.5 <a href=
- "#style-attribute-display">tts:display</a><br>
- 8.2.6 <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a><br>
- 8.2.7 <a href=
- "#style-attribute-extent">tts:extent</a><br>
- 8.2.8 <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a><br>
- 8.2.9 <a href=
- "#style-attribute-fontSize">tts:fontSize</a><br>
- 8.2.10 <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a><br>
- 8.2.11 <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a><br>
- 8.2.12 <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a><br>
- 8.2.13 <a href=
- "#style-attribute-opacity">tts:opacity</a><br>
- 8.2.14 <a href=
- "#style-attribute-origin">tts:origin</a><br>
- 8.2.15 <a href=
- "#style-attribute-overflow">tts:overflow</a><br>
- 8.2.16 <a href=
- "#style-attribute-padding">tts:padding</a><br>
- 8.2.17 <a href=
- "#style-attribute-showBackground">tts:showBackground</a><br>
- 8.2.18 <a href=
- "#style-attribute-textAlign">tts:textAlign</a><br>
- 8.2.19 <a href=
- "#style-attribute-textDecoration">tts:textDecoration</a><br>
- 8.2.20 <a href=
- "#style-attribute-textOutline">tts:textOutline</a><br>
- 8.2.21 <a href=
- "#style-attribute-unicodeBidi">tts:unicodeBidi</a><br>
- 8.2.22 <a href=
- "#style-attribute-visibility">tts:visibility</a><br>
- 8.2.23 <a href=
- "#style-attribute-wrapOption">tts:wrapOption</a><br>
- 8.2.24 <a href=
- "#style-attribute-writingMode">tts:writingMode</a><br>
- 8.2.25 <a href=
- "#style-attribute-zIndex">tts:zIndex</a><br>
- 8.3 <a href="#styling-style-value-expressions">Style Value
- Expressions</a><br>
- 8.3.1 <a href=
- "#style-value-alpha"><alpha></a><br>
- 8.3.2 <a href=
- "#style-value-color"><color></a><br>
- 8.3.3 <a href=
- "#style-value-digit"><digit></a><br>
- 8.3.4 <a href=
- "#style-value-duration">Deleted</a><br>
- 8.3.5 <a href=
- "#style-value-familyName"><familyName></a><br>
- 8.3.6 <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a><br>
- 8.3.7 <a href=
- "#style-value-hexDigit"><hexDigit></a><br>
- 8.3.8 <a href=
- "#style-value-integer"><integer></a><br>
- 8.3.9 <a href=
- "#style-value-length"><length></a><br>
- 8.3.10 <a href=
- "#style-value-namedColor"><namedColor></a><br>
- 8.3.11 <a href=
- "#style-value-quotedString">Deleted</a><br>
- 8.3.12 <a href=
- "#style-value-string">Deleted</a><br>
- 8.4 <a href="#semantics-style-resolution">Style
- Resolution</a><br>
- 8.4.1 <a href=
- "#semantics-style-association">Style Association</a><br>
- 8.4.1.1
- <a href="#semantics-style-association-inline">Inline Styling</a><br>
- 8.4.1.2
- <a href="#semantics-style-association-referential">Referential Styling</a><br>
- 8.4.1.3
- <a href="#semantics-style-association-chained-referential">Chained Referential
- Styling</a><br>
- 8.4.1.4
- <a href="#semantics-style-association-nested">Nested Styling</a><br>
- 8.4.2 <a href=
- "#semantics-style-inheritance">Style Inheritance</a><br>
- 8.4.2.1
- <a href="#semantics-style-inheritance-content">Content Style Inheritance</a><br>
- 8.4.2.2
- <a href="#semantics-style-inheritance-region">Region Style Inheritance</a><br>
- 8.4.3 <a href=
- "#semantics-style-resolution-value-categories">Style Resolution Value
- Categories</a><br>
- 8.4.3.1
- <a href="#semantics-style-resolved-value-category-specified">Specified Values</a><br>
- 8.4.3.2
- <a href="#semantics-style-resolved-value-category-computed">Computed Values</a><br>
- 8.4.3.3
- <a href="#semantics-style-resolved-value-category-actual">Actual Values</a><br>
- 8.4.4 <a href=
- "#semantics-style-resolution-processing">Style Resolution Processing</a><br>
- 8.4.4.1
- <a href="#semantics-style-resolution-processing-definitions">Conceptual
- Definitions</a><br>
- 8.4.4.2
- <a href="#semantics-style-resolution-processing-sss">Specified Style Set
- Processing</a><br>
- 8.4.4.3
- <a href="#semantics-style-resolution-processing-css">Computed Style Set
- Processing</a><br>
- 8.4.4.4
- <a href="#semantics-style-resolution-process-overall">Style Resolution
- Process</a><br>
- 9 <a href="#layout">Layout</a><br>
- 9.1 <a href="#layout-element-vocabulary">Layout Element
- Vocabulary</a><br>
- 9.1.1 <a href=
- "#layout-vocabulary-layout">layout</a><br>
- 9.1.2 <a href=
- "#layout-vocabulary-region">region</a><br>
- 9.2 <a href="#layout-attribute-vocabulary">Layout Attribute
- Vocabulary</a><br>
- 9.2.1 <a href=
- "#layout-attribute-region">region</a><br>
- 9.3 <a href="#semantics-region-layout">Region Layout and
- Presentation</a><br>
- 9.3.1 <a href=
- "#semantics-default-region">Default Region</a><br>
- 9.3.2 <a href=
- "#semantics-region-layout-step-1">Intermediate Synchronic Document
- Construction</a><br>
- 9.3.3 <a href=
- "#semantics-region-layout-step-2">Synchronic Flow Processing</a><br>
- 9.3.4 <a href=
- "#semantics-region-layout-example">Elaborated Example (Informative)</a><br>
- 9.4 <a href="#semantics-line-layout">Line Layout</a><br>
- 10 <a href="#timing">Timing</a><br>
- 10.1 <a href="#timing-element-vocabulary">Timing Element
- Vocabulary</a><br>
- 10.2 <a href="#timing-attribute-vocabulary">Timing Attribute
- Vocabulary</a><br>
- 10.2.1 <a href=
- "#timing-attribute-begin">begin</a><br>
- 10.2.2 <a href=
- "#timing-attribute-end">end</a><br>
- 10.2.3 <a href=
- "#timing-attribute-dur">dur</a><br>
- 10.2.4 <a href=
- "#timing-attribute-timeContainer">timeContainer</a><br>
- 10.3 <a href="#timing-time-value-expressions">Time Value
- Expressions</a><br>
- 10.3.1 <a href=
- "#timing-value-timeExpression"><timeExpression></a><br>
- 10.4 <a href="#timing-time-intervals">Time Intervals</a><br>
- 11 <a href="#animation">Animation</a><br>
- 11.1 <a href="#animation-element-vocabulary">Animation
- Element Vocabulary</a><br>
- 11.1.1 <a href=
- "#animation-vocabulary-set">set</a><br>
- 11.2 <a href="#animation-attribute-vocabulary">Animation
- Attribute Vocabulary</a><br>
- 12 <a href="#metadata">Metadata</a><br>
- 12.1 <a href="#metadata-element-vocabulary">Metadata Element
- Vocabulary</a><br>
- 12.1.1 <a href=
- "#metadata-vocabulary-metadata">metadata</a><br>
- 12.1.2 <a href=
- "#metadata-vocabulary-title">ttm:title</a><br>
- 12.1.3 <a href=
- "#metadata-vocabulary-desc">ttm:desc</a><br>
- 12.1.4 <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a><br>
- 12.1.5 <a href=
- "#metadata-vocabulary-agent">ttm:agent</a><br>
- 12.1.6 <a href=
- "#metadata-vocabulary-name">ttm:name</a><br>
- 12.1.7 <a href=
- "#metadata-vocabulary-actor">ttm:actor</a><br>
- 12.2 <a href="#metadata-attribute-vocabulary">Metadata
- Attribute Vocabulary</a><br>
- 12.2.1 <a href=
- "#metadata-attribute-agent">ttm:agent</a><br>
- 12.2.2 <a href=
- "#metadata-attribute-role">ttm:role</a><br></p>
-
- <h3><a id="appendices" name="appendices"></a>Appendices</h3>
-
- <p class="toc">A <a href="#reduced-infoset">Reduced XML Infoset</a><br>
- A.1 <a href="#reduced-infoset-document">Document Information
- Item</a><br>
- A.2 <a href="#reduced-infoset-element">Element Information
- Item</a><br>
- A.3 <a href="#reduced-infoset-attribute">Attribute
- Information Item</a><br>
- A.4 <a href="#reduced-infoset-character">Character
- Information Item</a><br>
- B <a href="#schemas">Schemas</a><br>
- B.1 <a href="#ttml-schema-rnc">Relax NG Compact (RNC)
- Schema</a><br>
- B.2 <a href="#ttml-schema-xsd">XML Schema Definition (XSD)
- Schema</a><br>
- C <a href="#media-types-registration">Media Type Registration</a><br>
- D <a href="#features">Features</a><br>
- D.1 <a href="#feature-designations">Feature
- Designations</a><br>
- D.1.1 <a href=
- "#feature-animation">#animation</a><br>
- D.1.2 <a href=
- "#feature-backgroundColor">#backgroundColor</a><br>
- D.1.3 <a href=
- "#feature-backgroundColor-block">#backgroundColor-block</a><br>
- D.1.4 <a href=
- "#feature-backgroundColor-inline">#backgroundColor-inline</a><br>
- D.1.5 <a href=
- "#feature-backgroundColor-region">#backgroundColor-region</a><br>
- D.1.6 <a href=
- "#feature-bidi">#bidi</a><br>
- D.1.7 <a href=
- "#feature-cellResolution">#cellResolution</a><br>
- D.1.8 <a href=
- "#feature-clockMode">#clockMode</a><br>
- D.1.9 <a href=
- "#feature-clockMode-gps">#clockMode-gps</a><br>
- D.1.10 <a href=
- "#feature-clockMode-local">#clockMode-local</a><br>
- D.1.11 <a href=
- "#feature-clockMode-utc">#clockMode-utc</a><br>
- D.1.12 <a href=
- "#feature-color">#color</a><br>
- D.1.13 <a href=
- "#feature-content">#content</a><br>
- D.1.14 <a href=
- "#feature-core">#core</a><br>
- D.1.15 <a href=
- "#feature-direction">#direction</a><br>
- D.1.16 <a href=
- "#feature-display">#display</a><br>
- D.1.17 <a href=
- "#feature-display-block">#display-block</a><br>
- D.1.18 <a href=
- "#feature-display-inline">#display-inline</a><br>
- D.1.19 <a href=
- "#feature-display-region">#display-region</a><br>
- D.1.20 <a href=
- "#feature-displayAlign">#displayAlign</a><br>
- D.1.21 <a href=
- "#feature-dropMode">#dropMode</a><br>
- D.1.22 <a href=
- "#feature-dropMode-dropNTSC">#dropMode-dropNTSC</a><br>
- D.1.23 <a href=
- "#feature-dropMode-dropPAL">#dropMode-dropPAL</a><br>
- D.1.24 <a href=
- "#feature-dropMode-nonDrop">#dropMode-nonDrop</a><br>
- D.1.25 <a href=
- "#feature-extent">#extent</a><br>
- D.1.26 <a href=
- "#feature-extent-region">#extent-region</a><br>
- D.1.27 <a href=
- "#feature-extent-root">#extent-root</a><br>
- D.1.28 <a href=
- "#feature-fontFamily">#fontFamily</a><br>
- D.1.29 <a href=
- "#feature-fontFamily-generic">#fontFamily-generic</a><br>
- D.1.30 <a href=
- "#feature-fontFamily-non-generic">#fontFamily-non-generic</a><br>
- D.1.31 <a href=
- "#feature-fontSize">#fontSize</a><br>
- D.1.32 <a href=
- "#feature-fontSize-anamorphic">#fontSize-anamorphic</a><br>
- D.1.33 <a href=
- "#feature-fontSize-isomorphic">#fontSize-isomorphic</a><br>
- D.1.34 <a href=
- "#feature-fontStyle">#fontStyle</a><br>
- D.1.35 <a href=
- "#feature-fontStyle-italic">#fontStyle-italic</a><br>
- D.1.36 <a href=
- "#feature-fontStyle-oblique">#fontStyle-oblique</a><br>
- D.1.37 <a href=
- "#feature-fontWeight">#fontWeight</a><br>
- D.1.38 <a href=
- "#feature-fontWeight-bold">#fontWeight-bold</a><br>
- D.1.39 <a href=
- "#feature-frameRate">#frameRate</a><br>
- D.1.40 <a href=
- "#feature-frameRateMultiplier">#frameRateMultiplier</a><br>
- D.1.41 <a href=
- "#feature-layout">#layout</a><br>
- D.1.42 <a href=
- "#feature-length">#length</a><br>
- D.1.43 <a href=
- "#feature-length-cell">#length-cell</a><br>
- D.1.44 <a href=
- "#feature-length-em">#length-em</a><br>
- D.1.45 <a href=
- "#feature-length-integer">#length-integer</a><br>
- D.1.46 <a href=
- "#feature-length-negative">#length-negative</a><br>
- D.1.47 <a href=
- "#feature-length-percentage">#length-percentage</a><br>
- D.1.48 <a href=
- "#feature-length-pixel">#length-pixel</a><br>
- D.1.49 <a href=
- "#feature-length-positive">#length-positive</a><br>
- D.1.50 <a href=
- "#feature-length-real">#length-real</a><br>
- D.1.51 <a href=
- "#feature-lineBreak-uax14">#lineBreak-uax14</a><br>
- D.1.52 <a href=
- "#feature-lineHeight">#lineHeight</a><br>
- D.1.53 <a href=
- "#feature-markerMode">#markerMode</a><br>
- D.1.54 <a href=
- "#feature-markerMode-continuous">#markerMode-continuous</a><br>
- D.1.55 <a href=
- "#feature-markerMode-discontinuous">#markerMode-discontinuous</a><br>
- D.1.56 <a href=
- "#feature-metadata">#metadata</a><br>
- D.1.57 <a href=
- "#feature-nested-div">#nested-div</a><br>
- D.1.58 <a href=
- "#feature-nested-span">#nested-span</a><br>
- D.1.59 <a href=
- "#feature-opacity">#opacity</a><br>
- D.1.60 <a href=
- "#feature-origin">#origin</a><br>
- D.1.61 <a href=
- "#feature-overflow">#overflow</a><br>
- D.1.62 <a href=
- "#feature-overflow-visible">#overflow-visible</a><br>
- D.1.63 <a href=
- "#feature-padding">#padding</a><br>
- D.1.64 <a href=
- "#feature-padding-1">#padding-1</a><br>
- D.1.65 <a href=
- "#feature-padding-2">#padding-2</a><br>
- D.1.66 <a href=
- "#feature-padding-3">#padding-3</a><br>
- D.1.67 <a href=
- "#feature-padding-4">#padding-4</a><br>
- D.1.68 <a href=
- "#feature-pixelAspectRatio">#pixelAspectRatio</a><br>
- D.1.69 <a href=
- "#feature-presentation">#presentation</a><br>
- D.1.70 <a href=
- "#feature-profile">#profile</a><br>
- D.1.71 <a href=
- "#feature-showBackground">#showBackground</a><br>
- D.1.72 <a href=
- "#feature-structure">#structure</a><br>
- D.1.73 <a href=
- "#feature-styling">#styling</a><br>
- D.1.74 <a href=
- "#feature-styling-chained">#styling-chained</a><br>
- D.1.75 <a href=
- "#feature-styling-inheritance-content">#styling-inheritance-content</a><br>
- D.1.76 <a href=
- "#feature-styling-inheritance-region">#styling-inheritance-region</a><br>
- D.1.77 <a href=
- "#feature-styling-inline">#styling-inline</a><br>
- D.1.78 <a href=
- "#feature-styling-nested">#styling-nested</a><br>
- D.1.79 <a href=
- "#feature-styling-referential">#styling-referential</a><br>
- D.1.80 <a href=
- "#feature-subFrameRate">#subFrameRate</a><br>
- D.1.81 <a href=
- "#feature-textAlign">#textAlign</a><br>
- D.1.82 <a href=
- "#feature-textAlign-absolute">#textAlign-absolute</a><br>
- D.1.83 <a href=
- "#feature-textAlign-relative">#textAlign-relative</a><br>
- D.1.84 <a href=
- "#feature-textDecoration">#textDecoration</a><br>
- D.1.85 <a href=
- "#feature-textDecoration-over">#textDecoration-over</a><br>
- D.1.86 <a href=
- "#feature-textDecoration-through">#textDecoration-through</a><br>
- D.1.87 <a href=
- "#feature-textDecoration-under">#textDecoration-under</a><br>
- D.1.88 <a href=
- "#feature-textOutline">#textOutline</a><br>
- D.1.89 <a href=
- "#feature-textOutline-blurred">#textOutline-blurred</a><br>
- D.1.90 <a href=
- "#feature-textOutline-unblurred">#textOutline-unblurred</a><br>
- D.1.91 <a href=
- "#feature-tickRate">#tickRate</a><br>
- D.1.92 <a href=
- "#feature-timeBase-clock">#timeBase-clock</a><br>
- D.1.93 <a href=
- "#feature-timeBase-media">#timeBase-media</a><br>
- D.1.94 <a href=
- "#feature-timeBase-smpte">#timeBase-smpte</a><br>
- D.1.95 <a href=
- "#feature-timeContainer">#timeContainer</a><br>
- D.1.96 <a href=
- "#feature-time-clock">#time-clock</a><br>
- D.1.97 <a href=
- "#feature-time-clock-with-frames">#time-clock-with-frames</a><br>
- D.1.98 <a href=
- "#feature-time-offset">#time-offset</a><br>
- D.1.99 <a href=
- "#feature-time-offset-with-frames">#time-offset-with-frames</a><br>
- D.1.100 <a href=
- "#feature-time-offset-with-ticks">#time-offset-with-ticks</a><br>
- D.1.101 <a href=
- "#feature-timing">#timing</a><br>
- D.1.102 <a href=
- "#feature-transformation">#transformation</a><br>
- D.1.103 <a href=
- "#feature-unicodeBidi">#unicodeBidi</a><br>
- D.1.104 <a href=
- "#feature-visibility">#visibility</a><br>
- D.1.105 <a href=
- "#feature-visibility-block">#visibility-block</a><br>
- D.1.106 <a href=
- "#feature-visibility-inline">#visibility-inline</a><br>
- D.1.107 <a href=
- "#feature-visibility-region">#visibility-region</a><br>
- D.1.108 <a href=
- "#feature-wrapOption">#wrapOption</a><br>
- D.1.109 <a href=
- "#feature-writingMode">#writingMode</a><br>
- D.1.110 <a href=
- "#feature-writingMode-vertical">#writingMode-vertical</a><br>
- D.1.111 <a href=
- "#feature-writingMode-horizontal">#writingMode-horizontal</a><br>
- D.1.112 <a href=
- "#feature-writingMode-horizontal-lr">#writingMode-horizontal-lr</a><br>
- D.1.113 <a href=
- "#feature-writingMode-horizontal-rl">#writingMode-horizontal-rl</a><br>
- D.1.114 <a href=
- "#feature-zIndex">#zIndex</a><br>
- D.2 <a href="#feature-support">Feature Support</a><br>
- E <a href="#extensions">Extensions</a><br>
- E.1 <a href="#extension-designations">Extension
- Designations</a><br>
- F <a href="#profiles">Profiles</a><br>
- F.1 <a href="#profile-dfxp-transformation">DFXP
- Transformation Profile</a><br>
- F.2 <a href="#profile-dfxp-presentation">DFXP Presentation
- Profile</a><br>
- F.3 <a href="#profile-dfxp-full">DFXP Full Profile</a><br>
- G <a href="#references">References</a><br>
- H <a href="#other-references">Other References</a> (Non-Normative)<br>
- I <a href="#requirements">Requirements</a> (Non-Normative)<br>
- J <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br>
- J.1 <a href="#d3e18678">Element Derivation</a><br>
- J.2 <a href="#d3e19157">Attribute Derivation</a><br>
- K <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br>
- K.1 <a href="#d3e20043">Requirements</a><br>
- K.2 <a href="#d3e20207">Guidelines</a><br>
- L <a href="#streaming">Streaming TTML Content</a> (Non-Normative)<br>
- M <a href="#concrete-encoding">Concrete Encoding</a> (Non-Normative)<br>
- N <a href="#time-expression-semantics">Time Expression Semantics</a>
- (Non-Normative)<br>
- N.1 <a href="#time-expression-semantics-clock">Clock Time
- Base</a><br>
- N.2 <a href="#time-expression-semantics-media">Media Time
- Base</a><br>
- N.3 <a href="#time-expression-semantics-smpte">SMPTE Time
- Base</a><br>
- O <a href="#common-styling">Common Caption Style Examples</a> (Non-Normative)<br>
- O.1 <a href="#pop-on-example">Pop-On Caption Example</a><br>
- O.2 <a href="#roll-up-example">Roll-Up Caption
- Example</a><br>
- O.3 <a href="#paint-on-example">Paint-On Caption
- Example</a><br>
- P <a href="#acknowledgments">Acknowledgments</a> (Non-Normative)<br></p>
- </div>
- <hr>
-
- <div class="body">
- <div class="div1">
- <h2><a id="intro" name="intro"></a>1 Introduction</h2>
-
- <p><em>Unless specified otherwise, this section and its sub-sections are
- non-normative.</em></p>
-
- <p>The Timed Text Markup Language (TTML) 1.0 provides a standardized representation
- of a particular subset of textual information with which stylistic, layout, and
- timing semantics are associated by an author or an authoring system for the purpose
- of interchange and processing.</p>
-
- <p>TTML is expressly designed to meet only a limited set of requirements
- established by <a href="#ttaf1-req">[TTAF1-REQ]</a>, and summarized in <a href=
- "#requirements"><b>I Requirements</b></a>. In particular, only those requirements
- which service the need of performing interchange with existing, legacy distribution
- systems are satisfied.</p>
-
- <p>In addition to being used for interchange among legacy distribution content
- formats, TTML Content may be used directly as a distribution format (as implied by
- the acronym DFXP), providing, for example, a standard content format to reference
- from a <code><track></code> element in an HTML5 document, or a
- <code><text></code> or <code><textstream></code> media element in a
- <a href="#smil21">[SMIL 2.1]</a> document. Certain properties of TTML support
- streamability of content, as described in <a href="#streaming"><b>L Streaming TTML
- Content</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While TTML was not expressly designed for direct (embedded) integration into
- an HTML or a SMIL document instance, such integration is not precluded.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In some contexts of use, it may be appropriate to employ animated content to
- depict sign language representations of the same content as expressed by a Timed
- Text <em>Document Instance</em>. This use case is not explicitly addressed by
- TTML mechanisms, but may be addressed by some external multimedia integration
- technology, such as SMIL.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In previous drafts of this specification, TTML was referred to as DFXP
- (Distribution Format Exchange Profile). This latter term is retained for
- historical reasons in certain contexts, such as profile names and designators,
- and the short name <code>ttaf1-dfxp</code> used in URLs to refer to this
- specification.</p>
- </div>
-
- <div class="div2">
- <h3><a id="model" name="model"></a>1.1 System Model</h3>
-
- <p>Use of TTML is intended to function in a wider context of Timed Text Authoring
- and Distribution mechanisms that are based upon the system model depicted in
- <a href="#model-graphic"><b>Figure 1 – System Model</b></a>, wherein the Timed
- Text Markup Language serves as a bidirectional interchange format among a
- heterogeneous collection of authoring systems, and as a unidirectional
- interchange format to a heterogeneous collection of distribution formats after
- undergoing transcoding or compilation to the target distribution formats as
- required, and where one particular distribution format is TTML (labeled as "DFXP"
- in the figure).</p><a id="model-graphic" name="model-graphic"></a>
-
- <table class="example-images">
- <caption>
- Figure 1 – System Model
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/model.png" alt="System Model"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="example" name="example"></a>1.2 Document Example</h3>
-
- <p>A TTML <em>Document Instance</em> consists of a <code>tt</code> document
- element that contains a header and a body, where the header specifies document
- level metadata, styling definitions and layout definitions, and the body
- specifies text content intermixed with references to style and layout information
- and inline styling and timing information.</p><a id=
- "ttml-example-document-structure" name="ttml-example-document-structure"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Document Structure
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Document level metadata may specify a document title, description, and
- copyright information. In addition, arbitrary metadata drawn from other
- namespaces may be specified.</p><a id="ttml-example-metadata" name=
- "ttml-example-metadata"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Timed Text TTML Example</ttm:title>
- <ttm:copyright>The Authors (c) 2006</ttm:copyright>
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Styling information may be specified in the form of style specification
- definitions that are referenced by layout and content information, specified
- inline with content information, or both.</p>
-
- <p>In <a href="#ttml-example-styling"><b>Example Fragment – TTML Styling</b></a>,
- four style sets of specifications are defined, with one set serving as a
- collection of default styles.</p><a id="ttml-example-styling" name=
- "ttml-example-styling"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <!-- s1 specifies default color, font, and text alignment -->
- <style xml:id="s1"
- tts:color="white"
- tts:fontFamily="proportionalSansSerif"
- tts:fontSize="22px"
- tts:textAlign="center"
- />
- <!-- alternative using yellow text but otherwise the same as style s1 -->
- <style xml:id="s2" style="s1" tts:color="yellow"/>
- <!-- a style based on s1 but justified to the right -->
- <style xml:id="s1Right" style="s1" tts:textAlign="end" />
- <!-- a style based on s2 but justified to the left -->
- <style xml:id="s2Left" style="s2" tts:textAlign="start" />
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Layout information defines one or more regions into which content is intended
- to be presented. A region definition may reference one or more sets of style
- specifications in order to permit content flowed in the region to inherit from
- these styles. In <a href="#ttml-example-layout"><b>Example Fragment – TTML
- Layout</b></a>, the region definition makes reference to style specification
- <code>s1</code> augmented by specific inline styles which, together, allow
- content flowed into the region to inherit from the region's styles (in the case
- that a style is not already explicitly specified on content or inherited via the
- content hierarchy.)</p><a id="ttml-example-layout" name=
- "ttml-example-layout"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <region xml:id="subtitleArea"
- style="s1"
- tts:extent="560px 62px"
- tts:padding="5px 3px"
- tts:backgroundColor="black"
- tts:displayAlign="after"
- />
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The content of a <em>Document Instance</em> is expressed in its body, which is
- organized in terms of block and inline text elements. The hierarchical
- organization of content elements serves a primary role in determining both
- spatial and temporal relationships. For example, in <a href=
- "#ttml-example-body"><b>Example Fragment – TTML Body</b></a>, each paragraph
- (<code>p</code> element) is flowed into its target region in the specified
- lexical order; furthermore, the active time interval of each paragraph is timed
- in accordance to its parent or sibling according to the applicable time
- containment semantics — in this case, the division parent is interpreted (by
- default) as a parallel time container.</p><a id="ttml-example-body" name=
- "ttml-example-body"></a>
-
- <table class="example">
- <caption>
- Example Fragment – TTML Body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body region="subtitleArea">
- <div>
- <p xml:id="subtitle1" begin="0.76s" end="3.45s">
- It seems a paradox, does it not,
- </p>
- <p xml:id="subtitle2" begin="5.0s" end="10.0s">
- that the image formed on<br/>
- the Retina should be inverted?
- </p>
- <p xml:id="subtitle3" begin="10.0s" end="16.0s" style="s2">
- It is puzzling, why is it<br/>
- we do not see things upside-down?
- </p>
- <p xml:id="subtitle4" begin="17.2s" end="23.0s">
- You have never heard the Theory,<br/>
- then, that the Brain also is inverted?
- </p>
- <p xml:id="subtitle5" begin="23.0s" end="27.0s" style="s2">
- No indeed! What a beautiful fact!
- </p>
- <p xml:id="subtitle6a" begin="28.0s" end="34.6s" style="s2Left">
- But how is it proved?
- </p>
- <p xml:id="subtitle6b" begin="28.0s" end="34.6s" style="s1Right">
- Thus: what we call
- </p>
- <p xml:id="subtitle7" begin="34.6s" end="45.0s" style="s1Right">
- the vertex of the Brain<br/>
- is really its base
- </p>
- <p xml:id="subtitle8" begin="45.0s" end="52.0s" style="s1Right">
- and what we call its base<br/>
- is really its vertex,
- </p>
- <p xml:id="subtitle9a" begin="53.5s" end="58.7s">
- it is simply a question of nomenclature.
- </p>
- <p xml:id="subtitle9b" begin="53.5s" end="58.7s" style="s2">
- How truly delightful!
- </p>
- </div>
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The first subtitle <a href="#ttml-example-subtitle-1"><b>Subtitle 1 – Time
- Interval [0.76, 3.45)</b></a> is presented during the time interval 0.76 to 3.45
- seconds. This subtitle inherits its font family, font size, foreground color, and
- text alignment from the region into which it is presented. Since no region is
- explicitly specified on the paragraph, the nearest ancestor that specifies a
- region determines the targeted region. Note also that content is presented at the
- bottom (after edge) of the containing region due to the
- <code>tts:displayAlign="after"</code> being specified on the region
- definition.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notation "[<em>X</em>,<em>Y</em>]" denotes a closed interval from
- <em>X</em> to <em>Y</em>, including <em>X</em> and <em>Y</em>;
- "[<em>X</em>,<em>Y</em>)" denotes a right half-open interval from <em>X</em> to
- <em>Y</em>, including <em>X</em> but not including <em>Y</em>;
- "(<em>X</em>,<em>Y</em>]" denotes a left half-open interval from <em>X</em> to
- <em>Y</em>, not including <em>X</em> but including <em>Y</em>;
- "(<em>X</em>,<em>Y</em>)" denotes an open interval from <em>X</em> to
- <em>Y</em>, not including <em>X</em> or <em>Y</em>.</p>
- </div><a id="ttml-example-subtitle-1" name="ttml-example-subtitle-1"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 1 – Time Interval [0.76, 3.45)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle1.png" alt="Subtitle 1"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The second subtitle continues with the default style, except that it contains
- two lines of text with an intervening author-specified line break. Note the
- effects of the use of <code>tts:textAlign="center"</code> to specify the
- paragraph's alignment in the inline progression direction.</p><a id=
- "ttml-example-subtitle-2" name="ttml-example-subtitle-2"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 2 – Time Interval [5.0, 10.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle2.png" alt="Subtitle 2"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The third subtitle continues, using a variant style which overrides the
- default style's foreground color with a different color.</p><a id=
- "ttml-example-subtitle-3" name="ttml-example-subtitle-3"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 3 – Time Interval [10.0, 16.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle3.png" alt="Subtitle 3"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fourth subtitle reverts to the default style.</p><a id=
- "ttml-example-subtitle-4" name="ttml-example-subtitle-4"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 4 – Time Interval [17.2, 23.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle4.png" alt="Subtitle 4"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The fifth subtitle continues, again using a variant style which overrides the
- default style's foreground color with a different color.</p><a id=
- "ttml-example-subtitle-5" name="ttml-example-subtitle-5"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 5 – Time Interval [23.0, 27.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle5.png" alt="Subtitle 5"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the next active time interval, two distinct subtitles are
- simultaneously active, with the paragraphs expressing each subtitle using
- different styles that override color and paragraph text alignment of the default
- style. Note that the flow order is determined by the lexical order of elements as
- they appear in the content hierarchy.</p><a id="ttml-example-subtitle-6" name=
- "ttml-example-subtitle-6"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 6a and 6b – Time Interval [28.0, 34.6)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle6.png" alt="Subtitles 6a and 6b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The next subtitle is specified in a similar manner using a style override to
- give the paragraph right (end) justification in the inline progression
- direction.</p><a id="ttml-example-subtitle-7" name="ttml-example-subtitle-7"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 7 – Time Interval [34.6, 45.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle7.png" alt="Subtitles 7a and 7b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The eighth subtitle uses the same style override as the previous subtitle in
- order to maintain the right (end) justification of the paragraph.</p><a id=
- "ttml-example-subtitle-8" name="ttml-example-subtitle-8"></a>
-
- <table class="example-images">
- <caption>
- Subtitle 8 – Time Interval [47.3, 49.0)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle8.png" alt="Subtitle 8"></td>
- </tr>
- </tbody>
- </table>
-
- <p>During the final (ninth) active time interval, two distinct subtitles are
- again simultaneously active, but with a different style applied to the second
- paragraph to override the default color. Note that the flow order is determined
- by the lexical order of elements as they appear in the content
- hierarchy.</p><a id="ttml-example-subtitle-9" name="ttml-example-subtitle-9"></a>
-
- <table class="example-images">
- <caption>
- Subtitles 9a and 9b – Time Interval [53.5, 58.7)
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/subtitle9.png" alt="Subtitles 9a and 9b"></td>
- </tr>
- </tbody>
- </table>
-
- <p>The examples shown above demonstrate the primary types of information that may
- be authored using TTML: metadata, styling, layout, timing, and content. In
- typical cases, styling and layout information are separately specified in a
- <em>Document Instance</em>. Content information is expressed in a hierarchical
- fashion that embodies the organization of both spatial (flow) and timing
- information. Content makes direct or indirect references to styling and layout
- information and may specify inline overrides to styling.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="definitions" name="definitions"></a>2 Definitions</h2>
-
- <div class="div2">
- <h3><a id="acronyms" name="acronyms"></a>2.1 Acronyms</h3>
-
- <table class="acronyms" summary="Glossary List">
- <tr>
- <td class="label"><b>DFXP</b></td>
-
- <td class="def">
- <p>Distribution Format Exchange Profile</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TT</b></td>
-
- <td class="def">
- <p>Timed Text</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTML</b></td>
-
- <td class="def">
- <p>Timed Text Markup Language</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTAF</b></td>
-
- <td class="def">
- <p>Timed Text Authoring Format</p>
- </td>
- </tr>
-
- <tr>
- <td class="label"><b>TTWG</b></td>
-
- <td class="def">
- <p>Timed Text Working Group</p>
- </td>
- </tr>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="terms" name="terms"></a>2.2 Terminology</h3>
-
- <dl>
- <dt class="label">Abstract Document Instance</dt>
-
- <dd>
- <p>An instance of an abstract data set as represented by a <em>Reduced XML
- Infoset</em>.</p>
- </dd>
-
- <dt class="label">Abstract Document Type</dt>
-
- <dd>
- <p>A set of constraints that defines a class of <em>XML Information Sets</em>
- <a href="#infoset">[XML InfoSet]</a>.</p>
- </dd>
-
- <dt class="label">Attribute Information Item</dt>
-
- <dd>
- <p>Each specified or defaulted attribute of an XML document corresponds with
- an attribute information item as defined by <a href="#infoset">[XML
- InfoSet]</a>, §2.3.</p>
- </dd>
-
- <dt class="label">Character Information Item</dt>
-
- <dd>
- <p>Each data character appearing in an XML document corresponds with a
- character information item as defined by <a href="#infoset">[XML
- InfoSet]</a>, §2.6.</p>
- </dd>
-
- <dt class="label">Computed Cell Size</dt>
-
- <dd>
- <p>The size (extent) of a cell computed by dividing the width of the <em>Root
- Container Region</em> by the column count, i.e., the number of cells in the
- horizontal axis, and by dividing the height of the <em>Root Container
- Region</em> by the row count, i.e., the number of cells in the vertical axis,
- where the column and row counts are determined by the
- <code>ttp:cellResolution</code> parameter attribute.</p>
- </dd>
-
- <dt class="label">Content Processor</dt>
-
- <dd>
- <p>A processing system capable of importing (receiving) Timed Text Markup
- Language content for the purpose of transforming, presenting, or otherwise
- processing the content.</p>
- </dd>
-
- <dt class="label">Content Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that are (or may be) employed by
- Timed Text Markup Language content.</p>
- </dd>
-
- <dt class="label">Content Region</dt>
-
- <dd>
- <p>A logical region into which rendered content is placed when modeling or
- performing presentation processing.</p>
- </dd>
-
- <dt class="label">Document Instance</dt>
-
- <dd>
- <p>A concrete realization of a Timed Text Markup Language document, where the
- concrete form is specific to the context of reference. For example, a
- sequence of bytes that represents an XML serialization of a Timed Text
- document, an internal, parsed representation of such a Timed Text document,
- etc.</p>
- </dd>
-
- <dt class="label">Document Interchange Context</dt>
-
- <dd>
- <p>The implied context or environment external to a <em>Content
- Processor</em> in which document interchange occurs, and in which out-of-band
- protocols or specifications may define certain behavioral defaults, such as
- an implied <em>Content Profile</em>.</p>
- </dd>
-
- <dt class="label">Document Processing Context</dt>
-
- <dd>
- <p>The implied context or environment internal to a <em>Content
- Processor</em> in which document processing occurs, and in which out-of-band
- protocols or specifications may define certain behavioral defaults, such as
- the establishment or creation of a <em>Synthetic Document Syncbase</em>.</p>
- </dd>
-
- <dt class="label">Element Information Item</dt>
-
- <dd>
- <p>Each element appearing in an XML document corresponds with an element
- information item as defined by <a href="#infoset">[XML InfoSet]</a>,
- §2.2.</p>
- </dd>
-
- <dt class="label">Exchange Profile</dt>
-
- <dd>
- <p>A content profile that serves a set of needs for content interchange.</p>
- </dd>
-
- <dt class="label">Extension</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined and
- labeled (using a extension designation) in another (public or private)
- specification.</p>
- </dd>
-
- <dt class="label">Feature</dt>
-
- <dd>
- <p>A syntactic or semantic expression or capability that is defined and
- labeled (using a feature designation) in this specification (or a future
- revision of this specification).</p>
- </dd>
-
- <dt class="label">Presentation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to layout, format, and
- render, i.e., to present, <em>Timed Text Markup Language</em> content by
- applying the presentation semantics defined in this specification.</p>
- </dd>
-
- <dt class="label">Processor</dt>
-
- <dd>
- <p>See <em>Content Processor</em>.</p>
- </dd>
-
- <dt class="label">Processor Profile</dt>
-
- <dd>
- <p>A collection of features and extensions that must or may be implemented
- (supported) by a content processor.</p>
- </dd>
-
- <dt class="label">Profile Definition Document</dt>
-
- <dd>
- <p>A document that defines a specific collection of features and extensions
- for which support is required or optional in a recipient content
- processor.</p>
- </dd>
-
- <dt class="label">Region</dt>
-
- <dd>
- <p>A logical construct that models authorial intention regarding desired or
- potential presentation processing, and which is represented as a rectangular
- area of a presentation surface into which content is composed and rendered
- during presentation processing.</p>
- </dd>
-
- <dt class="label">Reduced XML Infoset</dt>
-
- <dd>
- <p>An XML Information Set <a href="#infoset">[XML InfoSet]</a> that satisfies
- the constraints specify by <a href="#reduced-infoset"><b>A Reduced XML
- Infoset</b></a>.</p>
- </dd>
-
- <dt class="label">Related Media Object</dt>
-
- <dd>
- <p>A (possibly null) media object associated with or otherwise related to a
- <em>Document Instance</em>. For example, an aggregate audio/video media
- object for which a <em>Document Instance</em> provides caption or subtitle
- information, and with which that <em>Document Instance</em> is
- associated.</p>
- </dd>
-
- <dt class="label">Related Media Object Region</dt>
-
- <dd>
- <p>When a non-null <em>Related Media Object</em> exists, the region in which
- a presentation processor presents this media object.</p>
- </dd>
-
- <dt class="label">Root Container Region</dt>
-
- <dd>
- <p>A logical region that establishes a coordinate system into which
- <em>Document Instance</em> content regions are placed and optionally
- clipped.</p>
- </dd>
-
- <dt class="label">Root Temporal Extent</dt>
-
- <dd>
- <p>The temporal extent (interval) defined by the temporal beginning and
- ending of a <em>Document Instance</em> in relationship with some external
- application or presentation context.</p>
- </dd>
-
- <dt class="label">SMPTE Time Code</dt>
-
- <dd>
- <p>A time code whose format and semantics are established by <a href=
- "#smpte12m">[SMPTE 12M]</a>, which may be embedded into or otherwise
- associated with media content, such as a broadcast audio/video stream.</p>
- </dd>
-
- <dt class="label">Synthetic Document Syncbase</dt>
-
- <dd>
- <p>A document level <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-Syncbases">
- syncbase</a> <a href="#smil21">[SMIL 2.1]</a>, § 10.7.1, synthesized or
- otherwise established by the <em>Document Processing Context</em> in
- accordance with the <em>Related Media Object</em> or other processing
- criteria.</p>
- </dd>
-
- <dt class="label">Synthetic SMPTE Document Syncbase</dt>
-
- <dd>
- <p>A <em>Synthetic Document Syncbase</em> constructed from <em>SMPTE Time
- Code</em> values embedded in or associated with the <em>Related Media
- Object</em> or otherwise determined by the <em>Document Processing
- Context</em>.</p>
- </dd>
-
- <dt class="label">Timed Text</dt>
-
- <dd>
- <p>Textual information that is intrinsically or extrinsically associated with
- timing information.</p>
- </dd>
-
- <dt class="label">Timed Text Markup Language</dt>
-
- <dd>
- <p>A content type that represents timed text media for the purpose of
- interchange among authoring systems.</p>
- </dd>
-
- <dt class="label">Timed Text Authoring System</dt>
-
- <dd>
- <p>A content authoring system capable of importing and exporting Timed Text
- Markup Language content.</p>
- </dd>
-
- <dt class="label">Transformation Processor</dt>
-
- <dd>
- <p>A <em>Content Processor</em> which purpose is to transform or otherwise
- rewrite <em>Timed Text Markup Language</em> content to either <em>Timed Text
- Markup Language</em> or to another (arbitrary) content format. An example of
- the first is a processor that removes or rewrites TTML features so as to
- conform to a profile of TTML. An example of the latter is a processor that
- translates TTML into a completely different timed text format. Because this
- specification does not otherwise define a target profile or format for
- transformation processing, no further transformation semantics are defined by
- this specification.</p>
- </dd>
-
- <dt class="label">Valid Abstract Document Instance</dt>
-
- <dd>
- <p>An <em>Abstract Document Instance</em> which has been assessed for
- validity and found to be valid as defined by <a href="#doctypes"><b>4
- Document Types</b></a>.</p>
- </dd>
- </dl>
- </div>
-
- <div class="div2">
- <h3><a id="conventions" name="conventions"></a>2.3 Documentation Conventions</h3>
-
- <p>Within normative prose in this specification, the words <em>may</em>,
- <em>should</em>, and <em>must</em> are defined as follows:</p>
-
- <dl class="conformance-keywords">
- <dt class="label">may</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are permitted to, but need not
- behave as described.</p>
- </dd>
-
- <dt class="label">should</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are strongly recommended to,
- but need not behave as described.</p>
- </dd>
-
- <dt class="label">must</dt>
-
- <dd>
- <p>Conforming documents and/or TTML processors are required to behave as
- described; otherwise, they are in error.</p>
- </dd>
- </dl>
-
- <p>If normative specification language takes an imperative form, then it is to be
- treated as if the term <span class="strong">must</span> applies. Furthermore, if
- normative language takes a declarative form, and this language is governed by
- <span class="strong">must</span>, then it is also to be treated as if the term
- <span class="strong">must</span> applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, the phrases "treat X as an error" and "consider X as an error"
- are to be read as mandatory requirements in the context of use. Similarly, if
- the specification prose is "X must apply", "X applies", or "X is mandatory",
- and "X" is further defined as "X is Y and Z", then, by transitive closure, this
- last declarative phrase is to be read as "Y is mandatory" and "Z is mandatory"
- in the context of use.</p>
- </div>
-
- <p>All normative syntactic definitions of XML representations and other related
- terms are depicted with a light yellow-orange background color and labeled as
- "XML Representation" or "Syntax Representation", such as in the
- following:</p><a id="elt-syntax-example" name="elt-syntax-example"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: example
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<example
- <span class="reqattr">count</span> = integer
- size = (<em>large</em>|<em>medium</em>|<em>small</em>) : medium>
- <em>Content:</em> (all | any*)
-</example>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In an XML representation, bold-face attribute names (e.g. <span class=
- "strong">count</span> above) indicate a required attribute information item, and
- the rest are optional. Where an attribute information item has an enumerated type
- definition, the values are shown separated by vertical bars, as for
- <code>size</code> above; if there is a default value, it is shown following a
- colon. Where an attribute information item has a built-in simple type definition
- defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its
- definition therein is given.</p>
-
- <p>The allowed content of the information item is shown as a grammar fragment,
- using the Kleene operators <code>?</code>, <code>*</code> and <code>+</code>.
- Each element name therein is a hyperlink to its own illustration.</p>
-
- <p>The term linear white-space (LWSP) is to be interpreted as a non-empty
- sequence of SPACE (U+0020), TAB (U+0009), CARRIAGE RETURN (U+000D), or LINE FEED
- (U+000A), which corresponds to production [3] <code>S</code> as defined by
- <a href="#xml10">[XML 1.0]</a>.</p>
-
- <p>All content of this specification that is not explicitly marked as
- non-normative is considered to be normative. If a section or appendix header
- contains the expression "Non-Normative", then the entirety of the section or
- appendix is considered non-normative.</p>
-
- <p>All paragraphs marked as a <span class="strong">Note</span> are considered
- non-normative.</p>
-
- <p>Example code fragments are depicted with a light blue-green background color
- and labeled as "Example Fragment", such as in the following:</p><a id=
- "example-fragment-1" name="example-fragment-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Sample
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <metadata/>
- <styling/>
- <layout/>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="conformance" name="conformance"></a>3 Conformance</h2>
-
- <p>This section specifies the general conformance requirements for TTML Content and
- processors.</p>
-
- <div class="div2">
- <h3><a id="conformance-content" name="conformance-content"></a>3.1 Content
- Conformance</h3>
-
- <p>A TTML <em>Document Instance</em> conforms to this specification if the
- following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>When transporting a <em>Document Instance</em> in a <em>Document
- Interchange Context</em> in which a Media Type <a href="#media-types">[Media
- Types]</a> identifies the content type of the interchanged <em>Document
- Instance</em>, then the specified media type is
- <code>application/ttml+xml</code> in conformance with <a href=
- "#xml-media">[XML Media Types]</a> § 7, with which an optional
- <code>profile</code> parameter may appear, the value of which conforms to a
- profile designator as defined by <a href="#vocabulary-profiles"><b>5.2
- Profiles</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Document Instance</em> is or can be represented as a Reduced XML
- Infoset as defined by <a href="#reduced-infoset"><b>A Reduced XML
- Infoset</b></a>.</p>
- </li>
-
- <li>
- <p>The Reduced XML Infoset that corresponds to the <em>Document Instance</em>
- is or can be associated with one of the <em>Abstract Document Types</em>
- defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> that corresponds to the <em>Document
- Instance</em> is a <em>Valid Abstract Document Instance</em> of the
- associated <em>Abstract Document Type</em>.</p>
- </li>
-
- <li>
- <p>The <em>Reduced XML Infoset</em> satisfies all additional mandatory
- syntactic and semantic constraints defined by this specification. In
- addition, this Infoset should satisfy the web content accessibility
- guidelines specified by <a href="#wcag">[WCAG]</a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div2">
- <h3><a id="conformance-processor" name="conformance-processor"></a>3.2 Processor
- Conformance</h3>
-
- <div class="div3">
- <h4><a id="conformance-generic-processor" name=
- "conformance-generic-processor"></a>3.2.1 Generic Processor Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> conforms to this specification if the
- following generic processor criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor provides at least one mechanism for notionally
- instantiating a Reduced XML Infoset representation of a conformant
- <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>If a process does or can perform validation of a candidate <em>Document
- Instance</em>, then it provides at least one mechanism to implicitly or
- explicitly associate the <em>Reduced XML Infoset</em> representation of a
- conformant <em>Document Instance</em> with one of the <em>Abstract Document
- Types</em> defined by <a href="#doctypes"><b>4 Document Types</b></a>.</p>
- </li>
-
- <li>
- <p>The processor does not <em>a priori</em> reject or abort the processing
- of a conformant <em>Document Instance</em> unless the processor does not
- support some required (mandatory) feature specified or implied by a TTML
- Content profile declared to apply to the <em>Document Instance</em>.</p>
- </li>
-
- <li>
- <p>The processor supports all mandatory processing semantics defined by
- this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>mandatory semantics</em> refers to all explicit use of
- the conformance key phrases <span class="strong">must</span> and
- <span class="strong">must not</span> as well as any declarative statement
- that can be reasonably inferred from such key phrases. For example, these
- mandatory semantics include support for all features marked as mandatory
- in <a href="#feature-support"><b>D.2 Feature Support</b></a>.</p>
- </div>
- </li>
-
- <li>
- <p>If the processor supports some optional processing semantics defined by
- this specification, then it does so in a manner consistent with the defined
- semantics.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>optional semantics</em> refers to all explicit use of
- the conformance key phrases <span class="strong">should</span>,
- <span class="strong">should not</span>, <span class="strong">may</span>,
- and <span class="strong">may not</span>, as well as any declarative
- statement that can be reasonably inferred from such key phrases. For
- example, these optional semantics include support for all features marked
- as optional in <a href="#feature-support"><b>D.2 Feature
- Support</b></a>.</p>
- </div>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-transformation-processor" name=
- "conformance-transformation-processor"></a>3.2.2 Transformation Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Transformation
- Processor</em> if the following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Transformation profile as specified by
- <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a>.</p>
- </li>
- </ol>
- </div>
-
- <div class="div3">
- <h4><a id="conformance-presentation-processor" name=
- "conformance-presentation-processor"></a>3.2.3 Presentation Processor
- Conformance</h4>
-
- <p>A TTML <em>Content Processor</em> is a conformant TTML <em>Presentation
- Processor</em> if the following criteria are satisfied:</p>
-
- <ol class="enumar">
- <li>
- <p>The processor satisfies all requirements specified by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>.</p>
- </li>
-
- <li>
- <p>The processor supports the DFXP Presentation profile as specified by
- <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="claims" name="claims"></a>3.3 Claims</h3>
-
- <p>Any claim of compliance with respect to the conformance of a TTML <em>Document
- Instance</em> or <em>Content Processor</em> must make reference to an
- implementation compliance statement (ICS).</p>
-
- <p>An implementation compliance statement must identify all mandatory and
- optional features of this specification that are satisfied by the document
- instance or the content processor implementation. In particular, the statement
- must identify the utilized or supported TTML vocabulary profile(s) as defined by
- <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>, and, if a subset or
- superset profile is used or supported, then what features are excluded or
- included in the subset or superset profile.</p>
-
- <p>A <em>Document Instance</em> for which a compliance claim is made must specify
- either (1) a <code>ttp:profile</code> attribute on its root <code>tt</code>
- element as defined by <a href="#parameter-attribute-profile"><b>6.2.8
- ttp:profile</b></a> or (2) a <code>ttp:profile</code> element as a child of the
- <code>head</code> element as defined by <a href=
- "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="doctypes" name="doctypes"></a>4 Document Types</h2>
-
- <p>This section defines the following TTML <em>Abstract Document Types</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-content-doctype"><b>4.1 TTML Content</b></a></p>
- </li>
- </ul>
-
- <p>Each <em>Abstract Document Type</em> consists of the following constraints:</p>
-
- <ul>
- <li>
- <p>a non-empty collection of element types, where each element type consists of
- a name, a (possibly empty) collection of attributes, and a content
- specification</p>
- </li>
-
- <li>
- <p>a non-empty collection of element types that may appear as the document
- element</p>
- </li>
- </ul>
-
- <p>An <em>Abstract Document Instance</em> may be assessed in terms of validity, and
- is considered to be a <em>Valid Abstract Document Instance</em> if it satisfies the
- following condition: if after</p>
-
- <ol class="enumar">
- <li>
- <p>pruning all element information items whose names are not members of the
- collection of element types defined by the associated <em>Abstract Document
- Type</em>, then</p>
- </li>
-
- <li>
- <p>pruning character information item children from any remaining element in
- case that all character children of the element denote XML whitespace
- characters and the element's type is defined as empty in the associated
- <em>Abstract Document Type</em>, and then</p>
- </li>
-
- <li>
- <p>pruning all attribute information items having expanded names such that the
- namespace URI of the expanded names are not listed in <a href=
- "#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>,</p>
- </li>
- </ol>
-
- <p>then the document element is one of the document element types permitted by the
- associated <em>Abstract Document Type</em>, the descendants of the document element
- satisfy their respective element type's content specifications, all required
- attributes are present, and the declared value of each attribute satisfies the type
- declared by the associated <em>Abstract Document Type</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>While a conformant processor may not <em>a priori</em> reject a conformant
- <em>Document Instance</em> that adheres to a supported content profile, a given
- <em>Document Instance</em> may be constrained by the author or authoring tool to
- satisfy a more restrictive definition of validity.</p>
- </div>
-
- <div class="div2">
- <h3><a id="ttml-content-doctype" name="ttml-content-doctype"></a>4.1 TTML
- Content</h3>
-
- <p>TTML Content is an <em>Abstract Document Type</em> of a profile of the Timed
- Text Markup Language intended to be used for interchange among distribution
- systems. This document type is defined in terms of the element and attribute
- vocabulary specified in <a href="#vocabulary"><b>5 Vocabulary</b></a>.</p>
-
- <p>This specification references two types of schemas that may be used to
- validate a superset/subset of conformant TTML Content <em>Document
- Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#ttml-schema-rnc"><b>B.1 Relax NG Compact (RNC)
- Schema</b></a></p>
- </li>
-
- <li>
- <p><a href="#ttml-schema-xsd"><b>B.2 XML Schema Definition (XSD)
- Schema</b></a></p>
- </li>
- </ul>
-
- <p>The (root) document element of a TTML Content <em>Document Instance</em> must
- be a <code>tt</code> element, as defined by <a href=
- "#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The schemas referenced by this specification do not validate all syntactic
- constraints defined by this specification, and, as such, represent a superset
- of conformant TTML Content. In particular, performing validation with one of
- the above referenced schemas may result in a <em>false positive</em> indication
- of validity. For example, both the RNC and XSD schemas specify that a
- <code>tts:fontFamily</code> attribute must satisfy the <code>xs:string</code>
- XSD data type; however, this data type is a superset of the values permitted to
- be used with the <code>tts:fontFamily</code> attribute.</p>
-
- <p>In addition, the RNC schema may produce a <em>false negative</em> indication
- of validity when using the <code>xml:id</code> attribute with an element in a
- foreign namespace, thus representing a subset of conformant TTML Content. This
- is due to a specific limitation in expressing wildcard patterns involving
- <code>xsd:ID</code> typed attributes in Relax NG schemas. Note that this
- specification defines the formal validity of a <em>Document Instance</em> to be
- based on an <em>Abstract Document Instance</em> from which all foreign
- namespace elements and attributes have been removed. Therefore, the exceptional
- reporting of this false negative does not impact the formal assessment of
- <em>Document Instance</em> validity.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="vocabulary" name="vocabulary"></a>5 Vocabulary</h2>
-
- <p>This section defines the namespaces, profiles, and vocabulary (as an element and
- attribute catalog) of the Timed Text Markup Language (TTML) as follows:</p>
-
- <ul>
- <li>
- <p><a href="#vocabulary-namespaces"><b>5.1 Namespaces</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-profiles"><b>5.2 Profiles</b></a></p>
- </li>
-
- <li>
- <p><a href="#vocabulary-overview"><b>5.3 Catalog</b></a></p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="vocabulary-namespaces" name="vocabulary-namespaces"></a>5.1
- Namespaces</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of XML Namespaces
- <a href="#xmlns10">[XML Namespaces 1.0]</a> for elements and certain global
- attributes. The following table specifies this set of namespaces and indicates
- the default prefix used within this specification and the normative URI that
- denotes each namespace.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In a specific <em>Document Instance</em>, it is not required that the
- default prefixes shown below are used. Any prefix or namespace binding that
- satisfies the constraints of XML Namespaces <a href="#xmlns10">[XML Namespaces
- 1.0]</a> may be used that is associated with the specified namespace URI.</p>
- </div><a id="namespace-vocab-table" name="namespace-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 1 – Namespaces
- </caption>
- <col width="30%" span="1">
- <col span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Prefix</th>
-
- <th>Value</th>
- </tr>
-
- <tr>
- <td>TT</td>
-
- <td><code>tt:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml</code></td>
- </tr>
-
- <tr>
- <td>TT Parameter</td>
-
- <td><code>ttp:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#parameter</code></td>
- </tr>
-
- <tr>
- <td>TT Style</td>
-
- <td><code>tts:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#styling</code></td>
- </tr>
-
- <tr>
- <td>TT Metadata</td>
-
- <td><code>ttm:</code></td>
-
- <td><code>http://www.w3.org/ns/ttml#metadata</code></td>
- </tr>
-
- <tr>
- <td>TT Profile</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/</code></td>
- </tr>
-
- <tr>
- <td>TT Feature</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/feature/</code></td>
- </tr>
-
- <tr>
- <td>TT Extension</td>
-
- <td><em>none</em></td>
-
- <td><code>http://www.w3.org/ns/ttml/extension/</code></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a reference to an element type is used in this specification and the name
- of the element type is not namespace qualified, then the TT Namespace
- applies.</p>
-
- <p>For certain namespaces defined above, the default prefix is specified as
- <em>none</em> if no XML vocabulary is defined in the namespace by this
- specification (nor expected to be defined in a future version of this
- specification). In such cases, the use of the namespace URI is for purposes
- other than defining XML vocabulary, e.g., for designating profiles, features,
- extensions and for dereferencing standard profile definitions.</p>
- </div>
-
- <p>All TTML Namespaces are <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState#namespacedef"><em>mutable</em></a>
- <a href="#nsstate">[NSState]</a>; all undefined names in these namespaces are
- reserved for future standardization by the W3C.</p>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-profiles" name="vocabulary-profiles"></a>5.2 Profiles</h3>
-
- <p>The Timed Text Markup Language (TTML) employs a number of standard, predefined
- profiles of its vocabulary and associated semantics. The following table
- specifies this set of profiles, indicating a normative name and designator for
- each predefined profile, and where each of these profiles is formally elaborated
- in <a href="#profiles"><b>F Profiles</b></a> or in another TTWG
- specification.</p><a id="profile-vocab-table" name="profile-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 2 – Profiles
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Name</th>
-
- <th>Designator</th>
- </tr>
-
- <tr>
- <td>DFXP Transformation</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Presentation</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code></td>
- </tr>
-
- <tr>
- <td>DFXP Full</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/dfxp-full</code></td>
- </tr>
-
- <tr>
- <td>SDP US</td>
-
- <td><code>http://www.w3.org/ns/ttml/profile/sdp-us</code></td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p>A profile designator must adhere to the <code>xsd:anyURI</code> data type
- defined by <a href="#xsd-2">[XML Schema Part 2]</a>, §3.2.17. If the profile
- designator is expressed as a relative URI, then it must be absolutized by using
- the TT Profile Namespace value as the base URI.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if a profile designator is expressed as
- <code>dfxp-presentation</code>, then the absolutized profile designator would
- be <code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code>.</p>
- </div>
-
- <p>All profile designators which have the TT Profile Namespace as a prefix but
- are otherwise not listed in <a href="#profile-vocab-table"><b>Table 2 –
- Profiles</b></a> are reserved for future standardization, and must not be appear
- in a conformant <em>Document Instance</em>. Nothwithstanding this constraint, a
- profile designator is not restricted to the set of designators enumerated in
- <a href="#profile-vocab-table"><b>Table 2 – Profiles</b></a>, but may be any URI
- that feasibly dereferences a TTML <em>Profile Definition Document</em> provided
- it does not use the TT Profile Namespace as a prefix.</p>
-
- <p>The profile of TTML that must be supported by a TTML <em>Content
- Processor</em> in order to process a <em>Document Instance</em> is determined
- either (1) by specifying a <code>ttp:profile</code> attribute on the root
- <code>tt</code> element, as defined by <a href=
- "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a>, or (2) by including
- one or more <code>ttp:profile</code> elements in the <code>head</code> element,
- in accordance with <a href="#parameter-vocabulary-profile"><b>6.1.1
- ttp:profile</b></a>.</p>
-
- <p>If a <code>ttp:profile</code> element appears as a descendant of the
- <code>tt</code> element, then the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute should not
- be specified on the <code>tt</code> element. If both a <code>ttp:profile</code>
- element and a <code>ttp:profile</code> attribute are present (in a given
- <em>Document Instance</em>), then the <code>ttp:profile</code> attribute must be
- ignored for the purpose of determining the declared profile requirements.</p>
-
- <p>If more than one <code>ttp:profile</code> element appears in a <em>Document
- Instance</em>, then all specified profiles apply simultaneously. In such a case,
- if some feature or some extension is specified by one profile to be used
- (mandatory and enabled) and by another profile to be required (mandatory) or
- optional (voluntary), then that feature or extension must be considered to be
- used (mandatory and enabled); if some feature or some extension is specified by
- one profile to be merely required (mandatory) and by another profile to be
- optional (voluntary), then that feature or extension must be considered to be
- required (mandatory).</p>
-
- <p>If neither <a href="#parameter-attribute-profile"><code>ttp:profile</code></a>
- attribute nor <a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a> element is present
- in a <em>Document Instance</em>, and if the <em>Document Interchange Context</em>
- does not make an implicit or explicit reference to a pre-defined Content Profile
- or does not specify a <em>Profile Definition Document</em> or another equivalent
- set of feature designations, then the DFXP Transformation profile applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is not a requirement on a conformant <em>Document Instance</em> that a
- <em>Content Profile</em> be internally defined by use of a
- <code>ttp:profile</code> element or internally referenced by a
- <code>ttp:profile</code> attribute. More specifically, it is permitted that the
- <em>Document Interchange Context</em> determines the applicable <em>Content
- Profile</em> through private agreement, out-of-band protocol, or common use
- (between sender and receiver) of a profile defined by an external
- specification.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is intended that the <code>ttp:profile</code> attribute be used when the
- author wishes to reference one of the standard, predefined profiles of TTML
- Content, and does not wish to modify (by supersetting or subsetting) that
- profile. This attribute may also be used by an author to indicate the use of a
- non-standard profile, in which case the specified profile designator expresses
- a URI that denotes an externally defined <em>Profile Definition Document</em>.
- However, it is not required that a conformant TTML Content processor be able to
- dereference such an externally specified profile definition.</p>
-
- <p>In contrast, it is intended that the <code>ttp:profile</code> element be
- used when the author wishes to make use of a modified predefined profile or
- wishes to include in the <em>Document Instance</em> a non-standard profile
- definition not based upon one of the predefined profiles.</p>
-
- <p>A predefined profile is supersetted by specifying some feature or extension
- to be required (mandatory) that was either not specified in the underlying,
- baseline profile or was specified as optional (voluntary) in the baseline
- profile. A predefined profile is subsetted by specifying some feature or
- extension to be optional (voluntary) that was specified as required in the
- underlying, baseline profile.</p>
-
- <p>When a baseline profile is modified by subsetting, the resulting, derived
- profile is referred to as a <em>subtractive</em> profile; when modified by
- supersetting, the result is referred to as an <em>additive</em> profile. It is
- also possible to define a derived profile that is simultaneously subtractive
- and additive.</p>
- </div>
-
- <p>If a <em>Document Instance</em> makes use of a feature defined by <a href=
- "#feature-designations"><b>D.1 Feature Designations</b></a> and if the intended
- use of the document requires the recognition and processing of that feature, then
- the document must include a <em>required feature</em> or a <em>used feature</em>
- specification in one of its declared or referenced profiles. If a <em>Document
- Instance</em> makes use of an extension designatable by <a href=
- "#extension-designations"><b>E.1 Extension Designations</b></a> and if the
- intended use of the document requires the recognition and processing of that
- extension, then the document must include a <em>required extension</em> or a
- <em>used extension</em> specification in one of its declared or referenced
- profiles.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A required or used feature specification is expressed directly (or
- indirectly by referring to a profile) by means of a <a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a> element where the
- value of its <code>value</code> attribute is <code>required</code> or
- <code>use</code>, respectively. A required or used extension specification is
- expressed directly (or indirectly by referring to a profile) by means of a
- <a href="#parameter-vocabulary-extension"><code>ttp:extension</code></a>
- element where the value of its <code>value</code> attribute is
- <code>required</code> or <code>use</code>, respectively.</p>
- </div>
-
- <p>An example of an author defined additive, derived profile of the DFXP
- Presentation profile is shown below in <a href=
- "#ttml-example-sub-profile"><b>Example Fragment – DFXP Additive
- Profile</b></a>.</p><a id="ttml-example-sub-profile" name=
- "ttml-example-sub-profile"></a>
-
- <table class="example">
- <caption>
- Example Fragment – DFXP Additive Profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <profile use="dfxp-presentation" xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <feature value="required">#fontStyle-italic</feature>
- </features>
- </profile>
- </head>
- <body/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the baseline profile is declared to be the DFXP
- Presentation profile, which is then additively modified by making the
- <code>#fontStyle-italic</code> feature required (rather than optional as it is
- defined in <a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a>). Note also the resetting of the default XMLNS binding on the
- <code>profile</code> element to the TT Parameter Namespace.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="vocabulary-overview" name="vocabulary-overview"></a>5.3 Catalog</h3>
-
- <p>The vocabulary of the Timed Text Markup Language (TTML) is defined in the
- following major catalogs (divisions of vocabulary):</p>
-
- <ul>
- <li>
- <p><a href="#core-vocabulary-overview"><b>5.3.1 Core Catalog</b></a></p>
- </li>
-
- <li>
- <p><a href="#extension-vocabulary-overview"><b>5.3.2 Extension
- Catalog</b></a></p>
- </li>
- </ul>
-
- <p>The core catalog defines the baseline, core vocabulary of TTML, and, in
- particular, the vocabulary of TTML Content. The extension catalog serves as a
- placeholder for extensions to the core vocabulary defined by TTML.</p>
-
- <div class="div3">
- <h4><a id="core-vocabulary-overview" name="core-vocabulary-overview"></a>5.3.1
- Core Catalog</h4>
-
- <p>The core vocabulary catalog is intended to satisfy the needs of TTML while
- providing a baseline vocabulary for future profiles. This vocabulary is divided
- into distinct categories, specified in detail in the following sections:</p>
-
- <ul>
- <li>
- <p><a href="#parameters"><b>6 Parameters</b></a></p>
- </li>
-
- <li>
- <p><a href="#content"><b>7 Content</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling"><b>8 Styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout"><b>9 Layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><b>10 Timing</b></a></p>
- </li>
-
- <li>
- <p><a href="#animation"><b>11 Animation</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata"><b>12 Metadata</b></a></p>
- </li>
- </ul>
-
- <p>The core element vocabulary specified for use with a <em>Document
- Instance</em> is enumerated in <a href="#element-vocab-table"><b>Table 3 –
- Element Vocabulary</b></a>.</p><a id="element-vocab-table" name=
- "element-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 3 – Element Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Content</td>
-
- <td><a href="#document-structure-vocabulary-body">body</a>, <a href=
- "#content-vocabulary-div">div</a>, <a href="#content-vocabulary-p">p</a>,
- <a href="#content-vocabulary-span">span</a>, <a href=
- "#content-vocabulary-br">br</a></td>
- </tr>
-
- <tr>
- <td>Document</td>
-
- <td><a href="#document-structure-vocabulary-tt">tt</a></td>
- </tr>
-
- <tr>
- <td>Head</td>
-
- <td><a href="#document-structure-vocabulary-head">head</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-vocabulary-layout">layout</a>, <a href=
- "#layout-vocabulary-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a></td>
- </tr>
-
- <tr>
- <td>Metadata Items</td>
-
- <td><a href="#metadata-vocabulary-actor">ttm:actor</a>, <a href=
- "#metadata-vocabulary-agent">ttm:agent</a>, <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a>, <a href=
- "#metadata-vocabulary-desc">ttm:desc</a>, <a href=
- "#metadata-vocabulary-name">ttm:name</a>, <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameter Items</td>
-
- <td><a href="#parameter-vocabulary-profile">ttp:profile</a>, <a href=
- "#parameter-vocabulary-features">ttp:features</a>, <a href=
- "#parameter-vocabulary-feature">ttp:feature</a>, <a href=
- "#parameter-vocabulary-extensions">ttp:extensions</a>, <a href=
- "#parameter-vocabulary-extension">ttp:extension</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#styling-vocabulary-styling">styling</a>, <a href=
- "#styling-vocabulary-style">style</a></td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p>Element vocabulary groups that are used in defining content models for TTML
- element types are enumerated in <a href="#element-vocab-group-table"><b>Table 4
- – Element Vocabulary Groups</b></a>.</p><a id="element-vocab-group-table" name=
- "element-vocab-group-table"></a>
-
- <table class="common">
- <caption>
- Table 4 – Element Vocabulary Groups
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Group</th>
-
- <th>Elements</th>
- </tr>
-
- <tr>
- <td>Animation.class</td>
-
- <td><a href="#animation-vocabulary-set">set</a></td>
- </tr>
-
- <tr>
- <td>Block.class</td>
-
- <td><a href="#content-vocabulary-div">div</a> | <a href=
- "#content-vocabulary-p">p</a></td>
- </tr>
-
- <tr>
- <td>Inline.class</td>
-
- <td><a href="#content-vocabulary-span">span</a> | <a href=
- "#content-vocabulary-span">br</a> | <code>#PCDATA</code></td>
- </tr>
-
- <tr>
- <td>Metadata.class</td>
-
- <td><a href="#metadata-vocabulary-metadata">metadata</a> | <a href=
- "#metadata-vocabulary-copyright">ttm:agent</a> | <a href=
- "#metadata-vocabulary-copyright">ttm:copyright</a> | <a href=
- "#metadata-vocabulary-desc">ttm:desc</a> | <a href=
- "#metadata-vocabulary-title">ttm:title</a></td>
- </tr>
-
- <tr>
- <td>Parameters.class</td>
-
- <td><a href="#parameter-vocabulary-profile">ttp:profile</a></td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p>The attribute vocabulary specified for use with the core vocabulary catalog
- is enumerated in <a href="#attribute-vocab-table"><b>Table 5 – Attribute
- Vocabulary</b></a>.</p><a id="attribute-vocab-table" name=
- "attribute-vocab-table"></a>
-
- <table class="common">
- <caption>
- Table 5 – Attribute Vocabulary
- </caption>
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>Module</th>
-
- <th>Attributes</th>
- </tr>
-
- <tr>
- <td>Core Attributes</td>
-
- <td><a href="#content-attribute-id">xml:id</a>, <a href=
- "#content-attribute-lang">xml:lang</a>, <a href=
- "#content-attribute-space">xml:space</a></td>
- </tr>
-
- <tr>
- <td>Layout</td>
-
- <td><a href="#layout-attribute-region">region</a></td>
- </tr>
-
- <tr>
- <td>Metadata Attributes</td>
-
- <td><a href="#metadata-attribute-agent">ttm:agent</a>, <a href=
- "#metadata-attribute-role">ttm:role</a></td>
- </tr>
-
- <tr>
- <td>Parameter Attributes</td>
-
- <td><a href="#parameter-attribute-cellResolution">ttp:cellResolution</a>,
- <a href="#parameter-attribute-clockMode">ttp:clockMode</a>, <a href=
- "#parameter-attribute-dropMode">ttp:dropMode</a>, <a href=
- "#parameter-attribute-frameRate">ttp:frameRate</a>, <a href=
- "#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a>,
- <a href="#parameter-attribute-markerMode">ttp:markerMode</a>, <a href=
- "#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
- <a href="#parameter-attribute-profile">ttp:profile</a>, <a href=
- "#parameter-attribute-subFrameRate">ttp:subFrameRate</a>, <a href=
- "#parameter-attribute-tickRate">ttp:tickRate</a>, <a href=
- "#parameter-attribute-timeBase">ttp:timeBase</a></td>
- </tr>
-
- <tr>
- <td>Styling</td>
-
- <td><a href="#style-attribute-style">style</a></td>
- </tr>
-
- <tr>
- <td>Styling Attributes</td>
-
- <td><a href="#style-attribute-backgroundColor">tts:backgroundColor</a>,
- <a href="#style-attribute-color">tts:color</a>, <a href=
- "#style-attribute-direction">tts:direction</a>, <a href=
- "#style-attribute-display">tts:display</a>, <a href=
- "#style-attribute-displayAlign">tts:displayAlign</a>, <a href=
- "#style-attribute-extent">tts:extent</a>, <a href=
- "#style-attribute-fontFamily">tts:fontFamily</a>, <a href=
- "#style-attribute-fontSize">tts:fontSize</a>, <a href=
- "#style-attribute-fontStyle">tts:fontStyle</a>, <a href=
- "#style-attribute-fontWeight">tts:fontWeight</a>, <a href=
- "#style-attribute-lineHeight">tts:lineHeight</a>, <a href=
- "#style-attribute-opacity">tts:opacity</a>, <a href=
- "#style-attribute-origin">tts:origin</a>, <a href=
- "#style-attribute-overflow">tts:overflow</a>, <a href=
- "#style-attribute-padding">tts:padding</a>, <a href=
- "#style-attribute-showBackground">tts:showBackground</a>, <a href=
- "#style-attribute-textAlign">tts:textAlign</a>, <a href=
- "#style-attribute-textDecoration">tts:textDecoration</a>, <a href=
- "#style-attribute-textOutline">tts:textOutline</a>, <a href=
- "#style-attribute-unicodeBidi">tts:unicodeBidi</a>, <a href=
- "#style-attribute-visibility">tts:visibility</a>, <a href=
- "#style-attribute-wrapOption">tts:wrapOption</a>, <a href=
- "#style-attribute-writingMode">tts:writingMode</a>, <a href=
- "#style-attribute-zIndex">tts:zIndex</a></td>
- </tr>
-
- <tr>
- <td>Timing Attributes</td>
-
- <td><a href="#timing-attribute-begin">begin</a>, <a href=
- "#timing-attribute-dur">dur</a>, <a href="#timing-attribute-end">end</a>,
- <a href="#timing-attribute-timeContainer">timeContainer</a></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only those attributes defined as either (1) global, i.e., namespace
- qualified, or (2) shared element-specific, i.e., not namespace qualified but
- shared across multiple element types, are listed in <a href=
- "#attribute-vocab-table"><b>Table 5 – Attribute Vocabulary</b></a> above.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All vocabulary defined by TTML consistently makes use of the so-called
- <em>lowerCamelCase</em> naming convention. In some cases, this results in the
- change of a name when the name was based upon another specification that used
- a different naming convention.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="extension-vocabulary-overview" name=
- "extension-vocabulary-overview"></a>5.3.2 Extension Catalog</h4>
-
- <p>The extension vocabulary catalog is intended for use by future profiles of
- TTML, and is not further defined by this version of this specification.</p>
-
- <p>In addition to standardized extension vocabulary, a conforming <em>Document
- Instance</em> may contain arbitrary namespace qualified elements that reside in
- any namespace other than those namespaces defined for use with this
- specification. Furthermore, a conforming <em>Document Instance</em> may contain
- arbitrary namespace qualified attributes on TTML defined vocabulary where such
- attributes reside in any namespace other than those defined for use with this
- specification.</p>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="parameters" name="parameters"></a>6 Parameters</h2>
-
- <p>This section specifies the <em>parameters</em> matter of the core vocabulary
- catalog, where parameters are to be understood as information that is either (1)
- essential or (2) of significant importance for the purpose of interpreting the
- semantics of other types of information expressed by core vocabulary items or for
- establishing a <em>Document Processing Context</em> by means of which TTML Content
- can be related to an external environment.</p>
-
- <div class="div2">
- <h3><a id="parameter-element-vocabulary" name=
- "parameter-element-vocabulary"></a>6.1 Parameter Element Vocabulary</h3>
-
- <p>The following elements, all defined in the TT Parameter Namespace, specify
- parametric information that applies to a <em>Document Instance</em> or
- <em>Content Processor</em>:</p>
-
- <ul>
- <li>
- <p><a href="#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-features"><b>6.1.2 ttp:features</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-feature"><b>6.1.3 ttp:feature</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extensions"><b>6.1.4
- ttp:extensions</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-extension"><b>6.1.5
- ttp:extension</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-profile" name=
- "parameter-vocabulary-profile"></a>6.1.1 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> element is used to specify a collection of used
- (mandatory and enabled), required (mandatory), and optional (voluntary)
- features and extensions that must or may be supported by a <em>Content
- Processor</em> in order to process a <em>Document Instance</em> that makes (or
- may make) use of such features and extensions.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The difference between a <em>feature</em> and an <em>extension</em> is
- where it is defined and how it is labeled: if defined in this specification
- (or a future revision thereof) and labeled with a feature designation in
- <a href="#features"><b>D Features</b></a>, then it is considered to be a
- feature; if defined in another specification and labeled there with an
- extension designation, then it is considered to be an extension. In general,
- features are expected to be defined by the W3C standards process, while
- extensions are expected to be defined by third parties.</p>
- </div>
-
- <p>This specification defines two distinct uses of the <code>ttp:profile</code>
- element:</p>
-
- <ul>
- <li>
- <p>as a child of the <code>head</code> element within a TTML <em>Document
- Instance</em>;</p>
- </li>
-
- <li>
- <p>as the root element of a TTML <em>Profile Definition Document</em>
- instance;</p>
- </li>
- </ul>
-
- <p>When a <code>tt:profile</code> element appears within a TTML <em>Document
- Instance</em>, its purpose is to express authorial intentions about which
- features and extensions must or may be supported by a recipient content
- processor. In addition, the element indirectly expresses information about the
- set of features or extensions that are (or may expected to be) used by the
- <em>Document Instance</em>.</p>
-
- <p>When a <code>tt:profile</code> element is used by a TTML <em>Profile
- Definition Document</em> instance, it serves to publish a machine readable
- specification of a specific TTML Content profile, of which this specification
- defines three such <em>Profile Definition Documents</em> in <a href=
- "#profiles"><b>F Profiles</b></a>.</p>
-
- <p>The <code>ttp:profile</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:features</code> elements, followed by zero or more
- <code>ttp:extensions</code> elements.</p><a id="elt-syntax-parameter-profile"
- name="elt-syntax-parameter-profile"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile
- use = string
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-features">ttp:features</a>*, <a href=
-"#parameter-vocabulary-extensions">ttp:extensions</a>*
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>use</code> attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, and, furthermore, must denote a profile designator in
- accordance with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>. In this
- case, the profile designator must refer to (1) a standard, predefined
- <em>Profile Definition Document</em> as defined by <a href="#profiles"><b>F
- Profiles</b></a>, or (2) a feasibly dereferenceable resource representing a
- valid <em>Profile Definition Document</em> instance. In either case, the
- referenced profile serves as the baseline profile of the specifying
- <code>ttp:profile</code> element.</p>
-
- <p>If the <code>use</code> attribute is not specified, then the baseline
- profile of the <code>ttp:profile</code> element must be considered to be the
- empty (null) profile, i.e., a profile definition containing no feature or
- extension specifications.</p>
-
- <p>The collection of features and extensions of a profile are determined
- according to the following ordered rules:</p>
-
- <ol class="enumar">
- <li>
- <p>initialize the features and extensions of the profile to the empty
- set;</p>
- </li>
-
- <li>
- <p>if a <code>use</code> attribute is present, then augment the profile
- with the set of features and extensions specified by the referenced
- baseline profile;</p>
- </li>
-
- <li>
- <p>for each <code>ttp:feature</code> and <code>ttp:extension</code> element
- descendant of the <code>ttp:profile</code> element, using a post-order
- traversal, merge the specified feature or extension with the features and
- extensions of the profile, where merging a feature or extension entails
- replacing an existing feature or extension specification, if it already
- exists, or adding a new feature or extension specification, if it does not
- yet exist in the profile;</p>
- </li>
- </ol>
-
- <p>A conformant TTML processor is not required to be able to dereference a
- <em>Profile Definition Document</em> that is not one of the standard,
- predefined profiles defined by <a href="#profiles"><b>F Profiles</b></a>.
- Furthermore, a conformant TTML processor may make use of a built-in, static
- form of each standard, predefined profile so as not to require dereferencing a
- network resource.</p>
-
- <p>If a TTML processor is unable to dereference a non-standard <em>Profile
- Definition Document</em>, then it must not further process the document without
- the presence of an explicit override from an end-user or some implementation
- specific parameter traceable to an end-user or to a user or system
- configuration setting. If a TTML processor aborts processing of a <em>Document
- Instance</em> due to the inability to reference a non-standard <em>Profile
- Definition Document</em>, then some end-user notification should be given
- unless the end-user or system has disabled such a notification, or if the
- processor does not permit or entail the intervention of an end-user.</p>
-
- <p>The <code>ttp:profile</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-profile-example-1" name=
- "parameter-vocabulary-profile-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:profile
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <ttp:feature>#text-outline</ttp:feature>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as the
- baseline profile. This baseline profile is then supersetted (thus creating an
- additive derived profile) by requiring support for <code>#text-outline</code>
- feature.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-features" name=
- "parameter-vocabulary-features"></a>6.1.2 ttp:features</h4>
-
- <p>The <code>ttp:features</code> element is a container element used to group
- infomation about feature support requirements.</p>
-
- <p>The <code>ttp:features</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:feature</code> elements.</p><a id=
- "elt-syntax-parameter-features" name="elt-syntax-parameter-features"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:features
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:features
- xml:base = string : <em>TT Feature Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-feature">ttp:feature</a>*
-</ttp:features>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
- "#xmlbase">[XML Base]</a> and, (3) express a feature namespace as defined by
- <a href="#feature-designations"><b>D.1 Feature Designations</b></a>. If not
- specified, the <code>xml:base</code> attribute's default value applies, which
- is the TT Feature Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
- feature designation URIs expressed by child <code>ttp:feature</code>
- elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-feature" name=
- "parameter-vocabulary-feature"></a>6.1.3 ttp:feature</h4>
-
- <p>The <code>ttp:feature</code> element is used to specify infomation about
- support requirements for a particular feature.</p>
-
- <p>The children of the <code>ttp:feature</code> element must express a
- non-empty sequence of character information items that adheres to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-feature" name=
- "elt-syntax-parameter-feature"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:feature
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:feature>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then, when combined with the feature namespace value
- expressed by the <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:features</code> element, it must express an absolute URI. In either
- case (original absolute URI or resulting absolutized URI), the URI expressed by
- the <code>ttp:feature</code> element must further adhere to the syntax of a
- feature designation as defined by <a href="#feature-designations"><b>D.1
- Feature Designations</b></a>, and, furthermore, the specific designation that
- appears in this URI, i.e., the portion of the feature designation that starts
- with the fragment identifier separator '#', must be defined by this
- specification or some published version thereof (that has achieved REC
- status).</p>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then an <code>xml:base</code> attribute should be specified
- on the nearest ancestor <code>ttp:features</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming TTML
- processor must or may implement the designated feature in order to process the
- document. If the value of the <code>value</code> attribute is
- <code>optional</code>, then the processor need not implement or otherwise
- support the feature in order to process the document; if the value is
- <code>required</code>, then the processor must implement or otherwise support
- the feature, irrespective of whether the feature is enabled or disabled, in
- order to process the document; if the value is <code>use</code>, then the
- processor must both (1) implement or otherwise support the feature and (2) have
- enabled (activated) use of the feature.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element information item
- definition. Therefore, if a <code>value</code> attribute is not specified on
- a <code>ttp:feature</code> element, it is equivalent to specifying that
- support for the feature is required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is <code>required</code> or
- <code>use</code> and the TTML processor implementation does not support the
- feature, or if the <code>value</code> attribute is <code>use</code> and the
- TTML processor implementation supports but has disabled that feature, then it
- must not further process the document without the presence of an explicit
- override from an end-user or some implementation specific parameter traceable
- to an end-user or to a user or system configuration setting. If a TTML
- processor aborts processing of a <em>Document Instance</em> due to the
- specification of a required, but unsupported feature by this element, then some
- end-user notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or entail the
- intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is <code>optional</code>,
- and if the TTML processor implementation does not support the feature, then it
- may further process the document even in the case that some use of the feature
- is present in the document. In the case of actual use of a feature designated
- as optional, the default semantics associated with that feature apply; that is,
- the processor may behave as if the feature were not actually used or referenced
- by the document. Notwithstanding the above, the syntactic presence or reference
- to an optional feature by a document must not be considered to be a violation
- of document validity or a barrier to further processing if the syntactic
- expression is well-formed and valid.</p>
-
- <p>If some defined (i.e., standardized) or otherwise well known feature is not
- specified by a <code>ttp:feature</code> element in a given profile, then it
- must be interpreted as if the feature were specified with the
- <code>value</code> attribute equal to <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some feature is not present in a profile definition,
- then it is not to be interpreted as meaning the use of that feature (in a
- <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:feature</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-feature-example-1" name=
- "parameter-vocabulary-feature-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:feature
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-presentation">
- <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
- <span class=
-"strong"><ttp:feature value="required">#fontStyle-italic</ttp:feature></span>
- <span class=
-"strong"><ttp:feature value="required">#textDecoration-under</ttp:feature></span>
- </ttp:features>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP presentation profile is used as the
- baseline profile. This baseline profile is then modified by two
- <code>ttp:feature</code> elements in order to superset the baseline profile
- (since neither <code>#fontStyle-italic</code> nor
- <code>#textDecoration-under</code> are required by the DFXP presentation
- profile).</p>
-
- <p>The effect of this example is to express authorial intentions that italic
- font style and text underlining must be supported.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extensions" name=
- "parameter-vocabulary-extensions"></a>6.1.4 ttp:extensions</h4>
-
- <p>The <code>ttp:extensions</code> element is a container element used to group
- infomation about extension support requirements.</p>
-
- <p>The <code>ttp:extensions</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>ttp:extension</code> elements.</p><a id=
- "elt-syntax-parameter-extensions" name="elt-syntax-parameter-extensions"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extensions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extensions
- xml:base = string : <em>TT Extension Namespace</em>
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#parameter-vocabulary-extension">ttp:extension</a>*
-</ttp:extensions>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If specified, the <code>xml:base</code> attribute must (1) adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, (2) express an absolute URI that adheres to <a href=
- "#xmlbase">[XML Base]</a> and, (3) express an extension namespace as defined by
- <a href="#extension-designations"><b>E.1 Extension Designations</b></a>. If not
- specified, the <code>xml:base</code> attribute's default value applies, which
- is the TT Extension Namespace.</p>
-
- <p>The <code>xml:base</code> attribute is used to permit the abbreviation of
- feature designation URIs expressed by child <code>ttp:extension</code>
- elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-vocabulary-extension" name=
- "parameter-vocabulary-extension"></a>6.1.5 ttp:extension</h4>
-
- <p>The <code>ttp:extension</code> element is used to specify infomation about
- support requirements for a particular extension.</p>
-
- <p>The children of the <code>ttp:extension</code> element must express a
- non-empty sequence of character information items that adheres to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17.</p><a id="elt-syntax-parameter-extension" name=
- "elt-syntax-parameter-extension"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:extension
- value = (optional|required|use) : required
- <a href="#content-attribute-id">xml:id</a> = ID
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttp:extension>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the URI expressed by the content of the <code>ttp:extension</code>
- element is a relative URI, then, when combined with the extension namespace
- value expressed by the <code>xml:base</code> attribute of the nearest ancestor
- <code>ttp:extensions</code> element, it must express an absolute URI. In either
- case (original absolute URI or resulting absolutized URI), the URI expressed by
- the <code>ttp:extension</code> element must further adhere to the syntax of an
- extension designation as defined by <a href="#extension-designations"><b>E.1
- Extension Designations</b></a>.</p>
-
- <p>If the URI expressed by the content of the <code>ttp:feature</code> element
- is a relative URI, then an <code>xml:base</code> attribute should be specified
- on the nearest ancestor <code>ttp:extensions</code> element.</p>
-
- <p>The <code>value</code> attribute specifies whether a conforming TTML
- processor must or may implement the designated extension in order to process
- the document. If the value of the <code>value</code> attribute is
- <code>optional</code>, then the processor need not implement or otherwise
- support the extension in order to process the document; if the value is
- <code>required</code>, then the processor must implement or otherwise support
- the extension in order to process the document; if the value is
- <code>use</code>, then the processor must both (1) implement or otherwise
- support the extension and (2) enable (activate) use of the extension.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value of the <code>value</code> attribute is
- <code>required</code>, as indicated in the above element information item
- definition. Therefore, if a <code>value</code> attribute is not specified on
- a <code>ttp:extension</code> element, it is equivalent to specifying that
- support for the extension is required.</p>
- </div>
-
- <p>If the value of the <code>value</code> attribute is <code>required</code> or
- <code>use</code> and the TTML processor implementation does not support the
- extension, or if the <code>value</code> attribute is <code>use</code> and the
- TTML processor implementation supports but has disabled that extension, then it
- must not further process the document without the presence of an explicit
- override from an end-user or some implementation specific parameter traceable
- to an end-user or to a user or system configuration setting. If a TTML
- processor aborts processing of a <em>Document Instance</em> due to the
- specification of a required, but unsupported extension by this element, then
- some end-user notification should be given unless the end-user or system has
- disabled such a notification, or if the processor does not permit or entail the
- intervention of an end-user.</p>
-
- <p>If the value of the <code>value</code> attribute is <code>optional</code>,
- and if the TTML processor implementation does not support the extension, then
- it may further process the document even in the case that some use of the
- extension is present in the document. In the case of actual use of an extension
- designated as optional, the default semantics associated with that extension
- apply; that is, the processor may behave as if the extension were not actually
- used or referenced by the document. Notwithstanding the above, the syntactic
- presence or reference to an optional extension by a document must not be
- considered to be a violation of document validity or a barrier to further
- processing if the syntactic expression is well-formed and valid.</p>
-
- <p>If some well known extension is not specified by a
- <code>ttp:extension</code> element in a given profile, then it must be
- interpreted as if the extension were specified with the <code>value</code>
- attribute equal to <code>optional</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In particular, if some extension is not present in a profile definition,
- then it is not to be interpreted as meaning the use of that extension (in a
- <em>Document Instance</em>) is disallowed or otherwise prohibited.</p>
- </div>
-
- <p>The <code>ttp:extension</code> element is illustrated by the following
- example.</p><a id="parameter-vocabulary-extension-example-1" name=
- "parameter-vocabulary-extension-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – ttp:extension
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-transformation">
- <ttp:extensions xml:base="http://example.org/ttml/extension/">
- <span class=
-"strong"><ttp:extension value="use">#prefilter-by-language</ttp:extension></span>
- </ttp:extensions>
-</ttp:profile>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the DFXP transformation profile is used as the
- baseline profile. This baseline profile is then supersetted by specifying
- that support and use is required for a private extension defined in a third
- party namespace.</p>
-
- <p>The effect of this example is to express authorial intentions that a
- recipient processor must support the DFXP transformation profile and must
- also support and enable an extension defined by a third party.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="parameter-attribute-vocabulary" name=
- "parameter-attribute-vocabulary"></a>6.2 Parameter Attribute Vocabulary</h3>
-
- <p>The following attributes are defined in the TT Parameter Namespace.</p>
-
- <ul>
- <li>
- <p><a href="#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-clockMode"><b>6.2.2
- ttp:clockMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.5
- ttp:frameRateMultiplier</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-markerMode"><b>6.2.6
- ttp:markerMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.7
- ttp:pixelAspectRatio</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
- between adjacent non-terminal components of a TT Parameter value unless some
- other delimiter is permitted and used.</p>
-
- <div class="div3">
- <h4><a id="parameter-attribute-cellResolution" name=
- "parameter-attribute-cellResolution"></a>6.2.1 ttp:cellResolution</h4>
-
- <p>The <code>ttp:cellResolution</code> attribute may be used by an author to
- express the number of horizontal and vertical cells into which the <em>Root
- Container Region</em> area is divided for the purpose of expressing
- presentation semantics in terms of a uniform grid.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-cellResolution-syntax" name=
- "parameter-attribute-cellResolution-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:cellResolution
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:cellResolution
- : columns rows // <em>columns</em> != 0; <em>rows</em> != 0
-
-columns | rows
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, the number of columns and rows must be considered to be 32
- and 15, respectively. If specified, then columns or rows must not be zero
- (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The choice of values 32 and 15 are based on this being the maximum number
- of columns and rows defined by <a href="#cea608c">[CEA-608-C]</a>.</p>
- </div>
-
- <p>A <code>ttp:cellResolution</code> attribute is considered to be significant
- only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a uniform grid is employed only for the purpose of measuring
- lengths and expressing coordinates. In particular, it is not assumed that the
- presentation of text or the alignment of individual glyph areas is
- coordinated with this grid. Such alignment is possible, but requires the use
- of a monospaced font and a font size whose EM square exactly matches the cell
- size.</p>
- </div>
-
- <p>Except where indicated otherwise, when a <a href=
- "#style-value-length"><length></a> expressed in cells denotes a dimension
- parallel to the inline or block progression dimension, the cell's dimension in
- the inline or block progression dimension applies, respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if padding (on all four edges) is specified as 0.1c, the cell
- resolution is 20 by 10, and the extent of the <em>Root Container Region</em>
- is 640 by 480, then, assuming top to bottom, left to right writing mode, the
- start and end padding will be (640 / 20) * 0.1 pixels and the before and
- after padding will be (480 / 10) * 0.1 pixels.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-clockMode" name=
- "parameter-attribute-clockMode"></a>6.2.2 ttp:clockMode</h4>
-
- <p>The <code>ttp:clockMode</code> attribute is used to specify the
- interpretation of time expressions as real-time time coordinates when operating
- with time base of <code>clock</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value
- Expressions</b></a> for the specification of time expression syntax and
- semantics.</p>
- </div>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-clockMode-syntax" name=
- "parameter-attribute-clockMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:clockMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:clockMode
- : "local"
- | "gps"
- | "utc"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>clock</code>, then this parameter applies as follows: if the
- parameter's value is <code>local</code>, then time expressions are interpreted
- as local wall-clock time coordinates; if <code>utc</code>, then time
- expressions are interpreted as UTC time coordinates <a href="#utc">[UTC]</a>;
- if <code>gps</code>, then time expressions are interpreted as GPS time
- coordinates <a href="#gps">[GPS]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The primary difference between GPS time and UTC time is that GPS time is
- not adjusted for leap seconds, while UTC time is adjusted as follows: UTC =
- TAI (<em>Temp Atomique International</em>) + <em>leap seconds accumulated
- since 1972</em>. TAI is maintained by the <em>Bureau International des Poids
- et Mesures</em> (BIPM) in Sevres, France. The GPS system time is steered to a
- Master Clock (MC) at the US Naval Observatory which is kept within a close
- but unspecified tolerance of TAI.</p>
- </div>
-
- <p>If not specified, the value of this parameter must be considered to be
- <code>utc</code>.</p>
-
- <p>A <code>ttp:clockMode</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-dropMode" name=
- "parameter-attribute-dropMode"></a>6.2.3 ttp:dropMode</h4>
-
- <p>The <code>ttp:dropMode</code> attribute is used to specify constraints on
- the interpretation and use of frame counts that correspond with <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
- <code>smpte</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-dropMode-syntax" name=
- "parameter-attribute-dropMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:dropMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:dropMode
- : "dropNTSC"
- | "dropPAL"
- | "nonDrop"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>smpte</code>, then this parameter applies as follows: if the
- parameter's value is <code>nonDrop</code>, then, within any given second of a
- time expression, frames count from 0 to <em>N−1</em>, where <em>N</em> is the
- value specified by the <code>ttp:frameRate</code> parameter, but while ignoring
- any value specified by the <code>ttp:frameRateMultiplier</code> parameter.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating in <code>nonDrop</code> mode, a second of a time expression
- may or may not be equal to a second of real time during normal (1x speed)
- forward playback. If the <code>ttp:frameRateMultiplier</code> parameter is
- specified and is not equal to 1:1, then a second of a time expression will
- either be shorter or longer than a second of elapsed play in real time.</p>
- </div>
-
- <p>If this parameter's value is <code>dropNTSC</code>, then, within any given
- second of a time expression except the second <code>00</code>, frames count
- from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
- <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
- the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
- expression is <code>00</code> and the minute of the time expression is not
- <code>00</code>, <code>10</code>, <code>20</code>, <code>30</code>,
- <code>40</code>, or <code>50</code>, then frame codes <code>00</code> and
- <code>01</code> are dropped during that second; otherwise, these frame codes
- are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropNTSC</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
- occurs between consecutive frames as shown in the following sequence of time
- expressions: <code>01:08:59:28</code>, <code>01:08:59:29</code>,
- <code>01:09:00:02</code>, <code>01:09:00:03</code>.</p>
- </div>
-
- <p>If this parameter's value is <code>dropPAL</code>, then, within any given
- second of a time expression except the second <code>00</code>, frames count
- from 0 to <em>N−1</em>, where <em>N</em> is the value specified by the
- <code>ttp:frameRate</code> parameter, but while ignoring any value specified by
- the <code>ttp:frameRateMultiplier</code> parameter. If the second of a time
- expression is <code>00</code> and the minute of the time expression is even but
- not <code>00</code>, <code>20</code>, or <code>40</code>, then frame codes
- <code>00</code> through <code>03</code> are dropped during that second;
- otherwise, these frame codes are not dropped.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, when operating in <code>dropPAL</code> mode with
- <code>ttp:frameRate</code> of <code>30</code>, a discontinuity in frame count
- occurs between consecutive frames as shown in the following sequence of time
- expressions: <code>01:09:59:28</code>, <code>01:09:59:29</code>,
- <code>01:10:00:04</code>, <code>01:10:00:05</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <code>dropPAL</code> mode is also known as the <em>M/PAL</em> or
- <em>PAL (M)</em> drop-frame code, which uses PAL modulation with the NTSC
- frame rate of ~29.97 frames/second. The M/PAL system is used primarily in
- Brazil.</p>
- </div>
-
- <p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p>
-
- <p>A <code>ttp:dropMode</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-frameRate" name=
- "parameter-attribute-frameRate"></a>6.2.4 ttp:frameRate</h4>
-
- <p>The <code>ttp:frameRate</code> attribute is used to specify the frame rate
- of a related media object or the intrinsic frame rate of a <em>Document
- Instance</em> in case it is intended to function as an independent media
- object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-frameRate-syntax" name=
- "parameter-attribute-frameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The frame rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>frames</em> as defined by
- <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective frame rate is
- integral, then a frame is interpreted as a division of a second of media time,
- such that if the frame rate is specified as <em>F</em>, then a second of media
- time is divided into <em>F</em> intervals of equal duration, where each
- interval is labeled as frame <em>f</em>, with <em>f</em> ∈
- [0…<em>F−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the frame rate must be considered to be equal to some
- application defined frame rate, or if no application defined frame rate
- applies, then thirty (30) frames per second. If specified, then the frame rate
- must be greater than zero (0).</p>
-
- <p>A <code>ttp:frameRate</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-frameRateMultiplier" name=
- "parameter-attribute-frameRateMultiplier"></a>6.2.5
- ttp:frameRateMultiplier</h4>
-
- <p>The <code>ttp:frameRateMultiplier</code> attribute is used to specify a
- multiplier to be applied to the frame rate specified by a
- <code>ttp:frameRate</code> attribute in order to compute the effective frame
- rate.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-frameRateMultiplier-syntax" name=
- "parameter-attribute-frameRateMultiplier-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:frameRateMultiplier
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:frameRateMultiplier
- : numerator denominator // <em>numerator</em> != 0; <em>denominator</em> != 0
-
-numerator | denominator
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A frame rate multiplier is used when the desired frame rate cannot be
- expressed as an integral number of frames per second.</p>
-
- <p>If not specified, the frame rate multiplier must be considered to be equal
- to one (1:1). Both numerator and denominator must be non-zero.</p>
-
- <p>A <code>ttp:frameRateMultiplier</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The frame rate multiplier used for synchronizing with NTSC <a href=
- "#smpte170m">[SMPTE 170M]</a> formatted video objects at 30 frames per second
- is nominally 1000:1001. The nominal frame rate of NTSC video is defined as
- the chrominance sub-carrier frequency of 3,579,545.45…Hz (= 5.0MHz × 63/88)
- times the ratio 2/455 divided by the number of horizontal lines per frame of
- 525, which yields a frame rate of 29.970029970029… (= 30 × 1000/1001) frames
- per second. Other frame rate multipliers apply to different regions of usage
- and video format standards.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Except in the case of PAL/M, the frame rate multiplier used for
- synchronizing with PAL formatted video objects at 25 frames per second is
- nominally 1:1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-markerMode" name=
- "parameter-attribute-markerMode"></a>6.2.6 ttp:markerMode</h4>
-
- <p>The <code>ttp:markerMode</code> attribute is used to specify constraints on
- the interpretation and use of time expressions that correspond with <a href=
- "#smpte12m">[SMPTE 12M]</a> time coordinates when operating with time base of
- <code>smpte</code> as defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-markerMode-syntax" name=
- "parameter-attribute-markerMode-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:markerMode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:markerMode
- : "continuous"
- | "discontinuous"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base, defined by <a href=
- "#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated
- as <code>smpte</code>, then this parameter applies as follows: if the
- parameter's value is <code>continuous</code>, then <a href="#smpte12m">[SMPTE
- 12M]</a> time coordinates may be assumed to be linear and either monotonically
- increasing or decreasing; however, if <code>discontinuous</code>, then any
- assumption must not be made regarding linearity or monotonicity of time
- coordinates.</p>
-
- <p>If not specified, the value of this parameter must be considered to be
- <code>discontinuous</code>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The default value for this parameter was originally specified (in <a href=
- "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">TTML 1.0 First
- Edition</a>) as <code>continuous</code>; however, further evaluation of the
- state of the industry indicates this choice was incorrect, and that the most
- common default is <code>discontinuous</code>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to lack of industry consensus on the utility and interpretation of the
- <code>continuous</code> marker mode, authors are advised to avoid its use.
- Furthermore, the <code>ttp:markerMode</code> is being considered for
- deprecation in the next revision of this specification.</p>
- </div>
-
- <p>A <code>ttp:markerMode</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
-
- <p>If a value of <code>continuous</code> applies, then time expressions may be
- converted to real time coordinates by taking into account the computed frame
- rate and drop mode as expressed by the <code>ttp:dropMode</code> parameter. In
- this case, the <em>Content Processor</em> must create and maintain a
- <em>Synthetic SMPTE Document Syncbase</em> within which these time expressions
- are interpreted as further described in <a href=
- "#timing-time-intervals"><b>10.4 Time Intervals</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>continuous</code> marker mode, there is an implied time coordinate
- space, the <em>Synthetic SMPTE Document Syncbase</em>, defined by the
- monotonically increasing (or decreasing) <a href="#smpte12m">[SMPTE 12M]</a>
- time coordinates, while taking into account the computed frame rate and drop
- mode. All time expressions are interpreted in relationship to this time
- coordinate space based upon <em>SMPTE Time Code</em> synchronization events
- (markers), where the <em>Document Processing Context</em> emits these events
- with implied constraints regarding time coordinate monoticity and
- resynchronization in the presence of dropped frames.</p>
-
- <p>Use of <code>continuous</code> marker mode with the <code>smpte</code>
- time base is different from using the <code>media</code> time base because
- (1) the semantics of the <code>ttp:dropMode</code> parameter apply to the
- former, but not the latter, and (2) <a href="#smpte12m">[SMPTE 12M]</a> time
- coordinates may be applied monotonically to media which has been subjected to
- dilation in time, constriction in time, or reversal in time.</p>
- </div>
-
- <p>If a value of <code>discontinuous</code> applies, then time expressions must
- not be converted to real time coordinates, arithmetical operators (addition,
- multiplication) are not defined on time expressions, and, consequently, any
- (well-formed) expression of a duration must be considered to be invalid.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When operating with <code>smpte</code> time base and
- <code>discontinuous</code> marker mode, there is no effective time coordinate
- space; rather, all time expressions are interpreted as labeled
- synchronization events (markers), where the <em>Document Processing
- Context</em> emits these events, which, when they correspond with time
- expressions that denote the same label, cause a temporal interval to begin or
- end accordingly.</p>
-
- <p>An additional side-effect of operating in <code>discontinuous</code> mode
- is that time expressions of children have no necessary relationship with time
- expressions of their temporal container; that is, temporal containers and
- children of these containers are temporally activated and inactivated
- independently based on the occurrence of a labeled synchronization (marker)
- event.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The notion of marker discontinuity as captured by this parameter is
- logically independent from the method used to count frames as expressed by
- the <code>ttp:dropMode</code> parameter. In particular, even if the
- <code>ttp:dropMode</code> parameter is specified as <code>dropNTSC</code> or
- <code>dropPAL</code>, the marker mode may be specified as
- <code>continuous</code>, even in the presence of frame count discontinuities
- induced by the frame counting method, unless there were some other
- non-linearity or discontinuity in marker labeling, for example, two
- consecutive frames labeled as <code>10:00:00:00</code> and
- <code>10:00:01:00</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-pixelAspectRatio" name=
- "parameter-attribute-pixelAspectRatio"></a>6.2.7 ttp:pixelAspectRatio</h4>
-
- <p>The <code>ttp:pixelAspectRatio</code> attribute may be used by a content
- author to express the aspect ratio of non-square pixels in the production of
- content that makes use of pixel coordinates.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-pixelAspectRatio-syntax" name=
- "parameter-attribute-pixelAspectRatio-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:pixelAspectRatio
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:pixelAspectRatio
- : width height // <em>width</em> != 0; <em>height</em> != 0
-
-width | height
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be
- assumed to apply. If specified, then both width and height must be
- non-zero.</p>
-
- <p>A <code>ttp:pixelAspectRatio</code> attribute is considered to be
- significant only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This parameter may be used by a content transcoder or translator in order
- to convert pixel measurements between different pixel aspect ratios while
- still maintaining authorial layout intentions.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-profile" name=
- "parameter-attribute-profile"></a>6.2.8 ttp:profile</h4>
-
- <p>The <code>ttp:profile</code> attribute may be used by a content author to
- express the profile of the Timed Text Markup Language (TTML) used in a
- <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the
- <code>xsd:anyURI</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, §3.2.17, and, further, must specify a profile designator in accordance
- with <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p>
-
- <p>A <code>ttp:profile</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-subFrameRate" name=
- "parameter-attribute-subFrameRate"></a>6.2.9 ttp:subFrameRate</h4>
-
- <p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame
- rate of a related media object or the intrinsic sub-frame rate of a
- <em>Document Instance</em> in case it is intended to function as an independent
- media object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-subFrameRate-syntax" name=
- "parameter-attribute-subFrameRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:subFrameRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:subFrameRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The sub-frame rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>sub-frames</em> as defined
- by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies and the effective frame rate is
- integral, a sub-frame is interpreted as a division of a frame of media time,
- such that if the sub-frame rate is specified as <em>S</em>, then a frame of
- media time is divided into <em>S</em> intervals of equal duration, where each
- interval is labeled as sub-frame <em>s</em>, with <em>s</em> ∈
- [0…<em>S−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, the sub-frame rate must be considered to be equal to one
- (1). If specified, then the sub-frame rate must be greater than zero (0).</p>
-
- <p>A <code>ttp:subFrameRate</code> attribute is considered to be significant
- only when specified on the <code>tt</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The sub-frame is sometimes referred to as a <em>field</em> in the context
- of synchronization with an interlaced video media object.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-tickRate" name=
- "parameter-attribute-tickRate"></a>6.2.10 ttp:tickRate</h4>
-
- <p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of
- a related media object or the intrinsic tick rate of content of a <em>Document
- Instance</em> in case it is intended to function as an independent media
- object.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-tickRate-syntax" name=
- "parameter-attribute-tickRate-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:tickRate
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:tickRate
- : <a href=
-"#style-value-digit"><digit></a>+ // <em>value</em> > 0
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The tick rate that applies to a <em>Document Instance</em> is used to
- interpret time expressions that are expressed in <em>ticks</em> by using the
- <code>t</code> metric as defined by <a href=
- "#timing-value-timeExpression"><b>10.3.1 <timeExpression></b></a>.</p>
-
- <p>If the <code>media</code> time base applies, a tick is interpreted as an
- integral division of a second of media time, such that if the tick rate is
- specified as <em>T</em>, then a second of media time is divided into <em>T</em>
- intervals of equal duration, where each interval is labeled as tick <em>t</em>,
- with <em>t</em> ∈ [0…<em>T−1</em>].</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics-media"><b>N.2 Media Time
- Base</b></a> for further details on the interpretation of time expressions
- for the <code>media</code> time base.</p>
- </div>
-
- <p>If not specified, then if a frame rate is specified, the tick rate must be
- considered to be the effective frame rate multiplied by the sub-frame rate
- (i.e., ticks are interpreted as sub-frames); or, if no frame rate is specified,
- the tick rate must be considered to be one (1) tick per second of media time.
- If specified, then the tick rate must not be zero (0).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>There is no predefined relationship between ticks and frames or
- sub-frames. Ticks are an arbitrary division of seconds that permit use of
- fixed point arithmetic rather than fractional (and potentially inexact)
- expressions of seconds.</p>
- </div>
-
- <p>A <code>ttp:tickRate</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="parameter-attribute-timeBase" name=
- "parameter-attribute-timeBase"></a>6.2.11 ttp:timeBase</h4>
-
- <p>The <code>ttp:timeBase</code> attribute is used to specify the temporal
- coordinate system by means of which time expressions are interpreted in a
- <em>Document Instance</em>.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax:</p><a id="parameter-attribute-timeBase-syntax" name=
- "parameter-attribute-timeBase-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttp:timeBase
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttp:timeBase
- : "media"
- | "smpte"
- | "clock"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If the time base is designated as <code>media</code>, then a time expression
- denotes a coordinate in some media object's time line, where the media object
- may be an external media object with which the content of a <em>Document
- Instance</em> is to be synchronized, or it may be the content of a <em>Document
- Instance</em> itself in a case where the timed text content is intended to
- establish an independent time line.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When using a media time base, if that time base is paused or scaled
- positively or negatively, i.e., the media play rate is not unity, then it is
- expected that the presentation of associated Timed Text content will be
- similarly paused, accelerated, or decelerated, respectively. The means for
- controlling an external media time base is outside the scope of this
- specification.</p>
- </div>
-
- <p>If the time base is designated as <code>smpte</code>, then a time expression
- denotes a <a href="#smpte12m">[SMPTE 12M]</a> time coordinate with which the
- content of a <em>Document Instance</em> is to be synchronized. In this case,
- the value of the <code>ttp:markerMode</code> and <code>ttp:dropMode</code>
- parameters apply, as defined by <a href=
- "#parameter-attribute-markerMode"><b>6.2.6 ttp:markerMode</b></a> and <a href=
- "#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a>,
- respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the time base is designated as <code>smpte</code>, every time
- expression denotes a media marker value akin to that defined by <a href=
- "#smil21">[SMIL 2.1]</a>, § 10.4.1, except instead of using an opaque marker
- name, a structured <a href="#smpte12m">[SMPTE 12M]</a> time coordinate serves
- as the marker name.</p>
- </div>
-
- <p>If the time base is designated as <code>clock</code>, then the time
- expression denotes a coordinate in some real-world time line as established by
- some real-time clock, such as the local wall-clock time or UTC (Coordinated
- Universal Time) or GPS (Global Positioning System) time lines.</p>
-
- <p>If not specified, the default time base must be considered to be
- <code>media</code>.</p>
-
- <p>A <code>ttp:timeBase</code> attribute is considered to be significant only
- when specified on the <code>tt</code> element.</p>
-
- <p>When operating with either <code>media</code> or <code>smpte</code> time
- bases, a diachronic presentation of a <em>Document Instance</em> may be subject
- to transformations of the controlling time line, such as temporal reversal,
- dilation (expansion), or constriction (compression); however, when operating
- with the <code>clock</code> time base, no transformations are permitted, and
- diachronic presentation proceeds on a linear, monotonically increasing time
- line based on the passage of real time.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to there being only one time base parameter that applies to a given
- <em>Document Instance</em>, the interpretation of time expressions is uniform
- throughout the <em>Document Instance</em>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#time-expression-semantics"><b>N Time Expression
- Semantics</b></a> for further details on the interpretation of time
- expressions according to the designated time base.</p>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="content" name="content"></a>7 Content</h2>
-
- <p>This section specifies the <em>content</em> matter of the core vocabulary
- catalog.</p>
-
- <div class="div2">
- <h3><a id="content-element-vocabulary" name="content-element-vocabulary"></a>7.1
- Content Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal content aspects of
- a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-head"><b>7.1.2 head</b></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-body"><b>7.1.3 body</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><b>7.1.4 div</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><b>7.1.5 p</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><b>7.1.6 span</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><b>7.1.7 br</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-tt" name=
- "document-structure-vocabulary-tt"></a>7.1.1 tt</h4>
-
- <p>The <code>tt</code> element serves as the root document element of a
- <em>Document Instance</em>.</p>
-
- <p>The <code>tt</code> element accepts as its children zero or one
- <code>head</code> element followed by zero or one <code>body</code>
- element.</p><a id="elt-syntax-tt" name="elt-syntax-tt"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: tt
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt
- <a href="#style-attribute-extent">tts:extent</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = string
- <a href=
-"#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
- {<em>any attribute in TT Parameter namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#document-structure-vocabulary-head">head</a>?, <a href=
-"#document-structure-vocabulary-body">body</a>?
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <em>Root Temporal Extent</em>, i.e., the time interval over which a
- <em>Document Instance</em> is active, has an implicit duration that is equal to
- the implicit duration of the <code>body</code> element of the document, if the
- <code>body</code> element is present, or zero, if the <code>body</code> element
- is absent.</p>
-
- <p>If the <code>tts:extent</code> attribute is specified on the <code>tt</code>
- element, then it must adhere to <a href="#style-attribute-extent"><b>8.2.7
- tts:extent</b></a>, in which case it specifies the spatial extent of the
- <em>Root Container Region</em> in which content regions are located and
- presented. If no <code>tts:extent</code> attribute is specified, then the
- spatial extent of the <em>Root Container Region</em> is considered to be
- determined by the <em>Document Processing Context</em>. The origin of the
- <em>Root Container Region</em> is determined by the <em>Document Processing
- Context</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the absence of other requirements, and if a <em>Related Media
- Object</em> exists, then it is recommended that the <em>Document Processing
- Context</em> determine that:</p>
-
- <ul>
- <li>
- <p>if no <code>tts:extent</code> is specified on the root <code>tt</code>
- element, the extent of the <em>Root Container Region</em> be established
- as equal to the extent of the <em>Related Media Object Region</em>;
- and</p>
- </li>
-
- <li>
- <p>the origin of the <em>Root Container Region</em> be established so
- that this region is centered in the <em>Related Media Object
- Region</em>.</p>
- </li>
- </ul>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If an author desires to signal the (storage or image) aspect ratio of the
- <em>Root Container Region</em> without specifying its resolution, then this
- may be accomplished by using metadata specified in an external namespace,
- such as <code>m708:aspectRatio</code> as defined in <a href=
- "#smpte2052">[SMPTE 2052-11]</a>, §5.4.4. This would permit, for example, the
- interchange of information that reflects the the semantics of <a href=
- "#cea708d">[CEA-708-D]</a> , §4.5 “Caption Service Metadata”, “ASPECT
- RATIO”.</p>
- </div>
-
- <p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code>
- element. If the attribute value is empty, it signifies that there is no default
- language that applies to the text contained within the <em>Document
- Instance</em>.</p>
-
- <p>If no <code>xml:space</code> attribute is specified upon the <code>tt</code>
- element, then it must be considered as if the attribute had been specified with
- a value of <code>default</code>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-head" name=
- "document-structure-vocabulary-head"></a>7.1.2 head</h4>
-
- <p>The <code>head</code> element is a container element used to group header
- matter, including metadata, profile, styling, and layout information.</p>
-
- <p>The <code>head</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Parameters.class</code> element group, followed by zero
- or one <code>styling</code> element, followed by zero or one
- <code>layout</code> element.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <em>Document Instance</em> as a
- whole, and not just the <code>head</code> element.</p>
-
- <p>Any parameters specified by children in the <code>Parameters.class</code>
- element group applies semantically to the <em>Document Instance</em> as a
- whole, and not just the <code>head</code> element.</p>
-
- <p>A <code>styling</code> child element is used to specify style constructs
- that are referenced from other style constructs, by layout constructs, and by
- content elements.</p>
-
- <p>A <code>layout</code> child element is used to specify layout constructs
- that are referenced by content elements.</p><a id="elt-syntax-head" name=
- "elt-syntax-head"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: head
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<head
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Parameters.class</a>*, <a href=
-"#styling-vocabulary-styling">styling</a>?, <a href=
-"#layout-vocabulary-layout">layout</a>?
-</head>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>head</code> element, the implied time interval of this element is defined
- to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="document-structure-vocabulary-body" name=
- "document-structure-vocabulary-body"></a>7.1.3 body</h4>
-
- <p>The <code>body</code> element functions as a logical container and a
- temporal structuring element for a sequence of textual content units
- represented as logical divisions.</p>
-
- <p>The <code>body</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more <code>div</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>body</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>body</code> element.</p><a id="elt-syntax-body" name=
- "elt-syntax-body"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: body
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<body
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#content-vocabulary-div">div</a>*
-</body>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may specify a temporal interval for a <code>body</code> element
- using the <code>begin</code>, <code>dur</code>, and <code>end</code>
- attributes. If the begin point of this interval remains unspecified, then the
- begin point is interpreted as the beginning point of the <em>Root Temporal
- Extent</em>. Similarly, if the end point of this interval remains unspecified,
- then the end point is interpreted as the ending point of the <em>Root Temporal
- Extent</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <em>Document Instance</em> referenced from a SMIL presentation is
- expected to follow the same timing rules as apply to other SMIL media
- objects.</p>
- </div>
-
- <p>If relative begin or end times are specified on the <code>body</code>
- element, then these times are resolved by reference to the beginning and ending
- time of the <em>Root Temporal Extent</em>.</p>
-
- <p>If the <em>Root Temporal Extent</em> is shorter than the computed duration
- of the <code>body</code> element, then the active time interval of a
- <code>body</code> element is truncated to the active end point of the <em>Root
- Temporal Extent</em>.</p>
-
- <p>An author may associate a set of style properties with a <code>body</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>body</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>div</code>, <code>p</code>, <code>span</code>
- and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>body</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-div" name="content-vocabulary-div"></a>7.1.4
- div</h4>
-
- <p>The <code>div</code> element functions as a logical container and a temporal
- structuring element for a sequence of textual content units represented as
- logical sub-divisions or paragraphs.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When rendered on a continuous (non-paged) visual presentation medium, a
- <code>div</code> element is expected to generate one or more block areas that
- contain zero or more child block areas generated by the <code>div</code>
- element's descendant <code>p</code> elements.</p>
-
- <p>If some block area generated by a <code>div</code> element does not
- contain any child areas, then it is not expected to be presented.</p>
- </div>
-
- <p>The <code>div</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more <code>div</code> or <code>p</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>div</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>div</code> element.</p><a id="elt-syntax-div" name="elt-syntax-div"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: div
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<div
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Block.class</a>*
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>div</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>div</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>div</code>, <code>p</code>, <code>span</code>,
- and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>div</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-p" name="content-vocabulary-p"></a>7.1.5 p</h4>
-
- <p>A <code>p</code> element represents a logical paragraph, serving as a
- transition between block level and inline level formatting semantics.</p>
-
- <p>The <code>p</code> element accepts as its children zero or more elements in
- the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more intermixed <code>span</code> elements, <code>br</code> elements, or text
- nodes interpreted as an anonymous spans.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>p</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>p</code> element.</p><a id="elt-syntax-p" name="elt-syntax-p"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: p
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>p</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>p</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a <code>p</code>
- element, then it must be interpreted as having <em>parallel</em> time
- containment semantics.</p>
-
- <p>If a sequence of children of a <code>p</code> element consists solely of
- character information items, then that sequence must be considered to be an
- <em>anonymous span</em> for the purpose of applying style properties that apply
- to <code>span</code> elements.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The presentation semantics of TTML effectively implies that a
- <code>p</code> element constitutes a line break. In particular, it is
- associated with a block-stacking constraint both before the first generated
- line area and after the last generated line area. See <a href=
- "#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow Processing</b></a>
- for further details.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-span" name="content-vocabulary-span"></a>7.1.6
- span</h4>
-
- <p>The <code>span</code> element functions as a logical container and a
- temporal structuring element for a sequence of textual content units having
- inline level formatting semantics.</p>
-
- <p>When presented on a visual medium, a <code>span</code> element is intended
- to generate a sequence of inline areas, each containing one or more glyph
- areas.</p>
-
- <p>The <code>span</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group, followed by zero or more
- elements in the <code>Animation.class</code> element group, followed by zero or
- more intermixed <code>span</code> elements, <code>br</code> elements, or text
- nodes interpreted as anonymous spans.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>span</code> element and its
- descendants as a whole.</p>
-
- <p>Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>span</code> element.</p><a id="elt-syntax-span" name=
- "elt-syntax-span"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: span
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<span
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#layout-attribute-region">region</a> = IDREF
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#element-vocab-group-table">Inline.class</a>*
-</span>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An author may associate a set of style properties with a <code>span</code>
- element by means of either the <code>style</code> attribute or inline style
- attributes or a combination thereof.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Style properties that are associated with a <code>span</code> element in a
- <em>Document Instance</em> are available for style inheritance by descendant
- content elements such as <code>span</code> and <code>br</code>.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>span</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-vocabulary-br" name="content-vocabulary-br"></a>7.1.7
- br</h4>
-
- <p>The <code>br</code> element denotes an explicit line break.</p><a id=
- "elt-syntax-br" name="elt-syntax-br"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: br
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<br
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*
-</br>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When presented on a visual medium, the presence of a <code>br</code> element
- must be interpreted as a forced line break.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The visual presentation of a <code>br</code> element is intended to
- produce the same effect as the control character <code>CR</code> (U+000D)
- followed by the control code <code>LF</code> (U+000A) when presented on a
- teletype device. Therefore, two <code>br</code> elements in sequence will
- produce a different effect than a single <code>br</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="content-attribute-vocabulary" name=
- "content-attribute-vocabulary"></a>7.2 Content Attribute Vocabulary</h3>
-
- <p>This section defines the following common attributes used with many or all
- element types in the core vocabulary catalog:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id"><b>7.2.1 xml:id</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-lang"><b>7.2.2 xml:lang</b></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-space"><b>7.2.3 xml:space</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="content-attribute-id" name="content-attribute-id"></a>7.2.1
- xml:id</h4>
-
- <p>The <code>xml:id</code> attribute is used as defined by <a href=
- "#xmlid">[XML ID]</a>.</p>
-
- <p>The <code>xml:id</code> attribute may be used with any element in the core
- vocabulary catalog.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-lang" name="content-attribute-lang"></a>7.2.2
- xml:lang</h4>
-
- <p>The <code>xml:lang</code> attribute is used as defined by <a href=
- "#xml10">[XML 1.0]</a>, §2.12, <em>Language Identification</em>.</p>
-
- <p>The <code>xml:lang</code> attribute must be specified on the <code>tt</code>
- element and may be specified by an instance of any other element type in the
- core vocabulary catalog except parameter vocabulary.</p>
- </div>
-
- <div class="div3">
- <h4><a id="content-attribute-space" name="content-attribute-space"></a>7.2.3
- xml:space</h4>
-
- <p>The <code>xml:space</code> attribute is used as defined by <a href=
- "#xml10">[XML 1.0]</a>, §2.10, <em>White Space Handling</em>.</p>
-
- <p>The <code>xml:space</code> attribute may be used with any element in the
- core vocabulary catalog except parameter vocabulary.</p>
-
- <p>The semantics of the value <code>default</code> are fixed to mean that when
- performing presentation processing of a <em>Document Instance</em> as described
- by <a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
- Processing</b></a>, processing must occur as if the following properties were
- specified on the affected elements of an equivalent intermediate XSL-FO
- document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="auto"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="treat-as-space"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="true"</code></p>
- </li>
-
- <li>
- <p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
- </li>
- </ul>
-
- <p>Similarly, the semantics of the value <code>preserve</code> are fixed to
- mean that when performing presentation processing, processing must occur as if
- the following properties were specified on the affected elements of an
- equivalent intermediate XSL-FO document:</p>
-
- <ul>
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
-
- <li>
- <p><code>linefeed-treatment="preserve"</code></p>
- </li>
-
- <li>
- <p><code>white-space-collapse="false"</code></p>
- </li>
-
- <li>
- <p><code>white-space-treatment="preserve"</code></p>
- </li>
- </ul>
-
- <p>When performing other types of processing intended to eventually result in a
- visual presentation by means other than those described in this specification,
- the semantics of space collapsing and preservation as described above should be
- respected. For other types of processing, the treatment of the
- <code>xml:space</code> attribute is processor dependent, but should respect the
- semantics described above if possible.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the above four cited XSL-FO properties are defined by by
- <a href="#xsl11">[XSL 1.1]</a>, § 7.17.3, 7.16.7, 7.16.12, and 7.16.8,
- respectively.</p>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="styling" name="styling"></a>8 Styling</h2>
-
- <p>This section specifies the <em>styling</em> matter of the core vocabulary
- catalog, where styling is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the presentation of
- that content.</p>
-
- <p>Styling attributes are included in TTML to enable authorial intent of
- presentation to be included within a self-contained document. This section
- describes the semantics of style presentation in terms of a standard processing
- model. TTML Processors are not required to present <em>Document Instances</em> in
- any particular way; but an implementation of this model by a TTML Presentation
- Processor that provides externally observable results that are consistent with this
- model is likely to lead to a user experience that closely resembles the experience
- intended by the documents' authors.</p>
-
- <p>The semantics of TTML style presentation are described in terms of the model in
- <a href="#xsl11">[XSL 1.1]</a>. The effects of the attributes in this section are
- intended to be compatible with the layout and formatting model of XSL; however,
- Presentation agents may use any technology to satisfy the authorial intent of the
- document. In particular since <a href="#css2">[CSS2]</a> is a subset of this model,
- a CSS processor may be used for the features that the models have in common.</p>
-
- <p>No normative use of an <code><?xml-stylesheet ... ?></code> processing
- instruction is defined by this specification.</p>
-
- <div class="div2">
- <h3><a id="styling-element-vocabulary" name="styling-element-vocabulary"></a>8.1
- Styling Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal styling aspects of
- a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-styling" name=
- "styling-vocabulary-styling"></a>8.1.1 styling</h4>
-
- <p>The <code>styling</code> element is a container element used to group
- styling matter, including metadata that applies to styling matter.</p>
-
- <p>The <code>styling</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>style</code> elements.</p><a id="elt-syntax-styling" name=
- "elt-syntax-styling"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<styling
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</styling>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>styling</code> element, the implied time interval of this element is
- defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="styling-vocabulary-style" name="styling-vocabulary-style"></a>8.1.2
- style</h4>
-
- <p>The <code>style</code> element is used to define a set of style
- specifications expressed as a specified style set in accordance with <a href=
- "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style Set
- Processing</b></a>.</p>
-
- <p>The <code>style</code> element accepts as its children zero or more
- <code>metadata</code> elements.</p><a id="elt-syntax-style" name=
- "elt-syntax-style"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</style>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <code>style</code> element appears as a descendant of a
- <code>region</code> element, then the <code>style</code> element must be
- ignored for the purpose of computing referential styles as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, when referential styling is used by an element to refer to
- a <code>style</code> element, then the referenced <code>style</code> element
- must appear as a descendant of the <code>styling</code> element, and not in
- any other context.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-attribute-vocabulary" name=
- "styling-attribute-vocabulary"></a>8.2 Styling Attribute Vocabulary</h3>
-
- <p>This section defines the <a href="#style-attribute-style"><b>8.2.1
- style</b></a> attribute used with both style definition elements as well as
- content elements.</p>
-
- <p>In addition, this section specifies the following attributes in the TT Style
- Namespace for use with style definition elements, certain layout elements, and
- content elements that support inline style specifications:</p>
-
- <ul>
- <li>
- <p><a href="#style-attribute-backgroundColor"><b>8.2.2
- tts:backgroundColor</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-color"><b>8.2.3 tts:color</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-direction"><b>8.2.4 tts:direction</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-display"><b>8.2.5 tts:display</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-displayAlign"><b>8.2.6
- tts:displayAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-extent"><b>8.2.7 tts:extent</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontFamily"><b>8.2.8 tts:fontFamily</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontSize"><b>8.2.9 tts:fontSize</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontStyle"><b>8.2.10 tts:fontStyle</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-fontWeight"><b>8.2.11 tts:fontWeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-lineHeight"><b>8.2.12 tts:lineHeight</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-opacity"><b>8.2.13 tts:opacity</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-origin"><b>8.2.14 tts:origin</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-overflow"><b>8.2.15 tts:overflow</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-padding"><b>8.2.16 tts:padding</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-showBackground"><b>8.2.17
- tts:showBackground</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textAlign"><b>8.2.18 tts:textAlign</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textDecoration"><b>8.2.19
- tts:textDecoration</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-textOutline"><b>8.2.20
- tts:textOutline</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-unicodeBidi"><b>8.2.21
- tts:unicodeBidi</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-visibility"><b>8.2.22 tts:visibility</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-wrapOption"><b>8.2.23 tts:wrapOption</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-writingMode"><b>8.2.24
- tts:writingMode</b></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-zIndex"><b>8.2.25 tts:zIndex</b></a></p>
- </li>
- </ul>
-
- <p>Unless explicitly stated otherwise, linear white-space (LWSP) must appear
- between adjacent non-terminal components of a value of a TT Style or TT Style
- Extension Property value unless some other delimiter is permitted and used.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification makes use of <em>lowerCamelCased</em> local names for
- style attributes that are based upon like-named properties defined by <a href=
- "#xsl11">[XSL 1.1]</a>. This convention is likewise extended to token values of
- such properties.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A style property may be expressed as a specified attribute on any content
- element type independently of whether the property applies to that element
- type. This capability permits the expression of an inheritable style property
- on ancestor elements to which the property does not apply.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-style" name="style-attribute-style"></a>8.2.1
- style</h4>
-
- <p>The <code>style</code> attribute is used by referential style association to
- reference one or more <code>style</code> elements each of which define a style
- (property) set.</p>
-
- <p>The <code>style</code> attribute may be specified by an instance of the
- following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
- </ul>
-
- <p>If specified, the value of a <code>style</code> attribute must adhere to the
- <code>IDREFS</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, § 3.3.10, and, furthermore, each IDREF must reference a
- <code>style</code> element which has a <code>styling</code> element as an
- ancestor.</p>
-
- <p>If the same IDREF, <em>ID<sub>1</sub></em>, appears more than one time in
- the value of a <code>style</code> attribute, then there should be an
- intervening IDREF, <em>ID<sub>2</sub></em>, where <em>ID<sub>2</sub></em> is
- not equal to <em>ID<sub>1</sub></em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant referential
- styling while still allowing the same style to be referenced multiple times
- in order to potentially override prior referenced styles, e.g., when an
- intervening, distinct style is referenced in the IDREFS list.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See the specific element type definitions that permit use of the
- <code>style</code> attribute, as well as <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a> and <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>, for further information on its semantics.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-backgroundColor" name=
- "style-attribute-backgroundColor"></a>8.2.2 tts:backgroundColor</h4>
-
- <p>The <code>tts:backgroundColor</code> attribute is used to specify a style
- property that defines the background color of a region or an area generated by
- content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-backgroundColor" name=
- "style-property-details-backgroundColor"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>transparent</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The <code>tts:backgroundColor</code> style is illustrated by the following
- example.</p><a id="style-attribute-backgroundColor-example-1" name=
- "style-attribute-backgroundColor-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="306px 114px"/>
- <style <span class="strong">tts:backgroundColor="red"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:padding="3px 40px"/>
-</region>
-...
-<p region="r1" <span class=
-"strong">tts:backgroundColor="purple"</span> tts:textAlign="center">
- Twinkle, twinkle, little bat!<br/>
- How <span <span class=
-"strong">tts:backgroundColor="green"</span>>I wonder</span> where you're at!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-backgroundColor-example-1-images" name=
- "style-attribute-backgroundColor-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Background Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/backgroundColor.png" alt=
- "TTML backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.8.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-color" name="style-attribute-color"></a>8.2.3
- tts:color</h4>
-
- <p>The <code>tts:color</code> attribute is used to specify a style property
- that defines the foreground color of marks associated with an area generated by
- content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-color" name=
- "style-property-details-color"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-color"><color></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td>see prose</td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The initial value of the <code>tts:color</code> property is considered to be
- implementation dependent. In the absence of end-user preference information, a
- conformant presentation processor should use an initial value that is highly
- contrastive to the background color of the <em>Root Container Region</em>.</p>
-
- <p>The <code>tts:color</code> style is illustrated by the following
- example.</p><a id="style-attribute-color-example-1" name=
- "style-attribute-color-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Color
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:color="white"</span>/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- In spring, when woods are <span <span class=
-"strong">tts:color="green"</span>>getting green</span>,<br/>
- I'll try and tell you what I mean.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-color-example-1-images" name=
- "style-attribute-color-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Color
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/color.png" alt="TTML color style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.18.1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-direction" name=
- "style-attribute-direction"></a>8.2.4 tts:direction</h4>
-
- <p>The <code>tts:direction</code> attribute is used to specify a style property
- that defines the directionality of an embedding or override according to the
- Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-direction" name=
- "style-property-details-direction"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>ltr</code> | <code>rtl</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>ltr</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must ignore the attribute.</p>
-
- <p>The <code>tts:direction</code> style is illustrated by the following
- example.</p><a id="style-attribute-direction-example-1" name=
- "style-attribute-direction-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Direction
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span tts:unicodeBidi="bidiOverride" <span class=
-"strong">tts:direction="rtl"</span>>where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-direction-example-1-images" name=
- "style-attribute-direction-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Direction
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/direction.png" alt=
- "TTML direction style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.1.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-display" name="style-attribute-display"></a>8.2.5
- tts:display</h4>
-
- <p>The <code>tts:display</code> attribute is used to specify a style property
- that defines whether an element is a candidate for layout and composition in a
- region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-display" name=
- "style-property-details-display"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the affected
- element is a candidate for region layout and presentation; however, if the
- value is <code>none</code>, then the affected element and its descendants must
- be considered ineligible for region layout and presentation.</p>
-
- <p>The <code>tts:display</code> style is illustrated by the following
- example.</p><a id="style-attribute-display-example-1" name=
- "style-attribute-display-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="369px 119px"
- tts:backgroundColor="black"
- tts:color="white"
- tts:displayAlign="before"
- tts:textAlign="start"/>
-</region>
-...
-<div region="r1">
- <p dur="5s">
- [[[
- <span <span class="strong">tts:display="none"</span>>
- <set begin="1s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- Beautiful soup,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="2s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- so rich and green,
- </span>
- <span <span class="strong">tts:display="none"</span>>
- <set begin="3s" dur="1s" <span class="strong">tts:display="auto"</span>/>
- waiting in a hot tureen!
- </span>
- ]]]
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-display-example-1-images" name=
- "style-attribute-display-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/display_0.png" alt=
- "TTML display style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_1.png" alt=
- "TTML display style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_2.png" alt=
- "TTML display style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_3.png" alt=
- "TTML display style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/display_4.png" alt=
- "TTML display style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#css2">[CSS2]</a>, § 9.2.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-displayAlign" name=
- "style-attribute-displayAlign"></a>8.2.6 tts:displayAlign</h4>
-
- <p>The <code>tts:displayAlign</code> attribute is used to specify a style
- property that defines the alignment of block areas in the block progression
- direction.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-displayAlign" name=
- "style-property-details-displayAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>before</code> | <code>center</code> | <code>after</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>before</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>before</code> were
- specified.</p>
-
- <p>The <code>tts:displayAlign</code> style is illustrated by the following
- example.</p><a id="style-attribute-displayAlign-example-1" name=
- "style-attribute-displayAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="128px 66px" tts:origin="0px 0px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:extent="192px 66px" tts:origin="128px 66px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r3">
- <style tts:extent="128px 66px"/> style tts:origin="0px 132px"
- tts:backgroundColor="black" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="before"</span>/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r4">
- <style tts:extent="192px 66px" tts:origin="128px 198px"/>
- tts:backgroundColor="green" tts:color="white"/>
- <style <span class="strong">tts:displayAlign="after"</span>/>
- <style tts:textAlign="start"/>
-</region>
-...
-<div>
- <p region="r1">I sent a message to the fish:</p>
- <p region="r2">I told them<br/> "This is what I wish."</p>
- <p region="r3">The little fishes of the sea,</p>
- <p region="r4">They sent an<br/> answer back to me.</p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-displayAlign-example-1-images" name=
- "style-attribute-displayAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Display Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/displayAlign.png" alt=
- "TTML displayAlign style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.14.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-extent" name="style-attribute-extent"></a>8.2.7
- tts:extent</h4>
-
- <p>The <code>tts:extent</code> attribute is used to specify the <em>width</em>
- and <em>height</em> of a region area (which may be the <em>Root Container
- Region</em>).</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-extent" name=
- "style-property-details-extent"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href="#style-value-length"><length></a>
- <a href="#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of <em>Root Container Region</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they must be
- interpreted as <em>width</em> and <em>height</em>, where the first
- specification is the <em>width</em>, and the second specification is the
- <em>height</em>.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used to
- express extent must be non-negative.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the initial value
- of the style property must be considered to be the same as the extent of the
- <em>Root Container Region</em>.</p>
-
- <p>The extent of the <em>Root Container Region</em> is determined either by a
- <code>tts:extent</code> specified on the <code>tt</code> element, if present,
- or as described by <a href="#document-structure-vocabulary-tt"><b>7.1.1
- tt</b></a> if not present. If <code>tts:extent</code> is specified on the
- <code>tt</code> element, then the width and height must be expressed in terms
- of two <a href="#style-value-length"><length></a> specifications, and
- these specifications must be expressed as non-percentage, definite lengths
- using pixel units.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:extent</code> style is illustrated by the following
- example.</p><a id="style-attribute-extent-example-1" name=
- "style-attribute-extent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Extent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:extent="330px 122px"</span>/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- 'Tis the voice of the Lobster:<br/>
- I heard him declare,<br/>
- "You have baked me too brown,<br/>
- I must sugar my hair."
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-extent-example-1-images" name=
- "style-attribute-extent-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Extent
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/extent.png" alt="TTML extent style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontFamily" name=
- "style-attribute-fontFamily"></a>8.2.8 tts:fontFamily</h4>
-
- <p>The <code>tts:fontFamily</code> attribute is used to specify a style
- property that defines the font family from which glyphs are selected for glyph
- areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontFamily" name=
- "style-property-details-fontFamily"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td>(<a href="#style-value-familyName"><familyName></a> | <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>)
- (<code>","</code> (<a href=
- "#style-value-familyName"><familyName></a> | <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a>))*</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>default</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The initial value, <code>default</code>, is a generic font family name,
- and is further described in <a href="#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a> below.</p>
- </div>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified font family is not available, then a presentation processor
- must attempt to map the specified font family to an available font family that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font family as if the value <code>default</code> were
- specified.</p>
-
- <p>The <code>tts:fontFamily</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontFamily-example-1" name=
- "style-attribute-fontFamily-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="474px 146px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style <span class="strong">tts:fontFamily="proportionalSansSerif"</span>/>
-</region>
-...
-<div region="r1">
- <p>
- "The time has come," the Walrus said,<br/>
- "to talk of many things:
- </p>
- <p tts:textAlign="end" <span class=
-"strong">tts:fontFamily="monospaceSerif"</span>>
- Of shoes, and ships, and sealing wax,<br/>
- Of cabbages and kings,
- </p>
- <p>
- And why the sea is boiling hot,<br/>
- and whether pigs have wings."
- </p>
-</div>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-fontFamily-example-1-images" name=
- "style-attribute-fontFamily-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Family
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontFamily.png" alt=
- "TTML fontFamily style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontSize" name="style-attribute-fontSize"></a>8.2.9
- tts:fontSize</h4>
-
- <p>The <code>tts:fontSize</code> attribute is used to specify a style property
- that defines the font size for glyphs that are selected for glyph areas
- generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontSize" name=
- "style-property-details-fontSize"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1c</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to parent element's font size, or if no parent element, then
- relative to the <em>Computed Cell Size</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a single <a href="#style-value-length"><length></a> value is
- specified, then this length applies equally to horizontal and vertical scaling
- of a glyph's EM square; if two <a href="#style-value-length"><length></a>
- values are specified, then the first expresses the horizontal scaling and the
- second expresses vertical scaling.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Use of independent horizontal and vertical font sizes is expected to be
- used with cell based units in order to denote fonts that are two rows in
- height and one column in width.</p>
- </div>
-
- <p>If horizontal and vertical sizes are expressed independently, then the units
- of the <a href="#style-value-length"><length></a> values must be the
- same.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used to
- express font size must be non-negative.</p>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the closest supported value were
- specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The expression <code>1c</code> means one cell, where <code>'c'</code>
- expresses the <em>cell</em> length unit as defined by <a href=
- "#style-value-length"><b>8.3.9 <length></b></a>. When a single
- <length> is expressed using cell units, then it refers to the height of
- the <em>Computed Cell Size</em>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>As specified above, the use of percentage units to express font size are
- interpreted as relative to <em>Computed Cell Size</em> when there is no
- parent element. For example, if cell resolution is 32 by 15, and the extent
- of the <em>Root Container Region</em> is 640 by 480, then the <em>Computed
- Cell Size</em> is [20px, 32px], i.e., 640px/32 (width) and 480px/15 (height).
- Consequently, if <code>tts:fontSize</code> were specified as 75% on the root
- <code>tt</code> element, then this would be equivalent to specifying 24px,
- i.e., 32px cell height * 75%. If two length expressions (independent
- horizontal and vertical font scaling) were specified, e.g., "80% 75%", then
- this would be equivalent to specifying "16px 24px", i.e., 80% of 20px cell
- width is 16px, and 75% of 32px cell height is 24px.</p>
- </div>
-
- <p>The <code>tts:fontSize</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontSize-example-1" name=
- "style-attribute-fontSize-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="299px 97px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style <span class="strong">tts:fontSize="18px"</span>/>
-</region>
-...
-<p region="r1">
- Then fill up the glasses<br/>
- with treacle and ink,<br/>
- Or anything else<br/>
- that is <span <span class=
-"strong">tts:fontSize="24px"</span>>pleasant</span> to drink.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-fontSize-example-1-images" name=
- "style-attribute-fontSize-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Size
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontSize.png" alt=
- "TTML fontSize style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.4. The
- addition of a second length component to permit specifying font width and
- height independently is an extension introduced by TTML.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontStyle" name=
- "style-attribute-fontStyle"></a>8.2.10 tts:fontStyle</h4>
-
- <p>The <code>tts:fontStyle</code> attribute is used to specify a style property
- that defines the font style to apply to glyphs that are selected for glyph
- areas generated by content flowed into a region, where the mapping from font
- style value to specific font face or style parameterization is not determined
- by this specification.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontStyle" name=
- "style-property-details-fontStyle"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>italic</code> | <code>oblique</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>Use of the value <code>oblique</code> denotes a shear transformation (at an
- unspecified angle) in the inline progression dimension.</p>
-
- <p>If a specified font style is not available, then a presentation processor
- must attempt to map the specified font style to an available font style that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font style as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:fontStyle</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontStyle-example-1" name=
- "style-attribute-fontStyle-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="331px 84px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- In autumn, when the leaves are brown,<br/>
- Take pen and ink, and <span <span class=
-"strong">tts:fontStyle="italic"</span>>write it down.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-fontStyle-example-1-images" name=
- "style-attribute-fontStyle-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Style
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontStyle.png" alt=
- "TTML fontStyle style property"></td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.7.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-fontWeight" name=
- "style-attribute-fontWeight"></a>8.2.11 tts:fontWeight</h4>
-
- <p>The <code>tts:fontWeight</code> attribute is used to specify a style
- property that defines the font weight to apply to glyphs that are selected for
- glyph areas generated by content flowed into a region, where the mapping from
- font weight value to specific font face or weight parameterization is not
- determined by this specification.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-fontWeight" name=
- "style-property-details-fontWeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>bold</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified font weight is not available, then a presentation processor
- must attempt to map the specified font weight to an available font weight that
- has similar typographic characteristics, or, in the absence of such a mapping,
- it must interpret the font weight as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:fontWeight</code> style is illustrated by the following
- example.</p><a id="style-attribute-fontWeight-example-1" name=
- "style-attribute-fontWeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="376px 95px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
- <style tts:fontFamily="proportionalSansSerif"/>
-</region>
-...
-<p region="r1">
- They told me you had been to her,<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>and mentioned me to him:</span><br/>
- She gave me a good character<br/>
- <span <span class=
-"strong">tts:fontWeight="bold"</span>>but said I could not swim.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-fontWeight-example-1-images" name=
- "style-attribute-fontWeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Font Weight
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/fontWeight.png" alt=
- "TTML fontWeight style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.9.9.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-lineHeight" name=
- "style-attribute-lineHeight"></a>8.2.12 tts:lineHeight</h4>
-
- <p>The <code>tts:lineHeight</code> attribute is used to specify a style
- property that defines the inter-baseline separation between line areas
- generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-lineHeight" name=
- "style-property-details-lineHeight"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>normal</code>, then the initial
- value of the style property must be considered to be the same as the largest
- font size that applies to any descendant element.</p>
-
- <p>If specified as a <a href="#style-value-length"><length></a>, then the
- length must be non-negative.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:lineHeight</code> style is illustrated by the following
- example.</p><a id="style-attribute-lineHeight-example-1" name=
- "style-attribute-lineHeight-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="255px 190px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="16px"/>
- <style <span class="strong">tts:lineHeight="32px"</span>/>
-</region>
-...
-<p region="r1">
- He thought he saw an elephant,<br/>
- That practised on a fife:<br/>
- He looked again, and found it was<br/>
- A letter from his wife.<br/>
- "At length I realise," he said,<br/>
- "The bitterness of Life.
-"</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-lineHeight-example-1-images" name=
- "style-attribute-lineHeight-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Line Height
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/lineHeight.png" alt=
- "TTML lineHeight style property"></td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.4.
- Furthermore, it is the intention of this specification that the allocation
- rectangle of a line be consistent with the <span class=
- "strong">per-inline-height-rectangle</span> as defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 4.5, i.e., that a CSS-style line box stacking
- strategy be used.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-opacity" name="style-attribute-opacity"></a>8.2.13
- tts:opacity</h4>
-
- <p>The <code>tts:opacity</code> attribute is used to specify a style property
- that defines the opacity (or conversely, the transparency) of marks associated
- with a region.</p>
-
- <p>When presented onto a visual medium, the opacity of the region is applied
- uniformly and on a linear scale to all marks produced by content targeted to
- the region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-opacity" name=
- "style-property-details-opacity"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-alpha"><alpha></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>1.0</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>The <code>tts:opacity</code> style is illustrated by the following
- example.</p><a id="style-attribute-opacity-example-1" name=
- "style-attribute-opacity-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1" dur="5s">
- <set begin="0s" dur="1s" <span class="strong">tts:opacity="1.00"</span>/>
- <set begin="1s" dur="1s" <span class="strong">tts:opacity="0.75"</span>/>
- <set begin="2s" dur="1s" <span class="strong">tts:opacity="0.50"</span>/>
- <set begin="3s" dur="1s" <span class="strong">tts:opacity="0.25"</span>/>
- <set begin="4s" dur="1s" <span class="strong">tts:opacity="0.00"</span>/>
- <style tts:extent="304px 77px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- The sun was shining on the sea
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-opacity-example-1-images" name=
- "style-attribute-opacity-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Opacity
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/opacity_0.png" alt=
- "TTML opacity style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_1.png" alt=
- "TTML opacity style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_2.png" alt=
- "TTML opacity style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_3.png" alt=
- "TTML opacity style property - [3,4)"></td>
- </tr>
-
- <tr>
- <td><img src="images/opacity_4.png" alt=
- "TTML opacity style property - [4,5)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#css3-color">[CSS3 Color]</a>, § 3.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-origin" name="style-attribute-origin"></a>8.2.14
- tts:origin</h4>
-
- <p>The <code>tts:origin</code> attribute is used to specify the <em>x</em> and
- <em>y</em> coordinates of the origin of a region area with respect to the
- origin of the <em>Root Container Region</em>.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-origin" name=
- "style-property-details-origin"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href="#style-value-length"><length></a>
- <a href="#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of <em>Root Container Region</em></td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of two <a href=
- "#style-value-length"><length></a> specifications, then they must be
- interpreted as <em>x</em> and <em>y</em> coordinates, where the first
- specification is the <em>x</em> coordinate, and the second specification is the
- <em>y</em> coordinate.</p>
-
- <p>If the value of this attribute is <code>auto</code>, then the initial value
- of the style property must be considered to be the same as the origin of the
- <em>Root Container Region</em>.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:origin</code> style is illustrated by the following
- example.</p><a id="style-attribute-origin-example-1" name=
- "style-attribute-origin-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Origin
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style <span class="strong">tts:origin="40px 40px"</span>/>
- <style tts:extent="308px 92px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="center"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- "To dine!" she shrieked in dragon-wrath.<br/>
- "To swallow wines all foam and froth!<br/>
- To simper at a table-cloth!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-origin-example-1-images" name=
- "style-attribute-origin-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Origin
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/origin.png" alt="TTML origin style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-overflow" name="style-attribute-overflow"></a>8.2.15
- tts:overflow</h4>
-
- <p>The <code>tts:overflow</code> attribute is used to specify a style property
- that defines whether a region area is clipped or not if the descendant areas of
- the region overflow its extent.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-overflow" name=
- "style-property-details-overflow"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>visible</code>, then content should
- not be clipped outside of the affected region, and region composition and
- layout must be performed as if the region's width and height were
- unconstrained, but with a well-defined origin. If the value is
- <code>hidden</code>, then content should be clipped outside of the affected
- region.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Unless a manual line break element <code>br</code> is used by the content
- author, a paragraph of a given region will generate no more than one line
- area in that region if the value of the <code>tts:overflow</code> style that
- applies to the region is <code>visible</code> and if the applicable
- <code>tts:wrapOption</code> style is <code>noWrap</code>.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>hidden</code> were
- specified.</p>
-
- <p>The <code>tts:overflow</code> style is illustrated by the following
- example.</p><a id="style-attribute-overflow-example-1" name=
- "style-attribute-overflow-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="visible"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="232px 40px"/>
- <style tts:origin="0px 43px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="18px"/>
- <style tts:wrapOption="noWrap"/>
- <style <span class="strong">tts:overflow="hidden"</span>/>
-</region>
-...
-<p region="r1">
- "But wait a bit," the Oysters cried,<br/>
- "Before we have our chat;
-</p>
-<p region="r2">
- For some of us are out of breath,<br/>
- And all of us are fat!"
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-overflow-example-1-images" name=
- "style-attribute-overflow-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Overflow
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/overflow.png" alt=
- "TTML overflow style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>tts:noWrap</code> is set to
- <code>noWrap</code> to prevent automatic line wrapping (breaking); if this
- were not specified, then overflow would occur in the block progression
- direction as opposed to the inline progression direction.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.21.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-padding" name="style-attribute-padding"></a>8.2.16
- tts:padding</h4>
-
- <p>The <code>tts:padding</code> attribute is used to specify padding (or inset)
- space on all sides of a region area.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-padding" name=
- "style-property-details-padding"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><a href="#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> | <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>0px</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to width and height of region</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute consists of one <a href=
- "#style-value-length"><length></a> specification, then that length
- applies to all edges of the affected areas. If the value consists of two
- <a href="#style-value-length"><length></a> specifications, then the first
- applies to the before and after edges, and the second applies to the start and
- end edges. If three <a href="#style-value-length"><length></a>
- specifications are provided, then the first applies to the before edge, the
- second applies to the start and end edges, and the third applies to the after
- edge. If four <a href="#style-value-length"><length></a> specifications
- are provided, then they apply to before, end, after, and start edges,
- respectively.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used to
- express padding must be non-negative.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>0px</code> were
- specified.</p>
-
- <p>The <code>tts:padding</code> style is illustrated by the following
- example.</p><a id="style-attribute-padding-example-1" name=
- "style-attribute-padding-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Padding
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="446px 104px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
- <style <span class="strong">tts:padding="10px 40px"</span>/>
-</region>
-...
-<p region="r1" tts:backgroundColor="red">
- Just the place for a Snark! I have said it twice:<br/>
- That alone should encourage the crew.<br/>
- Just the place for a Snark! I have said it thrice:<br/>
- What I tell you three times is true.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When rendering an area to which padding applies, the background color that
- applies to the area is rendered into the padded portion of the area.</p><a id=
- "style-attribute-padding-example-1-images" name=
- "style-attribute-padding-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Padding
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/padding.png" alt="TTML padding style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.31.15, except
- that individual shorthand values map to writing mode relative padding values
- as defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.8.31, 7.8.32, 7.8.33, and
- 7.8.34.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-showBackground" name=
- "style-attribute-showBackground"></a>8.2.17 tts:showBackground</h4>
-
- <p>The <code>tts:showBackground</code> attribute is used to specify constraints
- on when the background color of a region is intended to be presented.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-showBackground" name=
- "style-property-details-showBackground"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>always</code> | <code>whenActive</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>always</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If the value of this attribute is <code>always</code>, then the background
- color of a region is always rendered when performing presentation processing on
- a visual medium; if the value is <code>whenActive</code>, then the background
- color of a region is rendered only when some content is flowed into the
- region.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>always</code> were
- specified.</p>
-
- <p>The <code>tts:showBackground</code> style is illustrated by the following
- example.</p><a id="style-attribute-showBackground-example-1" name=
- "style-attribute-showBackground-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Show Background
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="265px 100px"/>
- <style tts:backgroundColor="black"/>
- <style <span class="strong">tts:showBackground="always"</span>/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="start"/>
-</region>
-<region xml:id="r2">
- <style tts:origin="205px 60px"/>
- <style tts:extent="290px 100px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:displayAlign="before"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:showBackground="whenActive"</span>/>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#smil21">[SMIL 2.1]</a>, § 5.3.3.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textAlign" name=
- "style-attribute-textAlign"></a>8.2.18 tts:textAlign</h4>
-
- <p>The <code>tts:textAlign</code> attribute is used to specify a style property
- that defines how inline areas are aligned within a containing block area in the
- inline progression direction.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textAlign" name=
- "style-property-details-textAlign"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>left</code> | <code>center</code> | <code>right</code> |
- <code>start</code> | <code>end</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>start</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>start</code> were
- specified.</p>
-
- <p>The <code>tts:textAlign</code> style is illustrated by the following
- example.</p><a id="style-attribute-textAlign-example-1" name=
- "style-attribute-textAlign-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="start"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="355px 43px"/>
- <style tts:origin="0px 47px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:textAlign="end"</span>/>
-</region>
-...
-<p region="r1">
- Beware the Jabberwock, my son!<br/>
- The jaws that bite, the claws that catch!
-</p>
-<p region="r2">
- Beware the Jubjub bird, and shun<br/>
- The frumious Bandersnatch!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-textAlign-example-1-images" name=
- "style-attribute-textAlign-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Align
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textAlign.png" alt=
- "TTML textAlign style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.9.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textDecoration" name=
- "style-attribute-textDecoration"></a>8.2.19 tts:textDecoration</h4>
-
- <p>The <code>tts:textDecoration</code> attribute is used to specify a style
- property that defines a text decoration effect to apply to glyph areas or other
- inline areas that are generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textDecoration" name=
- "style-property-details-textDecoration"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | [ [ <code>underline</code> |
- <code>noUnderline</code> ] || [ <code>lineThrough</code> |
- <code>noLineThrough</code> ] || [ <code>overline</code> |
- <code>noOverline</code> ] ]</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>none</code> were
- specified.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The syntax used above in defining the value of this property is based on
- the value component syntax defined in <a href="#css2">[CSS2]</a>, § 1.4.2.1.
- In essence, one or more of the values separated by <code>||</code> may appear
- in the property value in any order, such as <code>"noUnderline overline
- lineThrough"</code>.</p>
- </div>
-
- <p>The <code>tts:textDecoration</code> style is illustrated by the following
- example.</p><a id="style-attribute-textDecoration-example-1" name=
- "style-attribute-textDecoration-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="385px 82px"/>
- <style tts:origin="0px 0px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:padding="5px 2px"/>
- <style <span class="strong">tts:textDecoration="underline"</span>/>
-</region>
-...
-<p region="r1">
- The sea was wet<span <span class=
-"strong">tts:textDecoration="noUnderline"</span>> as </span>wet
- <span <span class="strong">tts:textDecoration="noUnderline"</span>>
- could be,<br/>
- The sand was dry as dry.<br/>
- <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>There weren't any</span>
- You <span <span class=
-"strong">tts:textDecoration="lineThrough"</span>>couldn't</span>
- could not see a cloud<br/>
- Because no cloud was in the sky.
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-textDecoration-example-1-images" name=
- "style-attribute-textDecoration-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Decoration
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textDecoration.png" alt=
- "TTML textDecoration style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.17.4.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-textOutline" name=
- "style-attribute-textOutline"></a>8.2.20 tts:textOutline</h4>
-
- <p>The <code>tts:textOutline</code> attribute is used to specify a style
- property that defines a text outline effect to apply to glyphs that are
- selected for glyph areas generated by content flowed into a region.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-textOutline" name=
- "style-property-details-textOutline"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>none</code> | <a href="#style-value-color"><color></a>?
- <a href="#style-value-length"><length></a> <a href=
- "#style-value-length"><length></a>?</td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>none</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>relative to this element's font size</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The value of this attribute consists of an optional <a href=
- "#style-value-color"><color></a> term followed by one or two <a href=
- "#style-value-length"><length></a> terms. If a <em>color</em> term is
- present, then it denotes the outline color; if no <em>color</em> term is
- present, the computed value of the <code>tts:color</code> applies. The first
- <em>length</em> term denotes the outline thickness and the second length term,
- if present, indicates the blur radius.</p>
-
- <p>The <a href="#style-value-length"><length></a> value(s) used to
- express thickness and blur radius must be non-negative.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When a <a href="#style-value-length"><length></a> expressed in cells
- is used in a <code>tts:textOutline</code> value, the cell's dimension in the
- block progression dimension applies. For example, if text outline thickness
- is specified as 0.1c, the cell resolution is 20 by 10, and the extent of the
- <em>Root Container Region</em> is 640 by 480, then the outline thickness will
- be a nominal 480 / 10 * 0.1 pixels, i.e., 4.8px, without taking into account
- rasterization effects.</p>
- </div>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>none</code> were
- specified.</p>
-
- <p>The <code>tts:textOutline</code> style is illustrated by the following
- example.</p><a id="style-attribute-textOutline-example-1" name=
- "style-attribute-textOutline-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:backgroundColor="transparent"/>
- <style tts:color="yellow"/>
- <style <span class="strong">tts:textOutline="black 2px 0px"</span>/>
- <style tts:fontFamily="proportionalSansSerif"/>
- <style tts:fontSize="24px"/>
-</region>
-...
-<p>
- How doth the little crocodile<br/>
- Improve its shining tail,<br/>
- And pour the waters of the Nile<br/>
- On every golden scale!<br/>
- How cheerfully he seems to grin,<br/>
- How neatly spreads his claws,<br/>
- And welcomes little fishes in,<br/>
- With gently smiling jaws!
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-textOutline-example-1-images" name=
- "style-attribute-textOutline-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Text Outline
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/textOutline.png" alt=
- "backgroundColor style property"></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-unicodeBidi" name=
- "style-attribute-unicodeBidi"></a>8.2.21 tts:unicodeBidi</h4>
-
- <p>The <code>tts:unicodeBidi</code> attribute is used to specify a style
- property that defines a directional embedding or override according to the
- Unicode bidirectional algorithm.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-unicodeBidi" name=
- "style-property-details-unicodeBidi"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>normal</code> | <code>embed</code> |
- <code>bidiOverride</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>normal</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>normal</code> were
- specified.</p>
-
- <p>The <code>tts:unicodeBidi</code> style is illustrated by the following
- example.</p><a id="style-attribute-unicodeBidi-example-1" name=
- "style-attribute-unicodeBidi-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="265px 84px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:textAlign="center"/>
-</region>
-...
-<p region="r1">
- Little birds are playing<br/>
- Bagpipes on the shore,<br/>
- <span <span class=
-"strong">tts:unicodeBidi="bidiOverride"</span> tts:direction="rtl">where the tourists snore.</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-unicodeBidi-example-1-images" name=
- "style-attribute-unicodeBidi-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Unicode Bidirectionality
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/unicodeBidi.png" alt=
- "TTML unicodeBidi style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.6.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-visibility" name=
- "style-attribute-visibility"></a>8.2.22 tts:visibility</h4>
-
- <p>The <code>tts:visibility</code> attribute is used to specify a style
- property that defines whether generated areas are visible or not when rendered
- on a visual presentation medium.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-visibility" name=
- "style-property-details-visibility"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>visible</code> | <code>hidden</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>visible</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#layout-vocabulary-region"><code>region</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>The <code>tts:visibility</code> style has no affect on content layout or
- composition, but merely determines whether composed content is visible or
- not.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>visible</code>
- were specified.</p>
-
- <p>The <code>tts:visibility</code> style is illustrated by the following
- example.</p><a id="style-attribute-visibility-example-1" name=
- "style-attribute-visibility-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="398px 121px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style/>
-</region>
-...
-<p region="r1" dur="4s">
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="1s" <span class="strong">tts:visibility="visible"</span>/>
- Curiouser
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="2s" <span class="strong">tts:visibility="visible"</span>/>
- and
- </span>
- <span <span class="strong">tts:visibility="hidden"</span>>
- <set begin="3s" <span class="strong">tts:visibility="visible"</span>/>
- curiouser!
- </span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-visibility-example-1-images" name=
- "style-attribute-visibility-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Visibility
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/visibility_0.png" alt=
- "TTML visibility style property - [0,1)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_1.png" alt=
- "TTML visibility style property - [1,2)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_2.png" alt=
- "TTML visibility style property - [2,3)"></td>
- </tr>
-
- <tr>
- <td><img src="images/visibility_3.png" alt=
- "TTML visibility style property - [3,4)"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.30.17.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-wrapOption" name=
- "style-attribute-wrapOption"></a>8.2.23 tts:wrapOption</h4>
-
- <p>The <code>tts:wrapOption</code> attribute is used to specify a style
- property that defines whether or not automatic line wrapping (breaking) applies
- within the context of the affected element.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-wrapOption" name=
- "style-property-details-wrapOption"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>wrap</code> | <code>noWrap</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>wrap</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#content-vocabulary-span"><code>span</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>yes</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the purpose of determining applicability of this style property, each
- character child of a <code>p</code> element is considered to be enclosed in an
- anonymous span.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>wrap</code> were
- specified.</p>
-
- <p>The <code>tts:wrapOption</code> style is illustrated by the following
- example.</p><a id="style-attribute-wrapOption-example-1" name=
- "style-attribute-wrapOption-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="192px 117px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style tts:displayAlign="after"/>
- <style tts:overflow="hidden"/>
- <style <span class="strong">tts:wrapOption="noWrap"</span>/>
-</region>
-...
-<p>
- I'll tell thee everything I can:<br/>
- There's little to relate.<br/>
- I saw an aged aged man,<br/>
- A-sitting on a gate.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-wrapOption-example-1-images" name=
- "style-attribute-wrapOption-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Wrap Option
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/wrapOption.png" alt=
- "TTML wrapOption style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.16.13.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-writingMode" name=
- "style-attribute-writingMode"></a>8.2.24 tts:writingMode</h4>
-
- <p>The <code>tts:writingMode</code> attribute is used to specify a style
- property that defines the block and inline progression directions to be used
- for the purpose of stacking block and inline areas within a region area.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-writingMode" name=
- "style-property-details-writingMode"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>lrtb</code> | <code>rltb</code> | <code>tbrl</code> |
- <code>tblr</code> | <code>lr</code> | <code>rl</code> |
- <code>tb</code></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>lrtb</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>lrtb</code> were
- specified.</p>
-
- <p>The <code>tts:writingMode</code> style is illustrated by the following
- example.</p><a id="style-attribute-writingMode-example-1" name=
- "style-attribute-writingMode-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:extent="50px 570px"/>
- <style tts:origin="0px 0px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="tbrl"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:extent="310px 50px"/>
- <style tts:origin="70px 120px"/>
- <style tts:padding="10px 3px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:writingMode="rltb"</span>/>
-</region>
-...
-<p region="r1">
- I sometimes dig for buttered rolls,<br/>
- Or set limed twigs for crabs:
-</p>
-<p region="r2" tts:direction="rtl" tts:unicodeBidi="bidiOverride">
- I sometimes search the grassy knolls for the wheels of Hansom-cabs.
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p><a id="style-attribute-writingMode-example-1-images" name=
- "style-attribute-writingMode-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Writing Mode
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/writingMode.png" alt=
- "TTML writingMode style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the second paragraph in the above example that targets region
- <code>r2</code>, the <code>tts:unicodeBidi</code> and
- <code>tts:direction</code> properties are set to <code>bidiOverride</code>
- and <code>rtl</code>, respectively, in order to override the normally
- left-to-right directionality of characters in the Latin script.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.29.7.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-attribute-zIndex" name="style-attribute-zIndex"></a>8.2.25
- tts:zIndex</h4>
-
- <p>The <code>tts:zIndex</code> attribute is used to specify a style property
- that defines the front-to-back ordering of region areas in the case that they
- overlap.</p>
-
- <p>This attribute may be specified by any element type that permits use of
- attributes in the TT Style Namespace; however, this attribute applies as a
- style property only to those element types indicated in the following
- table.</p><a id="style-property-details-zIndex" name=
- "style-property-details-zIndex"></a>
-
- <table class="common">
- <col width="25%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <td><em>Values:</em></td>
-
- <td><code>auto</code> | <a href=
- "#style-value-integer"><integer></a></td>
- </tr>
-
- <tr>
- <td><em>Initial:</em></td>
-
- <td><code>auto</code></td>
- </tr>
-
- <tr>
- <td><em>Applies to:</em></td>
-
- <td><a href="#layout-vocabulary-region"><code>region</code></a></td>
- </tr>
-
- <tr>
- <td><em>Inherited:</em></td>
-
- <td>no</td>
- </tr>
-
- <tr>
- <td><em>Percentages:</em></td>
-
- <td>N/A</td>
- </tr>
-
- <tr>
- <td><em>Animatable:</em></td>
-
- <td>discrete</td>
- </tr>
- </tbody>
- </table>
-
- <p>If two areas are associated with the same Z-index value, then, if those
- areas overlap in space, the area(s) generated by lexically subsequent elements
- must be rendered over area(s) generated by lexically prior elements, where
- lexical order is defined as the postorder traversal of a <em>Document
- Instance</em>.</p>
-
- <p>The semantics of the value <code>auto</code> are those defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 7.30.18, where the <code>tt</code> element is
- considered to establish the root stacking context.</p>
-
- <p>If a specified value of this attribute is not supported, then a presentation
- processor must interpret the attribute as if the value <code>auto</code> were
- specified.</p>
-
- <p>The <code>tts:zIndex</code> style is illustrated by the following
- example.</p><a id="style-attribute-zIndex-example-1" name=
- "style-attribute-zIndex-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <style tts:origin="0px 0px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="0"</span>/>
-</region>
-<region xml:id="r2">
- <style tts:origin="100px 60px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="1"</span>/>
-</region>
-<region xml:id="r3">
- <style tts:origin="0px 120px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="white"/>
- <style <span class="strong">tts:zIndex="2"</span>/>
-</region>
-<region xml:id="r4">
- <style tts:origin="100px 180px"/>
- <style tts:extent="400px 100px"/>
- <style tts:padding="5px"/>
- <style tts:backgroundColor="red"/>
- <style tts:color="white"/>
- <style tts:textAlign="end"/>
- <style <span class="strong">tts:zIndex="3"</span>/>
-</region>
-...
-<p region="r1">
- I passed by his garden, and marked, with one eye,<br/>
- How the Owl and the Panther were sharing a pie.
-</p>
-<p region="r2">
- The Panther took pie-crust, and gravy, and meat,<br/>
- While the Owl had the dish as its share of the treat.
-</p>
-<p region="r3">
- When the pie was all finished, the Owl, as a boon,<br/>
- Was kindly permitted to pocket the spoon:
-</p>
-<p region="r4">
- While the Panther received knife and fork<br/>
- with a growl,<br/>
- And concluded the banquet by...
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p></p><a id="style-attribute-zIndex-example-1-images" name=
- "style-attribute-zIndex-example-1-images"></a>
-
- <table class="example-images">
- <caption>
- Example Rendition – Z Index
- </caption>
-
- <tbody>
- <tr>
- <td><img src="images/zIndex.png" alt="TTML zIndex style property"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the style property represented by this attribute are
- based upon that defined by <a href="#xsl11">[XSL 1.1]</a>, § 7.30.18.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="styling-style-value-expressions" name=
- "styling-style-value-expressions"></a>8.3 Style Value Expressions</h3>
-
- <p>Style property values include the use of the following expressions:</p>
-
- <ul>
- <li>
- <p><a href="#style-value-alpha"><b>8.3.1 <alpha></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-color"><b>8.3.2 <color></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-digit"><b>8.3.3 <digit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-familyName"><b>8.3.5 <familyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-genericFamilyName"><b>8.3.6
- <genericFamilyName></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-hexDigit"><b>8.3.7 <hexDigit></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-integer"><b>8.3.8 <integer></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-length"><b>8.3.9 <length></b></a></p>
- </li>
-
- <li>
- <p><a href="#style-value-namedColor"><b>8.3.10 <namedColor></b></a></p>
- </li>
- </ul>
-
- <p>In the syntax representations defined in this section, no linear whitespace
- (LWSP) is implied or permitted between tokens unless explicitly specified.</p>
-
- <div class="div3">
- <h4><a id="style-value-alpha" name="style-value-alpha"></a>8.3.1
- <alpha></h4>
-
- <p>An <alpha> expression is used to express an opacity value, where 0
- means fully transparent and 1 means fully opaque.</p><a id=
- "alpha-style-expression-syntax" name="alpha-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <alpha>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<alpha>
- : <em>float</em>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above syntax representation, the syntactic element
- <em><code>float</code></em> must adhere to the lexical representation defined
- by <a href="#xsd-2">[XML Schema Part 2]</a> § 3.2.4.1. If the value
- represented is less than 0.0, then it must be interpreted as equal to 0.0;
- similarly, if the value represented is greater than 1.0, then it must be
- interpreted as 1.0. The value NaN must be interpreted as 0.0.</p>
-
- <p>A specified value for <alpha> should not be <code>NaN</code>, less
- than 0, or greater than 1.</p>
-
- <p>If a presentation processor does not support a specific, valid opacity
- value, then it must interpret it as being equal to the closest supported
- value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-color" name="style-value-color"></a>8.3.2
- <color></h4>
-
- <p>A <color> expression is used to specify a named color, exact RGB color
- triple, or exact RGBA color tuple, where the alpha component, if expressed, is
- maximum (255) at 100% opacity and minimum (0) at 0% opacity, and where the
- applicable color space is defined by <a href="#srgb">[SRGB]</a>.</p><a id=
- "color-style-expression-syntax" name="color-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <color>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<color>
- : "#" rrggbb
- | "#" rrggbbaa
- | "rgb" "(" r-value "," g-value "," b-value ")"
- | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
- | <a href="#style-value-namedColor"><namedColor></a>
-
-rrggbb
- : <a href="#style-value-hexDigit"><hexDigit></a>{6}
-
-rrggbbaa
- : <a href="#style-value-hexDigit"><hexDigit></a>{8}
-
-r-value | g-value | b-value | a-value
- : component-value
-
-component-value
- : non-negative-integer // valid range: [0,255]
-
-non-negative-integer
- : <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>When expressing RGB component values, these values are considered to
- <span class="strong">not</span> be premultiplied by alpha.</p>
-
- <p>For the purpose of performing presentation processing such that non-opaque
- or non-transparent alpha or opacity values apply, then the semantics of
- compositing functions are defined with respect to the use of the <a href=
- "#srgb">[SRGB]</a> color space for both inputs and outputs of the composition
- function.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of <a href="#srgb">[SRGB]</a> for the stated semantics of
- composition is not meant to prevent an actual processor from using some other
- color space either for internal or external purposes. For example, a
- presentation processor may ultimately convert the SRGB values used here to
- the YUV color space for rendition on a television device.</p>
- </div>
-
- <p>If a presentation processor does not support a specific, valid color or
- alpha value, then it must interpret it as being equal to the closest supported
- value.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-digit" name="style-value-digit"></a>8.3.3
- <digit></h4>
-
- <p>A <digit> is used to express integers and other types of numbers or
- tokens.</p><a id="digit-style-expression-syntax" name=
- "digit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <digit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<digit>
- : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-duration" name="style-value-duration"></a>8.3.4
- Deleted</h4>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The information from this section has been removed due to lack of any
- normative use within this specification. This section is retained in its
- empty form in order to prevent section renumbering.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-familyName" name="style-value-familyName"></a>8.3.5
- <familyName></h4>
-
- <p>A <familyName> expression specifies a font family name.</p><a id=
- "familyName-style-expression-syntax" name=
- "familyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <familyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<familyName>
- : unquoted-string
- | quoted-string
-
-unquoted-string
- : identifier ( lwsp identifier )*
-
-lwsp
- : ( ' ' | '\t' | '\n' | '\r' )+
-
-identifier
- : [-]? identifier-start identifier-following*
-
-identifier-start
- : [_a-zA-Z]
- | non-ascii-or-c1
- | escape
-
-identifier-following
- : [_a-zA-Z0-9-]
- | non-ascii-or-c1
- | escape
-
-non-ascii-or-c1
- : [^\0-\237]
-
-escape
- : '\\' <em>char</em>
-
-quoted-string
- : double-quoted-string
- | single-quoted-string
-
-double-quoted-string
- : '"' ( [^"\\] | escape )+ '"'
-
-single-quoted-string
- : "'" ( [^'\\] | escape )+ "'"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In addition to adhering to the syntax rules specified above, the following
- semantic rules apply:</p>
-
- <ul>
- <li>
- <p>the semantic value of a <familyName> expression is the semantic
- value of its <code>unquoted-string</code> or <code>quoted-string</code>
- non-terminal, according to whichever applies;</p>
- </li>
-
- <li>
- <p>the semantic value of an <code>unquoted-string</code> non-terminal is a
- pair <code><</code><em>quoted</em>, <em>content</em><code>></code>,
- where <em>quoted</em> is a boolean <code>false</code>, and where
- <em>content</em> is the result of appending the value of each
- <code>identifier</code> non-terminal, in lexical order, where the value of
- each identifier is preceded by a single SPACE (U+0020) character if it is
- not the first identifier;</p>
- </li>
-
- <li>
- <p>the semantic value of a <code>quoted-string</code> non-terminal is a
- pair <code><</code><em>quoted</em>, <em>content</em><code>></code>,
- where <em>quoted</em> is a boolean <code>true</code>, and where
- <em>content</em> is the unquoted content of the quoted string, i.e., the
- sequence of characters between the delimiting quotes.</p>
- </li>
-
- <li>
- <p>the semantic value of an <code>escape</code> non-terminal is the value
- of the escaped <code>char</code>;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of an
- <code>unquoted-string</code> that contains an <code>identifier</code> that
- starts with two <code>-</code> HYPHEN-MINUS (U+002D) characters must be
- considered to be invalid;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of an
- <code>unquoted-string</code> that contains a single <code>identifier</code>
- that matches (by case sensitive comparison) a <genericFamilyName>
- must be interpreted as that <genericFamilyName>;</p>
- </li>
-
- <li>
- <p>a <familyName> that takes the form of a <code>quoted-string</code>
- whose content (unquoted value) matches (by case sensitive comparison) a
- <genericFamilyName> must not be interpreted as that
- <genericFamilyName>, but as the actual name of a non-generic font
- family.</p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The syntactic element <em><code>char</code></em> is to be interpreted
- according to the <code>Char</code> production defined by <a href=
- "#xml10">[XML 1.0]</a> §2.2.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <code>{unicode}</code> escape mechanism defined by <a href=
- "#css2">[CSS2]</a> §4.1.1 is not supported by this syntax; rather,
- authors are expected to either (1) directly encode the character using the
- document encoding or (2) use an XML character reference according to <a href=
- "#xml10">[XML 1.0]</a> §4.1. When a syntactically significant character
- needs to be used without its normal syntactic interpretation, it may be be
- escaped using the backslash (reverse solidus) <code>escape</code>
- non-terminal specified above.</p>
-
- <p>When using the backslash (reverse solidus) <code>escape</code>
- non-terminal, the above syntax does not place any restriction on what
- character may be escaped, e.g., <code>\\[\n\r\f0-9a-f]</code> are permitted.
- If one of these latter escapes appears in a <familyName> expression,
- then it will need to be converted to a <code>{unicode}</code> escape if it is
- to be used with a standard XSL-FO or CSS parser. In particular, a backslash
- followed by a newline is ignored by CSS, while it is not ignored by the above
- syntax. Such an unignored escaped newline would need to be represented using
- an equivalent <code>{unicode}</code> escape, such as <code>\a</code>, to
- order to express in CSS.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-genericFamilyName" name=
- "style-value-genericFamilyName"></a>8.3.6 <genericFamilyName></h4>
-
- <p>A <genericFamilyName> expression specifies a font family using a
- general token that indicates a class of font families.</p>
-
- <p>The resolution of a generic family name to a concrete font instance is
- considered to be implementation dependent, both in the case of content
- authoring and content interpretation.</p><a id=
- "genericFamilyName-style-expression-syntax" name=
- "genericFamilyName-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <genericFamilyName>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<genericFamilyName>
- : "default"
- | "monospace"
- | "sansSerif"
- | "serif"
- | "monospaceSansSerif"
- | "monospaceSerif"
- | "proportionalSansSerif"
- | "proportionalSerif"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The mapping between a generic (font) family name and an actual font is not
- determined by this specification; however, the distinction of monospace versus
- proportional and serif versus sans-serif should be maintained if possible when
- performing presentation.</p>
-
- <p>If a generic (font) family name of <code>monospace</code> is specified, then
- it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
- or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
- and <code>serif</code> are to be interpreted as equivalent to
- <code>proportionalSansSerif</code> and <code>proportionalSerif</code>,
- respectively.</p>
-
- <p>If the generic family name <code>default</code> is specified (or implied by
- an initial value), then its typographic characteristics are considered to be
- implementation dependent; however, it is recommended that this default font
- family be mapped to an monospaced, sans-serif font.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-hexDigit" name="style-value-hexDigit"></a>8.3.7
- <hexDigit></h4>
-
- <p>A <hexDigit> is used to express integers and other types of numbers or
- tokens that employ base 16 arithmetic.</p>
-
- <p>For the purpose of parsing, a distinction must not be made between lower and
- upper case.</p><a id="hexDigit-style-expression-syntax" name=
- "hexDigit-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <hexDigit>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<hexDigit>
- : <a href="#style-value-digit"><digit></a>
- | "a" | "b" | "c" | "d" | "e" | "f"
- | "A" | "B" | "C" | "D" | "E" | "F"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-integer" name="style-value-integer"></a>8.3.8
- <integer></h4>
-
- <p>An <integer> expression is used to express an arbitrary, signed
- integral value.</p><a id="integer-style-expression-syntax" name=
- "integer-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <integer>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<integer>
- : ( "+" | "-" )? <a href="#style-value-digit"><digit></a>+
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-length" name="style-value-length"></a>8.3.9
- <length></h4>
-
- <p>A <length> expression is used to express either a coordinate component
- of point in a cartesian space or a distance between two points in a cartesian
- space.</p><a id="length-style-expression-syntax" name=
- "length-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <length>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<length>
- : scalar
- | percentage
-
-scalar
- : number units
-
-percentage
- : number "%"
-
-sign
- : "+" | "-"
-
-number
- : sign? non-negative-number
-
-non-negative-number
- : non-negative-integer
- | non-negative-real
-
-non-negative-integer
- : <a href="#style-value-digit"><digit></a>+
-
-non-negative-real
- : <a href="#style-value-digit"><digit></a>* "." <a href=
-"#style-value-digit"><digit></a>+
-
-units
- : "px"
- | "em"
- | "c" // abbreviation of "cell"
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>It is an error to omit the units component of a scalar length value.</p>
-
- <p>The semantics of the unit of measure <code>px</code> (pixel) are as defined
- by <a href="#xsl11">[XSL 1.1]</a>, § 5.9.13.</p>
-
- <p>When specified relative to a font whose size is expressed as a single length
- measure or as two length measures of equal length, the unit of measure
- <code>em</code> is considered to be identical to that defined by <a href=
- "#xsl11">[XSL 1.1]</a>, § 5.9.13; however, when specified relative to a font
- whose size is expressed as two length measures of non-equal lengths, then one
- <code>em</code> is equal to the inline progression dimension of the
- anamorphically scaled font when used to specify lengths in the inline
- progression direction and equal to the block progression dimension of the
- scaled font when used to specify lengths in the block progression
- direction.</p>
-
- <p>The semantics of the unit of measure <code>c</code> (cell) are defined by
- the parameter <a href="#parameter-attribute-cellResolution"><b>6.2.1
- ttp:cellResolution</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-namedColor" name="style-value-namedColor"></a>8.3.10
- <namedColor></h4>
-
- <p>A <namedColor> is used to express an RGBA color with a convenient
- name, and where the applicable color space is defined by <a href=
- "#srgb">[SRGB]</a>.</p>
-
- <p>For the purpose of parsing, a distinction must not be made between lower and
- upper case.</p><a id="namedColor-style-expression-syntax" name=
- "namedColor-style-expression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <namedColor>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<namedColor>
- : "transparent" // #00000000
- | "black" // #000000ff
- | "silver" // #c0c0c0ff
- | "gray" // #808080ff
- | "white" // #ffffffff
- | "maroon" // #800000ff
- | "red" // #ff0000ff
- | "purple" // #800080ff
- | "fuchsia" // #ff00ffff
- | "magenta" // #ff00ffff (= fuchsia)
- | "green" // #008000ff
- | "lime" // #00ff00ff
- | "olive" // #808000ff
- | "yellow" // #ffff00ff
- | "navy" // #000080ff
- | "blue" // #0000ffff
- | "teal" // #008080ff
- | "aqua" // #00ffffff
- | "cyan" // #00ffffff (= aqua)
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Except for <code>transparent</code>, the set of named colors specified
- above constitutes a proper subset of the set of named colors specified by
- <a href="#svg11">[SVG 1.1]</a>, § 4.2.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-quotedString" name="style-value-quotedString"></a>8.3.11
- Deleted</h4>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The information from this section has been incorporated into <a href=
- "#style-value-familyName"><b>8.3.5 <familyName></b></a>. This section
- is retained in its empty form in order to prevent section renumbering.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="style-value-string" name="style-value-string"></a>8.3.12
- Deleted</h4>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The information from this section has been incorporated into <a href=
- "#style-value-familyName"><b>8.3.5 <familyName></b></a>. This section
- is retained in its empty form in order to prevent section renumbering.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-style-resolution" name="semantics-style-resolution"></a>8.4
- Style Resolution</h3>
-
- <p>This section defines the semantics of style resolution in terms of a standard
- processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association"><b>8.4.1 Style
- Association</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance"><b>8.4.2 Style
- Inheritance</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-value-categories"><b>8.4.3 Style
- Resolution Value Categories</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation of this model is permitted provided that the externally
- observable results are consistent with the results produced by this model.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of style resolution employed here are based upon <a href=
- "#xsl11">[XSL 1.1]</a>, § 5.</p>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-association" name=
- "semantics-style-association"></a>8.4.1 Style Association</h4>
-
- <p>Style association is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each content
- and layout element.</p>
-
- <p>Style matter may be associated with content and layout matter in a number of
- ways:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-inline">inline styling</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-association-referential">referential
- styling</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-association-chained-referential">chained
- referential styling</a></p>
- </li>
- </ul>
-
- <p>In addition to the above, style matter may be associated with layout matter
- using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-association-nested">nested styling</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-association-inline" name=
- "semantics-style-association-inline"></a>8.4.1.1 Inline Styling</h5>
-
- <p>Style properties may be expressed in an inline manner by direct
- specification of an attribute from the TT Style Namespace on the affected
- element. When expressed in this manner, the association of style information
- is referred to as <em>inline styling</em>.</p>
-
- <p>Style properties associated by inline styling are afforded a higher
- priority than all other forms of style association.</p><a id=
- "style-association-example-1" name="style-association-example-1"></a>
-
- <table class="example">
- <caption>
- Example – Inline Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class="strong">tts:color="white"</span>>White 1 <span <span class=
-"strong">tts:color="yellow"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1 "</code> and
- <code>" White 2"</code>, which are interpreted as anonymous spans, are not
- associated with a color style property; rather, they inherit their color
- style from their parent <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-referential" name=
- "semantics-style-association-referential"></a>8.4.1.2 Referential
- Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and referenced
- by the affected element using the <code>style</code> attribute. When
- expressed in this manner, the association of style information is referred to
- as <em>referential styling</em>.</p>
-
- <p>If a <code>style</code> attribute specifies multiple references, then
- those references are evaluated in the specified order, and that order applies
- to resolution of the value of a style property in the case that it is
- specified along multiple reference paths.</p>
-
- <p>The use of referential styling is restricted to making reference to
- <code>style</code> element descendants of a <code>styling</code> element. It
- is considered an error to reference a <code>style</code> element that is a
- descendant of a <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of referential styling encourages the reuse of style
- specifications while sacrificing locality of reference.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style properties by a
- hybrid mixture of inline and referential styling, in which case inline
- styling is given priority as described above by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div><a id="style-association-example-2" name=
- "style-association-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class="strong">xml:id="s1"</span> tts:color="white"/>
-<style <span class="strong">xml:id="s2"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White 1 <span <span class=
-"strong">style="s2"</span>>Yellow</span> White 2</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the two text fragments <code>"White 1 "</code> and
- <code>" White 2"</code>, which are interpreted as anonymous spans, are not
- associated with a color style property; rather, they inherit their color
- style from their parent <code>p</code> element as described in <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a> below.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-chained-referential" name=
- "semantics-style-association-chained-referential"></a>8.4.1.3 Chained
- Referential Styling</h5>
-
- <p>Style properties may be expressed in an out-of-line manner and may
- themselves reference other out-of-line style properties, thus creating a
- chain of references starting at the affected element. When expressed in this
- manner, the association of style information is referred to as <em>chained
- referential styling</em>.</p>
-
- <p>If the same style property is specified in more than one referenced style
- set, then the last referenced style set applies, where the order of
- application starts from the affected element and proceeds to referenced style
- sets, and, in turn, to subsequent referenced style sets.</p>
-
- <p>A loop in a sequence of chained style references must be considered an
- error.</p>
-
- <p>The use of referential styling is restricted to making reference to
- <code>style</code> element descendants of a <code>styling</code> element. It
- is considered an error to reference a <code>style</code> element that is a
- descendant of a <code>layout</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of chained referential styling encourages the grouping of style
- specifications into general and specific sets, which further aids in style
- specification reuse.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A single content element may be associated with style properties by a
- hybrid mixture of inline, referential styling, and chained referential
- styling, in which case inline styling is given priority as described above
- by <a href="#semantics-style-association-inline"><b>8.4.1.1 Inline
- Styling</b></a>.</p>
- </div><a id="style-association-example-3" name=
- "style-association-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Chained Referential Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<style <span class=
-"strong">xml:id="s1"</span> tts:color="white" tts:fontFamily="monospaceSerif"/>
-<style <span class="strong">xml:id="s2"</span> <span class=
-"strong">style="s1"</span> tts:color="yellow"/>
-...
-<p <span class="strong">style="s1"</span>>White Monospace</p>
-<p <span class="strong">style="s2"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-association-nested" name=
- "semantics-style-association-nested"></a>8.4.1.4 Nested Styling</h5>
-
- <p>Style properties may be expressed in a nested manner by direct
- specification of one or more <code>style</code> element children of the
- affected element. When expressed in this manner, the association of style
- information is referred to as <em>nested styling</em>.</p>
-
- <p>Style properties associated by nested styling are afforded a lower
- priority than inline styling but with higher priority than referential
- styling.</p><a id="style-association-example-4" name=
- "style-association-example-4"></a>
-
- <table class="example">
- <caption>
- Example – Nested Styling
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region xml:id="r1">
- <span class="strong"><style tts:extent="128px 66px"/></span>
- <span class="strong"><style tts:origin="0px 0px"/></span>
- <span class="strong"><style tts:displayAlign="center"/></span>
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this version of this specification, nested styling applies only to
- the <code>region</code> element.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-inheritance" name=
- "semantics-style-inheritance"></a>8.4.2 Style Inheritance</h4>
-
- <p>Style inheritance is a sub-process of <a href=
- "#semantics-style-resolution-processing"><b>8.4.4 Style Resolution
- Processing</b></a> used to determine the specified style set of each content
- and layout element.</p>
-
- <p>Styles are further propagated to content matter using:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-inheritance-content">content style
- inheritance</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-inheritance-content">region style
- inheritance</a></p>
- </li>
- </ul>
-
- <p>For the purpose of determining inherited styles, the element hierarchy of an
- intermediate synchronic document form of a <em>Document Instance</em> must be
- used, where such intermediate forms are defined by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
- Construction</b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate synchronic document form is utilized rather than the
- original form in order to facilitate region inheritance processing.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-content" name=
- "semantics-style-inheritance-content"></a>8.4.2.1 Content Style
- Inheritance</h5>
-
- <p>Style properties are inherited from ancestor content elements within an
- intermediate synchronic document if a style property is not associated with a
- content element (or an anonymous span) and the style property is designated
- as inheritable.</p>
-
- <p>If a style property is determined to require inheritance, then the
- inherited value must be the value of the same named style property in the
- computed style set of the element's immediate ancestor element within the
- applicable intermediate synchronic document.</p><a id=
- "style-inheritance-example-2" name="style-inheritance-example-2"></a>
-
- <table class="example">
- <caption>
- Example – Content Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>>
- <span tts:color="yellow">Yellow Monospace</span>
-</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <code>span</code> element that encloses the
- character items <code>Yellow Monospace</code> is not associated with a
- <code>tts:fontFamily</code> style property and this property is
- inheritable; therefore, the value of the <code>tts:fontFamily</code> style
- is inherited from the computed style set of the ancestor <code>p</code>
- element, and is added to the specified style set of the <code>span</code>
- element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-inheritance-region" name=
- "semantics-style-inheritance-region"></a>8.4.2.2 Region Style
- Inheritance</h5>
-
- <p>Style properties are inherited from a region element in the following
- case:</p>
-
- <ol class="enumar">
- <li>
- <p>if a style property <em>P</em> is not associated with a content
- element or an anonymous span <em>E</em> and the style property is
- designated as inheritable, and</p>
- </li>
-
- <li>
- <p>if that style property <em>P</em> is in the computed style set of
- region <em>R</em>, and</p>
- </li>
-
- <li>
- <p>if that element <em>E</em> is flowed into (presented within) region
- <em>R</em>.</p>
- </li>
- </ol><a id="style-inheritance-example-3" name=
- "style-inheritance-example-3"></a>
-
- <table class="example">
- <caption>
- Example – Region Style Inheritance
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region <span class="strong">xml:id="r1"</span>>
- <style tts:color="yellow"/>
- <style tts:fontFamily="monospaceSerif"/>
-</region>
-...
-<p <span class="strong">region="r1"</span>>Yellow Monospace</p>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the anonymous span that encloses the character
- items <code>Yellow Monospace</code> effectively inherits the
- <code>tts:color</code> and <code>tts:fontFamily</code> styles specified on
- the <code>region</code> element into which the <code>p</code> element is
- flowed (presented).</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-value-categories" name=
- "semantics-style-resolution-value-categories"></a>8.4.3 Style Resolution Value
- Categories</h4>
-
- <p>During style resolution, layout, and presentation processing, three
- categories of style property values are distinguished as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-resolved-value-category-specified">specified
- values</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolved-value-category-computed">computed
- values</a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolved-value-category-actual">actual
- values</a></p>
- </li>
- </ul>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-specified" name=
- "semantics-style-resolved-value-category-specified"></a>8.4.3.1 Specified
- Values</h5>
-
- <p>Values of style properties that are associated with or inherited by an
- element or anonymous span are referred to as <em>specified values</em>. The
- set of all specified style properties of a given element is referred to as
- the <em>specified style set</em> of that element.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-computed" name=
- "semantics-style-resolved-value-category-computed"></a>8.4.3.2 Computed
- Values</h5>
-
- <p>When style properties are specified using relative value expressions, such
- as a named color, a relative unit (e.g., cell), or a percentage, then they
- need to be further resolved into absolute units, such as an RGB triple,
- pixels, etc.</p>
-
- <p>During the style resolution process, all specified style values are
- reinterpreted (or recalculated) in absolute terms, and then recorded as
- <em>computed values</em>. The set of all computed style properties of a given
- element is referred to as the <em>computed style set</em> of that
- element.</p>
-
- <p>When a style value is inherited, either explicitly or implicitly, it is
- the computed value of the style that is inherited from an ancestor element.
- This is required since the resolution of certain relative units, such as
- percentage, require evaluating the expression in the immediate (local)
- context of reference, and not in a distant (remote) context of reference
- where the related (resolving) expression is not available.</p>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolved-value-category-actual" name=
- "semantics-style-resolved-value-category-actual"></a>8.4.3.3 Actual
- Values</h5>
-
- <p>During the actual presentation process, other transformations occur that
- map some value expressions to concrete, physical values. For example, the
- colors of computed style values are further subjected to closest color
- approximation and gamma correction during the display process. In addition,
- length value expressions that use pixels in computed style values are
- considered to express logical rather than physical (device) pixels.
- Consequently, these logical pixels are subject to being further transformed
- or mapped to physical (device) pixels during presentation.</p>
-
- <p>The final values that result from the logical to device mapping process
- are referred to as <em>actual values</em>. The set of all actual style
- properties of a given element is referred to as the <em>actual style set</em>
- of that element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>More than one set of actual values may be produced during the process of
- presentation. For example, a TTML presentation processor device may output
- an RGBA component video signal which is then further transformed by an NTSC
- or PAL television to produce a final image. In this case, both color and
- dimensions may further be modified prior to presentation.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In general, a TTML presentation processor will not have access to actual
- style set values; as a consequence, no further use or reference to actual
- values is made below when formally describing the style resolution
- process.</p>
- </div>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-style-resolution-processing" name=
- "semantics-style-resolution-processing"></a>8.4.4 Style Resolution
- Processing</h4>
-
- <p>The process of style resolution is defined herein as the procedure (and
- results thereof) for resolving (determining) the computed values of all style
- properties that apply to content and layout elements:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-style-resolution-processing-definitions"><b>8.4.4.1
- Conceptual Definitions</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing-sss"><b>8.4.4.2
- Specified Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed
- Style Set Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-style-resolution-process-overall"><b>8.4.4.4 Style
- Resolution Process</b></a></p>
- </li>
- </ul>
-
- <p>The process described here forms an integral sub-process of <a href=
- "#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a>.</p>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-definitions" name=
- "semantics-style-resolution-processing-definitions"></a>8.4.4.1 Conceptual
- Definitions</h5>
-
- <p>For the purpose of interpreting the style resolution processing model
- specified below, the following conceptual definitions apply:</p>
-
- <dl>
- <dt class="label">[style property]</dt>
-
- <dd>
- <p>a style property, <em>P</em>, is considered to consist of a tuple
- <code>[name, value]</code>, where the name of the property is a tuple
- <code>[namespace value, unqualified name]</code> and the value of the
- property is a tuple <code>[category, type, value
- expression]</code></p><a id=
- "conceptual-definition-example-style-property" name=
- "conceptual-definition-example-style-property"></a>
-
- <table class="example">
- <caption>
- Example – conceptual style property
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-[
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red"]
-]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
- </dd>
-
- <dt class="label">[style (property) set]</dt>
-
- <dd>
- <p>a style (property) set consists of an unordered collection of style
- properties, where no two style properties within the set have an
- identical name, where by "identical name" is meant equality of namespace
- value of name tuple and unqualified name of name tuple;</p>
-
- <p>in a specified style (property) set, the category of each style
- property is "specified"; a specified style (property) set of an element
- <em>E</em> is referred to as <em>SSS(E)</em>;</p><a id=
- "conceptual-definition-example-specified-style-set" name=
- "conceptual-definition-example-specified-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (specified) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["specified", <em>color</em>, "red" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["specified", <em>length</em>, "1c" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["specified", <em>length</em>, "117%" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>in a computed style (property) set, the category of each style
- property is either "specified" or "computed"; a computed style (property)
- set of an element <em>E</em> is referred to as <em>CSS(E)</em>;</p><a id=
- "conceptual-definition-example-computed-style-set" name=
- "conceptual-definition-example-computed-style-set"></a>
-
- <table class="example">
- <caption>
- Example – conceptual (computed) style (property) set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-{
- [
- ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
- ["specified", <em>color</em>, 0x00FF00 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "color"],
- ["computed", <em>color</em>, 0xFF0000 ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "fontSize"],
- ["computed", <em>length</em>, "24px" ]
- ],
- [
- ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
- ["computed", <em>length</em>, "28px" ]
- ]
-}
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
- </dd>
-
- <dt class="label">[style (property) merging]</dt>
-
- <dd>
- <p>a style property <em>P<sub>new</sub></em> is merged into a style
- (property) set, <em>SS</em>, as follows: if a style property
- <em>P<sub>old</sub></em> is already present in <em>SS</em> where the name
- of <em>P<sub>new</sub></em> is identical to the name of
- <em>P<sub>old</sub></em>, then replace <em>P<sub>old</sub></em> in
- <em>SS</em> with <em>P<sub>new</sub></em>; otherwise, add
- <em>P<sub>new</sub></em> to <em>SS</em>;</p>
- </dd>
-
- <dt class="label">[style (property) set merging]</dt>
-
- <dd>
- <p>a style (property) set <em>SS<sub>new</sub></em> is merged into an
- existing style (property) set <em>SS<sub>old</sub></em> as follows: for
- each style property <em>P<sub>new</sub></em> in
- <em>SS<sub>new</sub></em>, merge <em>P<sub>new</sub></em> into
- <em>SS<sub>old</sub></em>;</p>
- </dd>
- </dl>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-sss" name=
- "semantics-style-resolution-processing-sss"></a>8.4.4.2 Specified Style Set
- Processing</h5>
-
- <p>The specified style set <em>SSS</em> of an element or anonymous span
- <em>E</em>, <em>SSS(E)</em>, is determined according to the following ordered
- rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[initialization]</span> initialize the specified
- style set <em>SSS</em> of <em>E</em> to the empty set;</p>
- </li>
-
- <li>
- <p><span class="strong">[referential and chained referential
- styling]</span> for each <code>style</code> element
- <em>S<sub>REF</sub></em> referenced by a <code>style</code> attribute
- specified on <em>E</em>, and in the order specified in the
- <code>style</code> attribute, then, if <em>S<sub>REF</sub></em> is a
- descendant of a <code>styling</code> element, merge the specified style
- set of <em>S<sub>REF</sub></em>, <em>SSS(S<sub>REF</sub>)</em>, into the
- specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[nested styling]</span> for each nested
- <code>style</code> element child <em>S<sub>NEST</sub></em> of <em>E</em>,
- and in the specified order of child elements, merge the specified style
- set of <em>S<sub>NEST</sub></em>, <em>SSS(S<sub>NEST</sub>)</em>, into
- the specified style set of <em>E</em>, <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[inline styling]</span> for each style property
- <em>P</em> expressed as a specified styling attribute of <em>E</em>,
- merge <em>P</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[animation styling]</span> for each style
- property <em>P</em> expressed as a specified styling attribute of an
- immediate animation (<code>set</code>) element child of element
- <em>E</em>, merge <em>P</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[implicit inheritance]</span> if the element type
- of <em>E</em> is not the styling element type <code>style</code>, then
- for each inheritable style property <em>P<sub>INH</sub></em> in the set
- of style properties defined above in <a href=
- "#styling-attribute-vocabulary"><b>8.2 Styling Attribute
- Vocabulary</b></a>, perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if <em>P<sub>INH</sub></em> is present in the specified style set
- of <em>E</em>, <em>SSS(E)</em>, then continue to the next inheritable
- style property;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is the layout element type
- <code>region</code>, then set <em>P′</em> to the initial value of
- property <em>P</em>, where the initial value of a property is
- determined according to the specific property definition found above
- in <a href="#styling-attribute-vocabulary"><b>8.2 Styling Attribute
- Vocabulary</b></a>;</p>
- </li>
-
- <li>
- <p>if the element type of <em>E</em> is a content element type or
- anonymous span, then set <em>P′</em> to the result of looking up the
- value of <em>P</em> in the computed style set of the immediate
- ancestor element of <em>E</em>, i.e., <em>CSS(PARENT(E))</em>;</p>
- </li>
-
- <li>
- <p>if the value of <em>P′</em> is not undefined, then merge
- <em>P′</em> into the specified style set of <em>E</em>,
- <em>SSS(E)</em>.</p>
- </li>
- </ol>
- </li>
- </ol>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-processing-css" name=
- "semantics-style-resolution-processing-css"></a>8.4.4.3 Computed Style Set
- Processing</h5>
-
- <p>The computed style set <em>CSS</em> of an element or anonymous span
- <em>E</em>, <em>CSS(E)</em>, is determined according to the following ordered
- rules:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[resolve specified styles]</span> determine
- (obtain) the specified style set <em>SSS</em> of <em>E</em>, namely,
- <em>SSS(E)</em>, in accordance with <a href=
- "#semantics-style-resolution-processing-sss"><b>8.4.4.2 Specified Style
- Set Processing</b></a>;</p>
- </li>
-
- <li>
- <p><span class="strong">[initialization]</span> initialize
- <em>CSS(E)</em> to a (deep) copy of <em>SSS(E)</em>;</p>
- </li>
-
- <li>
- <p><span class="strong">[filter]</span> if <em>E</em> is a
- <code>style</code> element, then return <em>CSS(E)</em> as the resulting
- computed style set without further resolution; otherwise, continue with
- the next rule;</p>
- </li>
-
- <li>
- <p><span class="strong">[relative value resolution]</span> for each style
- property <em>P</em> in <em>CSS(E)</em>, where the value type of
- <em>P</em> is relative, perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>replace the relative value of <em>P</em> with an equivalent,
- non-relative (computed) value;</p>
- </li>
-
- <li>
- <p>set the category of <em>P</em> to "computed";</p>
- </li>
- </ol>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>As a result of the filtering rule above, the computed style set of a
- <code>style</code> element includes only specified values, in which case
- relative value expressions remain relative; consequently, the resolution of
- relative value expressions (that may be assigned by means of referential
- style association) always takes place in the context of a layout or content
- element which has a presentation context, and not in the non-presentation,
- declaration context of a referentiable <code>style</code> element.</p>
- </div>
- </div>
-
- <div class="div4">
- <h5><a id="semantics-style-resolution-process-overall" name=
- "semantics-style-resolution-process-overall"></a>8.4.4.4 Style Resolution
- Process</h5>
-
- <p>The top-level style resolution process is defined as follows: using a
- preorder traversal of each element and anonymous span, <em>E</em>, of an
- intermediate synchronic document, <em>DOC<sub>inter</sub></em>, perform the
- following ordered sub-steps:</p>
-
- <ol class="enumar">
- <li>
- <p><span class="strong">[filter]</span> if the element type of <em>E</em>
- is not the styling element type <code>style</code>, is not the layout
- element type <code>region</code>, and is not one of the content element
- types <code>body</code>, <code>div</code>, <code>p</code>,
- <code>span</code>, <code>br</code>, or anonymous span, then continue to
- the next element in the preorder traversal;</p>
- </li>
-
- <li>
- <p><span class="strong">[resolve computed styles]</span> determine
- (obtain) the computed style set <em>CSS</em> of <em>E</em>, namely,
- <em>CSS(E)</em>, in accordance with <a href=
- "#semantics-style-resolution-processing-css"><b>8.4.4.3 Computed Style
- Set Processing</b></a>.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="layout" name="layout"></a>9 Layout</h2>
-
- <p>This section specifies the <em>layout</em> matter of the core vocabulary
- catalog, where layout is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the presentation of
- that content.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The two layers of layout and style matter are considered to be independently
- separable. Layout matter specifies one or more spaces or areas into which content
- is intended to be presented, while style matter specifies the manner in which
- presentation occurs within the layout.</p>
-
- <p>In certain cases, a content author may choose to embed (inline) style matter
- directly into layout or content matter. In such cases, an alternative exists –
- use of referential styling – in which the style matter is not embedded
- (inlined).</p>
- </div>
-
- <div class="div2">
- <h3><a id="layout-element-vocabulary" name="layout-element-vocabulary"></a>9.1
- Layout Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal layout aspects of a
- <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-layout" name="layout-vocabulary-layout"></a>9.1.1
- layout</h4>
-
- <p>The <code>layout</code> element is a container element used to group layout
- matter, including metadata that applies to layout matter.</p>
-
- <p>The <code>layout</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more <code>region</code> elements.</p><a id="elt-syntax-layout" name=
- "elt-syntax-layout"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: layout
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<layout
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#layout-vocabulary-region">region</a>*
-</layout>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>To the extent that time semantics apply to the content of the
- <code>layout</code> element, the implied time interval of this element is
- defined to be coterminous with the <em>Root Temporal Extent</em>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="layout-vocabulary-region" name="layout-vocabulary-region"></a>9.1.2
- region</h4>
-
- <p>The <code>region</code> element is used to define a rectangular space or
- area into which content is to be flowed for the purpose of presentation.</p>
-
- <p>In addition, and in accordance with <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>, the <code>region</code> element may be used to specify
- inheritable style properties to be inherited by content that is flowed into
- it.</p>
-
- <p>The <code>region</code> element accepts as its children zero or more
- elements in the <code>Metadata.class</code> element group, followed by zero or
- more elements in the <code>Animation.class</code> element group, followed by
- zero or more <code>style</code> elements.</p>
-
- <p>Any metadata specified by children in the <code>Metadata.class</code>
- element group applies semantically to the <code>region</code> element and its
- descendants as a whole. Any animation elements specified by children in the
- <code>Animation.class</code> element group apply semantically to the
- <code>region</code> element. Any <code>style</code> child element must be
- considered a local style definition that applies only to the containing
- <code>region</code> element, i.e., does not apply for resolving referential
- styling (but does apply for region style inheritance).</p><a id=
- "elt-syntax-region" name="elt-syntax-region"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<region
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#style-attribute-style">style</a> = IDREFS
- <a href=
-"#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
- <a href="#metadata-attribute-role">ttm:role</a> = string
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href=
-"#element-vocab-group-table">Animation.class</a>*, <a href=
-"#styling-vocabulary-style">style</a>*
-</region>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If <code>begin</code> and (or) <code>end</code> attributes are specified on
- a <code>region</code> element, then they specify the beginning and (or) ending
- points of a time interval during which the region is eligible for activation
- and with respect to which animation child elements of the region are timed. If
- specified, these begin and end points are relative to the time interval of the
- nearest ancestor element associated with a time interval, irregardless of
- whether that interval is explicit or implied.</p>
-
- <p>The nearest ancestor element of a <code>region</code> element that is
- associated with a time interval is the <code>layout</code> element.</p>
-
- <p>If a <code>dur</code> attribute is specified on the <code>region</code>
- element, then it specifies the simple duration of the region.</p>
-
- <p>For the purpose of determining the semantics of presentation processing, a
- region that is temporally inactive must not produce any visible marks when
- presented on a visual medium.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>region</code> element may be associated with a time interval for
- two purposes: (1) in order to temporally bound the presentation of the region
- and its content, and (2) to provide a temporal context in which animations of
- region styles may be effected.</p>
-
- <p>For example, an author may wish to specify a region that is otherwise
- empty, but may have a visible background color to be presented starting at
- some time and continuing over the region's duration. The simple duration of
- the region serves additionally to scope the presentation effects of content
- that is targeted to the region. An author may also wish to move a region
- within the <em>Root Container Region</em> or change a region's background
- color by means of animation effects. In both of these cases, it is necessary
- to posit an active time interval for a region.</p>
- </div>
-
- <p>If no <code>timeContainer</code> attribute is specified on a
- <code>region</code> element, then it must be interpreted as having
- <em>parallel</em> time containment semantics.</p>
-
- <p>If a <a href="#metadata-attribute-role"><code>ttm:role</code></a> attribute
- is specified on a <code>region</code> element, then it must adhere to the value
- syntax defined by <a href="#metadata-attribute-role-syntax"><b>Syntax
- Representation – ttm:role</b></a>, and where the roles identified by this
- attribute express the semantic roles of the region independently from the
- semantic roles of any content targeted to (associated with) the region.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="layout-attribute-vocabulary" name=
- "layout-attribute-vocabulary"></a>9.2 Layout Attribute Vocabulary</h3>
-
- <p>This section defines the <a href="#layout-attribute-region"><b>9.2.1
- region</b></a> attribute used with content elements.</p>
-
- <div class="div3">
- <h4><a id="layout-attribute-region" name="layout-attribute-region"></a>9.2.1
- region</h4>
-
- <p>The <code>region</code> attribute is used to reference a <code>region</code>
- element which defines a space or area into which a content element is intended
- to be flowed.</p>
-
- <p>If specified, the value of a <code>region</code> attribute must adhere to
- the <code>IDREF</code> data type defined by <a href="#xsd-2">[XML Schema Part
- 2]</a>, § 3.3.9, and, furthermore, this IDREF must reference a
- <code>region</code> element which has a <code>layout</code> element as an
- ancestor.</p>
-
- <p>The <code>region</code> attribute may be specified by an instance of the
- following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#semantics-region-layout"><b>9.3 Region Layout and
- Presentation</b></a> below for further information on content flow in a
- region.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-region-layout" name="semantics-region-layout"></a>9.3 Region
- Layout and Presentation</h3>
-
- <p>This section defines the semantics of region layout and presentation in terms
- of a standard processing model as follows:</p>
-
- <ul>
- <li>
- <p><a href="#semantics-default-region"><b>9.3.1 Default Region</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic
- Document Construction</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-step-2"><b>9.3.3 Synchronic Flow
- Processing</b></a></p>
- </li>
-
- <li>
- <p><a href="#semantics-region-layout-example"><b>9.3.4 Elaborated Example
- (Informative)</b></a></p>
- </li>
- </ul>
-
- <p>Any implementation is permitted provided that the externally observable
- results are consistent with the results produced by this model.</p>
-
- <div class="div3">
- <h4><a id="semantics-default-region" name="semantics-default-region"></a>9.3.1
- Default Region</h4>
-
- <p>If a <em>Document Instance</em> does not specify a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element, then a <em>default
- region</em> is implied with the following characteristics:</p>
-
- <ul>
- <li>
- <p>the identity of the default region is considered to be anonymous;</p>
- </li>
-
- <li>
- <p>the extent of the default region is the same as the extent of the
- <em>Root Container Region</em>;</p>
- </li>
-
- <li>
- <p>the temporal interval of the default region is the same as the interval
- defined by the <em>Root Temporal Extent</em>;</p>
- </li>
- </ul>
-
- <p>Furthermore, if no <a href=
- "#layout-vocabulary-region"><code>region</code></a> element is specified, then
- the <a href="#layout-attribute-region"><code>region</code></a> attribute must
- not be specified on any content element in the <em>Document Instance</em>.</p>
-
- <p>If a default region is implied for a given <em>Document Instance</em>, then
- the <a href="#document-structure-vocabulary-body"><code>body</code></a> element
- is implicitly targeted to (associated with) the default region.</p>
-
- <p>When implying a default region, the <em>Document Instance</em> is to be
- treated as if a <a href="#layout-vocabulary-region"><code>region</code></a>
- element and its parent <a href=
- "#layout-vocabulary-layout"><code>layout</code></a> element were specified in a
- <a href="#document-structure-vocabulary-head"><code>head</code></a> element,
- and a matching <a href="#layout-attribute-region"><code>region</code></a>
- attribute were specified on the <a href=
- "#document-structure-vocabulary-body"><code>body</code></a> element as shown in
- the following example:</p><a id="semantics-default-region-example" name=
- "semantics-default-region-example"></a>
-
- <table class="example">
- <caption>
- Example – Implied Default Region
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
- <head>
- <span class="strong"><layout>
- <region xml:id="anonymous"/>
- </layout></span>
- </head>
- <body <span class="strong">region="anonymous"</span>/>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a default <code>region</code> element and
- <code>region</code> attribute are implied. In addition, a <code>layout</code>
- container element is implied for the implied <code>region</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-1" name=
- "semantics-region-layout-step-1"></a>9.3.2 Intermediate Synchronic Document
- Construction</h4>
-
- <p>For the purposes of performing presentation processing, the active time
- duration of a <em>Document Instance</em> is divided into a sequence of time
- coordinates where at each time coordinate, some element becomes temporally
- active or inactive, then, at each such time coordinate, a <em>Document
- Instance</em> is mapped from its original, source form,
- <em>DOC<sub>source</sub></em> , to an intermediate synchronic document form,
- <em>DOC<sub>inter</sub></em> , according to the <span class="strong">[construct
- intermediate document]</span> procedure:</p>
-
- <dl>
- <dt class="label">[construct intermediate document]</dt>
-
- <dd>
- <ol class="enumar">
- <li>
- <p>for each temporally active region <em>R</em>, replicate the sub-tree
- of <em>DOC<sub>source</sub></em> headed by the <code>body</code>
- element;</p>
- </li>
-
- <li>
- <p>evaluating this sub-tree in a postorder traversal, prune elements if
- they are not a content element, if they are temporally inactive, if
- they are empty, or if they aren't associated with region <em>R</em>
- according to the <span class="strong">[associate region]</span>
- procedure;</p>
- </li>
-
- <li>
- <p>if the pruned sub-tree is non-empty, then reparent it to the
- <em>R</em> element;</p>
- </li>
-
- <li>
- <p>finally, after completing the above steps, prune the original
- <code>body</code> element from the intermediate document, then prune
- all <code>region</code>, <code>begin</code>, <code>end</code>, and
- <code>dur</code> attributes, which are no longer semantically
- relevant;</p>
- </li>
- </ol>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the term <em>prune</em>, when used in reference to an
- element, means that the element is to be removed from its parent's
- children, which, in turn, implies that the descendants of the pruned
- element will no longer be descendants of the element's parent. When
- <em>prune</em> is used in reference to an attribute, it means that
- attribute is to be removed from its associated (owning) element node.</p>
- </div>
- </dd>
-
- <dt class="label">[associate region]</dt>
-
- <dd>
- <p>A content element is associated with a region according to the following
- ordered rules, where the first rule satisfied is used and remaining rules
- are skipped:</p>
-
- <ol class="enumar">
- <li>
- <p>if the element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute, then the
- element is associated with the region referenced by that attribute;</p>
- </li>
-
- <li>
- <p>if some ancestor of that element specifies a <a href=
- "#layout-attribute-region"><code>region</code></a> attribute, then the
- element is associated with the region referenced by the most immediate
- ancestor that specifies this attribute;</p>
- </li>
-
- <li>
- <p>if the element contains a descendant element that specifies a
- <a href="#layout-attribute-region"><code>region</code></a> attribute,
- then the element is associated with the region referenced by that
- attribute;</p>
- </li>
-
- <li>
- <p>if a default region was implied (due to the absence of any <a href=
- "#layout-vocabulary-region"><code>region</code></a> element), then the
- element is associated with the default region;</p>
- </li>
-
- <li>
- <p>the element is not associated with any region.</p>
- </li>
- </ol>
- </dd>
- </dl>
-
- <p>The result of performing the processing described above will be a sequence
- of <em>N</em> intermediate synchronic <em>Document Instances</em>,
- <em>DOC<sub><span>inter<sub>0</sub></span></sub></em> …
- <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>.</p>
-
- <div class="note" id="semantics-smooth-scrolling-recommendation">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Where an implementation is able to detect significant similarity between
- two adjacent synchronic <em>Document Instances</em>,
- <em>DOC<sub><span>inter<sub>N</sub></span></sub></em>
- <em>DOC<sub><span>inter<sub>N−1</sub></span></sub></em>, then it is preferred
- that the implementation make the transition between presenting the two
- instances as smooth as possible, e.g., as described by <a href=
- "#cea608c">[CEA-608-C]</a>, § C.3.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-step-2" name=
- "semantics-region-layout-step-2"></a>9.3.3 Synchronic Flow Processing</h4>
-
- <p>Subsequent to performing a temporal (synchronic) slice and subsequent
- remapping of regionally selected content hierarchy, the resulting intermediate
- synchronic document is subjected to a flow transformation step that produces a
- rooted flow object tree represented as an XSL FO document instance as defined
- by <a href="#xsl11">[XSL 1.1]</a>, and semantically extended by TTML specific
- style properties that have no XSL FO counterpart.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In this section, the use of XSL FO is intended to be conceptual only,
- employed solely for the purpose of defining the normative presentation
- semantics of TTML. An actual implementation of this algorithm is not required
- to create or process XSL-FO representations. In particular, it is possible to
- implement these semantics using alternative presentation models, such as
- Cascading Style Sheets (CSS).</p>
- </div>
-
- <p>Each intermediate synchronic document produced by <a href=
- "#semantics-region-layout-step-1"><b>9.3.2 Intermediate Synchronic Document
- Construction</b></a> is mapped to an XSL FO document instance, <em>F</em>, as
- follows:</p>
-
- <ol class="enumar">
- <li>
- <p>perform the following ordered sub-steps to create anonymous spans:</p>
-
- <ol class="enumla">
- <li>
- <p>for each significant text node in a content element, synthesize an
- anonymous span to enclose the text node, substituting the new anonymous
- span for the original text node child in its sibling and parent
- hierarchy;</p>
- </li>
-
- <li>
- <p>for each contiguous sequence of anonymous spans, replace the
- sequence with a single anonymous span which contains a sequence of text
- nodes representing the individual text node children of the original
- sequence of anonymous spans;</p>
- </li>
-
- <li>
- <p>for each span element whose child is a single anonymous span,
- replace the anonymous span with its sequence of child text nodes;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>resolve styles according to <a href=
- "#semantics-style-resolution-process-overall"><b>8.4.4.4 Style Resolution
- Process</b></a>;</p>
- </li>
-
- <li>
- <p>map the <code>tt</code> element to an <code>fo:root</code> element,
- populated initially with an <code>fo:layout-master-set</code> element that
- contains a valid <code>fo:simple-page-master</code> that, in turn, contains
- an <code>fo:region-body</code> child, where the extent of the <em>Root
- Container Region</em> expressed on the <code>tt</code> element is mapped to
- <code>page-width</code> and <code>page-height</code> attributes on the
- <code>fo:simple-page-master</code> element;</p>
- </li>
-
- <li>
- <p>map the <code>layout</code> element to an <code>fo:page-sequence</code>
- element and a child <code>fo:flow</code> element that reference the page
- master and page region defined by the simple page master produced
- above;</p>
- </li>
-
- <li>
- <p>map each non-empty <code>region</code> element to an
- <code>fo:block-container</code> element with an
- <code>absolute-position</code> attribute with value <code>absolute</code>,
- with <code>top</code>, <code>left</code>, <code>bottom</code>, and
- <code>right</code> attributes that express a rectangle equivalent to the
- region's origin and extent, and with a <code>line-stacking-strategy</code>
- attribute with value <code>line-height</code>;</p>
- </li>
-
- <li>
- <p>for each <code>body</code>, <code>div</code>, and <code>p</code> element
- that is not associated with a <code>tts:display</code> style property with
- the value <code>none</code>, map the element to a distinct
- <code>fo:block</code> element, populating the style properties of
- <code>fo:block</code> by using the computed style set associated with each
- original TTML Content element;</p>
- </li>
-
- <li>
- <p>for the resulting <code>fo:block</code> formatting object produced in
- the previous step that corresponds to the <code>body</code> element,
- perform the following ordered sub-steps:</p>
-
- <ol class="enumla">
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>after</code>, then synthesize and insert as the first child of
- this <code>fo:block</code> an empty <code>fo:block</code> with the
- following attributes: <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of the former
- two attributes is the height or width of the containing
- <code>fo:block-container</code> element, whichever of these is
- designated as the block progression dimension, and where the value of
- the last is <code>retain</code>;</p>
- </li>
-
- <li>
- <p>if the <code>display-align</code> style property of this
- <code>fo:block</code> has the value <code>center</code> or
- <code>before</code>, then synthesize and insert as the last child of
- this <code>fo:block</code> an empty <code>fo:block</code> with the
- following attributes: <code>space-after.optimum</code>,
- <code>space-after.maximum</code>, and
- <code>space-after.conditionality</code>, where the value of the former
- two attributes is the height or width of the containing
- <code>fo:block-container</code> element, whichever of these is
- designated as the block progression dimension, and where the value of
- the last is <code>retain</code>;</p>
- </li>
- </ol>
- </li>
-
- <li>
- <p>for each <code>span</code> element that is not associated with a
- <code>tts:display</code> style property with the value <code>none</code>
- and for each anonymous span that is a child of a <code>p</code> or
- <code>span</code> element, map the element or sequence of character items
- to a distinct <code>fo:inline</code> element, populating the style
- properties of <code>fo:inline</code> by using the computed style set
- associated with each original TTML Content element or anonymous span;</p>
- </li>
-
- <li>
- <p>for each <code>br</code> element that is not associated with a
- <code>tts:display</code> style property with the value <code>none</code>,
- map the element to a distinct <code>fo:character</code> element having the
- following properties:</p>
-
- <ul>
- <li>
- <p><code>character="&#x000A;"</code></p>
- </li>
-
- <li>
- <p><code>suppress-at-line-break="retain"</code></p>
- </li>
- </ul>
- </li>
-
- <li>
- <p>for each TTML style property attribute in some computed style set that
- has no counterpart in <a href="#xsl11">[XSL 1.1]</a>, map that attribute
- directly through to the relevant formatting object produced by the input
- TTML Content element to which the style property applies;</p>
- </li>
-
- <li>
- <p>optionally, synthesize a unique <code>id</code> attribute on each
- resulting formatting object element that relates that element to the input
- element that resulted in that formatting object element;</p>
- </li>
- </ol>
-
- <p>For each resulting document instance F, if processing requires presentation
- on a visual medium, then apply formatting and rendering semantics consistent
- with that prescribed by <a href="#xsl11">[XSL 1.1]</a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In an XSL FO area tree produced by formatting <em>F</em> using an <a href=
- "#xsl11">[XSL 1.1]</a> formatting processor, the
- <code>page-viewport-area</code>, which is generated by
- <code>fo:page-sequence</code> element by reference to the sole generated
- <code>fo:simple-page-master</code> element, would correspond to the <em>Root
- Container Region</em> defined above in <a href="#definitions"><b>2
- Definitions</b></a>.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Due to the possible presence of TTML style properties or style property
- values in a given <em>Document Instance</em> for which there is no <a href=
- "#xsl11">[XSL 1.1]</a> counterpart, Implementors should recognize that it is
- the layout model of <a href="#xsl11">[XSL 1.1]</a> that is being referenced
- by this specification, not the requirement to use a compliant <a href=
- "#xsl11">[XSL 1.1]</a> formatting processor, since such would not necessarily
- be sufficient to satisfy the full presentation semantics defined by this
- specification, and would contain a large number of features not needed to
- implement the presentation semantics of TTML.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The purpose of inserting additional, collapsible space in the block
- progression dimension of the <code>fo:block</code> that corresponds with the
- <code>body</code> element is to ensure that the before and after edges of
- this <code>fo:block</code> are coincident with the before and after edges of
- the <code>fo:block-container</code> that corresponds to the containing
- <code>region</code>, while simultaneously taking into account the needs to
- satisfy alignment in the block progression dimension. For example, this
- assures that the background color associated with the <code>body</code>
- element, if not <code>transparent</code>, will fill the containing region
- wholly.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="semantics-region-layout-example" name=
- "semantics-region-layout-example"></a>9.3.4 Elaborated Example
- (Informative)</h4>
-
- <p>An example of the processing steps described above is elaborated below,
- starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source
- Document</b></a>.</p><a id="region-mapping-example-1-s" name=
- "region-mapping-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Sample Source Document
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- </region>
- </layout>
- </head>
- <body xml:id="b1">
- <div xml:id="d1" begin="0s" dur="2s">
- <p xml:id="p1" region="r1">Text 1</p>
- <p xml:id="p2" region="r2">Text 2</p>
- </div>
- <div xml:id="d2" begin="1s" dur="2s">
- <p xml:id="p3" region="r2">Text 3</p>
- <p xml:id="p4" region="r1">Text 4</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>In the above document, the content hierarchy consists of two divisions, each
- containing two paragraphs. This content is targeted (associated with) one of
- two non-overlapping regions that are styled identically except for their
- position and their foreground colors, the latter of which is inherited by and
- applies to the (and, in this case, anonymous) spans reparented into the
- regions.</p>
-
- <p>The following, first intermediate document shows the synchronic state for
- time interval [0,1), during which time only division <code>d1</code> is
- temporally active, and where paragraphs <code>p1</code> and <code>p2</code>
- (and their ancestors) are associated with regions <code>r1</code> and
- <code>r2</code>, respectively.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The intermediate documents shown below are not valid <em>Document
- Instances</em>, but rather, are representations of possible internal
- processing states used for didactic purposes.</p>
- </div><a id="region-mapping-example-1-i0" name=
- "region-mapping-example-1-i0"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>An XSL FO document instance that would yield rendering consistent with TTML,
- and which may be produced by performing flow processing upon the first
- intermediate document is illustrated below.</p><a id=
- "region-mapping-example-1-f0" name="region-mapping-example-1-f0"></a>
-
- <table class="example">
- <caption>
- Example – XSL FO Document – [0s,1s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
- <fo:layout-master-set>
- <fo:simple-page-master master-name="m1"
- page-width="640px" page-height="480px">
- <fo:region-body/>
- </fo:simple-page-master>
- </fo:layout-master-set>
- <fo:page-sequence master-reference="m1">
- <fo:flow flow-name="xsl-region-body">
- <!-- region (r1) -->
- <fo:block-container id="r1" absolute-position="absolute"
- left="10px" top="100px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-1">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-1">
- <!-- p (p1) -->
- <fo:block id="p1" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="red">Text 1</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- <!-- region (r2) -->
- <fo:block-container id="r2" absolute-position="absolute"
- left="10px" top="300px" width="620px" height="96px"
- background-color="black" display-align="center">
- <!-- body (b1) -->
- <fo:block id="b1-2">
- <!-- body's space (before) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- <!-- div (d1) -->
- <fo:block id="d1-2">
- <!-- p (p2) -->
- <fo:block id="p2" text-align="center">
- <fo:inline font-size="40px" font-weight="bold"
- color="yellow">Text 2</fo:inline>
- </fo:block>
- </fo:block>
- <!-- body's space (after) filler -->
- <fo:block
- space-after.optimum="96px"
- space-after.maximum="96px"
- space-after.conditionality="retain"/>
- </fo:block>
- </fo:block-container>
- </fo:flow>
- </fo:page-sequence>
-</fo:root>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, second intermediate document shows the synchronic state for
- time interval [1,2), during which time both divisions <code>d1</code> and
- <code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
- <code>p4</code> (and their ancestors) are associated with region
- <code>r1</code> and paragraphs <code>p2</code> and <code>p3</code> (and their
- ancestors) are associated with region <code>r2</code>.</p><a id=
- "region-mapping-example-1-i1" name="region-mapping-example-1-i1"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [1s,2s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d1-1">
- <p xml:id="p1">Text 1</p>
- </div>
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d1-2">
- <p xml:id="p2">Text 2</p>
- </div>
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The following, third intermediate document shows the synchronic state for
- time interval [2,3), during which time only division <code>d2</code> is
- temporally active, and where paragraphs <code>p4</code> and <code>p3</code>
- (and their ancestors) are associated with regions <code>r1</code> and
- <code>r2</code>, respectively.</p><a id="region-mapping-example-1-i2" name=
- "region-mapping-example-1-i2"></a>
-
- <table class="example">
- <caption>
- Example – Intermediate Document – [2s,3s)
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt tts:extent="640px 480px" xml:lang="en"
- xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1">
- <style tts:origin="10px 100px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="red"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-1">
- <div xml:id="d2-1">
- <p xml:id="p4">Text 4</p>
- </div>
- </body>
- </region>
- <region xml:id="r2">
- <style tts:origin="10px 300px"/>
- <style tts:extent="620px 96px"/>
- <style tts:fontSize="40px"/>
- <style tts:fontWeight="bold"/>
- <style tts:backgroundColor="black"/>
- <style tts:color="yellow"/>
- <style tts:textAlign="center"/>
- <style tts:displayAlign="center"/>
- <body xml:id="b1-2">
- <div xml:id="d2-2">
- <p xml:id="p3">Text 3</p>
- </div>
- </body>
- </region>
- </layout>
- </head>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="semantics-line-layout" name="semantics-line-layout"></a>9.4 Line
- Layout</h3>
-
- <p>If a profile that applies to a <em>Document Instance</em> requires use of the
- <a href="#feature-lineBreak-uax14">#lineBreak-uax14</a> feature (i.e., the value
- attribute for the feature is specified as <code>use</code>), then the
- recommendations defined by <a href=
- "http://www.unicode.org/reports/tr14/#Algorithm">Line Breaking Algorithm</a>
- <a href="#uax14">[UAX14]</a> apply when performing line layout on the content of
- the <em>Document Instance</em>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="timing" name="timing"></a>10 Timing</h2>
-
- <p>This section specifies the <em>timing</em> matter of the core vocabulary
- catalog, where timing is to be understood as a separable layer of information that
- applies to content and that denotes authorial intentions about the temporal
- presentation of that content.</p>
-
- <div class="div2">
- <h3><a id="timing-element-vocabulary" name="timing-element-vocabulary"></a>10.1
- Timing Element Vocabulary</h3>
-
- <p>No timing related element vocabulary is defined for use in the core vocabulary
- catalog.</p>
- </div>
-
- <div class="div2">
- <h3><a id="timing-attribute-vocabulary" name=
- "timing-attribute-vocabulary"></a>10.2 Timing Attribute Vocabulary</h3>
-
- <p>This section defines the following basic timing attributes for use with timed
- elements:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin"><b>10.2.1 begin</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end"><b>10.2.2 end</b></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur"><b>10.2.3 dur</b></a></p>
- </li>
- </ul>
-
- <p>In addition, this section defines the <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a> attribute for
- use with timed elements that serve simultaneously as timing containers.</p>
-
- <div class="div3">
- <h4><a id="timing-attribute-begin" name="timing-attribute-begin"></a>10.2.1
- begin</h4>
-
- <p>The <code>begin</code> attribute is used to specify the begin point of a
- temporal interval associated with a timed element. If specified, the value of a
- <code>begin</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The begin point of a temporal interval is included in the interval; i.e.,
- the interval is left-wise closed.</p>
-
- <p>The semantics of the <code>begin</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-end" name="timing-attribute-end"></a>10.2.2
- end</h4>
-
- <p>The <code>end</code> attribute is used to specify the ending point of a
- temporal interval associated with a timed element. If specified, the value of
- an <code>end</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <p>The ending point of a temporal interval is not included in the interval;
- i.e., the interval is right-wise open.</p>
-
- <p>The presentation effects of a non-empty active temporal interval include the
- frame immediately prior to the frame (or tick) equal to or immediately
- following the time specified by the ending point, but do not extend into this
- latter frame (or tick).</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>For example, if an active interval is [10s,10.33333s), and the frame rate
- is 30 frames per second, then the presentation effects of the interval are
- limited to frames 300 through 309 only (assuming that 0s corresponds with
- frame 0). The same holds if the active interval is specified as
- [300f,310f).</p>
- </div>
-
- <p>The semantics of the <code>end</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-dur" name="timing-attribute-dur"></a>10.2.3
- dur</h4>
-
- <p>The <code>dur</code> attribute is used to specify the duration of a temporal
- interval associated with a timed element. If specified, the value of a
- <code>dur</code> attribute must adhere to a <timeExpression>
- specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>When the <code>clock-time</code> form of a <timeExpression>
- specification is used with a <code>dur</code> attribute, it is intended to be
- interpreted as a difference between two implied clock time expressions.</p>
- </div>
-
- <p>When a <em>Document Instance</em> specifies the use of the
- <code>smpte</code> time base and <code>discontinuous</code> marker mode, a
- (well-formed) <code>dur</code> attribute must not be specified on any
- element.</p>
-
- <p>The semantics of the <code>dur</code> attribute are those defined by
- <a href="#smil21">[SMIL 2.1]</a>, § 10.4.1, while taking into account any
- overriding semantics defined by this specification.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the context of the subset of <a href="#smil21">[SMIL 2.1]</a> semantics
- supported by this specification, the active duration of an element that
- specifies both <code>end</code> and <code>dur</code> attributes is equal to
- the lesser of the value of the <code>dur</code> attribute and the difference
- between the value of the <code>end</code> attribute and the element's begin
- time.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="timing-attribute-timeContainer" name=
- "timing-attribute-timeContainer"></a>10.2.4 timeContainer</h4>
-
- <p>The <code>timeContainer</code> attribute is used to specify a local temporal
- context by means of which timed child elements are temporally situated.</p>
-
- <p>If specified, the value of a <code>timeContainer</code> attribute must be
- one of the following:</p>
-
- <ul>
- <li>
- <p><code>par</code></p>
- </li>
-
- <li>
- <p><code>seq</code></p>
- </li>
- </ul>
-
- <p>If the time container semantics of an element instance is <code>par</code>,
- then the temporal intervals of child elements are considered to apply in
- parallel, i.e., simultaneously in time. Furthermore, the specification of the
- time interval of each child element is considered to be relative to the
- temporal interval of the container element instance. For the purpose of
- determining the <a href="#smil21">[SMIL 2.1]</a> <code>endsync</code> semantics
- of a <code>par</code> time container, a default value of <code>all</code>
- applies.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of a default value of <code>all</code> for the
- <code>endsync</code> behavior is distinct from <a href="#smil21">[SMIL
- 2.1]</a> which uses a default value of <code>last</code>.</p>
- </div>
-
- <p>If the time container semantics of an element instance is <code>seq</code>,
- then the temporal intervals of child elements are considered to apply in
- sequence, i.e., sequentially in time. Furthermore, the specification of the
- time interval of each child element is considered to be relative to the
- temporal interval of its sibling elements, unless it is the first child
- element, in which case it is considered to be relative to the temporal interval
- of the container element instance.</p>
-
- <p>Each time container is considered to constitute an independent time base,
- i.e., time coordinate system.</p>
-
- <p>If a <code>timeContainer</code> attribute is not specified on an element
- that has time container semantics, then <code>par</code> time container
- semantics must apply.</p>
-
- <p>Time container semantics applies only to the following element types:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
- </ul>
-
- <p>The semantics of parallel and sequential time containment are those defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 10.4.2, while taking into account any
- overriding semantics defined by this specification.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-value-expressions" name=
- "timing-time-value-expressions"></a>10.3 Time Value Expressions</h3>
-
- <p>Timing attribute values include the use of the following expressions:</p>
-
- <ul>
- <li>
- <p><a href="#timing-value-timeExpression"><b>10.3.1
- <timeExpression></b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="timing-value-timeExpression" name=
- "timing-value-timeExpression"></a>10.3.1 <timeExpression></h4>
-
- <p>A <timeExpression> is used to specify a coordinate within some time
- base, where the applicable time base is determined by the
- <code>ttp:timeBase</code> parameter, and where the semantics defined by
- <a href="#time-expression-semantics"><b>N Time Expression Semantics</b></a>
- apply.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>See <a href="#parameter-attribute-frameRate"><b>6.2.4
- ttp:frameRate</b></a>, <a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>, <a href="#parameter-attribute-tickRate"><b>6.2.10
- ttp:tickRate</b></a>, and <a href="#parameter-attribute-timeBase"><b>6.2.11
- ttp:timeBase</b></a> for further information on explicit specification of
- frame rate, sub-frame rate, tick rate, and time base.</p>
- </div><a id="timeExpression-syntax" name="timeExpression-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – <timeExpression>
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : clock-time
- | offset-time
-
-clock-time
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-
-offset-time
- : time-count fraction? metric
-
-hours
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
-
-minutes | seconds
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
-
-frames
- : <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a>
- | <a href="#style-value-digit"><digit></a> <a href=
-"#style-value-digit"><digit></a> <a href="#style-value-digit"><digit></a>+
-
-sub-frames
- : <a href="#style-value-digit"><digit></a>+
-
-fraction
- : "." <a href="#style-value-digit"><digit></a>+
-
-time-count
- : <a href="#style-value-digit"><digit></a>+
-
-metric
- : "h" // hours
- | "m" // minutes
- | "s" // seconds
- | "ms" // milliseconds
- | "f" // frames
- | "t" // ticks
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>,
- then leading zeroes are used when expressing hours, minutes, seconds, and
- frames less than 10. Minutes are constrained to [0…59], while seconds
- (including any fractional part) are constrained to the closed interval [0,60],
- where the value 60 applies only to leap seconds.</p>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
- and a <em>frames</em> term is specified, then the value of this term must be
- constrained to the interval [0…<em>F-1</em>], where <em>F</em> is the frame
- rate determined by the <code>ttp:frameRate</code> parameter as defined by
- <a href="#parameter-attribute-frameRate"><b>6.2.4 ttp:frameRate</b></a>. It is
- considered an error if a <em>frames</em> term or <code>f</code> (frames) metric
- is specified when the <code>clock</code> time base applies.</p>
-
- <p>If a <timeExpression> is expressed in terms of a <em>clock-time</em>
- and a <em>sub-frames</em> term is specified, then the value of this term must
- be constrained to the interval [0…<em>S-1</em>], where <em>S</em> is the
- sub-frame rate determined by the <code>ttp:subFrameRate</code> parameter as
- defined by <a href="#parameter-attribute-subFrameRate"><b>6.2.9
- ttp:subFrameRate</b></a>. It is considered an error if a <em>sub-frames</em>
- term is specified when the <code>clock</code> time base applies.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="timing-time-intervals" name="timing-time-intervals"></a>10.4 Time
- Intervals</h3>
-
- <p>The semantics of time containment, durations, and intervals defined by
- <a href="#smil21">[SMIL 2.1]</a> apply to the interpretation of like-named timed
- elements and timing vocabulary defined by this specification, given the following
- constraints:</p>
-
- <ul>
- <li>
- <p>The implicit duration of an anonymous span is defined as follows: if the
- anonymous span's parent time container is a parallel time container, then the
- implicit duration is equivalent to the <code>indefinite</code> duration value
- as defined by <a href="#smil21">[SMIL 2.1]</a>; if the anonymous span's
- parent time container is a sequential time container, then the implicit
- duration is equivalent to zero.</p>
- </li>
-
- <li>
- <p>The implicit duration of a <code>body</code>, <code>div</code>,
- <code>p</code>, or <code>span</code> element is determined in accordance to
- (1) whether the element is a parallel or sequential time container, (2) the
- default <code>endsync</code> semantics defined above by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>, and (3)
- the semantics of <a href="#smil21">[SMIL 2.1]</a> as applied to these time
- containers.</p>
- </li>
-
- <li>
- <p>The implicit duration of the <code>region</code> element is defined to be
- equivalent to the <code>indefinite</code> duration value as defined by
- <a href="#smil21">[SMIL 2.1]</a>.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>clock</code>, then time expressions
- are considered to be equivalent to wall-clock based timing in <a href=
- "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
- "#time-expression-semantics-clock"><b>N.1 Clock Time Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>media</code>, then time expressions
- are considered to be equivalent to offset based timing in <a href=
- "#smil21">[SMIL 2.1]</a>, where the specific semantics of <a href=
- "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> apply.</p>
- </li>
-
- <li>
- <p>If the governing time base is <code>smpte</code>, then time expressions
- are considered to be equivalent to either offset based timing or event based
- timing in <a href="#smil21">[SMIL 2.1]</a>, where the specific semantics of
- <a href="#time-expression-semantics-smpte"><b>N.3 SMPTE Time Base</b></a>
- apply.</p>
- </li>
- </ul>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="animation" name="animation"></a>11 Animation</h2>
-
- <p>This section specifies the <em>animation</em> matter of the core vocabulary
- catalog, where animation is to be understood as a separable layer of information
- that combines timing and styling in order to denote authorial intention about
- (temporally) dynamic styling of content.</p>
-
- <div class="div2">
- <h3><a id="animation-element-vocabulary" name=
- "animation-element-vocabulary"></a>11.1 Animation Element Vocabulary</h3>
-
- <p>The following elements specify the structure and principal animation aspects
- of a <em>Document Instance</em>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><b>11.1.1 set</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="animation-vocabulary-set" name="animation-vocabulary-set"></a>11.1.1
- set</h4>
-
- <p>The <code>set</code> element is used as a child element of a content element
- or a <code>region</code> element in order to express a discrete change of some
- style parameter value that applies over some time interval.</p>
-
- <p>The <code>set</code> element accepts as its children zero or more elements
- in the <code>Metadata.class</code> element group.</p><a id="elt-syntax-set"
- name="elt-syntax-set"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: set
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<set
- <a href="#timing-attribute-begin">begin</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-dur">dur</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#timing-attribute-end">end</a> = <a href=
-"#timing-value-timeExpression"><timeExpression></a>
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>a single attribute in TT Style namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
-</set>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The use of multiple <code>set</code> element children may be used to
- effect fade and position transitions.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate content styling
- is illustrated below:</p><a id="animation-vocabulary-set-example-1" name=
- "animation-vocabulary-set-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Content Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<p dur="5s" tts:color="yellow">
-<span class="strong"><set begin="1s" dur="1s" tts:color="red"/></span>
-<span class="strong"><set begin="2s" dur="1s" tts:color="green"/></span>
-<span class="strong"><set begin="3s" dur="1s" tts:color="red"/></span>
-Text with Flashing Colors!
-</p>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the foreground color of the content "Text with
- Flashing Colors" is animated from yellow, to red, to green, to red, then back
- to yellow over a 5 second period.</p>
- </div>
-
- <p>An example of using the <code>set</code> element to animate region styling
- is illustrated below:</p><a id="animation-vocabulary-set-example-2" name=
- "animation-vocabulary-set-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Region Style Animation
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
- xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
- xmlns:tts="http://www.w3.org/ns/ttml#styling"
- ttp:cellResolution="40 16">
- <head>
- <layout>
- <region xml:id="r1" timeContainer="seq">
- <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <span class="strong"><set dur="2s" tts:origin=" 2c 2c"/></span>
- <span class="strong"><set dur="3s" tts:origin=" 8c 14c"/></span>
- <span class="strong"><set dur="2s" tts:origin="14c 4c"/></span>
- <span class="strong"><set dur="10s" tts:origin=" 8c 14c"/></span>
- <style tts:extent="24c 2c"/>
- </region>
- </layout>
- </head>
- <body region="r1">...</body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, the <em>Root Container Region</em> is divided into a
- cell grid of 40 columns and 16 rows. A region, <code>r1</code>, with
- dimensions of 24 columns and 2 rows is then positioned within the <em>Root
- Container Region</em>, with its position varying over time in order to create
- an effect of moving the region, which may be desirable so as to avoid
- obscuring characters in an underlying video with captions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The semantics of the <code>set</code> element are based upon that defined
- by <a href="#smil21">[SMIL 2.1]</a>, § 3.6.2.</p>
- </div>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="animation-attribute-vocabulary" name=
- "animation-attribute-vocabulary"></a>11.2 Animation Attribute Vocabulary</h3>
-
- <p>No animation related attribute vocabulary is defined for use in the core
- vocabulary catalog.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="metadata" name="metadata"></a>12 Metadata</h2>
-
- <p>This section specifies the <em>metadata</em> matter of the core vocabulary
- catalog, where metadata is to be understood as a separable layer of information
- that applies to parameters, content, style, layout, timing, and even metadata
- itself, where the information represented by metadata takes one of two forms: (1)
- metadata defined by this specification for standardized use in a <em>Document
- Instance</em>, and (2) arbitrary metadata defined outside of the scope of this
- specification, whose use and semantics depend entirely upon an application's use of
- TTML Content.</p>
-
- <div class="div2">
- <h3><a id="metadata-element-vocabulary" name=
- "metadata-element-vocabulary"></a>12.1 Metadata Element Vocabulary</h3>
-
- <p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1 metadata</b></a> element
- serves as a generic container element for grouping metadata information.</p>
-
- <p>In addition, the following elements, all defined in the TT Metadata Namespace,
- provide standard representations for metadata that is expected to be commonly
- used in a <em>Document Instances</em>:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-vocabulary-title"><b>12.1.2 ttm:title</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-desc"><b>12.1.3 ttm:desc</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-copyright"><b>12.1.4
- ttm:copyright</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-agent"><b>12.1.5 ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-name"><b>12.1.6 ttm:name</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-actor"><b>12.1.7 ttm:actor</b></a></p>
- </li>
- </ul>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-metadata" name=
- "metadata-vocabulary-metadata"></a>12.1.1 metadata</h4>
-
- <p>The <code>metadata</code> element functions as a generic container for
- metadata information.</p>
-
- <p>Metadata information may be expressed with a <code>metadata</code> element
- by specifying (1) one or more metadata attributes on the <code>metadata</code>
- element, (2) one or more metadata child elements in the <code>metadata</code>
- element, or (3) a combination of metadata attributes and metadata child
- elements. Both types of metadata information are referred to in this document
- as <em>metadata items</em>.</p><a id="elt-syntax-metadata" name=
- "elt-syntax-metadata"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<metadata
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute in TT Metadata namespace</em>}
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> ({<em>any element in TT Metadata namespace</em>}|{<em>any element not in any TT namespace</em>})*
-</metadata>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The meaning of a specific metadata item must be evaluated in the context
- where it appears. The core vocabulary catalog permits an arbitrary number of
- <code>metadata</code> element children on any content element type except for
- the <code>tt</code> element. See specific element vocabulary definitions for
- any constraints that apply to such usage.</p>
- </div>
-
- <p>The use of document metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-1" name=
- "metadata-vocabulary-metadata-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Document Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<head>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Document Metadata Example</ttm:title>
- <ttm:desc>This document employs document metadata.</ttm:desc>
- </metadata>
-</head>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p>The use of element metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-2" name=
- "metadata-vocabulary-metadata-example-2"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div>
- <metadata xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <ttm:title>Chapter 6 – Sherlock Holmes Gives a Demonstration</ttm:title>
- <ttm:desc>Holmes shows Watson how the murderer entered the window.</ttm:desc>
- </metadata>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p></p>
-
- <p>The use of metadata attribute items is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-3" name=
- "metadata-vocabulary-metadata-example-3"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Metadata Attribute Items
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<div xmlns:ext="http://example.org/ttml#metadata">
- <metadata ext:ednote="remove this division prior to publishing"/>
-</div>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a global attribute from a foreign (external)
- namespace is used to express a metadata attribute that applies semantically
- to the containing <code>div</code> element. Note that the attribute may also
- be expressed directly on the <code>div</code> element; however, in this case
- the author wishes to segregate certain metadata attributes by expressing them
- indirectly on <code>metadata</code> elements.</p>
- </div>
-
- <p></p>
-
- <p>The use of foreign element metadata is illustrated by the following
- example.</p><a id="metadata-vocabulary-metadata-example-4" name=
- "metadata-vocabulary-metadata-example-4"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Foreign Element Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-...
-<metadata
- xmlns:dc="http://purl.org/dc/elements/1.1/"
- xmlns:dcterms="http://purl.org/dc/terms/"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
- <dc:title>Foreign Element Metadata Example</dc:title>
- <dc:description>Express metadata using elements in foreign namespace.</dc:description>
- <dc:format xsi:type="dcterms:IMT">application/ttml+xml</dc:format>
-</metadata>
-...
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, a number of elements defined by the Dublin Core
- metadata vocabulary are used to express document level metadata.</p>
- </div>
-
- <p></p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-title" name=
- "metadata-vocabulary-title"></a>12.1.2 ttm:title</h4>
-
- <p>The <code>ttm:title</code> element is used to express a human-readable title
- of a specific element instance.</p><a id="elt-syntax-metadata-title" name=
- "elt-syntax-metadata-title"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:title
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:title
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:title>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:title</code> element is defined by this
- specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:title</code> element are shown above in <a href=
- "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
- Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-desc" name="metadata-vocabulary-desc"></a>12.1.3
- ttm:desc</h4>
-
- <p>The <code>ttm:desc</code> element is used to express a human-readable
- description of a specific element instance.</p><a id="elt-syntax-metadata-desc"
- name="elt-syntax-metadata-desc"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:desc
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:desc
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:desc>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:desc</code> element is defined by this
- specification.</p>
- </div>
-
- <p>Examples of the <code>ttm:desc</code> element are shown above in <a href=
- "#metadata-vocabulary-metadata-example-1"><b>Example Fragment – Document
- Metadata</b></a> and <a href=
- "#metadata-vocabulary-metadata-example-2"><b>Example Fragment – Element
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-copyright" name=
- "metadata-vocabulary-copyright"></a>12.1.4 ttm:copyright</h4>
-
- <p>The <code>ttm:copyright</code> element is used to express a human-readable
- copyright that applies to some scoping level.</p>
-
- <p>A copyright statement that applies to a document as a whole should appear as
- a child of the <code>head</code> element.</p><a id=
- "elt-syntax-metadata-copyright" name="elt-syntax-metadata-copyright"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:copyright
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:copyright
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:copyright>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>No specific use of the <code>ttm:copyright</code> element is defined by
- this specification.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-agent" name=
- "metadata-vocabulary-agent"></a>12.1.5 ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> element is used to define an agent for the
- purpose of associating content information with an agent who is involved in the
- production or expression of that content.</p>
-
- <p>The <code>ttm:agent</code> element accepts as its children zero or more
- <code>ttm:name</code> elements followed by zero or one <code>ttm:actor</code>
- element.</p>
-
- <p>At least one <code>ttm:name</code> element child should be specified that
- expresses a name for the agent, whether it be the name of a person, character,
- group, or organization.</p><a id="elt-syntax-metadata-agent" name=
- "elt-syntax-metadata-agent"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:agent
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:agent
- <span class=
-"reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> <a href="#metadata-vocabulary-name">ttm:name</a>*, <a href=
-"#metadata-vocabulary-actor">ttm:actor</a>?
-</ttm:agent>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:agent</code> element, and, if specified, must have one of the
- following values:</p>
-
- <ul>
- <li>
- <p><code>person</code></p>
- </li>
-
- <li>
- <p><code>character</code></p>
- </li>
-
- <li>
- <p><code>group</code></p>
- </li>
-
- <li>
- <p><code>organization</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>If the value of the <code>type</code> attribute is <code>character</code>,
- then the <code>ttm:agent</code> element instance should specify a
- <code>ttm:actor</code> child that specifies the agent that plays the role of
- the actor.</p>
-
- <p>A <code>ttm:agent</code> metadata item is considered to be significant only
- when specified as a child of the <code>head</code> element or as a child of a
- <code>metadata</code> element child of the <code>head</code> element.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A <code>ttm:agent</code> element instance is typically referenced using a
- <code>ttm:agent</code> attribute on a content element.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If a character agent is played by multiple actors, then multiple character
- agents may be specified (and referenced) wherein different definitions of the
- character specify different actors.</p>
- </div>
-
- <p>The use of agent metadata is illustrated by the following example.</p><a id=
- "metadata-vocabulary-agent-example-1" name=
- "metadata-vocabulary-agent-example-1"></a>
-
- <table class="example">
- <caption>
- Example Fragment – Agent Metadata
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-
-<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
- <head>
- <span class="strong"><ttm:agent xml:id="connery" type="person"></span>
- <ttm:name type="family">Connery</ttm:name>
- <ttm:name type="given">Thomas Sean</ttm:name>
- <ttm:name type="alias">Sean</ttm:name>
- <ttm:name type="full">Sir Thomas Sean Connery</ttm:name>
- <span class="strong"></ttm:agent></span>
- <span class="strong"><ttm:agent xml:id="bond" type="character"></span>
- <ttm:name type="family">Bond</ttm:name>
- <ttm:name type="given">James</ttm:name>
- <ttm:name type="alias">007</ttm:name>
- <ttm:actor agent="connery"/>
- <span class="strong"></ttm:agent></span>
- </head>
- <body>
- <div>
- ...
- <p <span class=
-"strong">ttm:agent="bond"</span>>I travel, a sort of licensed troubleshooter.</p>
- ...
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>In the above example, two agents, a real (person) agent, Sean Connery, and
- a fictitious (character) agent, James Bond, are defined, where the latter is
- linked to the former by means of the a <code>ttm:actor</code> element. A
- reference is then made from content (the <code>p</code> element) to the
- character agent associated with (responsible for producing) that content.
- Note that in this example the <code>ttm:agent</code> metadata items are
- specified as immediate children of the document's <code>head</code> element
- rather than being placed in a container <code>metadata</code> element.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-name" name="metadata-vocabulary-name"></a>12.1.6
- ttm:name</h4>
-
- <p>The <code>ttm:name</code> element is used to specify a name of a person,
- character, group, or organization.</p><a id="elt-syntax-metadata-name" name=
- "elt-syntax-metadata-name"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:name
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:name
- <span class=
-"reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> #PCDATA
-</ttm:name>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>A <code>type</code> attribute must be specified on each
- <code>ttm:name</code> element, and, if specified, must have one of the
- following values:</p>
-
- <ul>
- <li>
- <p><code>full</code></p>
- </li>
-
- <li>
- <p><code>family</code></p>
- </li>
-
- <li>
- <p><code>given</code></p>
- </li>
-
- <li>
- <p><code>alias</code></p>
- </li>
-
- <li>
- <p><code>other</code></p>
- </li>
- </ul>
-
- <p>The relationship between the type of a name and the syntactic expression of
- the name is not defined by this specification.</p>
-
- <p>Two examples of the <code>ttm:name</code> element are shown above in
- <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-vocabulary-actor" name=
- "metadata-vocabulary-actor"></a>12.1.7 ttm:actor</h4>
-
- <p>The <code>ttm:actor</code> element is used to link the definition of a
- (role-based) character agent with another agent that portrays the
- character.</p><a id="elt-syntax-metadata-actor" name=
- "elt-syntax-metadata-actor"></a>
-
- <table class="syntax">
- <caption>
- XML Representation – Element Information Item: ttm:actor
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<ttm:actor
- <span class="reqattr">agent</span> = IDREF
- <a href="#content-attribute-id">xml:id</a> = ID
- <a href="#content-attribute-lang">xml:lang</a> = string
- <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
- {<em>any attribute not in default or any TT namespace</em>}>
- <em>Content:</em> EMPTY
-</ttm:actor>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The <code>agent</code> attribute of a <code>ttm:actor</code> element must
- reference a <code>ttm:agent</code> element that denotes the person, group, or
- organization acting the part of a character.</p>
-
- <p>An example of the <code>ttm:actor</code> element is shown above in <a href=
- "#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="metadata-attribute-vocabulary" name=
- "metadata-attribute-vocabulary"></a>12.2 Metadata Attribute Vocabulary</h3>
-
- <p>This section specifies the following attributes in the TT Metadata Namespace
- for use with the <code>metadata</code> element and with certain content
- elements:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-attribute-agent"><b>12.2.1 ttm:agent</b></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-role"><b>12.2.2 ttm:role</b></a></p>
- </li>
- </ul>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Only certain metadata item attributes may be used with content elements. See
- the definitions of content elements to determine permissible usage.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-agent" name="metadata-attribute-agent"></a>12.2.1
- ttm:agent</h4>
-
- <p>The <code>ttm:agent</code> attribute takes an <code>IDREFS</code> value, and
- is used with certain content elements to designate the agents that perform or
- are involved in the performance of the content.</p>
-
- <p>If specified, a <code>ttm:agent</code> attribute must reference
- <code>ttm:agent</code> element instances that appear as a descendent of the
- same <em>Document Instance</em> as that of the referring element.</p>
-
- <p>The same IDREF, <em>ID</em>, should not appear more than once in the value
- of a <code>ttm:agent</code> attribute.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant agent
- references.</p>
- </div>
-
- <p>An example of the <code>ttm:agent</code> attribute is shown above in
- <a href="#metadata-vocabulary-agent-example-1"><b>Example Fragment – Agent
- Metadata</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="metadata-attribute-role" name="metadata-attribute-role"></a>12.2.2
- ttm:role</h4>
-
- <p>The <code>ttm:role</code> attribute may be used by a content author to
- express the roles, functions, or characteristics of some content element that
- is so labeled.</p>
-
- <p>If specified, the value of this attribute must adhere to the following
- syntax, where the syntactic element <em>S</em> must adhere to production [3]
- <code>S</code> as defined by <a href="#xml10">[XML 1.0]</a> §
- 2.3:</p><a id="metadata-attribute-role-syntax" name=
- "metadata-attribute-role-syntax"></a>
-
- <table class="syntax">
- <caption>
- Syntax Representation – ttm:role
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-ttm:role
- role ( <em>S</em> role )*
-
-role
- : "action"
- | "caption"
- | "description"
- | "dialog"
- | "expletive"
- | "kinesic"
- | "lyrics"
- | "music"
- | "narration"
- | "quality"
- | "sound"
- | "source"
- | "suppressed"
- | "reproduction"
- | "thought"
- | "title"
- | "transcription"
- | extension-role
-
-extension-role
- : "x-" token-char+
-
-token-char
- : { XML NameChar } // XML 1.1 Production [4a]
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The same <code>role</code> token, <em>R</em>, should not appear more than
- once in the value of a <code>ttm:role</code> attribute.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This constraint is intended to discourage the use of redundant role
- tokens.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>All values of <code>ttm:role</code> that do not start with the prefix
- <code>x-</code> are reserved for future standardization.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If using a custom <code>x-</code> prefixed form of <code>ttm:role</code>,
- it is recommended that an organization unique infix be used as well in order
- to prevent collisions. For example, <code>x-example-org-custom-role</code>.
- Furthermore, a registry for role values is available at <a href=
- "http://www.w3.org/wiki/TTML/RoleRegistry">http://www.w3.org/wiki/TTML/RoleRegistry</a>
- in order to promote interoperability and collision avoidance.</p>
- </div>
- </div>
- </div>
- </div>
- </div>
-
- <div class="back">
- <div class="div1">
- <h2><a id="reduced-infoset" name="reduced-infoset"></a>A Reduced XML Infoset</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>For the purposes of this specification, a <em>Reduced XML Infoset</em> is an XML
- Information Set <a href="#infoset">[XML InfoSet]</a> that consists of only the
- following information items and information item properties:</p>
-
- <div class="div2">
- <h3><a id="reduced-infoset-document" name="reduced-infoset-document"></a>A.1
- Document Information Item</h3>
-
- <ul>
- <li>
- <p><code>[document element]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-element" name="reduced-infoset-element"></a>A.2
- Element Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[children]</code></p>
- </li>
-
- <li>
- <p><code>[attributes]</code></p>
- </li>
- </ul>
-
- <p>Child information items <code>[children]</code> are reduced to only element
- and character information items.</p>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-attribute" name="reduced-infoset-attribute"></a>A.3
- Attribute Information Item</h3>
-
- <ul>
- <li>
- <p><code>[namespace URI]</code></p>
- </li>
-
- <li>
- <p><code>[local name]</code></p>
- </li>
-
- <li>
- <p><code>[normalized value]</code></p>
- </li>
- </ul>
- </div>
-
- <div class="div2">
- <h3><a id="reduced-infoset-character" name="reduced-infoset-character"></a>A.4
- Character Information Item</h3>
-
- <ul>
- <li>
- <p><code>[character code]</code></p>
- </li>
- </ul>
-
- <p>Contiguous character information items are not required to be represented
- distinctly, but may be aggregated (chunked) into a sequence of character codes
- (i.e., a character string).</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="schemas" name="schemas"></a>B Schemas</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following schemas for use with <em>Document
- Instances</em>:</p>
-
- <ul>
- <li>
- <p>Relax NG, Compact Syntax (RNC) Schema</p>
- </li>
-
- <li>
- <p>XML Schema Definition (XSD) Schema</p>
- </li>
- </ul>
-
- <p>In any case where a schema specified by this appendix differs from the normative
- definitions of document type, element type, or attribute type as defined by the
- body of this specification, then the body of this specification takes
- precedence.</p>
-
- <div class="div2">
- <h3><a id="ttml-schema-rnc" name="ttml-schema-rnc"></a>B.1 Relax NG Compact (RNC)
- Schema</h3>
-
- <p>A Relax NG Compact Syntax (RNC) <a href="#rng">[RELAX NG]</a> based schema for
- TTML Content is available at <a href="rnc/schema.zip">ZIP Archive</a>. This
- schema does not normatively define the validity of Timed Text Markup Language
- content as defined by this specification. In particular, the formal validity of
- TTML Content is defined by <a href="#conformance-content"><b>3.1 Content
- Conformance</b></a>.</p>
- </div>
-
- <div class="div2">
- <h3><a id="ttml-schema-xsd" name="ttml-schema-xsd"></a>B.2 XML Schema Definition
- (XSD) Schema</h3>
-
- <p>A W3C XML Schema Definition (XSD) <a href="#xsd-1">[XML Schema Part 1]</a>
- based schema for TTML Content is available at <a href="xsd/schema.zip">ZIP
- Archive</a>. This schema does not normatively define the validity of Timed Text
- Markup Language content as defined by this specification. In particular, the
- formal validity of TTML Content is defined by <a href=
- "#conformance-content"><b>3.1 Content Conformance</b></a>.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="media-types-registration" name="media-types-registration"></a>C Media
- Type Registration</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix registers a new media type, "application/ttml+xml" in conformance
- with <a href="http://www.ietf.org/rfc/rfc4288.txt">BCP 13</a> and <a href=
- "http://www.w3.org/2002/06/registering-mediatype.html">W3CRegMedia</a>. The
- information in this appendix is being submitted to the Internet Engineering
- Steering Group (IESG) for review, approval, and registration with the Internet
- Assigned Numbers Authority (IANA).</p>
-
- <dl>
- <dt class="label">Type name:</dt>
-
- <dd>
- <p>application</p>
- </dd>
-
- <dt class="label">Subtype name:</dt>
-
- <dd>
- <p>ttml+xml</p>
- </dd>
-
- <dt class="label">Required parameters:</dt>
-
- <dd>
- <p>None.</p>
- </dd>
-
- <dt class="label">Optional parameters:</dt>
-
- <dd>
- <dl>
- <dt class="label">charset</dt>
-
- <dd>
- <p>If specified, the <code>charset</code> parameter must match the XML
- encoding declaration, or if absent, the actual encoding.</p>
- </dd>
-
- <dt class="label">profile</dt>
-
- <dd>
- <p>The document profile of a TTMLDocument Instance may be specified using
- an optional <code>profile</code> parameter, which, if specified, the value
- of which must adhere to the syntax and semantics of
- <code>ttp:profile</code> parameter defined by Section <a href=
- "#parameter-attribute-profile"><b>6.2.8 ttp:profile</b></a> of the
- published specification.</p>
- </dd>
- </dl>
- </dd>
-
- <dt class="label">Encoding considerations:</dt>
-
- <dd>
- <p>Same for application/xml, except constrained to either UTF-8 or UTF-16. See
- <a href="#xml-media">[XML Media Types]</a>, Section 3.2.</p>
- </dd>
-
- <dt class="label">Security considerations:</dt>
-
- <dd>
- <p>As with other XML types and as noted in <a href="#xml-media">[XML Media
- Types]</a> Section 10, repeated expansion of maliciously constructed XML
- entities can be used to consume large amounts of memory, which may cause XML
- processors in constrained environments to fail.</p>
-
- <p>In addition, because of the extensibility features for TTML and of XML in
- general, it is possible that "application/ttml+xml" may describe content that
- has security implications beyond those described here. However, TTML does not
- provide for any sort of active or executable content, and if the processor
- follows only the normative semantics of the published specification, this
- content will be outside TTML namespaces and may be ignored. Only in the case
- where the processor recognizes and processes the additional content, or where
- further processing of that content is dispatched to other processors, would
- security issues potentially arise. And in that case, they would fall outside
- the domain of this registration document.</p>
-
- <p>Although not prohibited, there are no expectations that XML signatures or
- encryption would normally be employed.</p>
- </dd>
-
- <dt class="label">Interoperability considerations:</dt>
-
- <dd>
- <p>The published specification describes processing semantics that dictate
- behavior that must be followed when dealing with, among other things,
- unrecognized elements and attributes, both in TTML namespaces and in other
- namespaces.</p>
-
- <p>Because TTML is extensible, conformant "application/ttml+xml" processors may
- expect (and enforce) that content received is well-formed XML, but it cannot be
- guaranteed that the content is valid to a particular DTD or Schema or that the
- processor will recognize all of the elements and attributes in the
- document.</p>
- </dd>
-
- <dt class="label">Published specification:</dt>
-
- <dd>
- <p>This media type registration is extracted from Appendix C Media Type
- Registration of the Timed Text Markup Language (TTML) 1.0 specification:
- <a href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text Markup Language (TTML)
- 1.0</a>.</p>
- </dd>
-
- <dt class="label">Applications that use this media type:</dt>
-
- <dd>
- <p>TTML is used in the television industry for the purpose of authoring,
- transcoding and exchanging timed text information and for delivering captions,
- subtitles, and other metadata for television material repurposed for the Web
- or, more generally, the Internet.</p>
-
- <p>There is partial and full support of TTML in components used by several Web
- browsers plugins, and in a number of caption authoring tools. A TTML
- verification (including validation) utility is available in open source form at
- <a href="http://github.com/skynav/ttv">http://github.com/skynav/ttv</a>.</p>
- </dd>
-
- <dt class="label">Additional information:</dt>
-
- <dd>
- <dl>
- <dt class="label">Magic number(s):</dt>
-
- <dt class="label">File extension(s):</dt>
-
- <dd>
- <p>.ttml</p>
- </dd>
-
- <dt class="label">Macintosh file type code(s):</dt>
-
- <dd>
- <p>"TTML"</p>
- </dd>
-
- <dt class="label">Fragment identifiers:</dt>
-
- <dd>
- <p>For documents labeled as application/ttml+xml, the fragment identifier
- notation is intended to be used with xml:id attributes, as described in
- section 7.2.1 of the <a href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text
- Markup Language (TTML) 1.0</a> specification.</p>
- </dd>
- </dl>
- </dd>
-
- <dt class="label">Person & email address to contact for further
- information:</dt>
-
- <dd>
- <p>Timed Text Working Group (public-tt@w3.org)</p>
- </dd>
-
- <dt class="label">Intended usage:</dt>
-
- <dd>
- <p>COMMON</p>
- </dd>
-
- <dt class="label">Restrictions on usage:</dt>
-
- <dd>
- <p>None</p>
- </dd>
-
- <dt class="label">Author:</dt>
-
- <dd>
- <p>The published specification is a work product of the World Wide Web
- Consortium's Timed Text (TT) Working Group.</p>
- </dd>
-
- <dt class="label">Change controller:</dt>
-
- <dd>
- <p>The W3C has change control over this specification.</p>
- </dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="features" name="features"></a>D Features</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies (1) a set of feature designations, each of which labels
- one or more syntactic and/or semantic features defined by this specification, and
- (2) for each designated feature, whether the feature is mandatory or optional for a
- transformation or presentation processor.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>A TTML processor is said to <em>implement the transformation semantics</em> or
- <em>implement the presentation semantics</em> of feature designation <em>F</em>
- if it satisfies the requirements of this appendix with respect to the definition
- of feature designation <em>F</em> as pertains to transformation or presentation
- processing, respectively.</p>
- </div>
-
- <div class="div2">
- <h3><a id="feature-designations" name="feature-designations"></a>D.1 Feature
- Designations</h3>
-
- <p>A feature designation is expressed as a string that adheres to the following
- form:</p>
-
- <div class="exampleInner">
- <pre>
-feature-designation
- : feature-namespace designation
-
-feature-namespace
- : <em>TT Feature Namespace</em> // http://www.w3.org/ns/ttml/feature/
-
-designation
- : "#" token-char+
-
-token-char
- : { XML NameChar } // XML 1.1 Production [4a]
-</pre>
- </div>
-
- <p>All values of <code>feature-designation</code> not defined by this
- specification are reserved for future standardization.</p>
-
- <p>The following sub-sections define all feature designations, expressed as
- relative URIs (fragment identifiers) with respect to the TT Feature Namespace
- base URI.</p>
-
- <div class="div3">
- <h4><a id="feature-animation" name="feature-animation"></a>D.1.1
- #animation</h4>
-
- <p>A TTML transformation processor supports the <code>#animation</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#animation"><b>11 Animation</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#animation-vocabulary-set"><code>set</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#animation</code> feature
- if it implements presentation semantic support for the same vocabulary
- enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor" name="feature-backgroundColor"></a>D.1.2
- #backgroundColor</h4>
-
- <p>A TTML transformation processor supports the <code>#backgroundColor</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#backgroundColor</code>
- feature if it (1) implements presentation semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute and (2) is capable of displaying or generating an output display
- signal that distinguishes between at least sixteen (16) values of color,
- including all primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-block" name=
- "feature-backgroundColor-block"></a>D.1.3 #backgroundColor-block</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-block</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate a block area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-block</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates a block area and (2)
- is capable of displaying or generating an output display signal that
- distinguishes between at least sixteen (16) values of color, including all
- primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-inline" name=
- "feature-backgroundColor-inline"></a>D.1.4 #backgroundColor-inline</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-inline</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that would generate an inline area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-inline</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a content element that generates an inline area and
- (2) is capable of displaying or generating an output display signal that
- distinguishes between at least sixteen (16) values of color, including all
- primary and secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-backgroundColor-region" name=
- "feature-backgroundColor-region"></a>D.1.5 #backgroundColor-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#backgroundColor-region</code> feature if it recognizes and is capable of
- transforming all defined values of the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the
- <code>#backgroundColor-region</code> feature if it (1) implements presentation
- semantic support for the <a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element and (2) is capable
- of displaying or generating an output display signal that distinguishes between
- at least sixteen (16) values of color, including all primary and secondary
- colors of the SRGB color space .</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-bidi" name="feature-bidi"></a>D.1.6 #bidi</h4>
-
- <p>A TTML processor supports the <code>#bidi</code> feature if it supports the
- following features:</p>
-
- <ul>
- <li>
- <p><a href="#feature-direction"><code>#direction</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-cellResolution" name="feature-cellResolution"></a>D.1.7
- #cellResolution</h4>
-
- <p>A TTML transformation processor supports the <code>#cellResolution</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#cellResolution</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode" name="feature-clockMode"></a>D.1.8
- #clockMode</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-gps" name="feature-clockMode-gps"></a>D.1.9
- #clockMode-gps</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-gps</code>
- feature if it recognizes and is capable of transforming the <code>gps</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-gps</code>
- feature if it implements presentation semantic support for the <code>gps</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-local" name="feature-clockMode-local"></a>D.1.10
- #clockMode-local</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-local</code>
- feature if it recognizes and is capable of transforming the <code>local</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-local</code>
- feature if it implements presentation semantic support for the
- <code>local</code> value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-clockMode-utc" name="feature-clockMode-utc"></a>D.1.11
- #clockMode-utc</h4>
-
- <p>A TTML transformation processor supports the <code>#clockMode-utc</code>
- feature if it recognizes and is capable of transforming the <code>utc</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#clockMode-utc</code>
- feature if it implements presentation semantic support for the <code>utc</code>
- value of the <a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-color" name="feature-color"></a>D.1.12 #color</h4>
-
- <p>A TTML transformation processor supports the <code>#color</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-color"><code>tts:color</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#color</code> feature if it
- (1) implements presentation semantic support for the <a href=
- "#style-attribute-color"><code>tts:color</code></a> attribute and (2) is
- capable of displaying or generating an output display signal that distinguishes
- between at least sixteen (16) values of color, including all primary and
- secondary colors of the SRGB color space.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-content" name="feature-content"></a>D.1.13 #content</h4>
-
- <p>A TTML transformation processor supports the <code>#content</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-body"><code>body</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-div"><code>div</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-p"><code>p</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-span"><code>span</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-vocabulary-br"><code>br</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#content</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-core" name="feature-core"></a>D.1.14 #core</h4>
-
- <p>A TTML transformation processor supports the <code>#core</code> feature if
- it recognizes and is capable of transforming the following core attributes
- vocabulary defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#content-attribute-id">@<code>xml:id</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-id">@<code>xml:lang</code></a></p>
- </li>
-
- <li>
- <p><a href="#content-attribute-id">@<code>xml:space</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#core</code> feature if it
- implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-direction" name="feature-direction"></a>D.1.15
- #direction</h4>
-
- <p>A TTML transformation processor supports the <code>#direction</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#direction</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-direction"><code>tts:direction</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display" name="feature-display"></a>D.1.16 #display</h4>
-
- <p>A TTML transformation processor supports the <code>#display</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#display</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-display"><code>tts:display</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-block" name="feature-display-block"></a>D.1.17
- #display-block</h4>
-
- <p>A TTML transformation processor supports the <code>#display-block</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate a block area during
- presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#display-block</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a content element that generates a block area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-inline" name="feature-display-inline"></a>D.1.18
- #display-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#display-inline</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a content element that would generate an inline area during
- presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#display-inline</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a content element that generates an inline area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-display-region" name="feature-display-region"></a>D.1.19
- #display-region</h4>
-
- <p>A TTML transformation processor supports the <code>#display-region</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-display"><code>tts:display</code></a> attribute
- when applied to a <a href="#layout-vocabulary-region"><code>region</code></a>
- element.</p>
-
- <p>A TTML presentation processor supports the <code>#display-region</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-display"><code>tts:display</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-displayAlign" name="feature-displayAlign"></a>D.1.20
- #displayAlign</h4>
-
- <p>A TTML transformation processor supports the <code>#displayAlign</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#displayAlign</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode" name="feature-dropMode"></a>D.1.21 #dropMode</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode</code> feature if
- it implements presentation semantic support for the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropNTSC" name=
- "feature-dropMode-dropNTSC"></a>D.1.22 #dropMode-dropNTSC</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-dropNTSC</code>
- feature if it recognizes and is capable of transforming the
- <code>dropNTSC</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-dropNTSC</code>
- feature if it implements presentation semantic support for the
- <code>dropNTSC</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-dropPAL" name="feature-dropMode-dropPAL"></a>D.1.23
- #dropMode-dropPAL</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-dropPAL</code>
- feature if it recognizes and is capable of transforming the
- <code>dropPAL</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-dropPAL</code>
- feature if it implements presentation semantic support for the
- <code>dropPAL</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-dropMode-nonDrop" name="feature-dropMode-nonDrop"></a>D.1.24
- #dropMode-nonDrop</h4>
-
- <p>A TTML transformation processor supports the <code>#dropMode-nonDrop</code>
- feature if it recognizes and is capable of transforming the
- <code>nonDrop</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#dropMode-nonDrop</code>
- feature if it implements presentation semantic support for the
- <code>nonDrop</code> value of the <a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent" name="feature-extent"></a>D.1.25 #extent</h4>
-
- <p>A TTML transformation processor supports the <code>#extent</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#extent</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-region" name="feature-extent-region"></a>D.1.26
- #extent-region</h4>
-
- <p>A TTML transformation processor supports the <code>#extent-region</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the <code>#extent-region</code>
- feature if it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-extent-root" name="feature-extent-root"></a>D.1.27
- #extent-root</h4>
-
- <p>A TTML transformation processor supports the <code>#extent-root</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- the <a href="#document-structure-vocabulary-tt"><code>tt</code></a>
- element.</p>
-
- <p>A TTML presentation processor supports the <code>#extent-root</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-extent"><code>tts:extent</code></a> attribute when applied to
- a <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily" name="feature-fontFamily"></a>D.1.28
- #fontFamily</h4>
-
- <p>A TTML transformation processor supports the <code>#fontFamily</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontFamily</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-generic" name=
- "feature-fontFamily-generic"></a>D.1.29 #fontFamily-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-generic</code> feature if it recognizes and is capable of
- transforming <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values when used
- with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontFamily-generic</code>
- feature if it implements presentation semantic support for <a href=
- "#style-value-genericFamilyName"><genericFamilyName></a> values when used
- with the <a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontFamily-non-generic" name=
- "feature-fontFamily-non-generic"></a>D.1.30 #fontFamily-non-generic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontFamily-non-generic</code> feature if it recognizes and is capable of
- transforming <a href="#style-value-familyName"><familyName></a> values
- when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#fontFamily-non-generic</code> feature if it implements presentation
- semantic support for <a href="#style-value-familyName"><familyName></a>
- values when used with the <a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize" name="feature-fontSize"></a>D.1.31 #fontSize</h4>
-
- <p>A TTML transformation processor supports the <code>#fontSize</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-anamorphic" name=
- "feature-fontSize-anamorphic"></a>D.1.32 #fontSize-anamorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-anamorphic</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
- consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize-anamorphic</code>
- feature if it implements presentation semantic support for defined values of
- the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of two <a href="#style-value-length"><length></a>
- specifications.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontSize-isomorphic" name=
- "feature-fontSize-isomorphic"></a>D.1.33 #fontSize-isomorphic</h4>
-
- <p>A TTML transformation processor supports the
- <code>#fontSize-isomorphic</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute that
- consist of a single <a href="#style-value-length"><length></a>
- specification.</p>
-
- <p>A TTML presentation processor supports the <code>#fontSize-isomorphic</code>
- feature if it implements presentation semantic support for defined values of
- the <a href="#style-attribute-fontSize"><code>tts:fontSize</code></a> attribute
- that consist of a single <a href="#style-value-length"><length></a>
- specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle" name="feature-fontStyle"></a>D.1.34
- #fontStyle</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-italic" name="feature-fontStyle-italic"></a>D.1.35
- #fontStyle-italic</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle-italic</code>
- feature if it recognizes and is capable of transforming the <code>italic</code>
- value of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle-italic</code>
- feature if it implements presentation semantic support for the
- <code>italic</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontStyle-oblique" name=
- "feature-fontStyle-oblique"></a>D.1.36 #fontStyle-oblique</h4>
-
- <p>A TTML transformation processor supports the <code>#fontStyle-oblique</code>
- feature if it recognizes and is capable of transforming the
- <code>oblique</code> value of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontStyle-oblique</code>
- feature if it implements presentation semantic support for the
- <code>oblique</code> of the <a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight" name="feature-fontWeight"></a>D.1.37
- #fontWeight</h4>
-
- <p>A TTML transformation processor supports the <code>#fontWeight</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontWeight</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-fontWeight-bold" name="feature-fontWeight-bold"></a>D.1.38
- #fontWeight-bold</h4>
-
- <p>A TTML transformation processor supports the <code>#fontWeight-bold</code>
- feature if it recognizes and is capable of transforming <code>bold</code> value
- of the <a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#fontWeight-bold</code>
- feature if it implements presentation semantic support for the
- <code>bold</code> of the <a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRate" name="feature-frameRate"></a>D.1.39
- #frameRate</h4>
-
- <p>A TTML transformation processor supports the <code>#frameRate</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#frameRate</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-frameRateMultiplier" name=
- "feature-frameRateMultiplier"></a>D.1.40 #frameRateMultiplier</h4>
-
- <p>A TTML transformation processor supports the
- <code>#frameRateMultiplier</code> feature if it recognizes and is capable of
- transforming the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#frameRateMultiplier</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-layout" name="feature-layout"></a>D.1.41 #layout</h4>
-
- <p>A TTML transformation processor supports the <code>#layout</code> feature if
- it (1) recognizes and is capable of transforming the following vocabulary
- defined by <a href="#layout"><b>9 Layout</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#layout-vocabulary-layout"><code>layout</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-vocabulary-region"><code>region</code></a></p>
- </li>
-
- <li>
- <p><a href="#layout-attribute-region">@<code>region</code></a></p>
- </li>
- </ul>
-
- <p>and (2) supports the following attributes when applied to the <a href=
- "#layout-vocabulary-region"><code>region</code></a> element:</p>
-
- <ul>
- <li>
- <p><a href="#style-attribute-extent"><code>tts:extent</code></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-origin"><code>tts:origin</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#layout</code> feature if
- it implements presentation semantic support for the same vocabulary and
- features enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length" name="feature-length"></a>D.1.42 #length</h4>
-
- <p>A TTML transformation processor supports the <code>#length</code> feature if
- it recognizes and is capable of transforming all defined values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length</code> is intended to imply support for the
- following features: <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, <code>#length-negative</code>,
- <code>#length-cell</code>, <code>#length-em</code>,
- <code>#length-percentage</code>, and <code>#length-pixel</code>.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-cell" name="feature-length-cell"></a>D.1.43
- #length-cell</h4>
-
- <p>A TTML transformation processor supports the <code>#length-cell</code>
- feature if it recognizes and is capable of transforming scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-cell</code> feature
- if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>c</code> (cell) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-cell</code> does not, by itself, imply support
- for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-em" name="feature-length-em"></a>D.1.44
- #length-em</h4>
-
- <p>A TTML transformation processor supports the <code>#length-em</code> feature
- if it recognizes and is capable of transforming scalar values of the <a href=
- "#style-value-length"><length></a> style value expression that use
- <code>em</code> (EM) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-em</code> feature
- if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>em</code> (EM) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-em</code> does not, by itself, imply support for
- <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-integer" name="feature-length-integer"></a>D.1.45
- #length-integer</h4>
-
- <p>A TTML transformation processor supports the <code>#length-integer</code>
- feature if it recognizes and is capable of transforming integer values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-integer</code>
- feature if it implements presentation semantic support for integer values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-integer</code> does not, by itself, imply
- support for <code>#length-positive</code> or <code>#length-negative</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-negative" name="feature-length-negative"></a>D.1.46
- #length-negative</h4>
-
- <p>A TTML transformation processor supports the <code>#length-negative</code>
- feature if it recognizes and is capable of transforming negative values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-negative</code>
- feature if it implements presentation semantic support for negative values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-negative</code> does not, by itself, imply
- support for <code>#length-integer</code> or <code>#length-real</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-percentage" name=
- "feature-length-percentage"></a>D.1.47 #length-percentage</h4>
-
- <p>A TTML transformation processor supports the <code>#length-percentage</code>
- feature if it recognizes and is capable of transforming percentage values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-percentage</code>
- feature if it implements presentation semantic support for percentage values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-percentage</code> does not, by itself, imply
- support for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-pixel" name="feature-length-pixel"></a>D.1.48
- #length-pixel</h4>
-
- <p>A TTML transformation processor supports the <code>#length-pixel</code>
- feature if it recognizes and is capable of transforming scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <p>A TTML presentation processor supports the <code>#length-pixel</code>
- feature if it implements presentation semantic support for scalar values of the
- <a href="#style-value-length"><length></a> style value expression that
- use <code>px</code> (pixel) units.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-pixel</code> does not, by itself, imply support
- for <code>#length-integer</code>, <code>#length-real</code>,
- <code>#length-positive</code>, or <code>#length-negative</code> features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-positive" name="feature-length-positive"></a>D.1.49
- #length-positive</h4>
-
- <p>A TTML transformation processor supports the <code>#length-positive</code>
- feature if it recognizes and is capable of transforming positive values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-positive</code>
- feature if it implements presentation semantic support for positive values of
- the <a href="#style-value-length"><length></a> style value
- expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> is intended to imply support for
- zero valued <a href="#style-value-length"><length></a> style value
- expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-positive</code> does not, by itself, imply
- support for <code>#length-integer</code> or <code>#length-real</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-length-real" name="feature-length-real"></a>D.1.50
- #length-real</h4>
-
- <p>A TTML transformation processor supports the <code>#length-real</code>
- feature if it recognizes and is capable of transforming real values of the
- <a href="#style-value-length"><length></a> style value expression.</p>
-
- <p>A TTML presentation processor supports the <code>#length-real</code> feature
- if it implements presentation semantic support for real values of the <a href=
- "#style-value-length"><length></a> style value expression.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> is intended to imply support for
- integer valued <a href="#style-value-length"><length></a> style value
- expressions as well as real valued expressions.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>Support for <code>#length-real</code> does not, by itself, imply support
- for <code>#length-positive</code> or <code>#length-negative</code>
- features.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineBreak-uax14" name="feature-lineBreak-uax14"></a>D.1.51
- #lineBreak-uax14</h4>
-
- <p>A TTML transformation processor supports the <code>#lineBreak-uax14</code>
- feature if it recognizes and is capable of transforming requirements expressed
- by <a href="#uax14">[UAX14]</a> into its target document space.</p>
-
- <p>A TTML presentation processor supports the <code>#lineBreak-uax14</code>
- feature if it implements presentation semantic support for <a href=
- "#uax14">[UAX14]</a> as applies to line breaking.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-lineHeight" name="feature-lineHeight"></a>D.1.52
- #lineHeight</h4>
-
- <p>A TTML transformation processor supports the <code>#lineHeight</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#lineHeight</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode" name="feature-markerMode"></a>D.1.53
- #markerMode</h4>
-
- <p>A TTML transformation processor supports the <code>#markerMode</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#markerMode</code> feature
- if it implements presentation semantic support for the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-continuous" name=
- "feature-markerMode-continuous"></a>D.1.54 #markerMode-continuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-continuous</code> feature if it recognizes and is capable of
- transforming the <code>continuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-continuous</code> feature if it implements presentation
- semantic support for the <code>continuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-markerMode-discontinuous" name=
- "feature-markerMode-discontinuous"></a>D.1.55 #markerMode-discontinuous</h4>
-
- <p>A TTML transformation processor supports the
- <code>#markerMode-discontinuous</code> feature if it recognizes and is capable
- of transforming the <code>discontinuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#markerMode-discontinuous</code> feature if it implements presentation
- semantic support for the <code>discontinuous</code> value of the <a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-metadata" name="feature-metadata"></a>D.1.56 #metadata</h4>
-
- <p>A TTML transformation processor supports the <code>#metadata</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#metadata"><b>12 Metadata</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#metadata-vocabulary-metadata"><code>metadata</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:desc</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:copyright</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:name</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-vocabulary-title"><code>ttm:actor</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-agent">@<code>ttm:agent</code></a></p>
- </li>
-
- <li>
- <p><a href="#metadata-attribute-role">@<code>ttm:role</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#metadata</code> feature if
- it recognizes and is capable of presenting the information expressed by the
- same vocabulary enumerated above.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification does not define a standardized form for the
- presentation of metadata information. The presentation or ability to present
- metadata information is considered to be implementation dependent.</p>
- </div>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-div" name="feature-nested-div"></a>D.1.57
- #nested-div</h4>
-
- <p>A TTML transformation processor supports the <code>#nested-div</code>
- feature if it recognizes and is capable of transforming nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the <code>#nested-div</code> feature
- if it implements presentation semantic support for nested <a href=
- "#content-vocabulary-div"><code>div</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-nested-span" name="feature-nested-span"></a>D.1.58
- #nested-span</h4>
-
- <p>A TTML transformation processor supports the <code>#nested-span</code>
- feature if it recognizes and is capable of transforming nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
-
- <p>A TTML presentation processor supports the <code>#nested-span</code> feature
- if it implements presentation semantic support for nested <a href=
- "#content-vocabulary-span"><code>span</code></a> elements.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-opacity" name="feature-opacity"></a>D.1.59 #opacity</h4>
-
- <p>A TTML transformation processor supports the <code>#opacity</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#opacity</code> feature if
- it (1) implements presentation semantic support for the <a href=
- "#style-attribute-opacity"><code>tts:opacity</code></a> attribute and (2) is
- capable of displaying or generating an output display signal that distinguishes
- between at least eight (8) values of opacity.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-origin" name="feature-origin"></a>D.1.60 #origin</h4>
-
- <p>A TTML transformation processor supports the <code>#origin</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#origin</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-origin"><code>tts:origin</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow" name="feature-overflow"></a>D.1.61 #overflow</h4>
-
- <p>A TTML transformation processor supports the <code>#overflow</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#overflow</code> feature if
- it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-overflow"><code>tts:overflow</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-overflow-visible" name="feature-overflow-visible"></a>D.1.62
- #overflow-visible</h4>
-
- <p>A TTML transformation processor supports the <code>#overflow-visible</code>
- feature if it recognizes and is capable of transforming the
- <code>visible</code> value of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#overflow-visible</code>
- feature if it implements presentation semantic support for the
- <code>visible</code> value of the <a href=
- "#style-attribute-overflow"><code>tts:overflow</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding" name="feature-padding"></a>D.1.63 #padding</h4>
-
- <p>A TTML transformation processor supports the <code>#padding</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#padding</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-1" name="feature-padding-1"></a>D.1.64
- #padding-1</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-1</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of one <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-1</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of one <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-2" name="feature-padding-2"></a>D.1.65
- #padding-2</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-2</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of two <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-2</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of two <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-3" name="feature-padding-3"></a>D.1.66
- #padding-3</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-3</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of three <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-3</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of three <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-padding-4" name="feature-padding-4"></a>D.1.67
- #padding-4</h4>
-
- <p>A TTML transformation processor supports the <code>#padding-4</code> feature
- if it recognizes and is capable of transforming values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of four <a href="#style-value-length"><length></a> specification.</p>
-
- <p>A TTML presentation processor supports the <code>#padding-4</code> feature
- if it implements presentation semantic support for values of the <a href=
- "#style-attribute-padding"><code>tts:padding</code></a> attribute that consist
- of four <a href="#style-value-length"><length></a> specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-pixelAspectRatio" name="feature-pixelAspectRatio"></a>D.1.68
- #pixelAspectRatio</h4>
-
- <p>A TTML transformation processor supports the <code>#pixelAspectRatio</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#pixelAspectRatio</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-presentation" name="feature-presentation"></a>D.1.69
- #presentation</h4>
-
- <p>A TTML processor supports the <code>#presentation</code> feature if it (1)
- satisfies the generic processor criteria defined by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor
- Conformance</b></a>, (2) implements support for the region and line layout
- semantics defined by <a href="#semantics-region-layout"><b>9.3 Region Layout
- and Presentation</b></a> and <a href="#semantics-line-layout"><b>9.4 Line
- Layout</b></a>, respectively, and (3) implements presentation semantics for the
- following features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
-
- <p>In addition, a TTML processor that supports the <code>#presentation</code>
- feature should satisfy the user agent accessibility guidelines specified by
- <a href="#uaag">[UAAG]</a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-profile" name="feature-profile"></a>D.1.70 #profile</h4>
-
- <p>A TTML transformation processor supports the <code>#profile</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a> attribute on the
- <a href="#document-structure-vocabulary-tt"><code>tt</code></a> element and
- transforming the following vocabulary defined by <a href=
- "#parameter-element-vocabulary"><b>6.1 Parameter Element
- Vocabulary</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#parameter-vocabulary-profile"><code>ttp:profile</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></p>
- </li>
-
- <li>
- <p><a href="#parameter-vocabulary-feature"><code>ttp:feature</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></p>
- </li>
-
- <li>
- <p><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#profile</code> feature if
- it implements presentation semantic support for the same vocabulary specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-showBackground" name="feature-showBackground"></a>D.1.71
- #showBackground</h4>
-
- <p>A TTML transformation processor supports the <code>#showBackground</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#showBackground</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-structure" name="feature-structure"></a>D.1.72
- #structure</h4>
-
- <p>A TTML transformation processor supports the <code>#structure</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#content"><b>7 Content</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#document-structure-vocabulary-tt"><code>tt</code></a></p>
- </li>
-
- <li>
- <p><a href="#document-structure-vocabulary-head"><code>head</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#structure</code> feature
- if it implements presentation semantic support for the same vocabulary
- enumerated above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling" name="feature-styling"></a>D.1.73 #styling</h4>
-
- <p>A TTML transformation processor supports the <code>#styling</code> feature
- if it recognizes and is capable of transforming the following vocabulary
- defined by <a href="#styling"><b>8 Styling</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#styling-vocabulary-styling"><code>styling</code></a></p>
- </li>
-
- <li>
- <p><a href="#styling-vocabulary-style"><code>style</code></a></p>
- </li>
-
- <li>
- <p><a href="#style-attribute-style">@<code>style</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#styling</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-chained" name="feature-styling-chained"></a>D.1.74
- #styling-chained</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-chained</code>
- feature if it recognizes and is capable of transforming chained style
- association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-chained</code>
- feature if it implements presentation semantic support for chained style
- association as defined by <a href=
- "#semantics-style-association-chained-referential"><b>8.4.1.3 Chained
- Referential Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-content" name=
- "feature-styling-inheritance-content"></a>D.1.75
- #styling-inheritance-content</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is capable of
- transforming content style inheritance as defined by <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-content</code> feature if it implements presentation
- semantic support for content style inheritance as defined by <a href=
- "#semantics-style-inheritance-content"><b>8.4.2.1 Content Style
- Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inheritance-region" name=
- "feature-styling-inheritance-region"></a>D.1.76
- #styling-inheritance-region</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-inheritance</code> feature if it recognizes and is capable of
- transforming region style inheritance as defined by <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>.</p>
-
- <p>A TTML presentation processor supports the
- <code>#styling-inheritance-region</code> feature if it implements presentation
- semantic support for region style inheritance as defined by <a href=
- "#semantics-style-inheritance-region"><b>8.4.2.2 Region Style
- Inheritance</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-inline" name="feature-styling-inline"></a>D.1.77
- #styling-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-inline</code>
- feature if it recognizes and is capable of transforming inline style
- association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-inline</code>
- feature if it implements presentation semantic support for inline style
- association as defined by <a href=
- "#semantics-style-association-inline"><b>8.4.1.1 Inline Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-nested" name="feature-styling-nested"></a>D.1.78
- #styling-nested</h4>
-
- <p>A TTML transformation processor supports the <code>#styling-nested</code>
- feature if it recognizes and is capable of transforming nested style
- association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-nested</code>
- feature if it implements presentation semantic support for nested style
- association as defined by <a href=
- "#semantics-style-association-nested"><b>8.4.1.4 Nested Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-styling-referential" name=
- "feature-styling-referential"></a>D.1.79 #styling-referential</h4>
-
- <p>A TTML transformation processor supports the
- <code>#styling-referential</code> feature if it recognizes and is capable of
- transforming referential style association as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a>.</p>
-
- <p>A TTML presentation processor supports the <code>#styling-referential</code>
- feature if it implements presentation semantic support for referential style
- association as defined by <a href=
- "#semantics-style-association-referential"><b>8.4.1.2 Referential
- Styling</b></a>.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-subFrameRate" name="feature-subFrameRate"></a>D.1.80
- #subFrameRate</h4>
-
- <p>A TTML transformation processor supports the <code>#subFrameRate</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#subFrameRate</code>
- feature if it implements presentation semantic support for the <a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign" name="feature-textAlign"></a>D.1.81
- #textAlign</h4>
-
- <p>A TTML transformation processor supports the <code>#textAlign</code> feature
- if it recognizes and is capable of transforming all defined values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-absolute" name=
- "feature-textAlign-absolute"></a>D.1.82 #textAlign-absolute</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-absolute</code> feature if it recognizes and is capable of
- transforming the <code>left</code>, <code>center</code>, and <code>right</code>
- values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign-absolute</code>
- feature if it implements presentation semantic support for the
- <code>left</code>, <code>center</code>, and <code>right</code> values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textAlign-relative" name=
- "feature-textAlign-relative"></a>D.1.83 #textAlign-relative</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textAlign-relative</code> feature if it recognizes and is capable of
- transforming the <code>start</code>, <code>center</code>, and <code>end</code>
- values of the <a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textAlign-relative</code>
- feature if it implements presentation semantic support for the
- <code>start</code>, <code>center</code>, and <code>end</code> values of the
- <a href="#style-attribute-textAlign"><code>tts:textAlign</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration" name="feature-textDecoration"></a>D.1.84
- #textDecoration</h4>
-
- <p>A TTML transformation processor supports the <code>#textDecoration</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textDecoration</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-over" name=
- "feature-textDecoration-over"></a>D.1.85 #textDecoration-over</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-over</code> feature if it recognizes and is capable of
- transforming the <code>overline</code> and <code>noOverline</code> values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textDecoration-over</code>
- feature if it implements presentation semantic support for the
- <code>overline</code> and <code>noOverline</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-through" name=
- "feature-textDecoration-through"></a>D.1.86 #textDecoration-through</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-through</code> feature if it recognizes and is capable of
- transforming the <code>lineThrough</code> and <code>noLineThrough</code> values
- of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-through</code> feature if it implements presentation
- semantic support for the <code>lineThrough</code> and
- <code>noLineThrough</code> values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textDecoration-under" name=
- "feature-textDecoration-under"></a>D.1.87 #textDecoration-under</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textDecoration-under</code> feature if it recognizes and is capable of
- transforming the <code>underline</code> and <code>noUnderline</code> values of
- the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textDecoration-under</code> feature if it implements presentation
- semantic support for the <code>underline</code> and <code>noUnderline</code>
- values of the <a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline" name="feature-textOutline"></a>D.1.88
- #textOutline</h4>
-
- <p>A TTML transformation processor supports the <code>#textOutline</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#textOutline</code> feature
- if it implements presentation semantic support for the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-blurred" name=
- "feature-textOutline-blurred"></a>D.1.89 #textOutline-blurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-blurred</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- includes a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the <code>#textOutline-blurred</code>
- feature if it implements presentation semantic support for values of the
- <a href="#style-attribute-textOutline"><code>tts:textOutline</code></a>
- attribute that includes a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-textOutline-unblurred" name=
- "feature-textOutline-unblurred"></a>D.1.90 #textOutline-unblurred</h4>
-
- <p>A TTML transformation processor supports the
- <code>#textOutline-unblurred</code> feature if it recognizes and is capable of
- transforming values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- does not include a blur radius specification.</p>
-
- <p>A TTML presentation processor supports the
- <code>#textOutline-unblurred</code> feature if it implements presentation
- semantic support for values of the <a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a> attribute that
- does not include a blur radius specification.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-tickRate" name="feature-tickRate"></a>D.1.91 #tickRate</h4>
-
- <p>A TTML transformation processor supports the <code>#tickRate</code> feature
- if it recognizes and is capable of transforming the <a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#tickRate</code> feature if
- it implements presentation semantic support for the <a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-clock" name="feature-timeBase-clock"></a>D.1.92
- #timeBase-clock</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-clock</code>
- feature if it recognizes and is capable of transforming the <code>clock</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
- feature.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-clock</code>
- feature if it implements presentation semantic support for the
- <code>clock</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-clockMode"><code>#clockMode</code></a>
- feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-media" name="feature-timeBase-media"></a>D.1.93
- #timeBase-media</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-media</code>
- feature if it recognizes and is capable of transforming the <code>media</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-media</code>
- feature if it implements presentation semantic support for the
- <code>media</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeBase-smpte" name="feature-timeBase-smpte"></a>D.1.94
- #timeBase-smpte</h4>
-
- <p>A TTML transformation processor supports the <code>#timeBase-smpte</code>
- feature if it recognizes and is capable of transforming the <code>smpte</code>
- value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
- feature.</p>
-
- <p>A TTML presentation processor supports the <code>#timeBase-smpte</code>
- feature if it implements presentation semantic support for the
- <code>smpte</code> value of the <a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a> attribute and if
- it supports the <a href="#feature-dropMode"><code>#dropMode</code></a>
- feature.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timeContainer" name="feature-timeContainer"></a>D.1.95
- #timeContainer</h4>
-
- <p>A TTML transformation processor supports the <code>#timeContainer</code>
- feature if it recognizes and is capable of transforming the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#timeContainer</code>
- feature if it implements presentation semantic support for the <a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock" name="feature-time-clock"></a>D.1.96
- #time-clock</h4>
-
- <p>A TTML transformation processor supports the <code>#time-clock</code>
- feature if it recognizes and is capable of transforming all values of the
- <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
- the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the <code>#time-clock</code> feature
- if it implements presentation semantic support for the same syntax specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-clock-with-frames" name=
- "feature-time-clock-with-frames"></a>D.1.97 #time-clock-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-clock-with-frames</code> feature if it supports the <a href=
- "#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
- <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
- it recognizes and is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-clock-with-frames</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset" name="feature-time-offset"></a>D.1.98
- #time-offset</h4>
-
- <p>A TTML transformation processor supports the <code>#time-offset</code>
- feature if it recognizes and is capable of transforming all values of the
- <a href="#timing-value-timeExpression"><timeExpression></a> that satisfy
- the following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? ( "h" | "m" | "s" | "ms" )
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the <code>#time-offset</code> feature
- if it implements presentation semantic support for the same syntax specified
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-frames" name=
- "feature-time-offset-with-frames"></a>D.1.99 #time-offset-with-frames</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-frames</code> feature if it supports the <a href=
- "#feature-frameRate"><code>#frameRate</code></a>, <a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a>, and
- <a href="#feature-subFrameRate"><code>#subFrameRate</code></a> features and if
- it recognizes and is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "f"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-frames</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-time-offset-with-ticks" name=
- "feature-time-offset-with-ticks"></a>D.1.100 #time-offset-with-ticks</h4>
-
- <p>A TTML transformation processor supports the
- <code>#time-offset-with-ticks</code> feature if it supports the <a href=
- "#feature-tickRate"><code>#tickRate</code></a> feature and if it recognizes and
- is capable of transforming all values of the <a href=
- "#timing-value-timeExpression"><timeExpression></a> that satisfy the
- following subset of time expression syntax:</p>
-
- <div class="exampleInner">
- <pre>
-<timeExpression>
- : time-count fraction? "t"
-</pre>
- </div>
-
- <p>A TTML presentation processor supports the
- <code>#time-offset-with-ticks</code> feature if it implements presentation
- semantic support for the same features and syntax specified above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-timing" name="feature-timing"></a>D.1.101 #timing</h4>
-
- <p>A TTML transformation processor supports the <code>#timing</code> feature if
- it recognizes and is capable of transforming the following vocabulary defined
- by <a href="#timing"><b>10 Timing</b></a>:</p>
-
- <ul>
- <li>
- <p><a href="#timing-attribute-begin">@<code>begin</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-dur">@<code>dur</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing-attribute-end">@<code>end</code></a></p>
- </li>
- </ul>
-
- <p>A TTML presentation processor supports the <code>#timing</code> feature if
- it implements presentation semantic support for the same vocabulary enumerated
- above.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-transformation" name="feature-transformation"></a>D.1.102
- #transformation</h4>
-
- <p>A TTML processor supports the <code>#transformation</code> feature if it (1)
- satisfies the generic processor criteria defined by <a href=
- "#conformance-generic-processor"><b>3.2.1 Generic Processor Conformance</b></a>
- and (2) implements the transformation semantics of the following features:</p>
-
- <ul>
- <li>
- <p><a href="#content"><code>#content</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-core"><code>#core</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-profile"><code>#profile</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-structure"><code>#structure</code></a></p>
- </li>
-
- <li>
- <p><a href="#feature-time-offset"><code>#time-offset</code></a></p>
- </li>
-
- <li>
- <p><a href="#timing"><code>#timing</code></a></p>
- </li>
- </ul>
- </div>
-
- <div class="div3">
- <h4><a id="feature-unicodeBidi" name="feature-unicodeBidi"></a>D.1.103
- #unicodeBidi</h4>
-
- <p>A TTML transformation processor supports the <code>#unicodeBidi</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#unicodeBidi</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility" name="feature-visibility"></a>D.1.104
- #visibility</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-block" name=
- "feature-visibility-block"></a>D.1.105 #visibility-block</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-block</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate a block area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-block</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates a block area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-inline" name=
- "feature-visibility-inline"></a>D.1.106 #visibility-inline</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-inline</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that would generate an inline area
- during presentation processing.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-inline</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a content element that generates an inline area.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-visibility-region" name=
- "feature-visibility-region"></a>D.1.107 #visibility-region</h4>
-
- <p>A TTML transformation processor supports the <code>#visibility-region</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
-
- <p>A TTML presentation processor supports the <code>#visibility-region</code>
- feature if it implements presentation semantic support for all defined values
- of the <a href="#style-attribute-visibility"><code>tts:visibility</code></a>
- attribute when applied to a <a href=
- "#layout-vocabulary-region"><code>region</code></a> element.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-wrapOption" name="feature-wrapOption"></a>D.1.108
- #wrapOption</h4>
-
- <p>A TTML transformation processor supports the <code>#wrapOption</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#wrapOption</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode" name="feature-writingMode"></a>D.1.109
- #writingMode</h4>
-
- <p>A TTML transformation processor supports the <code>#writingMode</code>
- feature if it recognizes and is capable of transforming all defined values of
- the <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#writingMode</code> feature
- if it implements presentation semantic support for all defined values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-vertical" name=
- "feature-writingMode-vertical"></a>D.1.110 #writingMode-vertical</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-vertical</code> feature if it recognizes and is capable of
- transforming the <code>tbrl</code>, <code>tblr</code>, and <code>tb</code>
- values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-vertical</code> feature if it implements presentation
- semantic support for the <code>tbrl</code>, <code>tblr</code>, and
- <code>tb</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal" name=
- "feature-writingMode-horizontal"></a>D.1.111 #writingMode-horizontal</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>lrtb</code>, <code>rltb</code>, <code>lr</code> and
- <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal</code> feature if it implements presentation
- semantic support for the <code>lrtb</code>, <code>rltb</code>, <code>lr</code>
- and <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-lr" name=
- "feature-writingMode-horizontal-lr"></a>D.1.112 #writingMode-horizontal-lr</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>lrtb</code> and <code>lr</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-lr</code> feature if it implements presentation
- semantic support for the <code>lrtb</code> and <code>lr</code> values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-writingMode-horizontal-rl" name=
- "feature-writingMode-horizontal-rl"></a>D.1.113 #writingMode-horizontal-rl</h4>
-
- <p>A TTML transformation processor supports the
- <code>#writingMode-horizontal</code> feature if it recognizes and is capable of
- transforming the <code>rltb</code> and <code>rl</code> values of the <a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the
- <code>#writingMode-horizontal-rl</code> feature if it implements presentation
- semantic support for the <code>rltb</code> and <code>rl</code> values of the
- <a href="#style-attribute-writingMode"><code>tts:writingMode</code></a>
- attribute.</p>
- </div>
-
- <div class="div3">
- <h4><a id="feature-zIndex" name="feature-zIndex"></a>D.1.114 #zIndex</h4>
-
- <p>A TTML transformation processor supports the <code>#zIndex</code> feature if
- it recognizes and is capable of transforming the <a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
-
- <p>A TTML presentation processor supports the <code>#zIndex</code> feature if
- it implements presentation semantic support for the <a href=
- "#style-attribute-zIndex"><code>tts:zIndex</code></a> attribute.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="feature-support" name="feature-support"></a>D.2 Feature Support</h3>
-
- <p>The following table, <a href="#feature-support-table"><b>Table D-1 – Feature
- Support</b></a>, enumerates every defined feature designation (expressed without
- the TT Feature Namespace), and, for each designated feature, specifies whether
- the feature must be implemented, i.e., is mandatory (M), or may be implemented,
- i.e., is optional (O), for transformation and presentation processors.</p><a id=
- "feature-support-table" name="feature-support-table"></a>
-
- <table class="common">
- <caption>
- Table D-1 – Feature Support
- </caption>
- <col width="60%" span="1">
- <col width="20%" span="1">
- <col width="20%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Transformation</span></td>
-
- <td><span class="strong">Presentation</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-animation"><code>#animation</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor"><code>#backgroundColor</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-block"><code>#backgroundColor-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-inline"><code>#backgroundColor-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-backgroundColor-region"><code>#backgroundColor-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-bidi"><code>#bidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-cellResolution"><code>#cellResolution</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode"><code>#clockMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode-gps"><code>#clockMode-gps</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-clockMode-local"><code>#clockMode-local</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-clockMode-utc"><code>#clockMode-utc</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-color"><code>#color</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-direction"><code>#direction</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display"><code>#display</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-block"><code>#display-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-inline"><code>#display-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-display-region"><code>#display-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-displayAlign"><code>#displayAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-dropMode"><code>#dropMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropNTSC"><code>#dropMode-dropNTSC</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-dropPAL"><code>#dropMode-dropPAL</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-dropMode-nonDrop"><code>#dropMode-nonDrop</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent"><code>#extent</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent-region"><code>#extent-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-extent-root"><code>#extent-root</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontFamily"><code>#fontFamily</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-generic"><code>#fontFamily-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontFamily-non-generic"><code>#fontFamily-non-generic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontSize"><code>#fontSize</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-anamorphic"><code>#fontSize-anamorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontSize-isomorphic"><code>#fontSize-isomorphic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontStyle"><code>#fontStyle</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-italic"><code>#fontStyle-italic</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontStyle-oblique"><code>#fontStyle-oblique</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-fontWeight"><code>#fontWeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-fontWeight-bold"><code>#fontWeight-bold</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-frameRate"><code>#frameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-frameRateMultiplier"><code>#frameRateMultiplier</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-layout"><code>#layout</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length"><code>#length</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-cell"><code>#length-cell</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-em"><code>#length-em</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-integer"><code>#length-integer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-negative"><code>#length-negative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-percentage"><code>#length-percentage</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-pixel"><code>#length-pixel</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-length-positive"><code>#length-positive</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-length-real"><code>#length-real</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-lineBreak-uax14"><code>#lineBreak-uax14</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-lineHeight"><code>#lineHeight</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-markerMode"><code>#markerMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-continuous"><code>#markerMode-continuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-markerMode-discontinuous"><code>#markerMode-discontinuous</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-metadata"><code>#metadata</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-nested-div"><code>#nested-div</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-nested-span"><code>#nested-span</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-opacity"><code>#opacity</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-origin"><code>#origin</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-overflow"><code>#overflow</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-overflow-visible"><code>#overflow-visible</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding"><code>#padding</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-1"><code>#padding-1</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-2"><code>#padding-2</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-3"><code>#padding-3</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-padding-4"><code>#padding-4</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-pixelAspectRatio"><code>#pixelAspectRatio</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-presentation"><code>#presentation</code></a></td>
-
- <td>O</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-showBackground"><code>#showBackground</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling"><code>#styling</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-chained"><code>#styling-chained</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-content"><code>#styling-inheritance-content</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-inheritance-region"><code>#styling-inheritance-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling-inline"><code>#styling-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-styling-nested"><code>#styling-nested</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-styling-referential"><code>#styling-referential</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-subFrameRate"><code>#subFrameRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textAlign"><code>#textAlign</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-absolute"><code>#textAlign-absolute</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textAlign-relative"><code>#textAlign-relative</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textDecoration"><code>#textDecoration</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-over"><code>#textDecoration-over</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-through"><code>#textDecoration-through</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textDecoration-under"><code>#textDecoration-under</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-textOutline"><code>#textOutline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-blurred"><code>#textOutline-blurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-textOutline-unblurred"><code>#textOutline-unblurred</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-tickRate"><code>#tickRate</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-clock"><code>#timeBase-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-media"><code>#timeBase-media</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeBase-smpte"><code>#timeBase-smpte</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timeContainer"><code>#timeContainer</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-clock"><code>#time-clock</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-clock-with-frames"><code>#time-clock-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-frames"><code>#time-offset-with-frames</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-time-offset-with-ticks"><code>#time-offset-with-ticks</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td>M</td>
-
- <td>M</td>
- </tr>
-
- <tr>
- <td><a href="#feature-transformation"><code>#transformation</code></a></td>
-
- <td>M</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-unicodeBidi"><code>#unicodeBidi</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-visibility"><code>#visibility</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-block"><code>#visibility-block</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-inline"><code>#visibility-inline</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-visibility-region"><code>#visibility-region</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-wrapOption"><code>#wrapOption</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-writingMode"><code>#writingMode</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-vertical"><code>#writingMode-vertical</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal"><code>#writingMode-horizontal</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-lr"><code>#writingMode-horizontal-lr</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href=
- "#feature-writingMode-horizontal-rl"><code>#writingMode-horizontal-rl</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
-
- <tr>
- <td><a href="#feature-zIndex"><code>#zIndex</code></a></td>
-
- <td>O</td>
-
- <td>O</td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-transformation-mandatory-table"><b>Table D-2 – Mandatory Features -
- Transformation</b></a>, enumerates all mandatory features for a TTML
- Transformation Processor, providing additional comments to summarize the context
- of usage or the nature of the feature. The <em>Profile Definition Document</em>
- that defines the corresponding DFXP Transformation Profile is specified in
- <a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a>.</p><a id="feature-transformation-mandatory-table" name=
- "feature-transformation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-2 – Mandatory Features - Transformation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
- "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
- "#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
- "#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-transformation"><code>#transformation</code></a></td>
-
- <td></td>
- </tr>
- </tbody>
- </table>
-
- <p>For the sake of convenience, the following table, <a href=
- "#feature-presentation-mandatory-table"><b>Table D-3 – Mandatory Features -
- Presentation</b></a>, enumerates all mandatory features for a TTML Presentation
- Processor, providing additional comments to summarize the context of usage or the
- nature of the feature. The <em>Profile Definition Document</em> that defines the
- corresponding DFXP Presentation Profile is specified in <a href=
- "#profile-dfxp-presentation"><b>F.2 DFXP Presentation Profile</b></a>.</p><a id=
- "feature-presentation-mandatory-table" name=
- "feature-presentation-mandatory-table"></a>
-
- <table class="common">
- <caption>
- Table D-3 – Mandatory Features - Presentation
- </caption>
- <col width="60%" span="1">
- <col width="40%" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Feature</span></td>
-
- <td><span class="strong">Comments</span></td>
- </tr>
-
- <tr>
- <td><a href="#feature-content"><code>#content</code></a></td>
-
- <td><a href="#document-structure-vocabulary-body"><code>body</code></a>,
- <a href="#content-vocabulary-div"><code>div</code></a>, <a href=
- "#content-vocabulary-p"><code>p</code></a>, <a href=
- "#content-vocabulary-span"><code>span</code></a>, <a href=
- "#content-vocabulary-br"><code>br</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-core"><code>#core</code></a></td>
-
- <td><a href="#content-attribute-id">@<code>xml:id</code></a>, <a href=
- "#content-attribute-id">@<code>xml:lang</code></a>, <a href=
- "#content-attribute-id">@<code>xml:space</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-profile"><code>#profile</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-presentation"><code>#presentation</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-structure"><code>#structure</code></a></td>
-
- <td><a href="#document-structure-vocabulary-tt"><code>tt</code></a>,
- <a href="#document-structure-vocabulary-head"><code>head</code></a></td>
- </tr>
-
- <tr>
- <td><a href="#feature-time-offset"><code>#time-offset</code></a></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#feature-timing"><code>#timing</code></a></td>
-
- <td><a href="#timing-attribute-begin">@<code>begin</code></a>, <a href=
- "#timing-attribute-dur">@<code>dur</code></a>, <a href=
- "#timing-attribute-end">@<code>end</code></a></td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="extensions" name="extensions"></a>E Extensions</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the syntactic form of extension designations, which are
- used to express authorial intent regarding the support for extension mechanisms in
- a TTML processor.</p>
-
- <div class="div2">
- <h3><a id="extension-designations" name="extension-designations"></a>E.1
- Extension Designations</h3>
-
- <p>An extension designation is expressed as a string that adheres to the
- following form:</p>
-
- <div class="exampleInner">
- <pre>
-extension-designation
- : extension-namespace designation
-
-extension-namespace
- : <em>TT Extension Namespace</em> // http://www.w3.org/ns/ttml/extension/
- | <em>Other Extension Namespace</em> // expressed as an absolute URI
-
-designation
- : "#" token-char+
-
-token-char
- : { XML NameChar } // XML 1.1 Production [4a]
-</pre>
- </div>
-
- <p>If the extension namespace of an extension designation is the TT Extension
- Namespace, then all values of the following <code>designation</code> token are
- reserved for future standardization.</p>
-
- <p>If the extension namespace of an extension designation is not the TT Extension
- Namespace, i.e., is an <em>Other Extension Namespace</em>, then the extension
- namespace must be expressed as an absolute URI capable of serving as a base URI
- used in combination with a <code>designation</code> token that takes the form of
- a fragment identifier.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="profiles" name="profiles"></a>F Profiles</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <p>This appendix specifies the following standard TTML profiles:</p>
-
- <ul>
- <li>
- <p><a href="#profile-dfxp-transformation"><b>F.1 DFXP Transformation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-presentation"><b>F.2 DFXP Presentation
- Profile</b></a></p>
- </li>
-
- <li>
- <p><a href="#profile-dfxp-full"><b>F.3 DFXP Full Profile</b></a></p>
- </li>
- </ul>
-
- <p>The SDP US profile is defined in <a href=
- "http://www.w3.org/TR/ttml10-sdp-us/">TTML Simple Delivery Profile for Closed
- Captions (US)</a>.</p>
-
- <p>Each TTML profile is defined in terms of a <em>Profile Definition Document</em>,
- which is expressed as an XML document wherein the root element adheres to <a href=
- "#parameter-vocabulary-profile"><b>6.1.1 ttp:profile</b></a>.</p>
-
- <div class="div2">
- <h3><a id="profile-dfxp-transformation" name=
- "profile-dfxp-transformation"></a>F.1 DFXP Transformation Profile</h3>
-
- <p>The DFXP Transformation Profile is intended to be used to express minimum
- compliance for transformation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-transformation" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#presentation</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-presentation" name="profile-dfxp-presentation"></a>F.2
- DFXP Presentation Profile</h3>
-
- <p>The DFXP Presentation Profile is intended to be used to express minimum
- compliance for presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-presentation" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timing</feature>
- <!-- optional (voluntary) feature support -->
- <feature value="optional">#animation</feature>
- <feature value="optional">#backgroundColor-block</feature>
- <feature value="optional">#backgroundColor-inline</feature>
- <feature value="optional">#backgroundColor-region</feature>
- <feature value="optional">#backgroundColor</feature>
- <feature value="optional">#bidi</feature>
- <feature value="optional">#cellResolution</feature>
- <feature value="optional">#clockMode-gps</feature>
- <feature value="optional">#clockMode-local</feature>
- <feature value="optional">#clockMode-utc</feature>
- <feature value="optional">#clockMode</feature>
- <feature value="optional">#color</feature>
- <feature value="optional">#direction</feature>
- <feature value="optional">#display-block</feature>
- <feature value="optional">#display-inline</feature>
- <feature value="optional">#display-region</feature>
- <feature value="optional">#display</feature>
- <feature value="optional">#displayAlign</feature>
- <feature value="optional">#dropMode-dropNTSC</feature>
- <feature value="optional">#dropMode-dropPAL</feature>
- <feature value="optional">#dropMode-nonDrop</feature>
- <feature value="optional">#dropMode</feature>
- <feature value="optional">#extent-region</feature>
- <feature value="optional">#extent-root</feature>
- <feature value="optional">#extent</feature>
- <feature value="optional">#fontFamily-generic</feature>
- <feature value="optional">#fontFamily-non-generic</feature>
- <feature value="optional">#fontFamily</feature>
- <feature value="optional">#fontSize-anamorphic</feature>
- <feature value="optional">#fontSize-isomorphic</feature>
- <feature value="optional">#fontSize</feature>
- <feature value="optional">#fontStyle-italic</feature>
- <feature value="optional">#fontStyle-oblique</feature>
- <feature value="optional">#fontStyle</feature>
- <feature value="optional">#fontWeight-bold</feature>
- <feature value="optional">#fontWeight</feature>
- <feature value="optional">#frameRate</feature>
- <feature value="optional">#frameRateMultiplier</feature>
- <feature value="optional">#layout</feature>
- <feature value="optional">#length-cell</feature>
- <feature value="optional">#length-em</feature>
- <feature value="optional">#length-integer</feature>
- <feature value="optional">#length-negative</feature>
- <feature value="optional">#length-percentage</feature>
- <feature value="optional">#length-pixel</feature>
- <feature value="optional">#length-positive</feature>
- <feature value="optional">#length-real</feature>
- <feature value="optional">#length</feature>
- <feature value="optional">#lineBreak-uax14</feature>
- <feature value="optional">#lineHeight</feature>
- <feature value="optional">#markerMode-continuous</feature>
- <feature value="optional">#markerMode-discontinuous</feature>
- <feature value="optional">#markerMode</feature>
- <feature value="optional">#metadata</feature>
- <feature value="optional">#nested-div</feature>
- <feature value="optional">#nested-span</feature>
- <feature value="optional">#opacity</feature>
- <feature value="optional">#origin</feature>
- <feature value="optional">#overflow-visible</feature>
- <feature value="optional">#overflow</feature>
- <feature value="optional">#padding-1</feature>
- <feature value="optional">#padding-2</feature>
- <feature value="optional">#padding-3</feature>
- <feature value="optional">#padding-4</feature>
- <feature value="optional">#padding</feature>
- <feature value="optional">#pixelAspectRatio</feature>
- <feature value="optional">#showBackground</feature>
- <feature value="optional">#styling-chained</feature>
- <feature value="optional">#styling-inheritance-content</feature>
- <feature value="optional">#styling-inheritance-region</feature>
- <feature value="optional">#styling-inline</feature>
- <feature value="optional">#styling-nested</feature>
- <feature value="optional">#styling-referential</feature>
- <feature value="optional">#styling</feature>
- <feature value="optional">#subFrameRate</feature>
- <feature value="optional">#textAlign-absolute</feature>
- <feature value="optional">#textAlign-relative</feature>
- <feature value="optional">#textAlign</feature>
- <feature value="optional">#textDecoration-over</feature>
- <feature value="optional">#textDecoration-through</feature>
- <feature value="optional">#textDecoration-under</feature>
- <feature value="optional">#textDecoration</feature>
- <feature value="optional">#textOutline-blurred</feature>
- <feature value="optional">#textOutline-unblurred</feature>
- <feature value="optional">#textOutline</feature>
- <feature value="optional">#tickRate</feature>
- <feature value="optional">#time-clock-with-frames</feature>
- <feature value="optional">#time-clock</feature>
- <feature value="optional">#time-offset-with-frames</feature>
- <feature value="optional">#time-offset-with-ticks</feature>
- <feature value="optional">#timeBase-clock</feature>
- <feature value="optional">#timeBase-media</feature>
- <feature value="optional">#timeBase-smpte</feature>
- <feature value="optional">#timeContainer</feature>
- <feature value="optional">#transformation</feature>
- <feature value="optional">#unicodeBidi</feature>
- <feature value="optional">#visibility-block</feature>
- <feature value="optional">#visibility-inline</feature>
- <feature value="optional">#visibility-region</feature>
- <feature value="optional">#visibility</feature>
- <feature value="optional">#wrapOption</feature>
- <feature value="optional">#writingMode-horizontal-lr</feature>
- <feature value="optional">#writingMode-horizontal-rl</feature>
- <feature value="optional">#writingMode-horizontal</feature>
- <feature value="optional">#writingMode-vertical</feature>
- <feature value="optional">#writingMode</feature>
- <feature value="optional">#zIndex</feature>
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="profile-dfxp-full" name="profile-dfxp-full"></a>F.3 DFXP Full
- Profile</h3>
-
- <p>The DFXP Full Profile is intended to be used to express maximum compliance for
- both transformation and presentation processing.</p>
-
- <div class="exampleInner">
- <pre>
-<?xml version="1.0" encoding="utf-8"?>
-<!-- this file defines the "dfxp-full" profile of ttml -->
-<profile xmlns="http://www.w3.org/ns/ttml#parameter">
- <features xml:base="http://www.w3.org/ns/ttml/feature/">
- <!-- required (mandatory) feature support -->
- <feature value="required">#animation</feature>
- <feature value="required">#backgroundColor-block</feature>
- <feature value="required">#backgroundColor-inline</feature>
- <feature value="required">#backgroundColor-region</feature>
- <feature value="required">#backgroundColor</feature>
- <feature value="required">#bidi</feature>
- <feature value="required">#cellResolution</feature>
- <feature value="required">#clockMode-gps</feature>
- <feature value="required">#clockMode-local</feature>
- <feature value="required">#clockMode-utc</feature>
- <feature value="required">#clockMode</feature>
- <feature value="required">#color</feature>
- <feature value="required">#content</feature>
- <feature value="required">#core</feature>
- <feature value="required">#direction</feature>
- <feature value="required">#display-block</feature>
- <feature value="required">#display-inline</feature>
- <feature value="required">#display-region</feature>
- <feature value="required">#display</feature>
- <feature value="required">#displayAlign</feature>
- <feature value="required">#dropMode-dropNTSC</feature>
- <feature value="required">#dropMode-dropPAL</feature>
- <feature value="required">#dropMode-nonDrop</feature>
- <feature value="required">#dropMode</feature>
- <feature value="required">#extent-region</feature>
- <feature value="required">#extent-root</feature>
- <feature value="required">#extent</feature>
- <feature value="required">#fontFamily-generic</feature>
- <feature value="required">#fontFamily-non-generic</feature>
- <feature value="required">#fontFamily</feature>
- <feature value="required">#fontSize-anamorphic</feature>
- <feature value="required">#fontSize-isomorphic</feature>
- <feature value="required">#fontSize</feature>
- <feature value="required">#fontStyle-italic</feature>
- <feature value="required">#fontStyle-oblique</feature>
- <feature value="required">#fontStyle</feature>
- <feature value="required">#fontWeight-bold</feature>
- <feature value="required">#fontWeight</feature>
- <feature value="required">#frameRate</feature>
- <feature value="required">#frameRateMultiplier</feature>
- <feature value="required">#layout</feature>
- <feature value="required">#length-cell</feature>
- <feature value="required">#length-em</feature>
- <feature value="required">#length-integer</feature>
- <feature value="required">#length-negative</feature>
- <feature value="required">#length-percentage</feature>
- <feature value="required">#length-pixel</feature>
- <feature value="required">#length-positive</feature>
- <feature value="required">#length-real</feature>
- <feature value="required">#length</feature>
- <feature value="required">#lineBreak-uax14</feature>
- <feature value="required">#lineHeight</feature>
- <feature value="required">#markerMode-continuous</feature>
- <feature value="required">#markerMode-discontinuous</feature>
- <feature value="required">#markerMode</feature>
- <feature value="required">#metadata</feature>
- <feature value="required">#nested-div</feature>
- <feature value="required">#nested-span</feature>
- <feature value="required">#opacity</feature>
- <feature value="required">#origin</feature>
- <feature value="required">#overflow-visible</feature>
- <feature value="required">#overflow</feature>
- <feature value="required">#padding-1</feature>
- <feature value="required">#padding-2</feature>
- <feature value="required">#padding-3</feature>
- <feature value="required">#padding-4</feature>
- <feature value="required">#padding</feature>
- <feature value="required">#pixelAspectRatio</feature>
- <feature value="required">#presentation</feature>
- <feature value="required">#profile</feature>
- <feature value="required">#showBackground</feature>
- <feature value="required">#structure</feature>
- <feature value="required">#styling-chained</feature>
- <feature value="required">#styling-inheritance-content</feature>
- <feature value="required">#styling-inheritance-region</feature>
- <feature value="required">#styling-inline</feature>
- <feature value="required">#styling-nested</feature>
- <feature value="required">#styling-referential</feature>
- <feature value="required">#styling</feature>
- <feature value="required">#subFrameRate</feature>
- <feature value="required">#textAlign-absolute</feature>
- <feature value="required">#textAlign-relative</feature>
- <feature value="required">#textAlign</feature>
- <feature value="required">#textDecoration-over</feature>
- <feature value="required">#textDecoration-through</feature>
- <feature value="required">#textDecoration-under</feature>
- <feature value="required">#textDecoration</feature>
- <feature value="required">#textOutline-blurred</feature>
- <feature value="required">#textOutline-unblurred</feature>
- <feature value="required">#textOutline</feature>
- <feature value="required">#tickRate</feature>
- <feature value="required">#time-clock-with-frames</feature>
- <feature value="required">#time-clock</feature>
- <feature value="required">#time-offset-with-frames</feature>
- <feature value="required">#time-offset-with-ticks</feature>
- <feature value="required">#time-offset</feature>
- <feature value="required">#timeBase-clock</feature>
- <feature value="required">#timeBase-media</feature>
- <feature value="required">#timeBase-smpte</feature>
- <feature value="required">#timeContainer</feature>
- <feature value="required">#timing</feature>
- <feature value="required">#transformation</feature>
- <feature value="required">#unicodeBidi</feature>
- <feature value="required">#visibility-block</feature>
- <feature value="required">#visibility-inline</feature>
- <feature value="required">#visibility-region</feature>
- <feature value="required">#visibility</feature>
- <feature value="required">#wrapOption</feature>
- <feature value="required">#writingMode-horizontal-lr</feature>
- <feature value="required">#writingMode-horizontal-rl</feature>
- <feature value="required">#writingMode-horizontal</feature>
- <feature value="required">#writingMode-vertical</feature>
- <feature value="required">#writingMode</feature>
- <feature value="required">#zIndex</feature>
- <!-- optional (voluntary) feature support -->
- </features>
- <extensions xml:base="http://www.w3.org/ns/ttml/extension/">
- <!-- required (mandatory) extension support -->
- <!-- optional (voluntary) extension support -->
- </extensions>
-</profile>
-
-</pre>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="references" name="references"></a>G References</h2>
-
- <p><em>This appendix is normative.</em></p>
-
- <dl>
- <dt class="label"><a id="css2" name="css2"></a>CSS2</dt>
-
- <dd>Bert Bos et al., <a href=
- "http://www.w3.org/TR/2011/REC-CSS2-20110607/"><cite>Cascading Style Sheets,
- Level 2 Revision 1</cite></a>, W3C Recommendation, 07 June 2011. (See <a href=
- "http://www.w3.org/TR/2011/REC-CSS2-20110607/">http://www.w3.org/TR/2011/REC-CSS2-20110607/</a>.)</dd>
-
- <dt class="label"><a id="css3-color" name="css3-color"></a>CSS3 Color</dt>
-
- <dd>Tantek Çelik and Chris Lilley, <a href=
- "http://www.w3.org/TR/2011/REC-css3-color-20110607/"><cite>CSS Color Module Level
- 3</cite></a>, W3C Recommendation, 07 June 2011. (See <a href=
- "http://www.w3.org/TR/2011/REC-css3-color-20110607/">http://www.w3.org/TR/2011/REC-css3-color-20110607/</a>.)</dd>
-
- <dt class="label"><a id="gps" name="gps"></a>GPS</dt>
-
- <dd><a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global Positioning
- System</cite></a>, US Naval Observatory. (See <a href=
- "http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</a>.)</dd>
-
- <dt class="label"><a id="media-types" name="media-types"></a>Media Types</dt>
-
- <dd>Ned Freed and Nathaniel Borenstein, <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt"><cite>Multipurpose Internet Mail
- Extensions (MIME) Part Two: Media Types</cite></a>, RFC 2046, November 1996,
- IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</a>.)</dd>
-
- <dt class="label"><a id="rng" name="rng"></a>RELAX NG</dt>
-
- <dd>ISO/IEC 19757-2, <a href="http://www.iso.org/"><cite>Information technology –
- Document Schema Definition Language (DSDL) – Part 2: Regular-grammar-based
- validation – RELAX NG</cite></a>, International Organization for Standardization
- (ISO).</dd>
-
- <dt class="label"><a id="smil21" name="smil21"></a>SMIL 2.1</dt>
-
- <dd>Dick Bultermann, et al., <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/"><cite>Synchronized Multimedia
- Integration Language (SMIL 2.1)</cite></a>, W3C Recommendation, 13 December 2005.
- (See <a href=
- "http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</a>.)</dd>
-
- <dt class="label"><a id="smpte12m" name="smpte12m"></a>SMPTE 12M</dt>
-
- <dd>ANSI/SMPTE 12M, <a href="https://www.smpte.org/"><cite>Television, Audio and
- Film – Time and Control Code</cite></a>, SMPTE Standard.</dd>
-
- <dt class="label"><a id="srgb" name="srgb"></a>SRGB</dt>
-
- <dd>IEC 61966-2-1, <a href="http://www.iec.ch/"><cite>Multimedia systems and
- equipment – Colour measurement and management – Part 2-1: Colour management –
- Default RGB colour space – sRGB</cite></a>, International Electrotechnical
- Commission (IEC).</dd>
-
- <dt class="label"><a id="uaag" name="uaag"></a>UAAG</dt>
-
- <dd>Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds., <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/"><cite>User Agent Accessibility
- Guidelines 1.0</cite></a>, W3C Recommendation, 17 December 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</a>.)</dd>
-
- <dt class="label"><a id="uax14" name="uax14"></a>UAX14</dt>
-
- <dd>Asmus Freytag, <a href=
- "http://www.unicode.org/reports/tr14/tr14-17.html"><cite>Line Breaking
- Properties</cite></a>, Unicode Consortium, 29 August 2005. (See <a href=
- "http://www.unicode.org/reports/tr14/tr14-17.html">http://www.unicode.org/reports/tr14/tr14-17.html</a>.)</dd>
-
- <dt class="label"><a id="utc" name="utc"></a>UTC</dt>
-
- <dd>Recommendation TF.460, <a href="http://www.itu.int/"><cite>Standard-Frequency
- and Time-Signal Emissions</cite></a>, International Telecommunciations Union,
- Radio Sector (ITU-R).</dd>
-
- <dt class="label"><a id="wcag" name="wcag"></a>WCAG</dt>
-
- <dd>Ben Caldwell, et al., Eds., <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/"><cite>Web Content Accessibility
- Guidelines (WCAG) 2.0</cite></a>, W3C Recommendation, 11 December 2008. (See
- <a href=
- "http://www.w3.org/TR/2008/REC-WCAG20-20081211/">http://www.w3.org/TR/2008/REC-WCAG20-20081211/</a>.)</dd>
-
- <dt class="label"><a id="xml10" name="xml10"></a>XML 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/"><cite>Extensible Markup Language
- (XML) 1.0 (Fifth Edition)</cite></a>, W3C Recommendation, 26 November 2008. (See
- <a href=
- "http://www.w3.org/TR/2008/REC-xml-20081126/">http://www.w3.org/TR/2008/REC-xml-20081126/</a>.)</dd>
-
- <dt class="label"><a id="xml11" name="xml11"></a>XML 1.1</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/"><cite>Extensible Markup Language
- (XML) 1.1 (Second Edition)</cite></a>, W3C Recommendation, 16 August 2006, edited
- in place 29 September 2006. (See <a href=
- "http://www.w3.org/TR/2006/REC-xml11-20060816/">http://www.w3.org/TR/2006/REC-xml11-20060816/</a>.)</dd>
-
- <dt class="label"><a id="xmlbase" name="xmlbase"></a>XML Base</dt>
-
- <dd>Jonathan Marsh and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/"><cite>XML Base (Second
- Edition)</cite></a>, W3C Recommendation, 28 January 2009. (See <a href=
- "http://www.w3.org/TR/2009/REC-xmlbase-20090128/">http://www.w3.org/TR/2009/REC-xmlbase-20090128/</a>.)</dd>
-
- <dt class="label"><a id="xmlid" name="xmlid"></a>XML ID</dt>
-
- <dd>Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds., <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/"><cite>xml:id Version
- 1.0</cite></a>, W3C Recommendation, 09 September 2005. (See <a href=
- "http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>.)</dd>
-
- <dt class="label"><a id="infoset" name="infoset"></a>XML InfoSet</dt>
-
- <dd>John Cowan and Richard Tobin, Eds., <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML Information Set
- (Second Edition)</cite></a>, W3C Recommendation, 04 February 2004. (See <a href=
- "http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>.)</dd>
-
- <dt class="label"><a id="xml-media" name="xml-media"></a>XML Media Types</dt>
-
- <dd>Makato Murata, Simon St. Laurent, Kan Khon, Eds., <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>, RFC
- 3023, January 2001, IETF.(See <a href=
- "http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)</dd>
-
- <dt class="label"><a id="xmlns10" name="xmlns10"></a>XML Namespaces 1.0</dt>
-
- <dd>Tim Bray, et al. <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/"><cite>Namespaces in XML 1.0
- (Third Edition)</cite></a>, W3C Recommendation, 8 December 2009. (See <a href=
- "http://www.w3.org/TR/2009/REC-xml-names-20091208/">http://www.w3.org/TR/2009/REC-xml-names-20091208/</a>.)</dd>
-
- <dt class="label"><a id="xsd-1" name="xsd-1"></a>XML Schema Part 1</dt>
-
- <dd>Henry S. Thompson, David Beech, Murray Maloney, Noah Mendelsohn, Eds.,
- <a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part 1:
- Structures</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
- "http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>.)</dd>
-
- <dt class="label"><a id="xsd-2" name="xsd-2"></a>XML Schema Part 2</dt>
-
- <dd>Paul Biron and Ashok Malhotra, <a href=
- "http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2:
- Datatypes</cite></a>, W3C Recommendation, 28 October 2004. (See <a href=
- "http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.)</dd>
-
- <dt class="label"><a id="xsl11" name="xsl11"></a>XSL 1.1</dt>
-
- <dd>Anders Berglund, <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/"><cite>Extensible Stylesheet
- Language (XSL) Version 1.1</cite></a>, W3C Recommendation, 05 December 2006. (See
- <a href=
- "http://www.w3.org/TR/2006/REC-xsl11-20061205/">http://www.w3.org/TR/2006/REC-xsl11-20061205/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="other-references" name="other-references"></a>H Other References
- (Non-Normative)</h2>
-
- <dl>
- <dt class="label"><a id="ccreq" name="ccreq"></a>CC-DECODER-REQ</dt>
-
- <dd><a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- <cite>Closed Caption Decoder Requirements for Analog Television</cite></a>,
- United States Code of Federal Regulations, Title 47, Volume 1, Part 15, § 15.119.
- (See <a href=
- "http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml">
- http://www.gpo.gov/fdsys/pkg/CFR-2005-title47-vol1/xml/CFR-2005-title47-vol1-sec15-119.xml</a>.)</dd>
-
- <dt class="label"><a id="cea608c" name="cea608c"></a>CEA-608-C</dt>
-
- <dd>EIA/CEA-608-C, <a href="http://www.ce.org/"><cite>Line 21 Data
- Services</cite></a>, EIA/CEA Standard, Consumer Electronics Association
- (CEA).</dd>
-
- <dt class="label"><a id="cea708d" name="cea708d"></a>CEA-708-D</dt>
-
- <dd>CEA-708-D, <a href="http://www.ce.org/"><cite>Digital Television (DTV) Closed
- Captioning</cite></a>, CEA Standard, Consumer Electronics Association (CEA).</dd>
-
- <dt class="label"><a id="dcmes" name="dcmes"></a>DCMES 1.1</dt>
-
- <dd>Dublin Core Metadata Initiative, <a href=
- "http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata Element Set,
- Version 1.1: Reference Description</cite></a>. (See <a href=
- "http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)</dd>
-
- <dt class="label"><a id="mpeg7-5" name="mpeg7-5"></a>MPEG7-5</dt>
-
- <dd>ISO/IEC 15938-5, <a href="http://www.iso.org/"><cite>Information technology –
- Multimedia content description interface – Part 5: Multimedia description
- schemes</cite></a>, International Organization for Standardization (ISO).</dd>
-
- <dt class="label"><a id="nsstate" name="nsstate"></a>NSState</dt>
-
- <dd>Norman Walsh, Ed., <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html"><cite>The
- Disposition of Names in an XML Namespace</cite></a>, TAG Finding, 9 January 2006.
- (See <a href=
- "http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09.html">http://www.w3.org/2001/tag/doc/namespaceState-2006-01-09</a>.)</dd>
-
- <dt class="label"><a id="qaf-sg" name="qaf-sg"></a>QAF SG</dt>
-
- <dd>Karl Dubost, et al., <a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/"><cite>QA Framework:
- Specifications Guidelines</cite></a>, W3C Recommendation, 17 August 2005. (See
- <a href=
- "http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</a>.)</dd>
-
- <dt class="label"><a id="smpte170m" name="smpte170m"></a>SMPTE 170M</dt>
-
- <dd>ANSI/SMPTE 170M, <a href="http://www.smpte.org/"><cite>Television – Composite
- Analog Video Signal – NTSC for Studio Applications</cite></a>, SMPTE
- Standard.</dd>
-
- <dt class="label"><a id="smpte2052" name="smpte2052"></a>SMPTE 2052-11</dt>
-
- <dd>SMPTE 2052-11, <a href="http://www.smpte.org/"><cite>Conversion from CEA-708
- Caption Data to SMPTE-TT</cite></a>, SMPTE Recommended Practice.</dd>
-
- <dt class="label"><a id="svg11" name="svg11"></a>SVG 1.1</dt>
-
- <dd>Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds., <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/"><cite>Scalable Vector Graphics
- (SVG) 1.1 Specification</cite></a>, W3C Recommendation, 14 January 2003. (See
- <a href=
- "http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</a>.)</dd>
-
- <dt class="label"><a id="ttaf1-req" name="ttaf1-req"></a>TTAF1-REQ</dt>
-
- <dd>Glenn Adams, Ed., <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/"><cite>Timed Text (TT)
- Authoring Format 1.0 Use Cases and Requirements</cite></a>, W3C Working Group
- Note, 27 April 2006. (See <a href=
- "http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</a>.)</dd>
-
- <dt class="label"><a id="xhtml10" name="xhtml10"></a>XHTML 1.0</dt>
-
- <dd>Steven Pemberton, et al., <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTML™ 1.0, The Extensible
- Hypertext Markup Language (Second Edition)</cite></a>, W3C Recommendation, 01
- August 2002. (See <a href=
- "http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>.)</dd>
- </dl>
- </div>
-
- <div class="div1">
- <h2><a id="requirements" name="requirements"></a>I Requirements
- (Non-Normative)</h2>
-
- <p>The Timed Text Markup Language (TTML), also known as the Distribution Format
- Exchange Profile (DFXP) of the Timed Text Authoring Format (TTAF), satisfies a
- subset of the requirements established by <a href="#ttaf1-req">[TTAF1-REQ]</a>. The
- following table enumerates these requirements and indicates the extent to which
- they are satisfied by this specification, where <em>S</em> denotes a requirement is
- satisfied, <em>P</em> denotes a requirement is partially satisfied, and <em>N</em>
- denotes a requirement is not satisfied.</p><a id="requirements-table" name=
- "requirements-table"></a>
-
- <table class="common">
- <caption>
- Table I-1 – Requirement Satisfaction
- </caption>
- <col width="10%" span="1">
- <col width="40%" span="1">
- <col width="10%" span="1">
- <col span="1">
-
- <tbody>
- <tr>
- <th>ID</th>
-
- <th>Name</th>
-
- <th>Status</th>
-
- <th>Comments</th>
- </tr>
-
- <tr>
- <td>R100</td>
-
- <td>Specification Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R101</td>
-
- <td>Specification Modularity</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R102</td>
-
- <td>Specification Organization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R103</td>
-
- <td>Core and Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R104</td>
-
- <td>Evolution of Core</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R105</td>
-
- <td>Ownership of Core</td>
-
- <td>S</td>
-
- <td>TT namespaces</td>
- </tr>
-
- <tr>
- <td>R106</td>
-
- <td>Surjection of Core</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R107</td>
-
- <td>Evolution of Periphery</td>
-
- <td>S</td>
-
- <td>TT extension namespaces</td>
- </tr>
-
- <tr>
- <td>R108</td>
-
- <td>Ownership of Periphery</td>
-
- <td>S</td>
-
- <td>Non-TT namespaces</td>
- </tr>
-
- <tr>
- <td>R109</td>
-
- <td>Transformation</td>
-
- <td>S</td>
-
- <td>Supports 3GPP, QText, RealText, SAMI</td>
- </tr>
-
- <tr>
- <td>R110</td>
-
- <td>Streamable Transformation</td>
-
- <td>S</td>
-
- <td>Progressive decoding</td>
- </tr>
-
- <tr>
- <td>R111</td>
-
- <td>Accessibility – Content</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R112</td>
-
- <td>Accessibility – Authoring System</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R200</td>
-
- <td>Authorability</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R201</td>
-
- <td>Multiple Natural Languages</td>
-
- <td>S</td>
-
- <td>Alternative document instances</td>
- </tr>
-
- <tr>
- <td>R202</td>
-
- <td>Natural Language Coverage</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R203</td>
-
- <td>Natural Language Association Granularity</td>
-
- <td>S</td>
-
- <td>See <code>xml:lang</code></td>
- </tr>
-
- <tr>
- <td>R204</td>
-
- <td>Minimum Character Representability</td>
-
- <td>S</td>
-
- <td>Unicode 4.0</td>
- </tr>
-
- <tr>
- <td>R205</td>
-
- <td>Intrinsic and Extrinsic Text Content</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R206</td>
-
- <td>Markup Association</td>
-
- <td>P</td>
-
- <td>Intrinsic only</td>
- </tr>
-
- <tr>
- <td>R207</td>
-
- <td>Conditional Content</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R208</td>
-
- <td>Flowed Text</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R209</td>
-
- <td>Logical Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R210</td>
-
- <td>Presentational Flowed Text Vocabulary</td>
-
- <td>S</td>
-
- <td>Implied mapping from logical flowed text.</td>
- </tr>
-
- <tr>
- <td>R211</td>
-
- <td>Flowed Text Vocabulary Relationship</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R212</td>
-
- <td>Flowed Text Vocabulary Separation</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R213</td>
-
- <td>Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R214</td>
-
- <td>Non-Flowed Text Vocabulary</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R215</td>
-
- <td>Hybrid Flowed and Non-Flowed Text</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R216</td>
-
- <td>Hyperlinking</td>
-
- <td>N</td>
-
- <td>Can support via XLink</td>
- </tr>
-
- <tr>
- <td>R217</td>
-
- <td>Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R218</td>
-
- <td>Non-Embedded Graphics</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R219</td>
-
- <td>Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R220</td>
-
- <td>Non-Embedded Fonts</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R221</td>
-
- <td>Descriptive Vocabulary</td>
-
- <td>S</td>
-
- <td>See <code>ttm:agent</code>, <code>ttm:role</code></td>
- </tr>
-
- <tr>
- <td>R222</td>
-
- <td>Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R223</td>
-
- <td>Non-Embedded Audio</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R290</td>
-
- <td>Markup Format</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R291</td>
-
- <td>Markup Format and Unicode Interaction</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R292</td>
-
- <td>Extrinsic Resource References</td>
-
- <td>N</td>
-
- <td>No extrinsic references</td>
- </tr>
-
- <tr>
- <td>R293</td>
-
- <td>Schema Validity Specification</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R300</td>
-
- <td>Inline Styling</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Inline Styling Form</td>
-
- <td>P</td>
-
- <td>Inline and referential styling</td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R301</td>
-
- <td>Out-of-Line Styling Form</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R304</td>
-
- <td>Styling Prioritization</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R305</td>
-
- <td>Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R306</td>
-
- <td>Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports absolute position, background color, color, display none,
- display alignment, font family, font size, font style, font weight, height,
- line height, origin, opacity, overflow, padding (before, after, start, end),
- text alignment, text shadow (as outline), visibility, width, writing mode,
- z-index</td>
- </tr>
-
- <tr>
- <td>R390</td>
-
- <td>Style Parameter Symmetry</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R391</td>
-
- <td>Style Parameter Definitions</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R392</td>
-
- <td>Style Parameter Shorthands</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R401</td>
-
- <td>Inline Timing</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R402</td>
-
- <td>Out-of-Line Timing</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R403</td>
-
- <td>Synchronization Parameters</td>
-
- <td>P</td>
-
- <td>Supports begin, end, dur</td>
- </tr>
-
- <tr>
- <td>R404</td>
-
- <td>Synchronization Parameter Value Spaces</td>
-
- <td>P</td>
-
- <td>Supports offset values, media marker values (SMPTE 12M), wall-clock
- values</td>
- </tr>
-
- <tr>
- <td>R405</td>
-
- <td>Time Containment Semantics</td>
-
- <td>P</td>
-
- <td>Supports sequential, parallel</td>
- </tr>
-
- <tr>
- <td>R500</td>
-
- <td>Animation Modes</td>
-
- <td>P</td>
-
- <td>Supports discrete</td>
- </tr>
-
- <tr>
- <td>R502</td>
-
- <td>Highlight Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:backgroundColor="..."/></code></td>
- </tr>
-
- <tr>
- <td>R503</td>
-
- <td>Fade Transition Animation</td>
-
- <td>S</td>
-
- <td><code><set tts:opacity="..."/></code></td>
- </tr>
-
- <tr>
- <td>R504</td>
-
- <td>Animated Style Parameters – Aural</td>
-
- <td>N</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R505</td>
-
- <td>Animated Style Parameters – Visual</td>
-
- <td>P</td>
-
- <td>Supports animating background color, color, display, opacity, origin,
- visibility</td>
- </tr>
-
- <tr>
- <td>N506</td>
-
- <td>Animated Content</td>
-
- <td>S</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td>R600</td>
-
- <td>Metadata Item Association</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code>, <code>Metadata.class</code></td>
- </tr>
-
- <tr>
- <td>R601</td>
-
- <td>Metadata Item Constituents</td>
-
- <td>P</td>
-
- <td>Supports name, value</td>
- </tr>
-
- <tr>
- <td>R602</td>
-
- <td>Metadata Item Value Representation</td>
-
- <td>P</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R603</td>
-
- <td>Metadata Item Extensibility</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R604</td>
-
- <td>Metadata Item Validation</td>
-
- <td>S</td>
-
- <td>See <code>metadata</code></td>
- </tr>
-
- <tr>
- <td>R690</td>
-
- <td>Dublin Core Preference</td>
-
- <td>N</td>
-
- <td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>,
- <code>ttm:title</code></td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div1">
- <h2><a id="derivation" name="derivation"></a>J Vocabulary Derivation
- (Non-Normative)</h2>
-
- <p>This appendix provides information about the derivation of TTML vocabulary,
- separately describing derivation of elements and attributes.</p>
-
- <div class="div2">
- <h3><a id="d3e18678" name="d3e18678"></a>J.1 Element Derivation</h3>
-
- <p>The first column of <a href="#element-vocab-derivation-table"><b>Table J-1 –
- Elements</b></a> specifies a TTML element vocabulary item; the second column
- specifies the syntactic and/or semantic model on which the vocabulary item is
- based; the third column specifies the reference that defines the model (if a
- model is indicated); the fourth column specifies details about the derivation;
- the last column refers to additional notes describing the nature of the
- derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a notation is use
- to indicate the addition or removal of an attribute. For example, in the
- derivation of the <code>tt:div</code> element, the details column includes
- "-@class", which denotes that the <code>class</code> attribute that is specified
- for use with the <code>xhtml:div</code> model element is not specified for use
- with the corresponding TTML element; in contrast, the details column includes
- "+@begin", which denotes that a <code>begin</code> attribute is added that is not
- specified for use with the <code>xhtml:div</code> model element.</p><a id=
- "element-vocab-derivation-table" name="element-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-1 – Elements
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Element</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-body"><code>tt:body</code></a></td>
-
- <td><code>xhtml:body</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*; content model subsetted to
- zero or more division (div) children, and supersetted by optional metadata
- and animation children</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-br"><code>tt:br</code></a></td>
-
- <td><code>xhtml:br</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space; content
- model supersetted by optional metadata and animation children for congruity
- with other content vocabulary</td>
-
- <td>1,2</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-div"><code>tt:div</code></a></td>
-
- <td><code>xhtml:div</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more paragraph (p) children, and supersetted by
- optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href=
- "#document-structure-vocabulary-head"><code>tt:head</code></a></td>
-
- <td><code>xhtml:head</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model changed to
- optional metadata children, followed by optional styling child, followed by
- optional layout child</td>
-
- <td>1,3</td>
- </tr>
-
- <tr>
- <td><a href="#layout-vocabulary-layout"><code>tt:layout</code></a></td>
-
- <td><code>fo:simple-page-master</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-metadata"><code>tt:metadata</code></a></td>
-
- <td><code>svg:metadata</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model subsetted
- to foreign namespace element content only (no #PCDATA)</td>
-
- <td>3,5</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-p"><code>tt:p</code></a></td>
-
- <td><code>xhtml:p</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more span children, and supersetted by optional
- metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href="#layout-vocabulary-region"><code>tt:region</code></a></td>
-
- <td><code>fo:region-*</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#animation-vocabulary-set"><code>tt:set</code></a></td>
-
- <td><code>svg:set</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@* except begin, dur, end; +@tts:*, +@xml:lang, +@xml:space</td>
-
- <td>3,6</td>
- </tr>
-
- <tr>
- <td><a href="#content-vocabulary-span"><code>tt:span</code></a></td>
-
- <td><code>xhtml:span</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end,
- +@region, +@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
- subsetted to zero or more #PCDATA or break (br) children, and supersetted
- by optional metadata and animation children</td>
-
- <td>1,2,3</td>
- </tr>
-
- <tr>
- <td><a href="#styling-vocabulary-style"><code>tt:style</code></a></td>
-
- <td><em>style specification</em></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>XML representation of identified set of pairs of style property name
- and value, with optional inclusion of other styles by reference to other
- style elements</td>
-
- <td>7</td>
- </tr>
-
- <tr>
- <td><a href="#styling-vocabulary-styling"><code>tt:styling</code></a></td>
-
- <td><code>xhtml:style</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>XML representation of a set of style specifications sets, each
- represented by a style child element</td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href="#document-structure-vocabulary-tt"><code>tt:tt</code></a></td>
-
- <td><code>xhtml:html</code></td>
-
- <td><a href="#xhtml10">[XHTML 1.0]</a></td>
-
- <td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model subsetted by
- permitting body and/or head to be optional</td>
-
- <td>1,8</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-actor"><code>ttm:actor</code></a></td>
-
- <td><code>mpeg7:Creator</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-agent"><code>ttm:agent</code></a></td>
-
- <td><code>mpeg7:Agent</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "#metadata-vocabulary-copyright"><code>ttm:copyright</code></a></td>
-
- <td><code>mpeg7:CopyrightString</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-desc"><code>ttm:desc</code></a></td>
-
- <td><code>svg:desc</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-name"><code>ttm:name</code></a></td>
-
- <td><code>mpeg7:Name</code></td>
-
- <td><a href="#mpeg7-5">[MPEG7-5]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></td>
-
- <td><code>svg:title</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>-@class, -@style, -@xml:base</td>
-
- <td>2,5,9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extension"><code>ttp:extension</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-extensions"><code>ttp:extensions</code></a></td>
-
- <td><code>@requiredExtensions</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-feature"><code>ttp:feature</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-features"><code>ttp:features</code></a></td>
-
- <td><code>@requiredFeatures</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>10</td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-vocabulary-profile"><code>ttp:profile</code></a></td>
-
- <td><code>@baseProfile</code></td>
-
- <td><a href="#svg11">[SVG 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td>11</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Derivation is indicated with respect to the strict DTD defined by
- <a href="#xhtml10">[XHTML 1.0]</a>, §A.1.</p>
- </li>
-
- <li>
- <p>The <code>class</code> attribute is effectively replaced by the
- <code>style</code> attribute, which, instead of specifying an inline style,
- refers indirectly to one or more <a href=
- "#styling-vocabulary-style"><code>style</code></a> elements that define a
- set of style specification sets.</p>
- </li>
-
- <li>
- <p>The <code>xml:lang</code> and <code>xml:space</code> attributes are
- defined for all element types in order to support their inheritance
- semantics to operate in the context of foreign namespace elements.</p>
- </li>
-
- <li>
- <p>Derivation is conceptual (notional) only.</p>
- </li>
-
- <li>
- <p>The <code>xml:base</code> attribute is not used since there are no
- external references from core vocabulary.</p>
- </li>
-
- <li>
- <p>The <code>attributeName</code> and <code>to</code> attributes of
- <code>svg:set</code> are replaced by the direct expression of the target
- attribute name and value by use of a <code>tts:*</code> attribute.</p>
- </li>
-
- <li>
- <p>CSS style specification syntax is mapped to XML by use of attributes
- defined in the TT Style Namespace.</p>
- </li>
-
- <li>
- <p>The <code>xml:id</code> attribute is defined for use on all element
- types.</p>
- </li>
-
- <li>
- <p>The <code>style</code> attribute is supported only on content
- elements.</p>
- </li>
-
- <li>
- <p>Derived from the use of <code>@requiredExtensions</code> and
- <code>@requiredFeatures</code> on the <code>svg:svg</code> element, but
- extended to support distinct specification of optionality.</p>
- </li>
-
- <li>
- <p>Derived from the use of <code>@baseProfile</code> and
- <code>@version</code> on the <code>svg:svg</code> element.</p>
- </li>
- </ol>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="d3e19157" name="d3e19157"></a>J.2 Attribute Derivation</h3>
-
- <p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table J-2 –
- Attributes</b></a> specifies a TTML attribute vocabulary item; the second column
- specifies the syntactic and/or semantic model on which the vocabulary item is
- based; the third column specifies the reference that defines the model (if a
- model is indicated); the fourth column specifies details about the derivation;
- the last column refers to additional notes describing the nature of the
- derivation.</p>
-
- <p>In the fourth column, which describes details of derivation, a notation is use
- to indicate the addition or removal of an attribute value. For example, in the
- derivation of the <code>timeContainer</code> attribute, the details column
- includes "-excl", which denotes that the <code>excl</code> value that is
- specified for use with the <code>timeContainer</code> model attribute is not
- specified for use with the corresponding TTML attribute; similarly, an
- "+<em>value</em>" in the details column indicates that the attribute's values
- have been extended to include <em>value</em>.</p>
-
- <p>Only those attributes that are specified for use on more than one TTML element
- type are listed below. Those per-element namespace attributes that are uniquely
- defined for a specific TTML element type are not listed below, but are considered
- to be part of the specific element type's derivation described in <a href=
- "#element-vocab-derivation-table"><b>Table J-1 – Elements</b></a>
- above.</p><a id="attribute-vocab-derivation-table" name=
- "attribute-vocab-derivation-table"></a>
-
- <table class="common">
- <caption>
- Table J-2 – Attributes
- </caption>
- <col width="20%" span="1">
- <col width="17%" span="1">
- <col width="13%" align="center" span="1">
- <col width="40%" span="1">
- <col width="10%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Attribute</span></td>
-
- <td><span class="strong">Model</span></td>
-
- <td><span class="strong">Reference</span></td>
-
- <td><span class="strong">Details</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-begin"><code>begin</code></a></td>
-
- <td><code>begin</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-dur"><code>dur</code></a></td>
-
- <td><code>dur</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#timing-attribute-end"><code>end</code></a></td>
-
- <td><code>end</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>see notes</td>
-
- <td>2,3,4</td>
- </tr>
-
- <tr>
- <td><a href="#layout-attribute-region"><code>region</code></a></td>
-
- <td><code>master-reference</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>conceptual derivation</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-style"><code>style</code></a></td>
-
- <td><code>class</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>dereferences style specification(s) directly</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#timing-attribute-timeContainer"><code>timeContainer</code></a></td>
-
- <td><code>timeContainer</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td>-excl, -none; no default attribute value</td>
-
- <td>5</td>
- </tr>
-
- <tr>
- <td><a href="#metadata-attribute-agent"><code>ttm:agent</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute agent of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#metadata-attribute-role"><code>ttm:role</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to attribute role of content</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses uniform grid resolution for cell based coordinates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-clockMode"><code>ttp:clockMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>determines how to interpret time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRate"><code>ttp:frameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses integral frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to express non-integral, rational frame rates</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-markerMode"><code>ttp:markerMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses marker continuity semantics</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses pixel aspect ratio of related media</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-profile"><code>ttp:profile</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses profile of TTML used by a <em>Document Instance</em></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-dropMode"><code>ttp:dropMode</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses frame counting (drop) modes</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>expresses sub-frame rate</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-tickRate"><code>ttp:tickRate</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret tick based time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#parameter-attribute-timeBase"><code>ttp:timeBase</code></a></td>
-
- <td><em>none</em></td>
-
- <td></td>
-
- <td>used to interpret semantics of time expressions</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a></td>
-
- <td><code>background-color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,6</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-color"><code>tts:color</code></a></td>
-
- <td><code>color</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>6</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-direction"><code>tts:direction</code></a></td>
-
- <td><code>direction</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-display"><code>tts:display</code></a></td>
-
- <td><code>display</code></td>
-
- <td><a href="#css2">[CSS2]</a></td>
-
- <td>only <code>auto</code>, <code>none</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-displayAlign"><code>tts:displayAlign</code></a></td>
-
- <td><code>display-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-extent"><code>tts:extent</code></a></td>
-
- <td><code>width</code>, <code>height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontFamily"><code>tts:fontFamily</code></a></td>
-
- <td><code>font-family</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, extends generic family names</td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-fontSize"><code>tts:fontSize</code></a></td>
-
- <td><code>font-size</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,7</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontStyle"><code>tts:fontStyle</code></a></td>
-
- <td><code>font-style</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-backslant</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-fontWeight"><code>tts:fontWeight</code></a></td>
-
- <td><code>font-weight</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-bolder</code>, <code>-lighter</code>,
- <code>-<number></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-lineHeight"><code>tts:lineHeight</code></a></td>
-
- <td><code>line-height</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-<number></code>,
- <code>-<space></code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-opacity"><code>tts:opacity</code></a></td>
-
- <td><code>opacity</code></td>
-
- <td><a href="#css3-color">[CSS3 Color]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-origin"><code>tts:origin</code></a></td>
-
- <td><code>top</code>, <code>left</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td>shorthand property</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-overflow"><code>tts:overflow</code></a></td>
-
- <td><code>overflow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-auto</code>,
- <code>-error-if-overflow</code></td>
-
- <td>8</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-padding"><code>tts:padding</code></a></td>
-
- <td><code>padding</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>9</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-showBackground"><code>tts:showBackground</code></a></td>
-
- <td><code>showBackground</code></td>
-
- <td><a href="#smil21">[SMIL 2.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textAlign"><code>tts:textAlign</code></a></td>
-
- <td><code>text-align</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textDecoration"><code>tts:textDecoration</code></a></td>
-
- <td><code>text-decoration</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1,10,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-textOutline"><code>tts:textOutline</code></a></td>
-
- <td><code>text-shadow</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>11,13</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a></td>
-
- <td><code>unicode-bidi</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-visibility"><code>tts:visibility</code></a></td>
-
- <td><code>visibility</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>-collapse</code></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-wrapOption"><code>tts:wrapOption</code></a></td>
-
- <td><code>wrap-option</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "#style-attribute-writingMode"><code>tts:writingMode</code></a></td>
-
- <td><code>writing-mode</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code>, <code>+tblr</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#style-attribute-zIndex"><code>tts:zIndex</code></a></td>
-
- <td><code>z-index</code></td>
-
- <td><a href="#xsl11">[XSL 1.1]</a></td>
-
- <td><code>-inherit</code></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-id"><code>xml:id</code></a></td>
-
- <td><code>xml:id</code></td>
-
- <td><a href="#xmlid">[XML ID]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-lang"><code>xml:lang</code></a></td>
-
- <td><code>xml:lang</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>complies with model</td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href="#content-attribute-space"><code>xml:space</code></a></td>
-
- <td><code>xml:space</code></td>
-
- <td><a href="#xml10">[XML 1.0]</a></td>
-
- <td>see notes</td>
-
- <td>12</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>Attribute name and/or value(s) are normalized to use
- <em>lowerCamelCase</em> naming convention.</p>
- </li>
-
- <li>
- <p>Restricted to expressing a clock value that denotes one of the following
- in accordance to whether the parameter expressed by the
- <code>ttp:timeBase</code> attribute is <code>media</code>,
- <code>smpte</code>, or <code>clock</code>, respectively: (1) an offset from
- an implicit syncbase that is linked to a media time line, (2) an event time
- that represents the occurrence of an implicit media marker, or (3) a
- wall-clock time.</p>
- </li>
-
- <li>
- <p>Syntactically subsets and supersets the <a href="#smil21">[SMIL
- 2.1]</a> <code>Clock-value</code> syntax as follows: (1) requires
- non-negative <code>Full-clock-value</code> or <code>Timecount-value</code>;
- (2) if <code>Full-clock-value</code> then <em>hours</em> must be two or
- more digits; (3) if <code>Timecount-value</code>, then <em>metric</em> must
- be specified; (4) uses <code>m</code> as alias for <code>min</code> metric
- to denote minutes; (5) adds <code>f</code> and <code>t</code> metrics
- denoting frames and ticks, respectively; (6) adds alternative expression of
- optional <code>Fraction</code> in <code>Full-clock-value</code> by
- specifying frame count or frame count with subframe count.</p>
- </li>
-
- <li>
- <p>Interpretation of time expression is further constrained by parameters
- expressed by <code>ttp:clockMode</code>, <code>ttp:dropMode</code>,
- <code>ttp:frameRate</code>, <code>ttp:frameRateMultiplier</code>,
- <code>ttp:markerMode</code>, <code>ttp:subFrameRate</code>,
- <code>ttp:tickRate</code>, and <code>ttp:timeBase</code> attributes.</p>
- </li>
-
- <li>
- <p>Uses subset of named colors from model to which two aliases are added as
- follows: <code>magenta</code> as <code>fuchsia</code>, and
- <code>cyan</code> as <code>aqua</code>.</p>
- </li>
-
- <li>
- <p>If not specified, then parallel (par) container semantics apply to the
- element types specified by <a href=
- "#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>.</p>
- </li>
-
- <li>
- <p>Restricts size to length specification which can be a percentage; adds
- optional second length (or percentage) for specifying separate horizontal
- and vertical scaling of glyph's EM square.</p>
- </li>
-
- <li>
- <p>Expressed in terms of writing mode relative padding properties rather
- than absolute padding properties.</p>
- </li>
-
- <li>
- <p>Excludes <code>blink</code> and <code>no-blink</code> values.</p>
- </li>
-
- <li>
- <p>Uses only one length specification instead of two, where one length
- defines distance of outline effect from nominal edge of glyph contour
- outline perpendicular to point of glyph contour. Percentage lengths are
- also added to express outline effect in relative to font size. Outline
- effects are intended to be drawn both outside of outer closed contours and
- inside of inner closed contours.</p>
- </li>
-
- <li>
- <p>On root element, default attribute value specified as
- <code>default</code>, which is defined in terms of whitespace
- normalization. Semantics of preservation and default normalization are
- defined in terms of presentation semantics by <a href=
- "#content-attribute-space"><b>7.2.3 xml:space</b></a>.</p>
- </li>
-
- <li>
- <p>Defined to be inheritable.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="qa" name="qa"></a>K QA Framework Compliance (Non-Normative)</h2>
-
- <p>This appendix specifies the compliance of this specification with the
- requirements and guidelines defined by <a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA Framework Specifications
- Guidelines</a> <a href="#qaf-sg">[QAF SG]</a>.</p>
-
- <div class="div2">
- <h3><a id="d3e20043" name="d3e20043"></a>K.1 Requirements</h3><a id=
- "qa-framework-requirements-table" name="qa-framework-requirements-table"></a>
-
- <table class="common">
- <caption>
- Table K-1 – QA Framework Requirements Checklist
- </caption>
- <col width="76%" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Requirement</span></td>
-
- <td><span class="strong">YES</span></td>
-
- <td><span class="strong">NO</span></td>
-
- <td><span class="strong">N/A</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">
- Requirement 01: Include a conformance clause</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">
- Requirement 02: Define the scope.</a></td>
-
- <td><a href="#intro">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement
- 03: Identify who or what will implement the specification.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement
- 04: Make a list of normative references.</a></td>
-
- <td><a href="#references">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">
- Requirement 05: Define the terms used in the normative parts of the
- specification.</a></td>
-
- <td><a href="#definitions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">
- Requirement 06: Create conformance labels for each part of the conformance
- model.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">
- Requirement 07: Use a consistent style for conformance requirements and
- explain how to distinguish them.</a></td>
-
- <td><a href="#conventions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">
- Requirement 08: Indicate which conformance requirements are mandatory,
- which are recommended, and which are optional.</a></td>
-
- <td><a href="#conventions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">
- Requirement 09: If the technology is subdivided, then indicate which
- subdivisions are mandatory for conformance.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">
- Requirement 10: If the technology is subdivided, then address subdivision
- constraints.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">
- Requirement 11: Address Extensibility.</a></td>
-
- <td><a href="#doctypes">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">
- Requirement 12: Identify deprecated features.</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>N/A</td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">
- Requirement 13: Define how each class of product handles each deprecated
- feature.</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>N/A</td>
-
- <td>1</td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>No feature is deprecated by this version of this specification.</p>
- </li>
- </ol>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="d3e20207" name="d3e20207"></a>K.2 Guidelines</h3><a id=
- "qa-framework-guidelines-table" name="qa-framework-guidelines-table"></a>
-
- <table class="common">
- <caption>
- Table K-2 – QA Framework Guidelines Checklist
- </caption>
- <col width="76%" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
- <col width="6%" align="center" span="1">
-
- <tbody>
- <tr>
- <td><span class="strong">Guideline</span></td>
-
- <td><span class="strong">YES</span></td>
-
- <td><span class="strong">NO</span></td>
-
- <td><span class="strong">N/A</span></td>
-
- <td><span class="strong">Notes</span></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">
- Good Practice 01: Define the specification's conformance model in the
- conformance clause.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good
- Practice 02: Specify in the conformance clause how to distinguish normative
- from informative content.</a></td>
-
- <td><a href="#conventions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">
- Good Practice 03: Provide the wording for conformance claims.</a></td>
-
- <td><a href="#claims">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice
- 04: Provide an Implementation Conformance Statement Pro Forma.</a></td>
-
- <td></td>
-
- <td>NO</td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good
- Practice 05: Require an Implementation Conformance Statement as part of
- valid conformance claims.</a></td>
-
- <td><a href="#claims">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good
- Practice 06: Provide examples, use cases, and graphics.</a></td>
-
- <td><a href="#example">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good
- Practice 07: Write sample code or tests.</a></td>
-
- <td>YES</td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good
- Practice 08: When imposing requirements by normative references, address
- conformance dependencies.</a></td>
-
- <td><a href="#references">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>1</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">
- Good Practice 09: Define unfamiliar terms in-line and consolidate the
- definitions in a glossary section.</a></td>
-
- <td><a href="#definitions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good
- Practice 10: Use terms already defined without changing their
- definition.</a></td>
-
- <td><a href="#definitions">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>2</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good
- Practice 11: Use formal languages when possible.</a></td>
-
- <td><a href="#schemas">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good
- Practice 12: Write Test Assertions.</a></td>
-
- <td></td>
-
- <td>NO</td>
-
- <td></td>
-
- <td>3</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good
- Practice 13: Create subdivisions of the technology when warranted.</a></td>
-
- <td><a href="#conformance">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good
- Practice 14: If the technology is profiled, define rules for creating new
- profiles.</a></td>
-
- <td><a href="#vocabulary-profiles">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good
- Practice 15:Use optional features as warranted.</a></td>
-
- <td>YES</td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good
- Practice 16: Clearly identify optional features.</a></td>
-
- <td>YES</td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good
- Practice 17: Indicate any limitations or constraints on optional
- features.</a></td>
-
- <td>YES</td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">
- Good Practice 18: If extensibility is allowed, define an extension
- mechanism.</a></td>
-
- <td><a href="#extension-vocabulary-overview">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">
- Good Practice 19: Warn extension creators to create extensions that do not
- interfere with conformance.</a></td>
-
- <td><a href="#extension-vocabulary-overview">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good
- Practice 20: Define error-handling for unknown extensions.</a></td>
-
- <td><a href="#conformance-processor">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>4</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good
- Practice 21: Explain how to avoid using a deprecated feature.</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>N/A</td>
-
- <td>5</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good
- Practice 22: Identify obsolete features.</a></td>
-
- <td></td>
-
- <td></td>
-
- <td>N/A</td>
-
- <td>5</td>
- </tr>
-
- <tr>
- <td><a href=
- "http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good
- Practice 23: Define an error handling mechanism.</a></td>
-
- <td><a href="#reduced-infoset">YES</a></td>
-
- <td></td>
-
- <td></td>
-
- <td></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <ol class="enumar">
- <li>
- <p>When making normative references to external specifications, specific
- clauses or sections are cited.</p>
- </li>
-
- <li>
- <p>See also <a href="#derivation"><b>J Vocabulary Derivation</b></a>.</p>
- </li>
-
- <li>
- <p>Test assertions and test suites will be provided prior to entering
- Proposed Recommendation (PR) phase.</p>
- </li>
-
- <li>
- <p>See criterion #3 in <a href="#conformance-processor"><b>3.2 Processor
- Conformance</b></a> and definition of TTML <a href="#doctypes">Abstract
- Document Instance</a>.</p>
- </li>
-
- <li>
- <p>No feature is deprecated or obsoleted by this version of this
- specification.</p>
- </li>
- </ol>
- </div>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="streaming" name="streaming"></a>L Streaming TTML Content
- (Non-Normative)</h2>
-
- <p>TTML Content is designed to support streamability by implementing the following
- properties:</p>
-
- <ul>
- <li>
- <p>can be progressively encoded (i.e., does not require computing subsequent
- data prior to sending current data);</p>
- </li>
-
- <li>
- <p>can be progressively decoded (i.e., does not require forward references, but
- uses only reverse references when necessary);</p>
- </li>
-
- <li>
- <p>does not require dereferencing (and subsequent loading) of any resources
- other than TTML Content (i.e., no embedded URIs);</p>
- </li>
-
- <li>
- <p>does not support alternative content forms (e.g., different language,
- graphics formats, time bases) in a single document;</p>
- </li>
-
- <li>
- <p>has timing structure compiled into inline format that makes possible a
- temporal ordering of content that follows temporal presentation order;</p>
- </li>
-
- <li>
- <p>constrains content models to prevent arbitrary nested content
- structures;</p>
- </li>
- </ul>
-
- <p>One possible means by which TTML Content may be streamed is to partition a
- <em>Document Instance</em>'s information set into non-overlapping fragments, where
- one particular fragment, call it the <em>root fragment</em>, represents the front
- matter (head) of the <em>Document Instance</em> as well as its top level structural
- elements, and other fragments represent content whose time intervals are expected
- to be active in parallel.</p>
-
- <p>In applications that require arbitrary (random) entry into a stream, i.e., the
- property of being able to start reading data at an arbitrary data access unit, the
- root fragment will be repetitively transmitted (inserted) into the stream in order
- to permit a decoder to resynchronize and acquire sufficient structural information
- in the information set in order to interpret subsequent content fragments.</p>
-
- <p>An example of such a fragmentation of a <em>Document Instance</em> is shown in
- <a href="#fragment-streaming-graphic"><b>Figure 3 – Fragment
- Streaming</b></a>.</p><a id="fragment-streaming-graphic" name=
- "fragment-streaming-graphic"></a>
-
- <table class="example-images">
- <caption>
- Figure 3 – Fragment Streaming
- </caption>
- <col span="1">
-
- <tbody>
- <tr>
- <td><img src="images/streaming.png" alt="Fragment Streaming"></td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>This specification does not define a transport buffer model or a decoder
- capabilities model.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="concrete-encoding" name="concrete-encoding"></a>M Concrete Encoding
- (Non-Normative)</h2>
-
- <p>In the absence of other requirements, it is recommended that a <em>Document
- Instance</em> be concretely encoded as a well-formed XML 1.0 <a href="#xml10">[XML
- 1.0]</a> document using the UTF-8 character encoding.</p>
- </div>
-
- <div class="div1">
- <h2><a id="time-expression-semantics" name="time-expression-semantics"></a>N Time
- Expression Semantics (Non-Normative)</h2>
-
- <p>This appendix describes the intended semantics for interpreting time expressions
- in <em>Document Instances</em>.</p>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>It is expected that the information in this appendix will be elevated to
- normative status in a future revision of this specification.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>local real time</em> as used below is intended to model a
- virtual real time clock in the document processing context, where <em>local</em>
- means in the immediate proximity of the implementation of this processing
- context. The intent of defining relationships with this virtual clock is to
- establish a locally valid physical realization of time for didactic purposes.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The phrase <em>play rate</em> as used below is intended to model a (possibly
- variable) parameter in the document processing context wherein the rate of
- playback (or interpretation) of time may artificially dilated or narrowed, for
- example, when slowing down or speeding up the rate of playback of a <em>Related
- Media Object</em>. Without loss of generality, the following discussion assumes a
- fixed play(back) rate. In the case of variable play rates, appropriate
- adjustments may need to be made to the resulting computations.</p>
- </div>
-
- <div class="div2">
- <h3><a id="time-expression-semantics-clock" name=
- "time-expression-semantics-clock"></a>N.1 Clock Time Base</h3>
-
- <p>When operating with the <code>clock</code> time base, the following semantics
- should be applied for interpreting time expressions, as defined by <a href=
- "#timing-value-timeExpression"><timeExpression></a>, and their relationship
- to media time and local real time.</p>
-
- <p>The clock time base <span class="strong"><code>C</code></span> is related to
- local real time <span class="strong"><code>R</code></span> expressed in an
- arbitrary (implementation defined) epoch <span class=
- "strong"><code>E</code></span> as follows:</p><a id="clock-time-and-real-time"
- name="clock-time-and-real-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Real Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>R = C + epochOffset + discontinuityOffset</code><br>
- <br>
- where <code>C ∈ ℜ</code>, <code>0 ≤ C < ∞</code>, <code>C</code> in
- seconds since the most immediately prior midnight of the reference
- clock base;<br>
- <br>
- <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
- <code>epochOffset</code> in seconds, with 0 being the beginning of
- epoch <code>E</code>, and where the value of <code>epochOffset</code>
- is determined from the computed value of the <code>ttp:clockMode</code>
- parameter as follows:<br>
- <br>
- (1) if <code>local</code>, then the difference between the local real
- time at the most immediately prior local midnight and the local real
- time at the beginning of epoch <code>E</code>, expressed in
- seconds;<br>
- <br>
- (2) if <code>gps</code>, then the difference between the GPS time at
- the most immediately prior GPS midnight and the GPS time at the
- beginning of epoch <code>E</code>, expressed in seconds;<br>
- <br>
- (3) if <code>utc</code>, then the difference between the UTC time at
- the most immediately prior UTC midnight and the UTC time at the
- beginning of epoch <code>E</code>, expressed in seconds;<br>
- <br>
- <code>discontinuityOffset ∈ ℜ</code>, <code>−∞ < discontinuityOffset
- < ∞</code>, <code>discontinuityOffset</code> in seconds, and where
- the value of <code>discontinuityOffset</code> is equal to the sum of
- leap seconds (and fractions thereof) that have been added (or
- subtracted) since the most immediately prior midnight in the reference
- clock base;<br>
- <br>
- and <code>epochOffset</code> and <code>discontinuityOffset</code> are
- determined once and only once prior to the beginning of the <em>Root
- Temporal Extent</em> such that during the period between value
- determination and the beginning of the <em>Root Temporal Extent</em>
- there occurs no local midnight or reference clock base
- discontinuity.<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related to clock
- time <span class="strong"><code>C</code></span> as follows:</p><a id=
- "time-expressions-and-clock-time" name="time-expressions-and-clock-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Clock Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- If a time expression uses the <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
- metric, then:<br>
- <br>
- <code>C = 3600 * hours + 60 * minutes + seconds</code><br>
- <br>
- where <code>hours</code>, <code>minutes</code>, <code>seconds</code>
- components are extracted from time expression if present, or zero if
- not present.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em> form that
- uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>C = ticks / tickRate</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The <em>frames</em> and <em>sub-frames</em> terms and the frames
- (<code>f</code>) metric of time expressions do not apply when using the
- <code>clock</code> time base.</p>
- </div>
-
- <p>The clock time base <span class="strong"><code>C</code></span> is independent
- of media time <span class="strong"><code>M</code></span>:</p><a id=
- "clock-time-and-media-time" name="clock-time-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Clock Time and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>M ¬∝ C</code><br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>That is to say, timing is disconnected from (not necessarily proportional
- to) media time when the <code>clock</code> time base is used. For example, if
- the media play rate is zero (0), media playback is suspended; however, timing
- coordinates will continue to advance according to the natural progression of
- clock time in direct proportion to the reference clock base. Furthermore, if
- the media play rate changes during playback, presentation timing is not
- affected.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="time-expression-semantics-media" name=
- "time-expression-semantics-media"></a>N.2 Media Time Base</h3>
-
- <p>When operating with the <code>media</code> time base, the following semantics
- should be applied for interpreting time expressions, as defined by <a href=
- "#timing-value-timeExpression"><timeExpression></a>, and their relationship
- to media time and local real time.</p>
-
- <p>The media time base <span class="strong"><code>M</code></span> is related to
- local real time <span class="strong"><code>R</code></span> expressed in an
- arbitrary (implementation defined) epoch <span class=
- "strong"><code>E</code></span> as follows:</p><a id="media-time-and-real-time"
- name="media-time-and-real-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Media Time and Real Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>R = playRate * M + epochOffset</code><br>
- <br>
- where <code>M ∈ ℜ</code>, <code>0 ≤ M < ∞</code>, <code>M</code> in
- seconds, with 0 corresponding to the beginning of the <em>Root Temporal
- Extent</em>;<br>
- <br>
- <code>playRate ∈ ℜ</code>, <code>−∞ < playRate < ∞</code>,
- <code>playRate</code> is unit-less, and where the value of
- <code>playRate</code> is determined by the document processing
- context;<br>
- <br>
- and <code>epochOffset ∈ ℜ</code>, <code>0 ≤ epochOffset < ∞</code>,
- <code>epochOffset</code> in seconds, with 0 corresponding to the
- beginning of an epoch <code>E</code>, and where the value of
- <code>epochOffset</code> is the difference between the local real time
- at the beginning of the <em>Root Temporal Extent</em> and the local
- real time at the the beginning of epoch <code>E</code>, expressed in
- seconds.</p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Time value expressions, as denoted by a <a href=
- "#timing-value-timeExpression"><timeExpression></a>, are related to media
- time <span class="strong"><code>M</code></span> in accordance to the
- <code>ttp:frameRate</code>, <code>ttp:subFrameRate</code>, and
- <code>ttp:frameRateMultipler</code> parameters as follows:</p><a id=
- "time-expressions-and-media-time" name="time-expressions-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- If a time expression uses a <em>clock-time</em> form or an
- <em>offset-time</em> form that doesn't use the ticks (<code>t</code>)
- metric, then:<br>
- <br>
- <code>M = referenceBegin + 3600 * hours + 60 * minutes + seconds +
- ((frames + (subFrames / subFrameRate)) / effectiveFrameRate)</code><br>
- <br>
- where <code>referenceBegin</code> is determined according to whether
- the nearest ancestor time container employs parallel (<code>par</code>)
- or sequential (<code>seq</code>) semantics: if parallel or if
- sequential and no prior sibling timed element exists, then
- <code>referenceBegin</code> is the media time that corresponds to the
- beginning of the nearest ancestor time container or zero (0) if this
- time container is the <em>Root Temporal Extent</em>; otherwise, if
- sequential and a prior sibling timed element exists, then
- <code>referenceBegin</code> is the media time that corresponds to the
- active end of the immediate prior sibling timed element;<br>
- <br>
- the <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
- <code>frames</code>, <code>subFrames</code> components are extracted
- from time expression if present, or zero if not present;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<br>
- <br>
- Otherwise, if a time expression uses an <em>offset-time</em> form that
- uses the ticks (<code>t</code>) metric, then:<br>
- <br>
- <code>M = referenceBegin + ticks / tickRate</code><br>
- <br>
- where <code>referenceBegin</code> is as described above;<br>
- <br>
- the <code>ticks</code> component is extracted from time expression;<br>
- <br>
- and <code>tickRate</code> is the computed value of the
- <code>ttp:tickRate</code> parameter;<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>If the computed <code>frameRateMultipler</code> ratio is not integral, then
- <code>effectiveFrameRate</code> will be a non-integral rational.</p>
- </div>
-
- <div class="note">
- <p class="prefix"><b>Note:</b></p>
-
- <p>The above formalisms assumes that the <em>Root Temporal Extent</em>
- corresponds with the beginning of a related media object. If this assumption
- doesn't hold, then an additional offset that accounts for the difference may be
- introduced when computing media time <code>M</code>.</p>
- </div>
- </div>
-
- <div class="div2">
- <h3><a id="time-expression-semantics-smpte" name=
- "time-expression-semantics-smpte"></a>N.3 SMPTE Time Base</h3>
-
- <p>When operating with the <code>smpte</code> time base, the following semantics
- should be applied for interpreting time expressions, as defined by <a href=
- "#timing-value-timeExpression"><timeExpression></a>, and their relationship
- to media time and local real time.</p>
-
- <p>If the computed value of the <code>ttp:markerMode</code> parameter is
- <code>discontinuous</code>, then there is no direct relationship between time
- expressions and media time <span class="strong"><code>M</code></span> or local
- real time <span class="strong"><code>R</code></span>. In this case, time
- expressions refer to synchronization events (markers) emitted by the <em>Document
- Processing Context</em> when <em>SMPTE Time Codes</em> are encountered in the
- <em>Related Media Object</em>.</p>
-
- <p>Otherwise, if the computed value of the <code>ttp:markerMode</code> parameter
- is <code>continuous</code>, then the relationships between time expressions and
- local real time and media time are as described below in terms of a <em>Synthetic
- SMPTE Document Syncbase</em>, here referred to as the SMPTE time base
- <span class="strong"><code>S</code></span>.</p><a id=
- "time-expressions-and-smpte-time" name="time-expressions-and-smpte-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – Time Expressions and SMPTE Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>S = (countedFrames - droppedFrames + (subFrames / subFrameRate))
- / effectiveFrameRate</code><br>
- <br>
- where<br>
- <br>
- <code>countedFrames = (3600 * hours + 60 * minutes + seconds) *
- frameRate + frames</code><br>
- <br>
- <code>hours</code>, <code>minutes</code>, <code>seconds</code>,
- <code>frames</code>, <code>subFrames</code> components are extracted
- from time expression if present, or zero if not present;<br>
- <br>
- <code>droppedFrames</code> is computed as follows:<br>
- <br>
- 1. let <em>dropMode</em> be the computed value of the
- <code>ttp:dropMode</code> parameter;<br>
- <br>
- 2. if <em>dropMode</em> is <code>dropNTSC</code>, let
- <code>droppedFrames = (hours * 54 + floor(minutes - minutes/10)) *
- 2</code>;<br>
- <br>
- 3. otherwise, if <em>dropMode</em> is <code>dropPAL</code>, let
- <code>droppedFrames = (hours * 27 + floor(minutes/2 - minutes/20)) *
- 4</code>;<br>
- <br>
- 4. otherwise, let <code>droppedFrames = 0</code>;<br>
- <br>
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter;<br>
- <br>
- <code>subFrameRate</code> is the computed value of the
- <code>ttp:subFrameRate</code> parameter;<br>
- <br>
- and <code>effectiveFrameRate</code> (in frames per second) is
- <code>frameRate * frameRateMultipler</code> where
- <code>frameRate</code> is the computed value of the
- <code>ttp:frameRate</code> parameter and
- <code>frameRateMultipler</code> is the computed value of the
- <code>ttp:frameRateMultiplier</code> parameter.<br>
- <br>
- Notwithstanding the above, if a time expression contains a frame code
- that is designated as dropped according to <a href=
- "#parameter-attribute-dropMode"><b>6.2.3 ttp:dropMode</b></a>, then
- that time expression should be considered to be invalid for purposes of
- validation assessment.<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>The SMPTE time base <span class="strong"><code>S</code></span> is related to
- the media time base <span class="strong"><code>M</code></span> as
- follows:</p><a id="smpte-time-and-media-time" name=
- "smpte-time-and-media-time"></a>
-
- <table class="semantics">
- <caption>
- TTML Semantics – SMPTE Time and Media Time Relationship
- </caption>
-
- <tbody>
- <tr>
- <td>
- <blockquote>
- <p><br>
- <code>M = referenceBegin + S</code><br>
- <br>
- where <code>referenceBegin</code> is determined according to whether
- the nearest ancestor time container employs parallel (<code>par</code>)
- or sequential (<code>seq</code>) semantics: if parallel or if
- sequential and no prior sibling timed element exists, then
- <code>referenceBegin</code> is the SMPTE time that corresponds to the
- beginning of the nearest ancestor time container or zero (0) if this
- time container is the <em>Root Temporal Extent</em>; otherwise, if
- sequential and a prior sibling timed element exists, then
- <code>referenceBegin</code> is the SMPTE time that corresponds to the
- active end of the immediate prior sibling timed element;<br></p>
- </blockquote>
- </td>
- </tr>
- </tbody>
- </table>
-
- <p>Given the derived media time base as described above, then media time base
- <span class="strong"><code>M</code></span> is related to the local real time
- <span class="strong"><code>R</code></span> as described in <a href=
- "#time-expression-semantics-media"><b>N.2 Media Time Base</b></a> above.</p>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="common-styling" name="common-styling"></a>O Common Caption Style
- Examples (Non-Normative)</h2>
-
- <p>This section provides examples of the following common caption styles using TTML
- Content to obtain the desired behavior:</p>
-
- <ul>
- <li>
- <p>Pop-On Captions</p>
- </li>
-
- <li>
- <p>Roll-Up Captions</p>
- </li>
-
- <li>
- <p>Paint-On Captions</p>
- </li>
- </ul>
-
- <div class="div2">
- <h3><a id="pop-on-example" name="pop-on-example"></a>O.1 Pop-On Caption
- Example</h3>
-
- <p>An example of paint-on captions. In this example, two regions are targeted
- with alternating, paint-on content, where content is timed using explicit
- sequential time containment rules. Each paragraph is non-overlapping in time and
- appears in the same single row of its targeted region.</p><a id=
- "pop-on-example-1-s" name="pop-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Pop-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 1c"/>
- <region xml:id="r2" tts:color="yellow" tts:origin="10c 8c" tts:extent="40c 1c"/>
- </layout>
- </head>
- <body>
- <div timeContainer="seq">
- <p region="r1" dur="4s">Lorem ipsum dolor sit</p
- <p region="r2" dur="4s">Amet consectetur adipiscing elit</p>
- <p region="r1" dur="6s">Sed do eiusmod tempor incididunt labore</p>
- <p region="r2" dur="4s">et dolore magna aliqua</p>
- <p region="r1" dur="7s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="roll-up-example" name="roll-up-example"></a>O.2 Roll-Up Caption
- Example</h3>
-
- <p>An example of roll-up captions. Roll-up effects are achieved by using
- overlapped time intervals, where zero, one, or two paragraphs appear in the
- region at a given time. Each paragraph consumes a single row (line) of the region
- since no wrapping occurs. Depending on whether a presentation processor supports
- <a href="#semantics-smooth-scrolling-recommendation">smooth scrolling between
- adjacent synchronic intermediate document instances</a>, the transitions, i.e.,
- moving an old paragraph (line) out and a new paragraph (line) in, will be either
- smooth or discrete.</p><a id="roll-up-example-1-s" name=
- "roll-up-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Roll-Up Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 2c"/>
- </layout>
- </head>
- <body>
- <div region="r1">
- <p begin="0s" end="8s">Lorem ipsum dolor sit</p
- <p begin="4s" end="12s">Amet consectetur adipiscing elit</p>
- <p begin="8s" end="18s">Sed do eiusmod tempor incididunt labore</p>
- <p begin="14s" end="25s">et dolore magna aliqua</p>
- <p begin="18s" end="29s">Ut enim ad minim veniam quis, nostrud</p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
-
- <div class="div2">
- <h3><a id="paint-on-example" name="paint-on-example"></a>O.3 Paint-On Caption
- Example</h3>
-
- <p>An example of paint-on captions. Paint-on effects are achieved by using timed
- <code>span</code> elements in order to expose (paint) inline text units, e.g.,
- words, over some time interval. Here, five paragraphs have their individual words
- sequentially timed in order to paint one new word every second. The end of the
- active duration of each inline element coincides with the end of the
- <code>div</code> element's parallel time container, so that once a word is
- painted, it remains in the region (on its rendered line) until the
- <code>div</code> element's active time interval lapses.</p><a id=
- "paint-on-example-1-s" name="paint-on-example-1-s"></a>
-
- <table class="example">
- <caption>
- Example – Paint-On Captions
- </caption>
-
- <tbody>
- <tr>
- <td>
- <div class="exampleInner">
- <pre>
-<tt ttp:cellResolution="60 20" xml:lang="en" xmlns="http://www.w3.org/ns/ttml"
- xmlns:tts="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
- <head>
- <layout>
- <region xml:id="r1" tts:color="white" tts:origin="10c 4c" tts:extent="40c 5c"/>
- </layout>
- </head>
- <body>
- <div begin="0s" end="25s">
- <p>
- <span begin="0s">Lorem</span>
- <span begin="1s">ipsum</span>
- <span begin="2s">dolor</span>
- <span begin="3s">sit</span>
- </p>
- <p>
- <span begin="4s">Amet</span>
- <span begin="5s">consectetur</span>
- <span begin="6s">adipiscing</span>
- <span begin="7s">elit</span>
- </p>
- <p>
- <span begin="8s">Sed</span>
- <span begin="9s">do</span>
- <span begin="10s">eiusmod</span>
- <span begin="11s">tempor</span>
- <span begin="12s">incididunt </span>
- <span begin="13s">labore</span>
- </p>
- <p>
- <span begin="14s">et</span>
- <span begin="15s">dolore</span>
- <span begin="16s">magna</span>
- <span begin="17s">aliqua</span>
- </p>
- <p>
- <span begin="18s">Ut</span>
- <span begin="19s">enim</span>
- <span begin="20s">ad</span>
- <span begin="21s">minim</span>
- <span begin="22s">veniam</span>
- <span begin="23s">quis,</span>
- <span begin="24s">nostrud</span>
- </p>
- </div>
- </body>
-</tt>
-</pre>
- </div>
- </td>
- </tr>
- </tbody>
- </table>
- </div>
- </div>
-
- <div class="div1">
- <h2><a id="acknowledgments" name="acknowledgments"></a>P Acknowledgments
- (Non-Normative)</h2>
-
- <p>The editor acknowledges the current and former members of the Timed Text Working
- Group, the members of other W3C Working Groups, and industry experts in other
- forums who have contributed directly or indirectly to the process or content of
- this document as follows:</p>
-
- <p>Glenn Adams, Thomas Bause-Mason, John Birch, Kees Blom, Bert Bos, Brad Botkin,
- Dick Bulterman, Frans de Jong, Mike Dolan, Martin Dürst, Donald Evans, Geoff Freed,
- Al Gilman, Giles Godart-Brown, Markus Gylling, Markku Hakkinen, Sean Hayes, Erik
- Hodge, Philipp Hoschka, Suzi Hyun, Michael Jordan, Masahiko Kaneko, Courtney
- Kennedy, George Kerscher, David Kirby, Andrew Kirkpatrick, Philippe Le Hégaret,
- Chris Lilley, Pierre-Anthony Lemieux, Jason Livingston, Monica Martin, Thierry
- Michel, Matthew May, Frank Olivier, Soohong Daniel Park, Silvia Pfeiffer, Brian
- Raymor, David Ronca, Patrick Schmitz, David Singer, Craig Smithpeters, Andreas Tai,
- and Mohamed Zergaoui.</p>
-
- <p>The editor wishes to especially acknowledge the following contributions by
- members: Micheal Dolan (SMPTE time codes, streaming; SMPTE liaison), David Kirby
- (introductory example document; SMPTE time codes, descriptive metadata; EBU/AAF
- liaison), Geoff Freed (styling and example images of style properties), Sean Hayes
- (advanced profile concepts, including applicative timing), Eric Hodge (timing),
- Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p>
-
- <p>The Working Group dedicates this specification to our colleague David Kirby.</p>
- </div>
- </div>
-</body>
-</html>