--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml10/spec/ttaf1-dfxp.xml Thu Feb 23 23:30:08 2012 -0700
@@ -0,0 +1,12964 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- $Id$ -->
+<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec-ttaf1-dfxp.dtd" [
+<!ENTITY % entities SYSTEM "entities.dtd" >
+%entities;
+<!ENTITY status SYSTEM "status.xml">
+<!ENTITY document.status "Editors' copy $Date$">
+<!ENTITY title "&title;">
+<!ENTITY prevloc "http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/">
+<!ENTITY versionOfTT "1.0">
+<!ENTITY tbd "<phrase role='tbd'>To Be Defined</phrase>">
+<!ENTITY sp " ">
+<!ENTITY sect "§">
+<!ENTITY aring "å">
+<!ENTITY ccedil "ç">
+<!ENTITY Ccedil "Ç">
+<!ENTITY mult "×">
+<!ENTITY uuml "ü">
+<!ENTITY nbsp " ">
+<!ENTITY ndash "–">
+<!ENTITY mdash "—">
+<!ENTITY prime "′">
+<!ENTITY hArr "⇔">
+<!ENTITY trade "™">
+<!ENTITY hellip "…">
+<!ENTITY isin "∈">
+<!ENTITY minus "−">
+<!ENTITY le "≤">
+<!ENTITY ge "≥">
+<!ENTITY plusmn "±">
+<!ENTITY dfxp-ex1 SYSTEM "./examples/ex1.xml.esc">
+<!ENTITY dfxp-ex1-x-0 SYSTEM "./examples/ex1-x-0.xml.esc">
+<!ENTITY dfxp-ex1-p-0 SYSTEM "./examples/ex1-p-0.xml.esc">
+<!ENTITY dfxp-ex1-x-1 SYSTEM "./examples/ex1-x-1.xml.esc">
+<!ENTITY dfxp-ex1-x-2 SYSTEM "./examples/ex1-x-2.xml.esc">
+<!ENTITY rnc-dfxp-driver SYSTEM "./rnc/ttaf1-dfxp.rnc.esc">
+<!ENTITY rnc-dfxp-animation-module SYSTEM "./rnc/ttaf1-dfxp-animation.rnc.esc">
+<!ENTITY rnc-dfxp-classes-module SYSTEM "./rnc/ttaf1-dfxp-classes.rnc.esc">
+<!ENTITY rnc-dfxp-content-module SYSTEM "./rnc/ttaf1-dfxp-content.rnc.esc">
+<!ENTITY rnc-dfxp-core-attribs-module SYSTEM "./rnc/ttaf1-dfxp-core-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-datatypes-module SYSTEM "./rnc/ttaf1-dfxp-datatypes.rnc.esc">
+<!ENTITY rnc-dfxp-document-module SYSTEM "./rnc/ttaf1-dfxp-document.rnc.esc">
+<!ENTITY rnc-dfxp-head-module SYSTEM "./rnc/ttaf1-dfxp-head.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-module SYSTEM "./rnc/ttaf1-dfxp-metadata.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-items-module SYSTEM "./rnc/ttaf1-dfxp-metadata-items.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-attribs-module SYSTEM "./rnc/ttaf1-dfxp-metadata-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-parameters-module SYSTEM "./rnc/ttaf1-dfxp-parameters.rnc.esc">
+<!ENTITY rnc-dfxp-parameter-items-module SYSTEM "./rnc/ttaf1-dfxp-parameter-items.rnc.esc">
+<!ENTITY rnc-dfxp-parameter-attribs-module SYSTEM "./rnc/ttaf1-dfxp-parameter-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-styling-attribs-module SYSTEM "./rnc/ttaf1-dfxp-styling-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-styling-module SYSTEM "./rnc/ttaf1-dfxp-styling.rnc.esc">
+<!ENTITY rnc-dfxp-layout-module SYSTEM "./rnc/ttaf1-dfxp-layout.rnc.esc">
+<!ENTITY rnc-dfxp-timing-attribs-module SYSTEM "./rnc/ttaf1-dfxp-timing-attribs.rnc.esc">
+<!ENTITY xsd-dfxp-driver SYSTEM "./xsd/ttaf1-dfxp.xsd.esc">
+<!ENTITY xsd-dfxp-animation-module SYSTEM "./xsd/ttaf1-dfxp-animation.xsd.esc">
+<!ENTITY xsd-dfxp-content-module SYSTEM "./xsd/ttaf1-dfxp-content.xsd.esc">
+<!ENTITY xsd-dfxp-core-attribs-module SYSTEM "./xsd/ttaf1-dfxp-core-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-datatypes-module SYSTEM "./xsd/ttaf1-dfxp-datatypes.xsd.esc">
+<!ENTITY xsd-dfxp-document-module SYSTEM "./xsd/ttaf1-dfxp-document.xsd.esc">
+<!ENTITY xsd-dfxp-head-module SYSTEM "./xsd/ttaf1-dfxp-head.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-module SYSTEM "./xsd/ttaf1-dfxp-metadata.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-items-module SYSTEM "./xsd/ttaf1-dfxp-metadata-items.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-attribs-module SYSTEM "./xsd/ttaf1-dfxp-metadata-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-parameters-module SYSTEM "./xsd/ttaf1-dfxp-parameters.xsd.esc">
+<!ENTITY xsd-dfxp-parameter-items-module SYSTEM "./xsd/ttaf1-dfxp-parameter-items.xsd.esc">
+<!ENTITY xsd-dfxp-parameter-attribs-module SYSTEM "./xsd/ttaf1-dfxp-parameter-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-styling-attribs-module SYSTEM "./xsd/ttaf1-dfxp-styling-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-styling-module SYSTEM "./xsd/ttaf1-dfxp-styling.xsd.esc">
+<!ENTITY xsd-dfxp-layout-module SYSTEM "./xsd/ttaf1-dfxp-layout.xsd.esc">
+<!ENTITY xsd-dfxp-timing-attribs-module SYSTEM "./xsd/ttaf1-dfxp-timing-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-xml-attrs-module SYSTEM "./xsd/xml.xsd.esc">
+<!ENTITY profile-dfxp-presentation SYSTEM "./profiles/dfxp-presentation.xml.esc">
+<!ENTITY profile-dfxp-transformation SYSTEM "./profiles/dfxp-transformation.xml.esc">
+<!ENTITY profile-dfxp-full SYSTEM "./profiles/dfxp-full.xml.esc">
+]>
+<?xml-stylesheet type='text/xsl' href='xmlspec-ttaf1-dfxp.xsl'?>
+<spec w3c-doctype="&doctype;" role="&document.role;">
+<header>
+<title>&title;</title>
+<w3c-designation>&w3c-designation;</w3c-designation>
+<w3c-doctype>&document.status;</w3c-doctype>
+<pubdate>
+<day>&draft.day;</day>
+<month>&draft.month;</month>
+<year>&draft.year;</year>
+</pubdate>
+<publoc>
+<loc href="&w3c-designation;">&w3c-designation;</loc>
+</publoc>
+<prevlocs>
+<loc href="&prevloc;">&prevloc;</loc>
+</prevlocs>
+<latestloc>
+<loc href="&latest;">&latest;</loc>
+</latestloc>
+<authlist id="editors" role="editor">
+<author>
+<name>Glenn Adams</name>
+<affiliation>Samsung Electronics Co., Ltd.</affiliation>
+</author>
+</authlist>
+<authlist id="contributors" role="contributor">
+<author>
+<name>Mike Dolan</name>
+<affiliation>Invited Expert</affiliation>
+</author>
+<author>
+<name>Geoff Freed</name>
+<affiliation>WGBH National Center for Accessible Media</affiliation>
+</author>
+<author>
+<name>Sean Hayes</name>
+<affiliation>Microsoft</affiliation>
+</author>
+<author>
+<name>Erik Hodge</name>
+<affiliation>RealNetworks</affiliation>
+</author>
+<author>
+<name>David Kirby</name>
+<affiliation>British Broadcasting Corporation (BBC)</affiliation>
+</author>
+<author>
+<name>Thierry Michel</name>
+<affiliation>W3C</affiliation>
+</author>
+<author>
+<name>Dave Singer</name>
+<affiliation>Apple Computer</affiliation>
+</author>
+</authlist>
+<abstract id="abstract">
+<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 <el><text></el> or
+<el><textstream></el> media object element in a <bibref
+ref="smil21"/> document.</p>
+</abstract>
+&status;
+<langusage><language id='en-us'>English</language></langusage>
+<revisiondesc><p>Last Modified: $Date$</p></revisiondesc>
+</header>
+<body>
+<div1 id="intro">
+<head>Introduction</head>
+<p><emph>Unless specified otherwise, this section and its sub-sections are non-normative.</emph></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 potential presentation.</p>
+<p>TTML is expressly designed to meet only a limited set of requirements
+established by <bibref ref="ttaf1-req"/>, and summarized in <specref
+ref="requirements"/>. In particular, only those requirements which service the
+need of performing interchange with existing, legacy distribution systems are
+satisfied.</p>
+<p>In addition to being used for interchange among legacy distribution content
+formats, TTML content may be used directly as a distribution format, providing, for
+example, a standard content format to reference from a <el><text></el> or
+<el><textstream></el> media object element in a <bibref
+ref="smil21"/> document. Certain properties of TTML support
+streamability of content, as described in <specref ref="streaming"/>.</p>
+<note>
+<p>While TTML was not expressly designed for direct (embedded) integration into a
+SMIL document instance, such integration is not precluded.</p>
+</note>
+<note>
+<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 document instance. This use case is not
+explicitly addressed by TTML mechanisms, but may be addressed by some
+external multimedia integration technology, such as SMIL.</p>
+</note>
+<div2 id="model">
+<head>System Model</head>
+<p>Use of TTML is intended to function in a wider context of Timed Text
+Authoring and Distribution mechanisms that are based upon a system
+model, depicted in <specref ref="model-graphic"/>, 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.</p>
+<table id="model-graphic" role="example-images">
+<caption>Figure 1 – System Model</caption>
+<tbody>
+<tr>
+<td><graphic id="graphic-model" source="images/model.png" alt="System Model"/></td>
+</tr>
+</tbody>
+</table>
+</div2>
+<div2 id="example">
+<head>Document Example</head>
+<p>A TTML document instance consists of a <el>tt</el> 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 timing information.</p>
+<table id="dfxp-example-document-structure" role="example">
+<caption>Example Fragment – TTML Document Structure</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <metadata/>
+ <styling/>
+ <layout/>
+ </head>
+ <body/>
+</tt>
+</eg>
+</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>
+<table id="dfxp-example-metadata" role="example">
+<caption>Example Fragment – TTML Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</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.</p>
+<p>In <specref ref="dfxp-example-styling"/>, four style sets of specifications
+are defined, with one set serving as a collection of default styles.</p>
+<table id="dfxp-example-styling" role="example">
+<caption>Example Fragment – TTML Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</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 <specref ref="dfxp-example-layout"/>, the region definition makes
+reference to style specification <code>s1</code> which allows all 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>
+<table id="dfxp-example-layout" role="example">
+<caption>Example Fragment – TTML Layout</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The content of a TTML document instance 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
+<specref ref="dfxp-example-body"/>, each paragraph (<el>p</el> 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 as a parallel time
+container.</p>
+<table id="dfxp-example-body" role="example">
+<caption>Example Fragment – TTML Body</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The first subtitle <specref ref="dfxp-example-subtitle-1"/> 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
+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>
+<note role="explanation">
+<p>The notation "[<emph>X</emph>,<emph>Y</emph>]" denotes a closed
+interval from <emph>X</emph> to <emph>Y</emph>, including
+<emph>X</emph> and <emph>Y</emph>;
+"[<emph>X</emph>,<emph>Y</emph>)" denotes a right half-open
+interval from <emph>X</emph> to <emph>Y</emph>, including
+<emph>X</emph> but not including <emph>Y</emph>;
+"(<emph>X</emph>,<emph>Y</emph>]" denotes a left half-open
+interval from <emph>X</emph> to <emph>Y</emph>, not including
+<emph>X</emph> but including <emph>Y</emph>;
+"(<emph>X</emph>,<emph>Y</emph>)" denotes an open
+interval from <emph>X</emph> to <emph>Y</emph>, not including
+<emph>X</emph> or <emph>Y</emph>.
+</p>
+</note>
+<table id="dfxp-example-subtitle-1" role="example-images">
+<caption>Subtitle 1 – Time Interval [0.76, 3.45)</caption>
+<tbody>
+<tr>
+<td><graphic source="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>
+<table id="dfxp-example-subtitle-2" role="example-images">
+<caption>Subtitle 2 – Time Interval [5.0, 10.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="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>
+<table id="dfxp-example-subtitle-3" role="example-images">
+<caption>Subtitle 3 – Time Interval [10.0, 16.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle3.png" alt="Subtitle 3"/></td>
+</tr>
+</tbody>
+</table>
+<p>The fourth subtitle reverts to the default style.</p>
+<table id="dfxp-example-subtitle-4" role="example-images">
+<caption>Subtitle 4 – Time Interval [17.2, 23.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="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>
+<table id="dfxp-example-subtitle-5" role="example-images">
+<caption>Subtitle 5 – Time Interval [23.0, 27.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="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 paragraph expressing each subtitle using a different style that overrides 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>
+<table id="dfxp-example-subtitle-6" role="example-images">
+<caption>Subtitles 6a and 6b – Time Interval [28.0, 34.6)</caption>
+<tbody>
+<tr>
+<td><graphic source="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 a paragraph right (end) justified in the
+inline progression direction.</p>
+<table id="dfxp-example-subtitle-7" role="example-images">
+<caption>Subtitle 7 – Time Interval [34.6, 45.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="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>
+<table id="dfxp-example-subtitle-8" role="example-images">
+<caption>Subtitle 8 – Time Interval [47.3, 49.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="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>
+<table id="dfxp-example-subtitle-9" role="example-images">
+<caption>Subtitles 9a and 9b – Time Interval [53.5, 58.7)</caption>
+<tbody>
+<tr>
+<td><graphic source="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 document instance. 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>
+</div2>
+</div1>
+<div1 id="definitions">
+<head>Definitions</head>
+<div2 id="acronyms">
+<head>Acronyms</head>
+<glist role="acronyms">
+<gitem>
+<label>DFXP</label>
+<def>
+<p>Distribution Format Exchange Profile</p>
+</def>
+</gitem>
+<gitem>
+<label>TT</label>
+<def>
+<p>Timed Text</p>
+</def>
+</gitem>
+ <gitem>
+ <label>TTML</label>
+ <def>
+ <p>Timed Text Markup Language</p>
+ </def>
+ </gitem>
+ <gitem>
+<label>TT AS</label>
+<def>
+<p>Timed Text Authoring System</p>
+</def>
+</gitem>
+<gitem>
+<label>TT AF</label>
+<def>
+<p>Timed Text Authoring Format</p>
+</def>
+</gitem>
+<gitem>
+<label>TT WG</label>
+<def>
+<p>Timed Text Working Group</p>
+</def>
+</gitem>
+</glist>
+</div2>
+<div2 id="terms">
+<head>Terminology</head>
+<glist>
+<gitem>
+<label>Abstract Document Instance</label>
+<def>
+<p>An instance of an abstract data set as represented by a
+<emph>Reduced XML Infoset</emph>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Abstract Document Type</label>
+<def>
+<p>A set of constraints that defines a class of <emph>XML Information
+Set</emph>s <bibref ref="infoset"/>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Attribute Information Item</label>
+<def>
+<p>Each specified or defaulted attribute of an XML document corresponds with an attribute information
+item as defined by <bibref ref="infoset"/>, §2.3.</p>
+</def>
+</gitem>
+<gitem>
+<label>Character Information Item</label>
+<def>
+<p>Each data character appearing in an XML document corresponds with a character information
+item as defined by <bibref ref="infoset"/>, §2.6.</p>
+</def>
+</gitem>
+<gitem>
+<label>Content Processor</label>
+<def>
+<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>
+</def>
+</gitem>
+<gitem>
+<label>Content Profile</label>
+<def>
+<p>A collection of features and extensions that are (or may be) employed by
+Timed Text Markup Language content.</p>
+</def>
+</gitem>
+<gitem>
+<label>Content Region</label>
+<def>
+<p>A logical region into which rendered content is placed when modeling or
+performing presentation processing.</p>
+</def>
+</gitem>
+<gitem>
+<label>Element Information Item</label>
+<def>
+<p>Each element appearing in an XML document corresponds with an element information
+item as defined by <bibref ref="infoset"/>, §2.2.</p>
+</def>
+</gitem>
+<gitem>
+<label>Exchange Profile</label>
+<def>
+<p>A content profile that serves a set of needs
+for content interchange.</p>
+</def>
+</gitem>
+<gitem>
+<label>Extension</label>
+<def>
+<p>A syntactic or semantic expression or capability that is defined and
+labeled (using a extension designation) in another (public or private)
+specification.</p>
+</def>
+</gitem>
+<gitem>
+<label>Feature</label>
+<def>
+<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>
+</def>
+</gitem>
+<gitem>
+<label>Processor</label>
+<def>
+<p>See <emph>Content Processor</emph>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Processor Profile</label>
+<def>
+<p>A collection of features and extensions that must or may be implemented (supported) by
+a content processor.</p>
+</def>
+</gitem>
+<gitem>
+<label>Profile Definition Document</label>
+<def>
+<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>
+</def>
+</gitem>
+<gitem>
+<label>Region</label>
+<def>
+<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>
+</def>
+</gitem>
+<gitem>
+<label>Reduced XML Infoset</label>
+<def>
+<p>An XML Information Set <bibref ref="infoset"/> that satisfieds the
+constraints specify by <specref ref="reduced-infoset"/>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Root Container Region</label>
+<def>
+<p>A logical region that establishes a coordinate system into which
+content regions are placed and optionally clipped.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text</label>
+<def>
+<p>Textual information that is intrinsically or extrinsically
+associated with timing information.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text Markup Language</label>
+<def>
+<p>A content type that represents timed text media for the purpose of
+interchange among authoring systems.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text Authoring System</label>
+<def>
+<p>A content authoring system capable of importing and exporting
+Timed Text Markup Language content.</p>
+</def>
+</gitem>
+</glist>
+</div2>
+<div2 id="conventions">
+<head>Documentation Conventions</head>
+<p>Within normative prose in this specification, the words
+<emph>may</emph>, <emph>should</emph>, and <emph>must</emph> are
+defined as follows:</p>
+<glist role="conformance-keywords">
+<gitem>
+<label>may</label>
+<def>
+<p>Conforming documents and/or TTML processors are permitted to,
+but need not behave as described. </p>
+</def>
+</gitem>
+<gitem>
+<label>should</label>
+<def>
+<p>Conforming documents and/or TTML processors are strongly
+recommended to, but need not behave as described.</p>
+</def>
+</gitem>
+<gitem>
+<label>must</label>
+<def>
+<p>Conforming documents and/or TTML processors are required
+to behave as described; otherwise, they are in error. </p>
+</def>
+</gitem>
+</glist>
+<p>All normative syntactic definitions of XML representations and
+other related terms are depicted with a light orange background color
+and labeled as "XML Representation" or "Syntax Representation", such
+as in the following:</p>
+<table id="elt-syntax-example" role="syntax">
+<caption>XML Representation – Element Information Item: example</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<example
+ <phrase role="reqattr">count</phrase> = integer
+ size = (<emph>large</emph>|<emph>medium</emph>|<emph>small</emph>) : medium>
+ <emph>Content:</emph> (all | any*)
+</example>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In an XML representation, bold-face attribute names (e.g. <phrase
+role="strong">count</phrase> 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 <bibref ref="xsd-2"/>, a hyperlink to its definition
+therein is given.</p>
+<p>The allowed content of the information item is shown as a grammar
+fragment, using the Kleene operators <code>?</code>, <code>*</code>
+and <code>+</code>. Each element name therein is a hyperlink to its
+own illustration.</p>
+<p>All content of this specification that is not explicitly marked as
+non-normative is considered to be normative. If a section or appendix
+header contains the expression "Non-Normative", then the entirety
+of the section or appendix is considered non-normative.</p>
+<p>All paragraphs marked as a <phrase role="strong">Note</phrase> 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>
+<table id="example-fragment-1" role="example">
+<caption>Example Fragment – Sample</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <metadata/>
+ <styling/>
+ <layout/>
+ </head>
+ <body/>
+</tt>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div2>
+</div1>
+<div1 id="conformance">
+<head>Conformance</head>
+<p>This section specifies the general conformance requirements for
+TTML content and processors.</p>
+<div2 id="conformance-content">
+<head>Content Conformance</head>
+<p>A TTML document instance conforms to this specification if the following criteria are
+satisfied:</p>
+<olist>
+<item>
+<p>When transporting a document instance in a context in which a MIME
+Media Type <bibref ref="mime-media"/> identifies the content type of the interchanged document
+instance, then the specified media type is
+<code>application/ttml+xml</code> in conformance with <bibref
+ref="rfc3023"/> § 7, with which an optional
+<code>profile</code> parameter may appear, the value of which
+conforms to
+a profile designator as
+defined by
+<specref ref="vocabulary-profiles"/>.</p>
+</item>
+<item>
+<p>The document instance is or can be represented as a Reduced XML
+Infoset as defined by <specref ref="reduced-infoset"/>.</p>
+</item>
+<item>
+<p>The Reduced XML
+Infoset that corresponds to the document instance is or can
+be associated with one of the TTML Abstract
+Document Types defined by
+<specref ref="doctypes"/>.</p>
+</item>
+<item>
+<p>The Reduced XML Infoset that corresponds to the document instance is a
+Valid Abstract Document Instance of the associated
+Abstract Document Type.</p>
+</item>
+<item>
+<p>The Reduced XML Infoset 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
+<bibref ref="wcag"/>.</p>
+</item>
+</olist>
+</div2>
+<div2 id="conformance-processor">
+<head>Processor Conformance</head>
+<div3 id="conformance-generic-processor">
+<head>Generic Processor Conformance</head>
+<p>A TTML processor conforms to this specification if the following
+generic processor criteria are
+satisfied:</p>
+<olist>
+<item>
+<p>The processor provides at least one mechanism for notionally
+instantiating a Reduced XML
+Infoset representation of a conformant TTML document
+instance.</p>
+</item>
+<item>
+<p>If a process does or can perform validation of a candidate TTML
+document instance, then it provides at least one mechanism to
+implicitly or explicitly associate the
+Reduced XML Infoset representation
+of a conformant TTML document instance with one of the
+TTML Abstract Document Types defined by
+<specref ref="doctypes"/>.</p>
+</item>
+<item>
+<p>The processor does not <emph>a priori</emph> reject or abort the
+processing of a conformant TTML document instance
+unless the processor does not support some required
+(mandatory) feature specified or implied by a TTML content profile
+declared to apply to the document instance.</p>
+</item>
+<item>
+<p>The processor supports all mandatory processing semantics defined by this specification.</p>
+</item>
+<item>
+<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>
+</item>
+</olist>
+</div3>
+<div3 id="conformance-transformation-processor">
+<head>Transformation Processor Conformance</head>
+<p>A TTML processor is a conformant TTML transformation processor if
+the following criteria are satisfied:</p>
+<olist>
+<item>
+<p>The processor satisfies all requirements specified by
+<specref ref="conformance-generic-processor"/>.</p>
+</item>
+<item>
+<p>The processor supports the DFXP Transformation profile as specified
+by <specref ref="profile-dfxp-transformation"/>.</p>
+</item>
+</olist>
+</div3>
+<div3 id="conformance-presentation-processor">
+<head>Presentation Processor Conformance</head>
+<olist>
+<item>
+<p>The processor satisfies all requirements specified by
+<specref ref="conformance-generic-processor"/>.</p>
+</item>
+<item>
+<p>The processor supports the DFXP Presentation profile as specified
+by <specref ref="profile-dfxp-presentation"/>.</p>
+</item>
+</olist>
+</div3>
+</div2>
+<div2 id="claims">
+<head>Claims</head>
+<p>Any claim of compliance with respect to TTML content or processor
+conformance 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
+content or processor implementation. In particular, the statement must
+identify the utilized or supported TTML vocabulary profile(s) as
+defined by <specref ref="vocabulary-profiles"/>, 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 TTML document instance for which a compliance claim is made
+must specify
+either (1)
+a <att>ttp:profile</att> attribute on its root
+<el>tt</el>
+element
+as defined by <specref ref="parameter-attribute-profile"/>
+or (2)
+a <el>ttp:profile</el> element as a child of the
+<el>head</el> element as defined by
+<specref ref="parameter-vocabulary-profile"/>.</p>
+</div2>
+</div1>
+<div1 id="doctypes">
+<head>Document Types</head>
+<p>This section defines the following TTML Abstract Document Types:</p>
+<ulist>
+<item><p><specref ref="dfxp-content-doctype"/></p></item>
+</ulist>
+<p>Each abstract document type consists of the following constraints:</p>
+<ulist>
+<item><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></item>
+<item><p>a non-empty collection of element types that may appear as the document element</p></item>
+</ulist>
+<p>An Abstract Document Instance may be assessed in terms of validity,
+and is considered to be a Valid Abstract Document Instance if it
+satisfies the following condition: if after</p>
+<olist>
+<item>
+<p>pruning all element information
+items whose names are not members of the collection of element types defined
+by the associated abstract document type, then</p>
+</item>
+<item>
+<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 Abstract Document Type, and then</p>
+</item>
+<item>
+<p>pruning all attribute
+information items having expanded names such that the namespace URI of the
+expanded names are not listed in <specref
+ref="namespace-vocab-table"/>,</p>
+</item>
+</olist>
+<p>then the document element is one of the document
+element types permitted by the associated abstract document type,
+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 abstract document type.</p>
+<note>
+<p>While a conformant processor may not <emph>a priori</emph> reject a
+conformant document instance that adheres to a
+supported content profile, a given document instance may be
+constrained by the author or authoring tool to satisfy a more
+restrictive definition of validity.</p>
+</note>
+<div2 id="dfxp-content-doctype">
+<head>DFXP Content</head>
+<p>DFXP Content is an abstract document type 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 <specref ref="vocabulary"/>.</p>
+<p>This specification defines two types of normative schemas that may be used to validate a subset of
+conformant DFXP Content document instances:</p>
+<ulist>
+<item><p><specref ref="dfxp-schema-rnc"/></p></item>
+<item><p><specref ref="dfxp-schema-xsd"/></p></item>
+</ulist>
+<p>The (root) document element of a DFXP Content document instance must be a
+<el>tt</el> element, as defined by <specref
+ref="document-structure-vocabulary-tt"/>.</p>
+<note role="clarification">
+<p>The schemas included in this specification do not validate all syntactic constraints
+defined by this specification. In particular, performing validation with one of the above
+referenced schemas may result in a <emph>false positive</emph> indication of validity.
+However, with one exception, their
+use will not produce a <emph>false negative</emph> indication of validity
+when used with a compliant validating
+processor.</p>
+<p>In exception to the above statement about false negatives,
+if the Relax NG schema included in this specification is used to validate a
+TTML Document containing elements in a foreign namespace and the <att>xml:id</att>
+attribute is used with any of those (foreign) elements,
+then an error will be reported even though such usage is permitted by this
+specification. In this case, the false negative arises 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 TTML Document to be
+based on an abstract document instance 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 TTML Document validity.</p>
+</note>
+</div2>
+</div1>
+<div1 id="vocabulary">
+<head>Vocabulary</head>
+<p>This section defines the
+namespaces, profiles, and vocabulary (as an element an attribute
+catalog) of the Timed Text Markup Language (TTML) as follows:</p>
+<ulist>
+<item><p><specref ref="vocabulary-namespaces"/></p></item>
+<item><p><specref ref="vocabulary-profiles"/></p></item>
+<item><p><specref ref="vocabulary-overview"/></p></item>
+</ulist>
+<div2 id="vocabulary-namespaces">
+<head>Namespaces</head>
+<p>The Timed Text Markup Language (TTML) employs a number of
+namespaces 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>
+<note role="explanation">
+<p>In a specific document instance, it is not required that the default
+prefixes shown below are used. Any prefix or namespace binding that satisfies the constraints
+of XML Namespaces may be used that is associated with the specified namespace URI.</p>
+</note>
+<table id="namespace-vocab-table" role="common">
+<caption>Table 1 – Namespaces</caption>
+<col width="30%"/>
+<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><emph>none</emph></td>
+<td><code>http://www.w3.org/ns/ttml/profile/</code></td>
+</tr>
+<tr>
+<td>TT Feature</td>
+<td><emph>none</emph></td>
+<td><code>http://www.w3.org/ns/ttml/feature/</code></td>
+</tr>
+<tr>
+<td>TT Extension</td>
+<td><emph>none</emph></td>
+<td><code>http://www.w3.org/ns/ttml/extension/</code></td>
+</tr>
+</tbody>
+</table>
+<note role="clarification">
+<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 <emph>none</emph> 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>
+</note>
+<p>All TTML Namespaces are <loc
+href="http://www.w3.org/2001/tag/doc/namespaceState#namespacedef"><emph>mutable</emph></loc>
+<bibref ref="nsstate"/>; all undefined names in these namespaces are reserved for future
+standardization by the W3C.</p>
+</div2>
+<div2 id="vocabulary-profiles">
+<head>Profiles</head>
+<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
+<specref ref="profiles"/>.</p>
+<table id="profile-vocab-table" role="common">
+<caption>Table 2 – Profiles</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Name</th>
+<th>Designator</th>
+</tr>
+<tr>
+<td>DFXP Transformation</td>
+<td><code>http://www.w3.org/ns/ttml/profile/dfxp-transformation</code></td>
+</tr>
+<tr>
+<td>DFXP Presentation</td>
+<td><code>http://www.w3.org/ns/ttml/profile/dfxp-presentation</code></td>
+</tr>
+<tr>
+<td>DFXP Full</td>
+<td><code>http://www.w3.org/ns/ttml/profile/dfxp-full</code></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>A profile designator must adhere to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17. If the profile designator is expressed as a relative URI,
+then it must be absolutized by using the TT Profile Namespace value as
+the base URI.</p>
+<note role="example">
+<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>
+</note>
+<p>A profile designator is not restricted to the set of designators enumerated
+in <specref ref="profile-vocab-table"/>, but may be any URI that
+feasibly dereferences a TTML Profile Definition Document.</p>
+<p>The profile of TTML that must be supported by a
+TTML content processor in order to process a document
+instance is specified either (1) by specifying a
+<att>ttp:profile</att> attribute on the root <el>tt</el> element, as
+defined by <specref ref="parameter-attribute-profile"/>, or (2) by
+including one or more <el>ttp:profile</el>
+elements in the <el>head</el> element, in
+accordance with <specref ref="parameter-vocabulary-profile"/>.</p>
+<p>If a <el>ttp:profile</el> element appears as a
+descendant of the <el>tt</el> element, then the <loc
+href="#parameter-attribute-profile"><att>ttp:profile</att></loc>
+attribute should not be specified on the <el>tt</el> element. If both
+a <el>ttp:profile</el> element and a <att>ttp:profile</att>
+attribute are present (in a given document instance), then the
+<att>ttp:profile</att> attribute must be ignored for the purpose of
+determining the declared profile requirements.</p>
+<p>If more than one <el>ttp:profile</el> element appears in
+a TTML document instance, 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
+<loc href="#parameter-attribute-profile"><att>ttp:profile</att></loc>
+attribute nor
+<loc href="#parameter-vocabulary-profile"><el>ttp:profile</el></loc>
+element is present in a TTML document instance, and if the document
+interchange context does not specify a profile,
+then the DFXP Transformation
+profile applies.</p>
+<note role="elaboration">
+<p>It is intended that the <att>ttp:profile</att> 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 TTML Profile Definition Document.
+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 <el>ttp:profile</el> element be
+used when the author wishes to make use of a modified predefined profile or
+wishes to include in the document instance 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 <emph>subtractive</emph> profile; when modified by supersetting, the result
+is referred to as an <emph>additive</emph> profile.
+It is also possible to define a derived profile that is simultaneously subtractive
+and additive.</p>
+</note>
+<p>If a TTML document instance makes use of a feature defined by
+<specref ref="feature-designations"/> and if the intended use of the
+document requires the recognition and processing of that feature, then
+the document must include a <emph>required feature</emph> or
+a <emph>used feature</emph>
+specification in one of its declared or
+referenced profiles. If a TTML document instance makes use
+of an extension designatable by <specref
+ref="extension-designations"/> and if the intended use of the document
+requires the recognition and processing of that extension, then the
+document must include a <emph>required extension</emph> or
+a <emph>used extension</emph> specification
+in one of its declared or referenced
+profiles.</p>
+<note role="elaboration">
+<p>A required or used feature
+specification is expressed directly (or indirectly by referring to a
+profile) by means of a <loc
+href="#parameter-vocabulary-feature"><el>ttp:feature</el></loc>
+element where the value of its <att>value</att> 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 <loc
+href="#parameter-vocabulary-extension"><el>ttp:extension</el></loc>
+element where the value of its <att>value</att> attribute is
+<code>required</code> or <code>use</code>,
+respectively.</p>
+</note>
+<p>An example of an author defined
+additive, derived profile of the DFXP Presentation
+profile is shown
+below in <specref ref="dfxp-example-sub-profile"/>.</p>
+<table id="dfxp-example-sub-profile" role="example">
+<caption>Example Fragment – DFXP Additive Profile</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</td></tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 <specref ref="profile-dfxp-presentation"/>). Note also the resetting of the
+default XMLNS binding on the <el>profile</el> element to the TT Parameter Namespace.</p>
+</note>
+</div2>
+<div2 id="vocabulary-overview">
+<head>Catalog</head>
+<p>The vocabulary of the Timed Text Markup Language (TTML) is
+defined in the following major catalogs (divisions of vocabulary):</p>
+<ulist>
+<item><p><specref ref="core-vocabulary-overview"/></p></item>
+<item><p><specref ref="extension-vocabulary-overview"/></p></item>
+</ulist>
+<p>The core catalog defines the baseline, core vocabulary of TTML,
+and, in particular, the vocabulary of DFXP Content. The extension catalog
+serves as a placeholder for extensions to the core vocabulary defined
+by TTML.</p>
+<div3 id="core-vocabulary-overview">
+<head>Core Catalog</head>
+<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>
+<ulist>
+<item><p><specref ref="parameters"/></p></item>
+<item><p><specref ref="content"/></p></item>
+<item><p><specref ref="styling"/></p></item>
+<item><p><specref ref="layout"/></p></item>
+<item><p><specref ref="timing"/></p></item>
+<item><p><specref ref="animation"/></p></item>
+<item><p><specref ref="metadata"/></p></item>
+</ulist>
+<p>The core element vocabulary specified for use with a TTML document
+instance is enumerated in
+<specref ref="element-vocab-table"/>.</p>
+<table id="element-vocab-table" role="common">
+<caption>Table 3 – Element Vocabulary</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Module</th>
+<th>Elements</th>
+</tr>
+<tr>
+<td>
+Animation
+</td>
+<td>
+<loc href="#animation-vocabulary-set">set</loc>
+</td>
+</tr>
+<tr>
+<td>
+Content
+</td>
+<td>
+<loc href="#document-structure-vocabulary-body">body</loc>,
+<loc href="#content-vocabulary-div">div</loc>,
+<loc href="#content-vocabulary-p">p</loc>,
+<loc href="#content-vocabulary-span">span</loc>,
+<loc href="#content-vocabulary-br">br</loc>
+</td>
+</tr>
+<tr>
+<td>
+Document
+</td>
+<td>
+<loc href="#document-structure-vocabulary-tt">tt</loc>
+</td>
+</tr>
+<tr>
+<td>
+Head
+</td>
+<td>
+<loc href="#document-structure-vocabulary-head">head</loc>
+</td>
+</tr>
+<tr>
+<td>
+Layout
+</td>
+<td>
+<loc href="#layout-vocabulary-layout">layout</loc>,
+<loc href="#layout-vocabulary-region">region</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata
+</td>
+<td>
+<loc href="#metadata-vocabulary-metadata">metadata</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata Items
+</td>
+<td>
+<loc href="#metadata-vocabulary-actor">ttm:actor</loc>,
+<loc href="#metadata-vocabulary-agent">ttm:agent</loc>,
+<loc href="#metadata-vocabulary-copyright">ttm:copyright</loc>,
+<loc href="#metadata-vocabulary-desc">ttm:desc</loc>,
+<loc href="#metadata-vocabulary-name">ttm:name</loc>,
+<loc href="#metadata-vocabulary-title">ttm:title</loc>
+</td>
+</tr>
+<tr>
+<td>Parameter Items</td>
+<td><loc href="#parameter-vocabulary-profile">ttp:profile</loc>,
+<loc href="#parameter-vocabulary-features">ttp:features</loc>,
+<loc href="#parameter-vocabulary-feature">ttp:feature</loc>,
+<loc href="#parameter-vocabulary-extensions">ttp:extensions</loc>,
+<loc href="#parameter-vocabulary-extension">ttp:extension</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling
+</td>
+<td>
+<loc href="#styling-vocabulary-styling">styling</loc>,
+<loc href="#styling-vocabulary-style">style</loc>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>Element vocabulary groups that are used in defining content models
+for TTML element types are enumerated in <specref ref="element-vocab-group-table"/>.</p>
+<table id="element-vocab-group-table" role="common">
+<caption>Table 4 – Element Vocabulary Groups</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Group</th>
+<th>Elements</th>
+</tr>
+<tr>
+<td>
+Animation.class
+</td>
+<td>
+<loc href="#animation-vocabulary-set">set</loc>
+</td>
+</tr>
+<tr>
+<td>
+Block.class
+</td>
+<td>
+<loc href="#content-vocabulary-div">div</loc> |
+<loc href="#content-vocabulary-p">p</loc>
+</td>
+</tr>
+<tr>
+<td>
+Inline.class
+</td>
+<td>
+<loc href="#content-vocabulary-span">span</loc> |
+<loc href="#content-vocabulary-span">br</loc> |
+<code>#PCDATA</code>
+</td>
+</tr>
+<tr>
+<td>
+Metadata.class
+</td>
+<td>
+<loc href="#metadata-vocabulary-metadata">metadata</loc> |
+<loc href="#metadata-vocabulary-copyright">ttm:agent</loc> |
+<loc href="#metadata-vocabulary-copyright">ttm:copyright</loc> |
+<loc href="#metadata-vocabulary-desc">ttm:desc</loc> |
+<loc href="#metadata-vocabulary-title">ttm:title</loc>
+</td>
+</tr>
+<tr>
+<td>Parameters.class</td>
+<td><loc
+href="#parameter-vocabulary-profile">ttp:profile</loc></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The attribute vocabulary specified for use with the core vocabulary
+catalog is enumerated in
+<specref ref="attribute-vocab-table"/>.</p>
+<table id="attribute-vocab-table" role="common">
+<caption>Table 5 – Attribute Vocabulary</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Module</th>
+<th>Attributes</th>
+</tr>
+<tr>
+<td>
+Core Attributes
+</td>
+<td>
+<loc href="#content-attribute-id">xml:id</loc>,
+<loc href="#content-attribute-lang">xml:lang</loc>,
+<loc href="#content-attribute-space">xml:space</loc>
+</td>
+</tr>
+<tr>
+<td>
+Layout
+</td>
+<td>
+<loc href="#layout-attribute-region">region</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata Attributes
+</td>
+<td>
+<loc href="#metadata-attribute-agent">ttm:agent</loc>,
+<loc href="#metadata-attribute-role">ttm:role</loc>
+</td>
+</tr>
+<tr>
+<td>
+Parameter Attributes
+</td>
+<td>
+<loc href="#parameter-attribute-cellResolution">ttp:cellResolution</loc>,
+<loc href="#parameter-attribute-clockMode">ttp:clockMode</loc>,
+<loc href="#parameter-attribute-dropMode">ttp:dropMode</loc>,
+<loc href="#parameter-attribute-frameRate">ttp:frameRate</loc>,
+<loc href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</loc>,
+<loc href="#parameter-attribute-markerMode">ttp:markerMode</loc>,
+<loc href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</loc>,
+<loc href="#parameter-attribute-profile">ttp:profile</loc>,
+<loc href="#parameter-attribute-subFrameRate">ttp:subFrameRate</loc>,
+<loc href="#parameter-attribute-tickRate">ttp:tickRate</loc>,
+<loc href="#parameter-attribute-timeBase">ttp:timeBase</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling
+</td>
+<td>
+<loc href="#style-attribute-style">style</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling Attributes
+</td>
+<td>
+<loc href="#style-attribute-backgroundColor">tts:backgroundColor</loc>,
+<loc href="#style-attribute-color">tts:color</loc>,
+<loc href="#style-attribute-direction">tts:direction</loc>,
+<loc href="#style-attribute-display">tts:display</loc>,
+<loc href="#style-attribute-displayAlign">tts:displayAlign</loc>,
+<loc href="#style-attribute-extent">tts:extent</loc>,
+<loc href="#style-attribute-fontFamily">tts:fontFamily</loc>,
+<loc href="#style-attribute-fontSize">tts:fontSize</loc>,
+<loc href="#style-attribute-fontStyle">tts:fontStyle</loc>,
+<loc href="#style-attribute-fontWeight">tts:fontWeight</loc>,
+<loc href="#style-attribute-lineHeight">tts:lineHeight</loc>,
+<loc href="#style-attribute-opacity">tts:opacity</loc>,
+<loc href="#style-attribute-origin">tts:origin</loc>,
+<loc href="#style-attribute-overflow">tts:overflow</loc>,
+<loc href="#style-attribute-padding">tts:padding</loc>,
+<loc href="#style-attribute-showBackground">tts:showBackground</loc>,
+<loc href="#style-attribute-textAlign">tts:textAlign</loc>,
+<loc href="#style-attribute-textDecoration">tts:textDecoration</loc>,
+<loc href="#style-attribute-textOutline">tts:textOutline</loc>,
+<loc href="#style-attribute-unicodeBidi">tts:unicodeBidi</loc>,
+<loc href="#style-attribute-visibility">tts:visibility</loc>,
+<loc href="#style-attribute-wrapOption">tts:wrapOption</loc>,
+<loc href="#style-attribute-writingMode">tts:writingMode</loc>,
+<loc href="#style-attribute-zIndex">tts:zIndex</loc>
+</td>
+</tr>
+<tr>
+<td>
+Timing Attributes
+</td>
+<td>
+<loc href="#timing-attribute-begin">begin</loc>,
+<loc href="#timing-attribute-dur">dur</loc>,
+<loc href="#timing-attribute-end">end</loc>,
+<loc href="#timing-attribute-timeContainer">timeContainer</loc>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 <specref ref="attribute-vocab-table"/> above.
+</p>
+</note>
+<note role="explanation">
+<p>All vocabulary defined by TTML consistently makes use of
+the so-called <emph>lowerCamelCase</emph> 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>
+</note>
+</div3>
+<div3 id="extension-vocabulary-overview">
+<head>Extension Catalog</head>
+<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 TTML
+document instance may contain arbitrary namespace qualified
+elements that reside in any namespace other than those namespaces
+defined for use with this specification. Furthermore, a conforming TTML
+document instance 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>
+</div3>
+</div2>
+</div1>
+<div1 id="parameters">
+<head>Parameters</head>
+<p>This section specifies the <emph>parameters</emph> 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 processing context by means
+of which TTML content can be related to an external environment.</p>
+<div2 id="parameter-element-vocabulary">
+<head>Parameter Element Vocabulary</head>
+<p>The following elements, all defined in the TT Parameter
+Namespace, specify parametric information that applies to a document
+or a content processor:</p>
+<ulist>
+<item><p><specref ref="parameter-vocabulary-profile"/></p></item>
+<item><p><specref ref="parameter-vocabulary-features"/></p></item>
+<item><p><specref ref="parameter-vocabulary-feature"/></p></item>
+<item><p><specref ref="parameter-vocabulary-extensions"/></p></item>
+<item><p><specref ref="parameter-vocabulary-extension"/></p></item>
+</ulist>
+<div3 id="parameter-vocabulary-profile">
+<head>ttp:profile</head>
+<p>The <el>ttp:profile</el> 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 TTML content processor in order to process a TTML
+document that makes use (or may make use) of such features and
+extensions.</p>
+<note role="clarification">
+<p>The difference between a <emph>feature</emph> and an
+<emph>extension</emph> 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 <specref ref="features"/>, 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>
+</note>
+<p>This specification defines two distinct uses of the <el>ttp:profile</el> element:</p>
+<ulist>
+<item>
+<p>as a child of the <el>head</el> element within a TTML document
+instance;</p>
+</item>
+<item>
+<p>as the root element of a TTML Profile Definition document
+instance;</p>
+</item>
+</ulist>
+<p>When a <el>tt:profile</el> element appears within a TTML document
+instance, 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 document instance.</p>
+<p>When a <el>tt:profile</el> element is used by a TTML
+Profile Definition document instance, it serves to publish a machine
+readable specification of a specific TTML content profile, of which
+this specification defines four such Profile Definition Documents in
+<specref ref="profiles"/>.</p>
+<p>The <el>ttp:profile</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>ttp:features</el> elements, followed by
+zero or more <el>ttp:extensions</el> elements.</p>
+<table id="elt-syntax-parameter-profile" role="syntax">
+<caption>XML Representation – Element Information Item: ttp:profile</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:profile
+ use = string
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#parameter-vocabulary-features">ttp:features</loc>*, <loc href="#parameter-vocabulary-extensions">ttp:extensions</loc>*
+</ttp:profile>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, the <att>use</att> attribute must adhere to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17, and, furthermore, must denote a profile designator in
+accordance with <specref ref="vocabulary-profiles"/>. In this case,
+the profile designator must refer to (1) a standard, predefined
+TTML Profile Definition Document as defined by <specref ref="profiles"/>,
+or (2) a dereferenceable resource representing a valid TTML Profile Definition
+document instance. In either case, the referenced profile serves as the
+baseline profile of the specifying <el>ttp:profile</el> element.</p>
+<p>If the <att>use</att> attribute is not specified, then the baseline
+profile of the <el>ttp:profile</el> 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>
+<olist>
+<item>
+<p>initialize the features and extensions of the profile to the empty
+set;</p>
+</item>
+<item>
+<p>if a <att>use</att> attribute is present, then augment the profile
+with the set of features and extensions specified by the referenced
+baseline profile;</p>
+</item>
+<item>
+<p>for each <el>ttp:feature</el> and <el>ttp:extension</el> element
+descendant of the <el>ttp:profile</el> 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>
+</item>
+</olist>
+<p>A conformant TTML processor is not required to be able to
+dereference a TTML Profile Definition Document that is not one of the
+standard, predefined profiles defined by <specref ref="profiles"/>. 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 TTML
+Profile Definition Document, 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 TTML document instance due to the inability to
+reference a non-standard TTML Profile Definition Document, 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 <el>ttp:profile</el> element is illustrated by the following example.</p>
+<table id="parameter-vocabulary-profile-example-1" role="example">
+<caption>Example Fragment – ttp:profile</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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>
+</note>
+</div3>
+<div3 id="parameter-vocabulary-features">
+<head>ttp:features</head>
+<p>The <el>ttp:features</el> element is a container element used to group
+infomation about feature support requirements.</p>
+<p>The <el>ttp:features</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>ttp:feature</el> elements.</p>
+<table id="elt-syntax-parameter-features" role="syntax">
+<caption>XML Representation – Element Information Item: ttp:features</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:features
+ xml:base = string : <emph>TT Feature Namespace</emph>
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#parameter-vocabulary-feature">ttp:feature</loc>*
+</ttp:features>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, the <att>xml:base</att>
+attribute must (1) adhere to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17, (2) express an absolute URI that
+adheres to <bibref ref="xmlbase"/> and,
+(3) express a feature namespace as defined by
+<specref ref="feature-designations"/>. If not specified, the
+<att>xml:base</att> attribute's default
+value applies, which is the TT Feature Namespace.</p>
+<p>The <att>xml:base</att> attribute is
+used to permit the abbreviation of feature designation URIs expressed
+by child <el>ttp:feature</el> elements.</p>
+</div3>
+<div3 id="parameter-vocabulary-feature">
+<head>ttp:feature</head>
+<p>The <el>ttp:feature</el> element is used to specify
+infomation about support requirements for a particular feature.</p>
+<p>The children of the <el>ttp:feature</el> element must express a non-empty
+sequence of character information items that adheres to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17.</p>
+<table id="elt-syntax-parameter-feature" role="syntax">
+<caption>XML Representation – Element Information Item: ttp:feature</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:feature
+ value = (optional|required|use) : required
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttp:feature>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the URI expressed by the content of the <el>ttp:feature</el>
+element is a relative URI, then, when combined with the
+feature namespace value expressed by the
+<att>xml:base</att> attribute of the
+nearest ancestor <el>ttp:features</el> element, it must express an
+absolute URI. In either case (original absolute URI or resulting
+absolutized URI), the URI expressed by the <el>ttp:feature</el>
+element must further adhere to the syntax of a feature designation as
+defined by <specref ref="feature-designations"/>.</p> <p>If
+the URI expressed by the content of the <el>ttp:feature</el> element
+is a relative URI, then an <att>xml:base</att> attribute should be
+specified on the nearest ancestor <el>ttp:features</el> element.</p>
+<p>The <att>value</att> 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 <att>value</att> 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 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) enable (activate) use of the
+feature.</p>
+
+<note role="clarification">
+<p>The default value of the <att>value</att> attribute is
+<code>required</code>, as indicated in the above element information
+item definition. Therefore, if a <att>value</att> attribute is not
+specified on a <el>ttp:feature</el> element, it is equivalent to
+specifying that support for the feature is required.</p>
+</note>
+<p>If the value of the <att>value</att> attribute is
+<code>required</code> or <code>use</code>,
+and if the TTML processor implementation does
+not support the 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 TTML document instance 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 <att>value</att> 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>The <el>ttp:feature</el> element is illustrated by the following example.</p>
+<table id="parameter-vocabulary-feature-example-1" role="example">
+<caption>Example Fragment – ttp:feature</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-presentation">
+ <ttp:features xml:base="http://www.w3.org/ns/ttml/feature/">
+ <phrase role="strong"><ttp:feature value="required">#fontStyle-italic</ttp:feature></phrase>
+ <phrase role="strong"><ttp:feature value="required">#textDecoration-under</ttp:feature></phrase>
+ </ttp:features>
+</ttp:profile>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the DFXP presentation profile is used as the
+baseline profile. This baseline profile is then modified by two
+<el>ttp:feature</el> 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).
+<!-- removed text:
+Note that
+the explicit specification of <code>required</code> on the
+<att>value</att> attribute on these two
+<el>ttp:feature</el> elements is not strictly
+necessary, since it is the default value of this
+attribute.--></p>
+<p>The effect of this example is to express authorial intentions that
+italic font style and text underlining must be
+supported.</p>
+</note>
+</div3>
+<div3 id="parameter-vocabulary-extensions">
+<head>ttp:extensions</head>
+<p>The <el>ttp:extensions</el> element is a container element used to group
+infomation about extension support requirements.</p>
+<p>The <el>ttp:extensions</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>ttp:extension</el> elements.</p>
+<table id="elt-syntax-parameter-extensions" role="syntax">
+<caption>XML Representation – Element Information Item: ttp:extensions</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:extensions
+ xml:base = string : <emph>TT Extension Namespace</emph>
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#parameter-vocabulary-extension">ttp:extension</loc>*
+</ttp:extensions>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, the <att>xml:base</att>
+attribute must (1) adhere to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17, (2) express an absolute URI that
+adheres to <bibref ref="xmlbase"/> and,
+(3) express an extension namespace as defined by
+<specref ref="extension-designations"/>. If not specified, the
+<att>xml:base</att> attribute's default
+value applies, which is the TT Extension Namespace.</p>
+<p>The <att>xml:base</att> attribute is
+used to permit the abbreviation of feature designation URIs expressed
+by child <el>ttp:extension</el> elements.</p>
+</div3>
+<div3 id="parameter-vocabulary-extension">
+<head>ttp:extension</head>
+<p>The <el>ttp:extension</el> element is used to specify
+infomation about support requirements for a particular extension.</p>
+<p>The children of the <el>ttp:extension</el> element must express a non-empty
+sequence of character information items that adheres to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17.</p>
+<table id="elt-syntax-parameter-extension" role="syntax">
+<caption>XML Representation – Element Information Item: ttp:extension</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:extension
+ value = (optional|required|use) : required
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttp:extension>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the URI expressed by the content of the <el>ttp:extension</el>
+element is a relative URI, then, when combined with the
+extension namespace value expressed by the
+<att>xml:base</att> attribute of the
+nearest ancestor <el>ttp:extensions</el> element, it must express an
+absolute URI. In either case (original absolute URI or resulting
+absolutized URI), the URI expressed by the <el>ttp:extension</el>
+element must further adhere to the syntax of an extension designation
+as defined by <specref ref="extension-designations"/>.</p>
+<p>If the URI expressed by the content of the
+<el>ttp:feature</el> element is a relative URI, then an
+<att>xml:base</att> attribute should be specified on the nearest
+ancestor <el>ttp:extensions</el> element.</p>
+<p>The <att>value</att> 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 <att>value</att> 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>
+<note role="clarification">
+<p>The default value of the <att>value</att> attribute is
+<code>required</code>, as indicated in the above element information
+item definition. Therefore, if a <att>value</att> attribute is not
+specified on a <el>ttp:extension</el> element, it is equivalent to
+specifying that support for the extension is required.</p>
+</note>
+<p>If the value of the <att>value</att> attribute is
+<code>required</code> or <code>use</code>,
+and if the TTML processor implementation does not support the
+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 TTML document instance 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 <att>value</att> 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>The <el>ttp:extension</el> element is illustrated by the following example.</p>
+<table id="parameter-vocabulary-extension-example-1" role="example">
+<caption>Example Fragment – ttp:extension</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttp:profile use="http://www.w3.org/ns/ttml/profile/dfxp-transformation">
+ <ttp:extensions xml:base="http://foo.bar.example.org/ttaf1/extension/">
+ <phrase role="strong"><ttp:extension value="use">#prefilter-by-language</ttp:extension></phrase>
+ </ttp:extensions>
+</ttp:profile>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 use an extension defined by a third party.</p>
+</note>
+</div3>
+</div2>
+<div2 id="parameter-attribute-vocabulary">
+<head>Parameter Attribute Vocabulary</head>
+<p>The following attributes are defined in the TT Parameter Namespace.</p>
+<ulist>
+<item><p><specref ref="parameter-attribute-cellResolution"/></p></item>
+<item><p><specref ref="parameter-attribute-clockMode"/></p></item>
+<item><p><specref ref="parameter-attribute-dropMode"/></p></item>
+<item><p><specref ref="parameter-attribute-frameRate"/></p></item>
+<item><p><specref ref="parameter-attribute-frameRateMultiplier"/></p></item>
+<item><p><specref ref="parameter-attribute-markerMode"/></p></item>
+<item><p><specref ref="parameter-attribute-pixelAspectRatio"/></p></item>
+<item><p><specref ref="parameter-attribute-profile"/></p></item>
+<item><p><specref ref="parameter-attribute-subFrameRate"/></p></item>
+<item><p><specref ref="parameter-attribute-tickRate"/></p></item>
+<item><p><specref ref="parameter-attribute-timeBase"/></p></item>
+</ulist>
+<p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT Parameter.</p>
+<div3 id="parameter-attribute-cellResolution">
+<head>ttp:cellResolution</head>
+<p>The <att>ttp:cellResolution</att> attribute may be used by an author
+to express the number of horizontal and vertical cells into which the root container region
+area is divided for the purpose of expressing presentation semantics in terms of
+a uniform grid.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-cellResolution-syntax" role="syntax">
+<caption>Syntax Representation – ttp:cellResolution</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:cellResolution
+ : columns rows // <emph>columns</emph> != 0; <emph>rows</emph> != 0
+
+columns | rows
+ : <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</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>
+<note role="motivation">
+<p>The choice of values 32 and 15 are based on this being the
+maximum number of columns and rows defined by <bibref
+ref="cea608c"/>.</p>
+</note>
+<p>A <att>ttp:cellResolution</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<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>
+</note>
+</div3>
+<div3 id="parameter-attribute-clockMode">
+<head>ttp:clockMode</head>
+<p>The <att>ttp:clockMode</att> 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 <specref
+ref="parameter-attribute-timeBase"/>.</p>
+<note role="explanation">
+<p>See <specref ref="timing-time-value-expressions"/> for the
+specification of time expression syntax.</p>
+</note>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-clockMode-syntax" role="syntax">
+<caption>Syntax Representation – ttp:clockMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:clockMode
+ : "local"
+ | "gps"
+ | "utc"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, 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
+<bibref ref="utc"/>;
+if <code>gps</code>, then time expressions are
+interpreted as GPS time coordinates
+<bibref ref="gps"/>.</p>
+<note role="explanation">
+<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 (<emph>Temp Atomique International</emph>) + <emph>leap seconds
+accumulated since 1972</emph>. TAI is maintained by the <emph>Bureau
+International des Poids et Mesures</emph> (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>
+</note>
+<p>If not specified, the value of this parameter must be considered
+to be <code>utc</code>.</p>
+<p>A <att>ttp:clockMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-dropMode">
+<head>ttp:dropMode</head>
+<p>The <att>ttp:dropMode</att> attribute is used to specify
+constraints on the interpretation and use of frame counts
+that correspond with <bibref ref="smpte12m"/> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<specref ref="parameter-attribute-timeBase"/>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-dropMode-syntax" role="syntax">
+<caption>Syntax Representation – ttp:dropMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:dropMode
+ : "dropNTSC"
+ | "dropPAL"
+ | "nonDrop"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, 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
+<emph>N−1</emph>, where <emph>N</emph> is the value specified by
+the <att>ttp:frameRate</att> parameter, but while ignoring any value
+specified by the <att>ttp:frameRateMultiplier</att> parameter.</p>
+<note role="clarification"> <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
+<att>ttp:frameRateMultiplier</att> 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></note>
+<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 <emph>N−1</emph>, where <emph>N</emph> is
+the value specified by the <att>ttp:frameRate</att> parameter, but
+while ignoring any value specified by the
+<att>ttp:frameRateMultiplier</att> 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>
+<note role="example"> <p>For example, when operating in <code>dropNTSC</code>
+mode with <att>ttp:frameRate</att> 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></note>
+<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 <emph>N−1</emph>, where <emph>N</emph> is
+the value specified by the <att>ttp:frameRate</att> parameter, but
+while ignoring any value specified by the
+<att>ttp:frameRateMultiplier</att> 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>
+<note role="example"><p>For example, when operating in <code>dropPAL</code>
+mode with <att>ttp:frameRate</att> 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:04</code>.</p></note>
+<note role="explanation">
+<p>The <code>dropPAL</code> mode is also known as the
+<emph>M/PAL</emph> or <emph>PAL (M)</emph> 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>
+</note>
+<p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p>
+<p>A <att>ttp:dropMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-frameRate">
+<head>ttp:frameRate</head>
+<p>The <att>ttp:frameRate</att> attribute is used to specify the frame rate of a related
+media object or the intrinsic frame rate of a document instance 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>
+<table id="parameter-attribute-frameRate-syntax" role="syntax">
+<caption>Syntax Representation – ttp:frameRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:frameRate
+ : <loc href="#style-value-digit"><digit></loc>+ // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The frame rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>frames</emph>
+as defined by <specref ref="timing-value-timeExpression"/>.</p>
+<p>A frame is interpreted as a division of a second of media
+time, such that if the frame rate is specified as <emph>F</emph>, then
+a second of media time is divided into <emph>F</emph> intervals of
+equal duration, where each interval is labeled as frame <emph>f</emph>,
+with <emph>f</emph> ∈ [0…<emph>F−1</emph>].</p>
+<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 <att>ttp:frameRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-frameRateMultiplier">
+<head>ttp:frameRateMultiplier</head>
+<p>The <att>ttp:frameRateMultiplier</att> attribute is used to
+specify a multiplier to be applied to the frame rate specified by a
+<att>ttp:frameRate</att> 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>
+<table id="parameter-attribute-frameRateMultiplier-syntax" role="syntax">
+<caption>Syntax Representation – ttp:frameRateMultiplier</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:frameRateMultiplier
+ : numerator denominator // <emph>numerator</emph> != 0; <emph>denominator</emph> != 0
+
+numerator | denominator
+ : <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</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 <att>ttp:frameRateMultiplier</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="example">
+<p>The frame rate multiplier used for synchronizing with NTSC <bibref
+ref="smpte170m"/>
+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 &mult; 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 &mult; 1000/1001) frames per
+second. Other frame rate multipliers apply to different regions of
+usage and video format standards.</p>
+</note>
+<note role="example">
+<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>
+</note>
+</div3>
+<div3 id="parameter-attribute-markerMode">
+<head>ttp:markerMode</head>
+<p>The <att>ttp:markerMode</att> attribute is used to specify
+constraints on the interpretation and use of time expressions
+that correspond with <bibref ref="smpte12m"/> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<specref ref="parameter-attribute-timeBase"/>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-markerMode-syntax" role="syntax">
+<caption>Syntax Representation – ttp:markerMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:markerMode
+ : "continuous"
+ | "discontinuous"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, is designated as
+<code>smpte</code>, then this parameter applies as follows: if the
+parameter's value is <code>continuous</code>, then <bibref ref="smpte12m"/> 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>continuous</code>.</p>
+<p>A <att>ttp:markerMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<p>If a value of <code>discontinuous</code> applies, then time
+expressions must not be converted to either media time or real time
+coordinates, arithmetical operators (addition, multiplication) are not
+defined on time expressions, and, consequently, any expression of a
+duration must be considered to be invalid.</p>
+<note role="explanation">
+<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 some external synchronization
+context 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>
+</note>
+<note role="explanation">
+<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 <att>ttp:dropMode</att> parameter. In particular,
+even if the <att>ttp:dropMode</att> 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>
+</note>
+</div3>
+<div3 id="parameter-attribute-pixelAspectRatio">
+<head>ttp:pixelAspectRatio</head>
+<p>The <att>ttp:pixelAspectRatio</att> 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>
+<table id="parameter-attribute-pixelAspectRatio-syntax" role="syntax">
+<caption>Syntax Representation – ttp:pixelAspectRatio</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:pixelAspectRatio
+ : width height // <emph>width</emph> != 0; <emph>height</emph> != 0
+
+width | height
+ : <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</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 <att>ttp:pixelAspectRatio</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<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>
+</note>
+</div3>
+<div3 id="parameter-attribute-profile">
+<head>ttp:profile</head>
+<p>The <att>ttp:profile</att> attribute may be used by a content author
+to express the profile of the Timed Text Markup Language (TTML) used
+in a document instance.</p>
+<p>If specified, the value of this attribute must adhere to the
+<code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>,
+§3.2.17, and, further, must specify a
+profile designator in accordance with
+<specref ref="vocabulary-profiles"/>.</p>
+<p>A <att>ttp:profile</att>
+attribute is considered to be significant only when specified on the
+<el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-subFrameRate">
+<head>ttp:subFrameRate</head>
+<p>The <att>ttp:subFrameRate</att> attribute is used to specify the sub-frame rate of a related
+media object or the intrinsic sub-frame rate of a document instance 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>
+<table id="parameter-attribute-subFrameRate-syntax" role="syntax">
+<caption>Syntax Representation – ttp:subFrameRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:subFrameRate
+ : <loc href="#style-value-digit"><digit></loc>+ // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The sub-frame rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>sub-frames</emph>
+as defined by <specref ref="timing-value-timeExpression"/>.</p>
+<p>A sub-frame is interpreted as a division of a frame of media
+time, such that if the sub-frame rate is specified as <emph>S</emph>, then
+a frame of media time is divided into <emph>S</emph> intervals of
+equal duration, where each interval is labeled as sub-frame <emph>s</emph>,
+with <emph>s</emph> ∈ [0…<emph>S−1</emph>].</p>
+<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 <att>ttp:subFrameRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="clarification">
+<p>The sub-frame is sometimes referred to as a <emph>field</emph> in
+the context of synchronization with an interlaced video media object.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-tickRate">
+<head>ttp:tickRate</head>
+<p>The <att>ttp:tickRate</att> attribute is used to specify the tick rate of a related
+media object or the intrinsic tick rate of content of a document instance 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>
+<table id="parameter-attribute-tickRate-syntax" role="syntax">
+<caption>Syntax Representation – ttp:tickRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:tickRate
+ : <loc href="#style-value-digit"><digit></loc>+ // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The tick rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>ticks</emph> by
+using the <code>t</code> metric as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<p>A tick is interpreted as an integral division of a second of media
+time, such that if the tick rate is specified as <emph>T</emph>, then
+a second of media time is divided into <emph>T</emph> intervals of
+equal duration, where each interval is labeled as tick <emph>t</emph>,
+with <emph>t</emph> ∈ [0…<emph>T−1</emph>].</p>
+<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>
+<note role="clarification">
+<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>
+</note>
+<p>A <att>ttp:tickRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-timeBase">
+<head>ttp:timeBase</head>
+<p>The <att>ttp:timeBase</att> attribute is used to specify the
+temporal coordinate system by means of which time expressions are
+interpreted in a document instance.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-timeBase-syntax" role="syntax">
+<caption>Syntax Representation – ttp:timeBase</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:timeBase
+ : "media"
+ | "smpte"
+ | "clock"
+</eg>
+</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 document instance is to be synchronized, or it may
+be the content of a document instance itself in a case where
+the timed text content is intended to establish an independent time
+line.</p>
+<note role="explanation">
+<p>When using a media time base, if that time base is paused or
+scaled positively or negatively, 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>
+</note>
+<p>If the time base is designated as <code>smpte</code>,
+then a time expression denotes a <bibref ref="smpte12m"/> time
+coordinate with which the content of a document instance is to
+be synchronized. In this case, the value of the <att>ttp:markerMode</att>
+and <att>ttp:dropMode</att> parameters apply, as defined by <specref
+ref="parameter-attribute-markerMode"/> and <specref
+ref="parameter-attribute-dropMode"/>, respectively.</p>
+<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 <att>ttp:timeBase</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<p>When operating with either <code>media</code> or <code>smpte</code>
+time bases, a diachronic presentation of a document instance 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>
+<note role="example">
+<p>Due to there being only one time base parameter that applies to a
+given document instance, the interpretation of time expressions
+is uniform throughout the document instance.</p>
+</note>
+<p>When operating with the <code>clock</code> time base,
+the expression <emph>media time</emph> as used in this specification is
+to be interpreted as the real-time clock selected by
+<specref ref="parameter-attribute-clockMode"/>.</p>
+</div3>
+</div2>
+</div1>
+<div1 id="content">
+<head>Content</head>
+<p>This section specifies the <emph>content</emph> matter of the core
+vocabulary catalog.</p>
+<div2 id="content-element-vocabulary">
+<head>Content Element Vocabulary</head>
+<p>The following elements specify the structure and principal content aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="document-structure-vocabulary-tt"/></p></item>
+<item><p><specref ref="document-structure-vocabulary-head"/></p></item>
+<item><p><specref ref="document-structure-vocabulary-body"/></p></item>
+<item><p><specref ref="content-vocabulary-div"/></p></item>
+<item><p><specref ref="content-vocabulary-p"/></p></item>
+<item><p><specref ref="content-vocabulary-span"/></p></item>
+<item><p><specref ref="content-vocabulary-br"/></p></item>
+</ulist>
+<div3 id="document-structure-vocabulary-tt">
+<head>tt</head>
+<p>The <el>tt</el> element serves as the root document element of a document
+instance.</p>
+<p>The <el>tt</el> element accepts as its children zero or one <el>head</el> element followed by
+zero or one <el>body</el> element.</p>
+<table id="elt-syntax-tt" role="syntax">
+<caption>XML Representation – Element Information Item: tt</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<tt
+ <loc href="#style-attribute-extent">tts:extent</loc> = string
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang"><phrase role="reqattr">xml:lang</phrase></loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>) : default
+ {<emph>any attribute in TT Parameter namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#document-structure-vocabulary-head">head</loc>?, <loc href="#document-structure-vocabulary-body">body</loc>?
+</tt>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The temporal beginning and ending of a document instance represented by a
+<el>tt</el> element is defined in relationship with some external
+application or presentation context. The temporal interval defined by
+these points is referred to subsequently as the <emph>external time interval</emph>.
+</p>
+<p>A document instance has an implicit duration that is equal to the
+implicit duration of the <el>body</el> element of the document, if present, or zero,
+if not present.</p>
+<p>If the <att>tts:extent</att> attribute is specified on the <el>tt</el>
+element, then it must adhere to <specref ref="style-attribute-extent"/>, in which case it
+specifies the spatial extent of the root container region in
+which content regions are located and presented. If no <att>tts:extent</att>
+attribute is specified, then the spatial extent of the root container region is
+considered to be determined by the external authoring or presentation
+context. The root container origin is determined by the external
+authoring context.</p>
+<p>An <att>xml:lang</att> attribute must be specified on the <el>tt</el> element.
+If the attribute value is empty, it signifies that there is no default language that applies
+to the text contained within the document instance.</p>
+<p>If no <att>xml:space</att> attribute is specified upon the <el>tt</el> element, then it must
+be considered as if the attribute had been specified with a value of <code>default</code>.</p>
+</div3>
+<div3 id="document-structure-vocabulary-head">
+<head>head</head>
+<p>The <el>head</el> element is a container element used to group
+header matter, including metadata,
+profile, styling, and layout information.</p>
+<p>The <el>head</el> 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 <el>styling</el> element,
+followed by zero or one <el>layout</el> element.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the document instance as a
+whole, and not just the <el>head</el> element.</p>
+<p>Any parameters specified by children in the <code>Parameters.class</code>
+element group applies semantically to the document instance as a
+whole, and not just the <el>head</el> element.</p>
+<p>A <el>styling</el> 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 <el>layout</el> child element is used to specify layout constructs that
+are referenced by content elements.</p>
+<table id="elt-syntax-head" role="syntax">
+<caption>XML Representation – Element Information Item: head</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<head
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Parameters.class</loc>*, <loc href="#styling-vocabulary-styling">styling</loc>?, <loc href="#layout-vocabulary-layout">layout</loc>?
+</head>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>head</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="document-structure-vocabulary-body">
+<head>body</head>
+<p>The <el>body</el> 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 <el>body</el> 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 <el>div</el> elements.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>body</el> 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 <el>body</el> element.</p>
+<table id="elt-syntax-body" role="syntax">
+<caption>XML Representation – Element Information Item: body</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<body
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#layout-attribute-region">region</loc> = IDREF
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*, <loc href="#content-vocabulary-div">div</loc>*
+</body>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>An author may specify a temporal interval for a <el>body</el> element using
+the <att>begin</att>, <att>dur</att>, and <att>end</att> attributes. If the begin point
+of this interval remains unspecified, then the begin point is interpreted as the begin
+point of the external time interval. Similarly, if the end point of this interval remains unspecified, then the
+end point is interpreted as the end point of the external time interval.</p>
+<note role="explanation">
+<p>A TTML document instance referenced from a SMIL presentation
+is expected to follow the same timing rules as apply to other SMIL media
+objects.</p>
+</note>
+<p>If relative begin or end times are specified on the <el>body</el>
+element, then these times are resolved by reference to the begin and
+end time of the external time interval.</p>
+<p>If the external time interval is shorter than the computed duration of the
+<el>body</el> element, then the active time interval of a document instance is
+truncated to the active end point of the external time interval.</p>
+<p>An author may associate a set of style properties with a
+<el>body</el> element by means of either the <att>style</att>
+attribute or inline style attributes or a combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated with a <el>body</el> element
+in a document instance are available for style inheritance by
+descendant content elements such as <el>div</el>, <el>p</el>,
+<el>span</el>
+and <el>br</el>.</p>
+</note>
+<p>If no <att>timeContainer</att> attribute is specified on a
+<el>body</el> element, then it must be interpreted as having
+<emph>parallel</emph>
+time containment semantics.</p>
+</div3>
+<div3 id="content-vocabulary-div">
+<head>div</head>
+<p>The <el>div</el> 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>
+<note role="explanation">
+<p>When rendered on a continuous (non-paged) visual presentation medium,
+a <el>div</el> element is expected to generate
+one or more block
+areas
+that contain zero or more child block areas
+generated by the <el>div</el> element's
+descendant
+<el>p</el> elements.
+</p>
+<p>If some
+block area generated by a <el>div</el> element does
+not contain any child areas, then it is not expected to be presented.</p>
+</note>
+<p>The <el>div</el> 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
+<el>div</el> or
+<el>p</el> elements.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>div</el> 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 <el>div</el> element.</p>
+<table id="elt-syntax-div" role="syntax">
+<caption>XML Representation – Element Information Item: div</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<div
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#layout-attribute-region">region</loc> = IDREF
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc
+ href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+ href="#element-vocab-group-table">Animation.class</loc>*, <loc
+ href="#element-vocab-group-table">Block.class</loc>*
+</div>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>An author may associate a set of style properties with a <el>div</el> element by means of either
+the <att>style</att> attribute or inline style attributes or a combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated
+with
+a <el>div</el> element in a document instance
+are available for style inheritance by descendant content elements such as
+<el>div</el>,
+<el>p</el>,
+<el>span</el>, and
+<el>br</el>.</p>
+</note>
+<p>If no <att>timeContainer</att> attribute is specified on
+a <el>div</el> element, then it must be interpreted as having
+<emph>parallel</emph> time containment semantics.</p>
+</div3>
+<div3 id="content-vocabulary-p">
+<head>p</head>
+<p>A <el>p</el> element represents a logical paragraph, serving as
+a transition between block level and inline level formatting semantics.</p>
+<p>The <el>p</el> 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>span</code> element,
+<code>br</code> element,
+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 <el>p</el> 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 <el>p</el> element.</p>
+<table id="elt-syntax-p" role="syntax">
+<caption>XML Representation – Element Information Item: p</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<p
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#layout-attribute-region">region</loc> = IDREF
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc
+ href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+ href="#element-vocab-group-table">Animation.class</loc>*, <loc
+ href="#element-vocab-group-table">Inline.class</loc>*
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>An author may associate a set of style properties with a
+<el>p</el> element by means of either the <att>style</att>
+attribute or inline style attributes or a combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated with a <el>p</el> element
+in a document instance are available for style inheritance by
+descendant content elements such as <el>span</el> and
+<el>br</el>.</p>
+</note>
+<p>If no <att>timeContainer</att> attribute is specified on
+a <el>p</el> element, then it must be interpreted as having
+<emph>parallel</emph> time containment semantics.</p>
+<p>If a sequence of children of a <el>p</el> element
+consists solely of character information items, then that sequence must
+be considered to be an <emph>anonymous span</emph> for the purpose of
+applying style properties that apply to <el>span</el> elements.</p>
+</div3>
+<div3 id="content-vocabulary-span">
+<head>span</head>
+<p>The <el>span</el> 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 <el>span</el> element is intended to
+generate a sequence of inline areas, each containing one or more glyph areas.</p>
+<p>The <el>span</el> 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
+<el>span</el> elements,
+<el>br</el> 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 <el>span</el> 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 <el>span</el> element.</p>
+<table id="elt-syntax-span" role="syntax">
+<caption>XML Representation – Element Information Item: span</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<span
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#layout-attribute-region">region</loc> = IDREF
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc
+ href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+ href="#element-vocab-group-table">Animation.class</loc>*, <loc
+ href="#element-vocab-group-table">Inline.class</loc>*
+</span>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>An author may associate a set of style properties with a
+<el>span</el> element by means of either the <att>style</att>
+attribute or inline style attributes or a combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated with a <el>span</el> element
+in a document instance are available for style inheritance by
+descendant content elements such as <el>span</el> and
+<el>br</el>.</p>
+</note>
+<p>If no <att>timeContainer</att> attribute is specified on
+a <el>span</el> element, then it must be interpreted as having
+<emph>parallel</emph> time containment semantics.</p>
+</div3>
+<div3 id="content-vocabulary-br">
+<head>br</head>
+<p>The <el>br</el> element denotes an explicit line break.</p>
+<table id="elt-syntax-br" role="syntax">
+<caption>XML Representation – Element Information Item: br</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<br
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*
+</br>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>When presented on a visual medium, the presence of a <el>br</el> element must be
+interpreted as a forced line break.</p>
+<note>
+<p>The visual presentation of a <el>br</el> element is
+intended to produce the same effect as the ASCII control code
+<code>CR</code>
+followed by the control code <code>NL</code> when presented on a teletype device.
+Therefore, two <el>br</el> elements in sequence will produce a
+different effect than a single <el>br</el> element.</p>
+</note>
+</div3>
+</div2>
+<div2 id="content-attribute-vocabulary">
+<head>Content Attribute Vocabulary</head>
+<p>This section defines the following common attributes used with many or all element types
+in the core vocabulary catalog:</p>
+<ulist>
+<item><p><specref ref="content-attribute-id"/></p></item>
+<item><p><specref ref="content-attribute-lang"/></p></item>
+<item><p><specref ref="content-attribute-space"/></p></item>
+</ulist>
+<div3 id="content-attribute-id">
+<head>xml:id</head>
+<p>The <att>xml:id</att> attribute is used as defined by
+<bibref ref="xmlid"/>.</p>
+<p>The <att>xml:id</att> attribute may be used with any element in the
+core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-lang">
+<head>xml:lang</head>
+<p>The <att>xml:lang</att> attribute is used as defined by
+<bibref ref="xml10"/>, §2.12, <emph>Language Identification</emph>.</p>
+<p>The <att>xml:lang</att> attribute must be specified on the <el>tt</el>
+element and may be specified by an instance of any other element type
+in the core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-space">
+<head>xml:space</head>
+<p>The <att>xml:space</att> attribute is used as defined by
+<bibref ref="xml10"/>, §2.10, <emph>White Space Handling</emph>.</p>
+<p>The <att>xml:space</att> attribute may be used with any element in
+the core vocabulary catalog.</p>
+<!-- OLD DEFINITION
+<p>The semantics of the value <code>default</code> are fixed to mean that
+white space that appears in element content as defined by <bibref
+ref="xml10"/>, §3.2.1, must be normalized at the
+application layer during subsequent processing, such as presentation or
+transformation processing, as follows:</p>
+<olist>
+<item><p>replace each TAB character (<code>&#x0009;</code>) and NEWLINE character (<code>&#x000A;</code>) with a SPACE
+character (<code>&#x0020;</code>);</p></item>
+<item><p>replace each sequence of two or more SPACE characters with a
+single SPACE character;</p></item>
+<item><p>for every maximum sequence of sibling character information
+items, if there is a leading or trailing SPACE character in the
+sequence, then remove the character.</p></item>
+</olist>
+-->
+<!-- NEW DEFINITION -->
+<p>The semantics of the value <code>default</code> are fixed to mean that
+when performing presentation processing of a document instance as
+described by <specref ref="semantics-region-layout-step-2"/>,
+processing must occur as
+if the following properties were specified on the affected
+<!-- changed for future CSS compatibility
+elements of the intermediate XSL-FO document:</p>
+-->
+elements of an equivalent intermediate XSL-FO document:</p>
+<ulist>
+<item>
+<p><code>suppress-at-line-break="auto"</code></p>
+</item>
+<item>
+<p><code>linefeed-treatment="treat-as-space"</code></p>
+</item>
+<item>
+<p><code>white-space-collapse="true"</code></p>
+</item>
+<item>
+<p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
+</item>
+</ulist>
+<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
+<!-- changed for future CSS compatibility
+elements of the intermediate XSL-FO document:</p>
+-->
+elements of an equivalent intermediate XSL-FO document:
+</p>
+<ulist>
+<item>
+<p><code>suppress-at-line-break="retain"</code></p>
+</item>
+<item>
+<p><code>linefeed-treatment="preserve"</code></p>
+</item>
+<item>
+<p><code>white-space-collapse="false"</code></p>
+</item>
+<item>
+<p><code>white-space-treatment="preserve"</code></p>
+</item>
+</ulist>
+<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 <att>xml:space</att> attribute
+is processor dependent, but should respect the semantics described
+above if possible.</p>
+</div3>
+</div2>
+</div1>
+<div1 id="styling">
+<head>Styling</head>
+<p>This section specifies the <emph>styling</emph> 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>
+ <!-- added for future CSS compatibility -->
+ <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 TTML documents 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 <bibref ref="xsl11"/>. The intended effect of the attributes in this section
+ are to be compatible with the layout model of XSL. Presentation agents may however
+ use any technology to satisfy the authorial intent of the document. In particular
+ since <bibref ref="css2"/> is a subset of this model, a CSS processor may be used
+ for the features that the models have in common.
+ </p>
+ <!-- end addition -->
+ <p>No normative use of an
+<code><?xml-stylesheet ... ?></code> processing instruction is defined
+by this specification.</p>
+<div2 id="styling-element-vocabulary">
+<head>Styling Element Vocabulary</head>
+<p>The following elements specify the structure and principal styling aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="styling-vocabulary-styling"/></p></item>
+<item><p><specref ref="styling-vocabulary-style"/></p></item>
+</ulist>
+<div3 id="styling-vocabulary-styling">
+<head>styling</head>
+<p>The <el>styling</el> element is a container element used to group
+styling matter, including metadata that applies to styling matter.</p>
+<p>The <el>styling</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>style</el> elements.</p>
+<table id="elt-syntax-styling" role="syntax">
+<caption>XML Representation – Element Information Item: styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<styling
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
+</styling>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>styling</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="styling-vocabulary-style">
+<head>style</head>
+<p>The <el>style</el> element is used to define
+a set of style specifications expressed as a
+specified style set in accordance with
+<specref ref="semantics-style-resolution-processing-sss"/>.</p>
+<p>The <el>style</el> element accepts as its children zero or more <el>metadata</el> elements.</p>
+<table id="elt-syntax-style" role="syntax">
+<caption>XML Representation – Element Information Item: style</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<style
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <!-- change for future CSS compatibility
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+ -->
+ <emph>Content:</emph> EMPTY
+</style>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If a <el>style</el> element appears as a descendant of a
+<el>region</el> element, then the <el>style</el> element must be
+ignored for the purpose of computing referential styles as defined by
+<specref ref="semantics-style-association-referential"/> and <specref
+ref="semantics-style-association-chained-referential"/>.</p>
+<note role="explanation">
+<p>That is to say, when referential styling is used by an element to
+refer to a <el>style</el> element, then the referenced <el>style</el>
+element must appear as a descendant of the <el>styling</el> element, and
+not in any other context.</p>
+</note>
+</div3>
+</div2>
+<div2 id="styling-attribute-vocabulary">
+<head>Styling Attribute Vocabulary</head>
+<p>This section defines the <specref ref="style-attribute-style"/> 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>
+<ulist>
+<item><p><specref ref="style-attribute-backgroundColor"/></p></item>
+<item><p><specref ref="style-attribute-color"/></p></item>
+<item><p><specref ref="style-attribute-direction"/></p></item>
+<item><p><specref ref="style-attribute-display"/></p></item>
+<item><p><specref ref="style-attribute-displayAlign"/></p></item>
+<item><p><specref ref="style-attribute-extent"/></p></item>
+<item><p><specref ref="style-attribute-fontFamily"/></p></item>
+<item><p><specref ref="style-attribute-fontSize"/></p></item>
+<item><p><specref ref="style-attribute-fontStyle"/></p></item>
+<item><p><specref ref="style-attribute-fontWeight"/></p></item>
+<item><p><specref ref="style-attribute-lineHeight"/></p></item>
+<item><p><specref ref="style-attribute-opacity"/></p></item>
+<item><p><specref ref="style-attribute-origin"/></p></item>
+<item><p><specref ref="style-attribute-overflow"/></p></item>
+<item><p><specref ref="style-attribute-padding"/></p></item>
+<item><p><specref ref="style-attribute-showBackground"/></p></item>
+<item><p><specref ref="style-attribute-textAlign"/></p></item>
+<item><p><specref ref="style-attribute-textDecoration"/></p></item>
+<item><p><specref ref="style-attribute-textOutline"/></p></item>
+<item><p><specref ref="style-attribute-unicodeBidi"/></p></item>
+<item><p><specref ref="style-attribute-visibility"/></p></item>
+<item><p><specref ref="style-attribute-wrapOption"/></p></item>
+<item><p><specref ref="style-attribute-writingMode"/></p></item>
+<item><p><specref ref="style-attribute-zIndex"/></p></item>
+</ulist>
+<p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT
+Style or TT Style Extension
+Property.</p>
+<note role="explanation">
+<p>This specification makes use of <emph>lowerCamelCased</emph> local
+names for style attributes that
+are based upon like-named properties defined by <bibref ref="xsl11"/>.
+This convention is likewise extended to token values of such
+properties.</p>
+</note>
+<note role="clarification">
+<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>
+</note>
+<div3 id="style-attribute-style">
+<head>style</head>
+<p>The <att>style</att> attribute is used
+by referential style association
+to reference one or more <el>style</el>
+elements each of which define a
+specified
+style set.</p>
+<p>The <att>style</att> attribute may be specified by an instance of the following
+element types:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#layout-vocabulary-region"><el>region</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+<item><p><loc href="#styling-vocabulary-style"><el>style</el></loc></p></item>
+</ulist>
+<note role="usage">
+<p>See the specific element type definitions that permit use of the
+<att>style</att> attribute, as well as <specref
+ref="semantics-style-association-referential"/> and <specref
+ref="semantics-style-association-chained-referential"/>, for
+further information on its semantics.</p>
+</note>
+</div3>
+<div3 id="style-attribute-backgroundColor">
+<head>tts:backgroundColor</head>
+<p>The <att>tts:backgroundColor</att> 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>
+<table id="style-property-details-backgroundColor" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-color"><color></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>transparent</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>The <att>tts:backgroundColor</att> style is illustrated by the following example.</p>
+<table id="style-attribute-backgroundColor-example-1" role="example">
+<caption>Example Fragment – Background Color</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:extent="306px 114px"/>
+ <style <phrase role="strong">tts:backgroundColor="red"</phrase>/>
+ <style tts:color="white"/>
+ <style tts:displayAlign="after"/>
+ <style tts:padding="3px 40px"/>
+</region>
+...
+<p region="r1" <phrase role="strong">tts:backgroundColor="purple"</phrase> tts:textAlign="center">
+ Twinkle, twinkle, little bat!<br/>
+ How <span <phrase role="strong">tts:backgroundColor="green"</phrase>>I wonder</span> where you're at!
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-backgroundColor-example-1-images" role="example-images">
+<caption>Example Rendition – Background Color</caption>
+<tbody>
+<tr>
+<td><graphic source="images/backgroundColor.png" alt="TTML backgroundColor style property"/></td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property represented by this attribute are based upon
+that defined by <bibref ref="xsl11"/>, § 7.8.2.</p>
+</note> -->
+
+</div3>
+<div3 id="style-attribute-color">
+<head>tts:color</head>
+<p>The <att>tts:color</att> 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>
+<table id="style-property-details-color" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-color"><color></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>see prose</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>The initial value of the <att>tts:color</att> property
+is considered to be implementation dependent. In the absence of
+end-user preference information, a conformant presentation processor
+should use an initial value that is highly contrastive to the
+background color of the root container region.</p>
+<p>The <att>tts:color</att> style is illustrated by the following example.</p>
+<table id="style-attribute-color-example-1" role="example">
+<caption>Example Fragment – Color</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:backgroundColor="black"/>
+ <style <phrase role="strong">tts:color="white"</phrase>/>
+ <style tts:displayAlign="after"/>
+ <style tts:textAlign="center"/>
+</region>
+...
+<p region="r1">
+ In spring, when woods are <span <phrase role="strong">tts:color="green"</phrase>>getting green</span>,<br/>
+ I'll try and tell you what I mean.
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-color-example-1-images" role="example-images">
+<caption>Example Rendition – Color</caption>
+<tbody>
+<tr>
+<td><graphic source="images/color.png" alt="TTML color style property"/></td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+ <note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.18.1.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-direction">
+<head>tts:direction</head>
+<p>The <att>tts:direction</att> 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>
+<table id="style-property-details-direction" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>ltr</code> |
+<code>rtl</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>ltr</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:direction</att> style is illustrated by the following example.</p>
+<table id="style-attribute-direction-example-1" role="example">
+<caption>Example Fragment – Direction</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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" <phrase role="strong">tts:direction="rtl"</phrase>>where the tourists snore.</span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-direction-example-1-images" role="example-images">
+<caption>Example Rendition – Direction</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/direction.png" alt="TTML direction style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+ <note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.29.1.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-display">
+<head>tts:display</head>
+<p>The <att>tts:display</att> 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>
+<table id="style-property-details-display" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<code>none</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>auto</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:display</att> style is illustrated by the following example.</p>
+<table id="style-attribute-display-example-1" role="example">
+<caption>Example Fragment – Display</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:display="none"</phrase>>
+ <set begin="1s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/>
+ Beautiful soup,
+ </span>
+ <span <phrase role="strong">tts:display="none"</phrase>>
+ <set begin="2s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/>
+ so rich and green,
+ </span>
+ <span <phrase role="strong">tts:display="none"</phrase>>
+ <set begin="3s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/>
+ waiting in a hot tureen!
+ </span>
+ ]]]
+ </p>
+</div>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-display-example-1-images" role="example-images">
+<caption>Example Rendition – Display</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/display_0.png" alt="TTML display style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_1.png" alt="TTML display style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_2.png" alt="TTML display style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_3.png" alt="TTML display style property - [3,4)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_4.png" alt="TTML display style property - [4,5)"/>
+</td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+ <note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref
+ref="css2"/>,
+§ 9.2.5.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-displayAlign">
+<head>tts:displayAlign</head>
+<p>The <att>tts:displayAlign</att> 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>
+<table id="style-property-details-displayAlign" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>before</code> |
+<code>center</code> |
+<code>after</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>before</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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 <att>tts:displayAlign</att> style is illustrated by the following example.</p>
+<table id="style-attribute-displayAlign-example-1" role="example">
+<caption>Example Fragment – Display Align</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:extent="128px 66px" tts:origin="0px 0px"
+ tts:backgroundColor="black" tts:color="white"/>
+ <style <phrase role="strong">tts:displayAlign="before"</phrase>/>
+ <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 <phrase role="strong">tts:displayAlign="after"</phrase>/>
+ <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 <phrase role="strong">tts:displayAlign="before"</phrase>/>
+ <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 <phrase role="strong">tts:displayAlign="after"</phrase>/>
+ <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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-displayAlign-example-1-images" role="example-images">
+<caption>Example Rendition – Display Align</caption>
+<tbody>
+<tr>
+<td><graphic source="images/displayAlign.png" alt="TTML displayAlign style property"/></td>
+</tr>
+</tbody>
+</table>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.14.4.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-extent">
+<head>tts:extent</head>
+<p>The <att>tts:extent</att> attribute is used to specify the
+<emph>width</emph> and <emph>height</emph> of a region area
+(which may be the root container region).</p>
+<p>This attribute may be specified by any
+element type
+that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to those element types indicated in the following table.</p>
+<table id="style-property-details-extent" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-tt"><el>tt</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of root container region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of two <loc href="#style-value-length"><length></loc>
+specifications, then they must be interpreted as <emph>width</emph>
+and <emph>height</emph>, where the first specification is the
+<emph>width</emph>, and the second specification is the
+<emph>height</emph>.</p>
+<p>If the value of this attribute is <code>auto</code>, then the initial value
+of the style property must be considered to be the same as the root container extent.
+</p>
+<p>
+The root container extent is determined either by a
+<att>tts:extent</att> specified on the <el>tt</el> element, if
+present, or by the external authoring context, if not present.
+If
+<att>tts:extent</att> is specified on the <el>tt</el> element,
+then
+the width and height
+must be
+expressed in terms of two
+<loc href="#style-value-length"><length></loc> 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 <att>tts:extent</att> style is illustrated by the following example.</p>
+<table id="style-attribute-extent-example-1" role="example">
+<caption>Example Fragment – Extent</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style <phrase role="strong">tts:extent="330px 122px"</phrase>/>
+ <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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-extent-example-1-images" role="example-images">
+<caption>Example Rendition – Extent</caption>
+<tbody>
+<tr>
+<td><graphic source="images/extent.png" alt="TTML extent style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-fontFamily">
+<head>tts:fontFamily</head>
+<p>The <att>tts:fontFamily</att> 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>
+<table id="style-property-details-fontFamily" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+(<loc href="#style-value-familyName"><familyName></loc> | <loc href="#style-value-genericFamilyName"><genericFamilyName></loc>)
+(<code>","</code>
+ (<loc href="#style-value-familyName"><familyName></loc> | <loc href="#style-value-genericFamilyName"><genericFamilyName></loc>))*
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>default</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="clarification">
+<p>The initial value, <code>default</code>, is a generic font family name, and is
+further described in <specref ref="style-value-genericFamilyName"/> below.</p>
+</note>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:fontFamily</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontFamily-example-1" role="example">
+<caption>Example Fragment – Font Family</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:fontFamily="proportionalSansSerif"</phrase>/>
+</region>
+...
+<div region="r1">
+ <p>
+ "The time has come," the Walrus said,<br/>
+ "to talk of many things:
+ </p>
+ <p tts:textAlign="end" <phrase role="strong">tts:fontFamily="monospaceSerif"</phrase>>
+ 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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontFamily-example-1-images" role="example-images">
+<caption>Example Rendition – Font Family</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontFamily.png" alt="TTML fontFamily style property"/></td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.9.2.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-fontSize">
+<head>tts:fontSize</head>
+<p>The <att>tts:fontSize</att> attribute is used to specify a style property
+that defines the font size for glyphs that are selected for glyph areas
+generated by content flowed into a region, where font size is interpreted as a
+scaling transform to the font's design EM square.</p>
+<p>This attribute may be specified by any
+element type
+that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to those element types indicated in the following table.</p>
+<table id="style-property-details-fontSize" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc>?
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>1c</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to parent element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If a single <loc href="#style-value-length"><length></loc> value is specified, then this length applies
+equally to horizontal and vertical scaling of a glyph's EM square; if two
+<loc href="#style-value-length"><length></loc> values are specified, then the first expresses the horizontal
+scaling and the second expresses vertical scaling.</p>
+<note role="example">
+<p>Use of independent horizontal and vertical font sizes is expected to be used
+with cell based metrics in order to denote fonts that are two rows in height and
+one column in width.</p>
+</note>
+<p>If horizontal and vertical sizes are expressed independently, then the
+metrics of the <loc href="#style-value-length"><length></loc> values must be the same.</p>
+<p>The <loc href="#style-value-length"><length></loc> 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 <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>If a specified value of this attribute is not supported,
+then a presentation processor must interpret the attribute as if the
+value <code>1c</code> were specified.</p>
+<note role="elaboration">
+<p>The expression <code>1c</code> means one cell, where <code>'c'</code> expresses
+the <emph>cell</emph> length unit as defined by <specref ref="style-value-length"/>.</p>
+</note>
+<p>The <att>tts:fontSize</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontSize-example-1" role="example">
+<caption>Example Fragment – Font Size</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:fontSize="18px"</phrase>/>
+</region>
+...
+<p region="r1">
+ Then fill up the glasses<br/>
+ with treacle and ink,<br/>
+ Or anything else<br/>
+ that is <span <phrase role="strong">tts:fontSize="24px"</phrase>>pleasant</span> to drink.
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontSize-example-1-images" role="example-images">
+<caption>Example Rendition – Font Size</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontSize.png" alt="TTML fontSize style property"/></td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.9.4.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-fontStyle">
+<head>tts:fontStyle</head>
+<p>The <att>tts:fontStyle</att> 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>
+<table id="style-property-details-fontStyle" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>italic</code> |
+<code>oblique</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>Use of the value <code>oblique</code>
+denote a shear transformation (at an unspecified
+angle) in the inline progression dimension.</p>
+<p>If a specified font style is not available, then a
+presentation processor must attempt to map the specified font style
+to an available font style that has similar typographic
+characteristics, or, in the absence of such a mapping, it must
+interpret the font style as if the value <code>normal</code> were
+specified.</p>
+<p>The <att>tts:fontStyle</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontStyle-example-1" role="example">
+<caption>Example Fragment – Font Style</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:fontStyle="italic"</phrase>>write it down.</span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontStyle-example-1-images" role="example-images">
+<caption>Example Rendition – Font Style</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontStyle.png" alt="TTML fontStyle style property"/></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.9.7.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-fontWeight">
+<head>tts:fontWeight</head>
+<p>The <att>tts:fontWeight</att> 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>
+<table id="style-property-details-fontWeight" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>bold</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:fontWeight</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontWeight-example-1" role="example">
+<caption>Example Fragment – Font Weight</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:fontWeight="bold"</phrase>>and mentioned me to him:</span><br/>
+ She gave me a good character<br/>
+ <span <phrase role="strong">tts:fontWeight="bold"</phrase>>but said I could not swim.</span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontWeight-example-1-images" role="example-images">
+<caption>Example Rendition – Font Weight</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontWeight.png" alt="TTML fontWeight style property"/></td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.9.9.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-lineHeight">
+<head>tts:lineHeight</head>
+<p>The <att>tts:lineHeight</att> 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>
+<table id="style-property-details-lineHeight" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<loc href="#style-value-length"><length></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to this element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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 <loc
+href="#style-value-length"><length></loc>, 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 <att>tts:lineHeight</att> style is illustrated by the following example.</p>
+<table id="style-attribute-lineHeight-example-1" role="example">
+<caption>Example Fragment – Line Height</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:lineHeight="32px"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-lineHeight-example-1-images" role="example-images">
+<caption>Example Rendition – Line Height</caption>
+<tbody>
+<tr>
+<td><graphic source="images/lineHeight.png" alt="TTML lineHeight style property"/></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.16.4.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-opacity">
+<head>tts:opacity</head>
+<p>The <att>tts:opacity</att> 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>
+<table id="style-property-details-opacity" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-alpha"><alpha></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>1.0</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>An <loc href="#style-value-alpha"><alpha></loc> value greater
+than 1.0 must be considered equivalent to an <loc
+href="#style-value-alpha"><alpha></loc> value of 1.0.</p>
+<p>The <att>tts:opacity</att> style is illustrated by the following example.</p>
+<table id="style-attribute-opacity-example-1" role="example">
+<caption>Example Fragment – Opacity</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1" dur="5s">
+ <set begin="0s" dur="1s" <phrase role="strong">tts:opacity="1.00"</phrase>/>
+ <set begin="1s" dur="1s" <phrase role="strong">tts:opacity="0.75"</phrase>/>
+ <set begin="2s" dur="1s" <phrase role="strong">tts:opacity="0.50"</phrase>/>
+ <set begin="3s" dur="1s" <phrase role="strong">tts:opacity="0.25"</phrase>/>
+ <set begin="4s" dur="1s" <phrase role="strong">tts:opacity="0.00"</phrase>/>
+ <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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-opacity-example-1-images" role="example-images">
+<caption>Example Rendition – Opacity</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/opacity_0.png" alt="TTML opacity style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_1.png" alt="TTML opacity style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_2.png" alt="TTML opacity style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_3.png" alt="TTML opacity style property - [3,4)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_4.png" alt="TTML opacity style property - [4,5)"/>
+</td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="css3-color"/>,
+§ 3.2.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-origin">
+<head>tts:origin</head>
+<p>The <att>tts:origin</att> attribute is used to specify the
+<emph>x</emph> and <emph>y</emph> coordinates of the origin of a
+region area with respect to the origin of the root container extent,
+if specified, or the external authoring context, if not specified.</p>
+<p>This attribute may be specified by any
+element type
+that permits use of attributes in the TT Style Namespace; however, this attribute applies
+as a style property only to those element types indicated in the following table.</p>
+<table id="style-property-details-origin" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of root container region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of two <loc href="#style-value-length"><length></loc> specifications,
+then they must be interpreted as <emph>x</emph> and <emph>y</emph> coordinates, where the first specification
+is the <emph>x</emph> coordinate, and the second specification is the <emph>y</emph> coordinate.</p>
+<p>If the value of this attribute is <code>auto</code>, then the initial value
+of the style property must be considered to be the same as the root container
+origin.</p>
+<p>If a specified value of this attribute is not supported,
+then a presentation processor must interpret the attribute as if the
+value <code>auto</code> were specified.</p>
+<p>The <att>tts:origin</att> style is illustrated by the following example.</p>
+<table id="style-attribute-origin-example-1" role="example">
+<caption>Example Fragment – Origin</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style <phrase role="strong">tts:origin="40px 40px"</phrase>/>
+ <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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-origin-example-1-images" role="example-images">
+<caption>Example Rendition – Origin</caption>
+<tbody>
+<tr>
+<td><graphic source="images/origin.png" alt="TTML origin style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-overflow">
+<head>tts:overflow</head>
+<p>The <att>tts:overflow</att> 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>
+<table id="style-property-details-overflow" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>visible</code> |
+<code>hidden</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>hidden</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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>
+<note role="explanation">
+<p>Unless a manual line break element <el>br</el> 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 <att>tts:overflow</att> style that applies to the
+region is <code>visible</code> and if the applicable <att>tts:wrapOption</att>
+style is <code>noWrap</code>.</p>
+</note>
+<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 <att>tts:overflow</att> style is illustrated by the following example.</p>
+<table id="style-attribute-overflow-example-1" role="example">
+<caption>Example Fragment – Overflow</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:overflow="visible"</phrase>/>
+</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 <phrase role="strong">tts:overflow="hidden"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-overflow-example-1-images" role="example-images">
+<caption>Example Rendition – Overflow</caption>
+<tbody>
+<tr>
+<td><graphic source="images/overflow.png" alt="TTML overflow style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the <att>tts:noWrap</att> 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>
+</note>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.21.2.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-padding">
+<head>tts:padding</head>
+<p>The <att>tts:padding</att> 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>
+<table id="style-property-details-padding" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-length"><length></loc> |
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc> |
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc> |
+<loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc> <loc href="#style-value-length"><length></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>0px</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of one <loc href="#style-value-length"><length></loc> specification,
+then that length applies to all edges of the affected areas. If the value
+consists of two <loc href="#style-value-length"><length></loc> specifications, then the first applies to the
+before and after edges, and the second applies to the start and end edges.
+If three <loc href="#style-value-length"><length></loc> 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 <loc href="#style-value-length"><length></loc> specifications are provided, then they apply to before, end,
+after, and start edges, respectively.</p>
+<p>If a specified value of this attribute is not supported,
+then a presentation processor must interpret the attribute as if the
+value <code>0px</code> were specified.</p>
+<p>The <att>tts:padding</att> style is illustrated by the following example.</p>
+<table id="style-attribute-padding-example-1" role="example">
+<caption>Example Fragment – Padding</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:padding="10px 40px"</phrase>/>
+</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>
+</eg>
+</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>
+<table id="style-attribute-padding-example-1-images" role="example-images">
+<caption>Example Rendition – Padding</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/padding.png" alt="TTML padding style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.31.15, except that individual shorthand values map to writing
+ mode relative padding values as defined by <bibref ref="xsl11"/>,
+§ 7.8.31, 7.8.32, 7.8.33, and 7.8.34.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-showBackground">
+<head>tts:showBackground</head>
+<p>The <att>tts:showBackground</att> 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>
+<table id="style-property-details-showBackground" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>always</code> |
+<code>whenActive</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>always</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute is <code>always</code>, then the
+background color of a region is always rendered when performing presentation
+processing on a visual medium; if the value is <code>whenActive</code>,
+then the background color of a region is rendered only when some
+content is selected into the region.</p>
+<p>If a specified value of this attribute is not supported,
+then a presentation processor must interpret the attribute as if the
+value <code>always</code> were specified.</p>
+<p>The <att>tts:showBackground</att> style is illustrated by the following example.</p>
+<table id="style-attribute-showBackground-example-1" role="example">
+<caption>Example Fragment – Show Background</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:origin="0px 0px"/>
+ <style tts:extent="265px 100px"/>
+ <style tts:backgroundColor="black"/>
+ <style <phrase role="strong">tts:showBackground="always"</phrase>/>
+ <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 <phrase role="strong">tts:showBackground="whenActive"</phrase>/>
+</region>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<!--
+<table id="style-attribute-showBackground-example-1-images" role="example-images">
+<caption>Example Rendition – Show Background</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/showBackground.png" alt="TTML showBackground style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+-->
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="smil21"/>,
+§ 5.3.1.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-textAlign">
+<head>tts:textAlign</head>
+<p>The <att>tts:textAlign</att> 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>
+<table id="style-property-details-textAlign" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>left</code> |
+<code>center</code> |
+<code>right</code> |
+<code>start</code> |
+<code>end</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>start</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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 <att>tts:textAlign</att> style is illustrated by the following example.</p>
+<table id="style-attribute-textAlign-example-1" role="example">
+<caption>Example Fragment – Text Align</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:extent="355px 43px"/>
+ <style tts:origin="0px 0px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <phrase role="strong">tts:textAlign="start"</phrase>/>
+</region>
+<region xml:id="r2">
+ <style tts:extent="355px 43px"/>
+ <style tts:origin="0px 47px"/>
+ <style tts:backgroundColor="black"/>
+ <style tts:color="white"/>
+ <style <phrase role="strong">tts:textAlign="end"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textAlign-example-1-images" role="example-images">
+<caption>Example Rendition – Text Align</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textAlign.png" alt="TTML textAlign style property"/></td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.16.9.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-textDecoration">
+<head>tts:textDecoration</head>
+<p>The <att>tts:textDecoration</att> 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>
+<table id="style-property-details-textDecoration" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></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><emph>Initial:</emph></td>
+<td><code>none</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td><loc
+href="#content-vocabulary-span"><el>span</el></loc></td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this
+style property, each character child of a <el>p</el> 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>
+<p>The <att>tts:textDecoration</att> style is illustrated by the following example.</p>
+<table id="style-attribute-textDecoration-example-1" role="example">
+<caption>Example Fragment – Text Decoration</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:textDecoration="underline"</phrase>/>
+</region>
+...
+<p region="r1">
+ The sea was wet<span <phrase role="strong">tts:textDecoration="noUnderline"</phrase>> as </span>wet
+ <span <phrase role="strong">tts:textDecoration="noUnderline"</phrase>>
+ could be,<br/>
+ The sand was dry as dry.<br/>
+ <span <phrase role="strong">tts:textDecoration="lineThrough"</phrase>>There weren't any</span>
+ You <span <phrase role="strong">tts:textDecoration="lineThrough"</phrase>>couldn't</span>
+ could not see a cloud<br/>
+ Because no cloud was in the sky.
+ </span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textDecoration-example-1-images" role="example-images">
+<caption>Example Rendition – Text Decoration</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textDecoration.png" alt="TTML textDecoration style property"/></td>
+</tr>
+</tbody>
+</table>
+<!--CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.16.4.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-textOutline">
+<head>tts:textOutline</head>
+<p>The <att>tts:textOutline</att> 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>
+<table id="style-property-details-textOutline" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>none</code> |
+<loc href="#style-value-color"><color></loc>?
+<loc href="#style-value-length"><length></loc>
+<loc href="#style-value-length"><length></loc>?
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>none</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to this element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>The value of this attribute consists of an optional <loc href="#style-value-color"><color></loc> term
+followed by one or two <loc href="#style-value-length"><length></loc> terms. If a <emph>color</emph> term is
+present, then it denotes the outline color; if no <emph>color</emph> term is
+present, the computed value of the <att>tts:color</att> applies. The first
+<emph>length</emph> term denotes the outline thickness and the second length
+term, if present, indicates the blur radius.</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>
+<p>The <att>tts:textOutline</att> style is illustrated by the following
+example.</p>
+<table id="style-attribute-textOutline-example-1" role="example">
+<caption>Example Fragment – Text Outline</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <style tts:backgroundColor="transparent"/>
+ <style tts:color="yellow"/>
+ <style <phrase role="strong">tts:textOutline="black 2px 0px"</phrase>/>
+ <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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textOutline-example-1-images" role="example-images">
+<caption>Example Rendition – Text Outline</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textOutline.png" alt="backgroundColor style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-unicodeBidi">
+<head>tts:unicodeBidi</head>
+<p>The <att>tts:unicodeBidi</att> 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>
+<table id="style-property-details-unicodeBidi" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>embed</code> |
+<code>bidiOverride</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>normal</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:unicodeBidi</att> style is illustrated by the following example.</p>
+<table id="style-attribute-unicodeBidi-example-1" role="example">
+<caption>Example Fragment – Unicode Bidirectionality</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:unicodeBidi="bidiOverride"</phrase> tts:direction="rtl">where the tourists snore.</span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-unicodeBidi-example-1-images" role="example-images">
+<caption>Example Rendition – Unicode Bidirectionality</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/unicodeBidi.png" alt="TTML unicodeBidi style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.29.6.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-visibility">
+<head>tts:visibility</head>
+<p>The <att>tts:visibility</att> 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>
+<table id="style-property-details-visibility" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>visible</code> |
+<code>hidden</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>visible</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>The <att>tts:visibility</att> 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 <att>tts:visibility</att> style is illustrated by the following example.</p>
+<table id="style-attribute-visibility-example-1" role="example">
+<caption>Example Fragment – Visibility</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:visibility="hidden"</phrase>>
+ <set begin="1s" <phrase role="strong">tts:visibility="visible"</phrase>/>
+ Curiouser
+ </span>
+ <span <phrase role="strong">tts:visibility="hidden"</phrase>>
+ <set begin="2s" <phrase role="strong">tts:visibility="visible"</phrase>/>
+ and
+ </span>
+ <span <phrase role="strong">tts:visibility="hidden"</phrase>>
+ <set begin="3s" <phrase role="strong">tts:visibility="visible"</phrase>/>
+ curiouser!
+ </span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-visibility-example-1-images" role="example-images">
+<caption>Example Rendition – Visibility</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/visibility_0.png" alt="TTML visibility style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_1.png" alt="TTML visibility style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_2.png" alt="TTML visibility style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_3.png" alt="TTML visibility style property - [3,4)"/>
+</td>
+</tr>
+</tbody>
+</table>
+<!-- CSS compatibility - remove derivation note
+ <note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.28.8.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-wrapOption">
+<head>tts:wrapOption</head>
+<p>The <att>tts:wrapOption</att> 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>
+<table id="style-property-details-wrapOption" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>wrap</code> |
+<code>noWrap</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>wrap</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> 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 <att>tts:wrapOption</att> style is illustrated by the following example.</p>
+<table id="style-attribute-wrapOption-example-1" role="example">
+<caption>Example Fragment – Wrap Option</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:wrapOption="noWrap"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-wrapOption-example-1-images" role="example-images">
+<caption>Example Rendition – Wrap Option</caption>
+<tbody>
+<tr>
+<td><graphic source="images/wrapOption.png" alt="TTML wrapOption style property"/></td>
+</tr>
+</tbody>
+</table>
+ <!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.15.13.</p>
+</note>
+-->
+</div3>
+<div3 id="style-attribute-writingMode">
+<head>tts:writingMode</head>
+<p>The <att>tts:writingMode</att> 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>
+<table id="style-property-details-writingMode" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></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><emph>Initial:</emph></td>
+<td><code>lrtb</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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 <att>tts:writingMode</att> style is illustrated by the following example.</p>
+<table id="style-attribute-writingMode-example-1" role="example">
+<caption>Example Fragment – Writing Mode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:writingMode="tbrl"</phrase>/>
+</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 <phrase role="strong">tts:writingMode="rltb"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-writingMode-example-1-images" role="example-images">
+<caption>Example Rendition – Writing Mode</caption>
+<tbody>
+<tr>
+<td><graphic source="images/writingMode.png" alt="TTML writingMode style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the second paragraph in the above example that targets region
+<code>r2</code>, the <att>tts:unicodeBidi</att> and
+<att>tts:direction</att> 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>
+</note>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.27.7.</p>
+</note>
+ -->
+</div3>
+<div3 id="style-attribute-zIndex">
+<head>tts:zIndex</head>
+<p>The <att>tts:zIndex</att> 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>
+<table id="style-property-details-zIndex" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-integer"><integer></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></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 document
+instance.</p>
+<p>The semantics of the value <code>auto</code> are those defined by
+<bibref ref="xsl11"/>, § 7.28.9, where the <el>tt</el> 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 <att>tts:zIndex</att> style is illustrated by the following example.</p>
+<table id="style-attribute-zIndex-example-1" role="example">
+<caption>Example Fragment – Z Index</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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 <phrase role="strong">tts:zIndex="0"</phrase>/>
+</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 <phrase role="strong">tts:zIndex="1"</phrase>/>
+</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 <phrase role="strong">tts:zIndex="2"</phrase>/>
+</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 <phrase role="strong">tts:zIndex="3"</phrase>/>
+</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>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p/>
+<table id="style-attribute-zIndex-example-1-images" role="example-images">
+<caption>Example Rendition – Z Index</caption>
+<tbody>
+<tr>
+<td><graphic source="images/zIndex.png" alt="TTML zIndex style property"/></td>
+</tr>
+</tbody>
+</table>
+<!-- CSS compatibility - remove derivation note
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl11"/>,
+§ 7.28.9.</p>
+</note>
+-->
+</div3>
+</div2>
+<div2 id="styling-style-value-expressions">
+<head>Style Value Expressions</head>
+<p>Style property values include the use of the following expressions:</p>
+<ulist>
+<item><p><specref ref="style-value-alpha"/></p></item>
+<item><p><specref ref="style-value-color"/></p></item>
+<item><p><specref ref="style-value-digit"/></p></item>
+<item><p><specref ref="style-value-duration"/></p></item>
+<item><p><specref ref="style-value-familyName"/></p></item>
+<item><p><specref ref="style-value-genericFamilyName"/></p></item>
+<item><p><specref ref="style-value-hexDigit"/></p></item>
+<item><p><specref ref="style-value-integer"/></p></item>
+<item><p><specref ref="style-value-length"/></p></item>
+<item><p><specref ref="style-value-namedColor"/></p></item>
+<item><p><specref ref="style-value-quotedString"/></p></item>
+<item><p><specref ref="style-value-string"/></p></item>
+</ulist>
+<div3 id="style-value-alpha">
+<head><alpha></head>
+<p>An <alpha> expression is used to express an opacity value,
+where 0 means fully transparent and 1 means fully opaque.</p>
+<table id="alpha-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <alpha></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<alpha>
+ : <emph>float</emph>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element
+<emph><code>float</code></emph> must adhere to the lexical
+representation defined by <bibref ref="xsd-2"/> §
+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 shall be interpreted as 0.0.</p>
+<p>If a presentation processor does not support a specific,
+valid opacity value, then it must interpret it as being equal to the
+closest supported value.</p>
+</div3>
+<div3 id="style-value-color">
+<head><color></head>
+<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 <bibref ref="srgb"/>.</p>
+<table id="color-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <color></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<color>
+ : "#" rrggbb
+ | "#" rrggbbaa
+ | "rgb" "(" r-value "," g-value "," b-value ")"
+ | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
+ | <loc href="#style-value-namedColor"><namedColor></loc>
+
+rrggbb
+ : <loc href="#style-value-hexDigit"><hexDigit></loc>{6}
+
+rrggbbaa
+ : <loc href="#style-value-hexDigit"><hexDigit></loc>{8}
+
+r-value | g-value | b-value | a-value
+ : component-value
+
+component-value
+ : non-negative-integer // valid range: [0,255]
+
+non-negative-integer
+ : <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>When expressing RGB component values, these values are considered
+to <phrase role="strong">not</phrase> 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 <bibref ref="srgb"/> color space for both inputs and outputs of
+the composition function.</p>
+<note role="clarification">
+<p>The use of <bibref ref="srgb"/> 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>
+</note>
+<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>
+</div3>
+<div3 id="style-value-digit">
+<head><digit></head>
+<p>A <digit> is used to express integers and other types of numbers or tokens.</p>
+<table id="digit-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <digit></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<digit>
+ : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-duration">
+<head><duration></head>
+<p>A <duration> expression is used to express a temporal duration value.</p>
+<table id="duration-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <duration></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<duration>
+ : <loc href="#style-value-digit"><digit></loc>+ ( "." <loc href="#style-value-digit"><digit></loc>+ )? metric
+
+metric
+ : "s" // seconds
+ | "ms" // milliseconds
+ | "f" // frames
+ | "t" // ticks
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>It is an error to omit the metric component of a duration.</p>
+<p>When operating with <code>smpte</code> time base and
+<code>discontinuous</code> mode, a duration expression must be
+considered to denote a duration in (local) real-time, independently of the
+governing time base.</p>
+</div3>
+<div3 id="style-value-familyName">
+<head><familyName></head>
+<p>A <familyName> expression specifies a font family name.</p>
+<p>If the name contains a quotation delimiter character,
+then it must be expressed as a
+<quotedString>. If the name contains a
+whitespace character,
+then it should be expressed as a
+<quotedString>; however, if it is expressed as a <string>, then it
+must not contain a <code>COMMA</code> ',' character.</p>
+
+<table id="familyName-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <familyName></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<familyName>
+ : <loc href="#style-value-string"><string></loc>
+ | <loc href="#style-value-quotedString"><quotedString></loc>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-genericFamilyName">
+<head><genericFamilyName></head>
+<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>
+<table id="genericFamilyName-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <genericFamilyName></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<genericFamilyName>
+ : "default"
+ | "monospace"
+ | "sansSerif"
+ | "serif"
+ | "monospaceSansSerif"
+ | "monospaceSerif"
+ | "proportionalSansSerif"
+ | "proportionalSerif"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The mapping between a generic (font) family name and an actual font is not
+determined by this specification; however, the
+distinction of monospace versus proportional and serif versus sans-serif
+should be maintained if possible when performing presentation.</p>
+<p>If a generic (font) family name of <code>monospace</code> is specified,
+then it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
+or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
+and <code>serif</code> are to be interpreted as equivalent to <code>proportionalSansSerif</code>
+and <code>proportionalSerif</code>, respectively.</p>
+<p>If the generic family name <code>default</code> is specified (or implied by
+an initial value), then its typographic characteristics is considered to be implementation
+dependent; however, it is recommended that this default font family be mapped to
+an monospaced, sans-serif font.</p>
+</div3>
+<div3 id="style-value-hexDigit">
+<head><hexDigit></head>
+<p>A <hexDigit> is used to express integers and other types of numbers or tokens
+that employ base 16 arithmetic.</p>
+<p>For the purpose of parsing, no distinction must be made between lower and upper case.</p>
+<table id="hexDigit-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <hexDigit></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<hexDigit>
+ : <loc href="#style-value-digit"><digit></loc>
+ | "a" | "b" | "c" | "d" | "e" | "f"
+ | "A" | "B" | "C" | "D" | "E" | "F"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-integer">
+<head><integer></head>
+<p>An <integer> expression is used to express an arbitrary, signed integral value.</p>
+<table id="integer-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <integer></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<integer>
+ : ( "+" | "-" )? <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-length">
+<head><length></head>
+<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>
+<table id="length-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <length></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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
+ : <loc href="#style-value-digit"><digit></loc>+
+
+non-negative-real
+ : <loc href="#style-value-digit"><digit></loc>* "." <loc href="#style-value-digit"><digit></loc>+
+
+units
+ : "px"
+ | "em"
+ | "c" // abbreviation of "cell"
+</eg>
+</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 <bibref ref="xsl11"/>, § 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 <bibref ref="xsl11"/>, § 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 <specref
+ref="parameter-attribute-cellResolution"/>.</p>
+</div3>
+<div3 id="style-value-namedColor">
+<head><namedColor></head>
+<p>A <namedColor> is used to express an RGBA color with a convenient name, and where the applicable color space is
+defined by <bibref ref="srgb"/>.</p>
+<p>For the purpose of parsing, no distinction must be made between lower and upper case.</p>
+<table id="namedColor-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <namedColor></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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)
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="clarification">
+<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 <bibref ref="svg11"/>, § 4.2.</p>
+</note>
+</div3>
+<div3 id="style-value-quotedString">
+<head><quotedString></head>
+<p>A <quotedString> is used to express a delimited string that may contain
+a whitespace or a quotation delimiter character. Two types of quotation delimiters
+are provided in order to accommodate strings that contain the other delimiter.</p>
+<table id="quotedString-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <quotedString></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<quotedString>
+ : "\"" ( <emph>char</emph> - { "\"" } )* "\""
+ | "\'" ( <emph>char</emph> - { "\'" } )* "\'"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element <emph><code>char</code></emph> must adhere to production
+[2] <code>Char</code> as defined by <bibref ref="xml10"/> §
+2.2.</p>
+</div3>
+<div3 id="style-value-string">
+<head><string></head>
+<p>A <string> expression consists of a sequence of characters where no character
+is a quotation delimiter character.</p>
+<table id="string-style-expression-syntax" role="syntax">
+<caption>Syntax Representation – <string></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<string>
+ : ( <emph>char</emph> - { "\"" | "\'" } )+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element <emph><code>char</code></emph> must adhere to production
+[2] <code>Char</code> as defined by <bibref ref="xml10"/> §
+2.2.</p>
+</div3>
+</div2>
+<div2 id="semantics-style-resolution">
+<head>Style Resolution</head>
+<p>This section defines the semantics of style resolution in terms of
+a standard processing model as follows:</p>
+<ulist>
+<item><p><specref ref="semantics-style-association"/></p></item>
+<item><p><specref ref="semantics-style-inheritance"/></p></item>
+<item><p><specref ref="semantics-style-resolution-value-categories"/></p></item>
+<item><p><specref ref="semantics-style-resolution-processing"/></p></item>
+</ulist>
+<p>Any implementation of this model is permitted provided that the
+externally observable results are consistent with the results produced
+by this model.</p>
+<note role="derivation">
+<p>The semantics of style resolution employed here are based upon
+<bibref ref="xsl11"/>, § 5.</p>
+</note>
+<div3 id="semantics-style-association">
+<head>Style Association</head>
+<p>Style association is a sub-process of <specref
+ref="semantics-style-resolution-processing"/> 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>
+<ulist>
+<item><p><loc href="#semantics-style-association-inline">inline styling</loc></p></item>
+<item><p><loc href="#semantics-style-association-referential">referential styling</loc></p></item>
+<item><p><loc href="#semantics-style-association-chained-referential">chained referential styling</loc></p></item>
+</ulist>
+<p>In addition to the above, style matter may be associated with layout matter using:</p>
+<ulist>
+<item><p><loc href="#semantics-style-association-nested">nested styling</loc></p></item>
+</ulist>
+<div4 id="semantics-style-association-inline">
+<head>Inline Styling</head>
+<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 <emph>inline styling</emph>.</p>
+<p>Style properties associated by inline styling are afforded a higher priority than all other
+forms of style association.</p>
+<table id="style-association-example-1" role="example">
+<caption>Example – Inline Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<p <phrase role="strong">tts:color="white"</phrase>>White 1 <span <phrase role="strong">tts:color="yellow"</phrase>>Yellow</span> White 2</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 <el>p</el> element as described in <specref
+ref="semantics-style-inheritance-content"/> below. </p>
+</note>
+</div4>
+<div4 id="semantics-style-association-referential">
+<head>Referential Styling</head>
+<p>Style properties may be expressed in an out-of-line manner and referenced by the
+affected element using the <att>style</att> attribute. When expressed in this manner,
+the association of style information is referred to as <emph>referential styling</emph>.</p>
+<p>If a <att>style</att> 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 <el>style</el> element descendants of a <el>styling</el>
+element. It is considered an error to reference a <el>style</el>
+element that is a descendant of a <el>layout</el> element.</p>
+<note role="explanation">
+<p>The use of referential styling encourages the reuse of style specifications while
+sacrificing locality of reference.</p>
+</note>
+<note role="explanation">
+<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 <specref ref="semantics-style-association-inline"/>.</p>
+</note>
+<table id="style-association-example-2" role="example">
+<caption>Example – Referential Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<style <phrase role="strong">xml:id="s1"</phrase> tts:color="white"/>
+<style <phrase role="strong">xml:id="s2"</phrase> tts:color="yellow"/>
+...
+<p <phrase role="strong">style="s1"</phrase>>White 1 <span <phrase role="strong">style="s2"</phrase>>Yellow</span> White 2</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 <el>p</el> element as described in <specref
+ref="semantics-style-inheritance-content"/> below.</p>
+</note>
+</div4>
+<div4 id="semantics-style-association-chained-referential">
+<head>Chained Referential Styling</head>
+<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 <emph>chained referential styling</emph>.</p>
+<p>If the same style property is specified in more than one referenced
+style
+set,
+then the last referenced style
+set
+applies, where the order of application starts from
+the affected element and proceeds to referenced style
+sets,
+and, in turn, to subsequent, recursively
+referenced style
+sets.</p>
+<p>A loop in a sequence of chained style references must be considered an error.</p>
+<p>The use of referential styling is restricted to making
+reference to <el>style</el> element descendants of a <el>styling</el>
+element. It is considered an error to reference a <el>style</el>
+element that is a descendant of a <el>layout</el> element.</p>
+<note role="explanation">
+<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>
+</note>
+<note role="explanation">
+<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 <specref ref="semantics-style-association-inline"/>.</p>
+</note>
+<table id="style-association-example-3" role="example">
+<caption>Example – Chained Referential Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<style <phrase role="strong">xml:id="s1"</phrase> tts:color="white" tts:fontFamily="monospaceSerif"/>
+<style <phrase role="strong">xml:id="s2"</phrase> <phrase role="strong">style="s1"</phrase> tts:color="yellow"/>
+...
+<p <phrase role="strong">style="s1"</phrase>>White Monospace</p>
+<p <phrase role="strong">style="s2"</phrase>>Yellow Monospace</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div4>
+<div4 id="semantics-style-association-nested">
+<head>Nested Styling</head>
+<p>Style properties may be expressed in an nested manner by direct specification of one or
+more <el>style</el> element children of the affected element.
+When expressed in this manner, the association of style information
+is referred to as <emph>nested styling</emph>.</p>
+<p>Style properties associated by nested styling are afforded a lower priority than inline
+styling but with higher priority than referential styling.</p>
+<table id="style-association-example-4" role="example">
+<caption>Example – Nested Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region xml:id="r1">
+ <phrase role="strong"><style tts:extent="128px 66px"/></phrase>
+ <phrase role="strong"><style tts:origin="0px 0px"/></phrase>
+ <phrase role="strong"><style tts:displayAlign="center"/></phrase>
+</region>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="clarification">
+<p>In this version of this specification, nested styling applies only
+to the <el>region</el> element.</p>
+</note>
+</div4>
+</div3>
+<div3 id="semantics-style-inheritance">
+<head>Style Inheritance</head>
+<p>Style inheritance is a sub-process of <specref
+ref="semantics-style-resolution-processing"/> used to determine the
+specified style set of each content and
+layout element.</p>
+<p>Styles are further propagated to content matter
+using:
+</p>
+<ulist>
+<item><p><loc href="#semantics-style-inheritance-content">content style inheritance</loc></p></item>
+<item><p><loc href="#semantics-style-inheritance-content">region style inheritance</loc></p></item>
+</ulist>
+<p>For the purpose of determining inherited styles, the element hierarchy of
+an intermediate synchronic document form of a TTML document instance must be used, where
+such intermediate forms are defined by <specref ref="semantics-region-layout-step-1"/>.</p>
+<note role="explanation">
+<p>The intermediate synchronic document form is utilized rather than
+the original form in order to facilitate region inheritance
+processing.</p>
+</note>
+<div4 id="semantics-style-inheritance-content">
+<head>Content Style Inheritance</head>
+<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>
+<table id="style-inheritance-example-2" role="example">
+<caption>Example – Content Style Inheritance</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<p <phrase role="strong">tts:fontFamily="monospaceSansSerif"</phrase>>
+ <span tts:color="yellow">Yellow Monospace</span>
+</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the <el>span</el> element that encloses the character items
+<code>Yellow Monospace</code> is not associated with a <att>tts:fontFamily</att> style
+property and this property is inheritable; therefore, the value of the
+<att>tts:fontFamily</att> style
+is inherited from the computed style
+set of the ancestor <el>p</el> element,
+and is added to the
+specified
+style
+set of the <el>span</el> element.</p>
+</note>
+</div4>
+<div4 id="semantics-style-inheritance-region">
+<head>Region Style Inheritance</head>
+<p>Style properties are inherited from a region element in the following case:</p>
+<olist>
+<item><p>if a style property <emph>P</emph> is not associated with
+a content
+element or an anonymous span <emph>E</emph> and the style
+property is designated as inheritable, and</p></item> <item><p>if that
+style property <emph>P</emph> is in the computed style
+set of region
+<emph>R</emph>,
+and</p></item>
+<item><p>if that element <emph>E</emph> is flowed into (presented within) region
+<emph>R</emph>.</p></item>
+</olist>
+<table id="style-inheritance-example-3" role="example">
+<caption>Example – Region Style Inheritance</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region <phrase role="strong">xml:id="r1"</phrase>>
+ <style tts:color="yellow"/>
+ <style tts:fontFamily="monospaceSerif"/>
+</region>
+...
+<p <phrase role="strong">region="r1"</phrase>>Yellow Monospace</p>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the anonymous span that encloses the character
+items <code>Yellow Monospace</code> effectively inherits the <att>tts:color</att>
+and <att>tts:fontFamily</att> styles specified on the <el>region</el>
+element into which the <el>p</el> element is flowed (presented).</p>
+</note>
+</div4>
+</div3>
+<div3 id="semantics-style-resolution-value-categories">
+<head>Style Resolution Value Categories</head>
+<p>During style resolution, layout, and presentation processing,
+three categories of style property values are distinguished as
+follows:</p>
+<ulist>
+<item><p><loc href="#semantics-style-resolved-value-category-specified">specified values</loc></p></item>
+<item><p><loc href="#semantics-style-resolved-value-category-computed">computed values</loc></p></item>
+<item><p><loc href="#semantics-style-resolved-value-category-actual">actual values</loc></p></item>
+</ulist>
+<div4 id="semantics-style-resolved-value-category-specified">
+<head>Specified Values</head>
+<p>Values of style properties that are associated with or inherited
+by an element or anonymous span are referred to as <emph>specified values</emph>. The
+set of all specified style properties of a given element is referred to
+as the <emph>specified style set</emph> of that element.</p>
+</div4>
+<div4 id="semantics-style-resolved-value-category-computed">
+<head>Computed Values</head>
+<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
+<emph>computed values</emph>. The
+set of all computed style properties of a given element is referred to
+as the <emph>computed style set</emph> 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>
+</div4>
+<div4 id="semantics-style-resolved-value-category-actual">
+<head>Actual Values</head>
+<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 <emph>actual values</emph>. The set of all
+actual style properties of a given element is referred to as the
+<emph>actual style set</emph> of that element.</p>
+<note role="elaboration">
+<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>
+</note>
+<note role="explanation">
+<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>
+</note>
+</div4>
+</div3>
+<div3 id="semantics-style-resolution-processing">
+<head>Style Resolution Processing</head>
+<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>
+<ulist>
+<item><p><specref ref="semantics-style-resolution-processing-definitions"/></p></item>
+<item><p><specref ref="semantics-style-resolution-processing-sss"/></p></item>
+<item><p><specref ref="semantics-style-resolution-processing-css"/></p></item>
+<item><p><specref ref="semantics-style-resolution-process-overall"/></p></item>
+</ulist>
+<p>The process described here forms an integral sub-process of
+<specref ref="semantics-region-layout"/>.</p>
+<div4 id="semantics-style-resolution-processing-definitions">
+<head>Conceptual Definitions</head>
+<p>For the purpose of interpreting the style resolution processing
+model specified below, the following conceptual definitions apply:</p>
+<glist>
+<gitem>
+<label>[style property]</label>
+<def>
+<p>a style property, <emph>P</emph>, 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>
+<table id="conceptual-definition-example-style-property" role="example">
+<caption>Example – conceptual style property</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+[
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["specified", <emph>color</emph>, "red"]
+]
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+</def>
+</gitem>
+<gitem>
+<label>[style (property) set]</label>
+<def>
+<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 <emph>E</emph> is referred to as <emph>SSS(E)</emph>;</p>
+<table id="conceptual-definition-example-specified-style-set" role="example">
+<caption>Example – conceptual (specified) style (property) set</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+{
+ [
+ ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
+ ["specified", <emph>color</emph>, 0x00FF00 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["specified", <emph>color</emph>, "red" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "fontSize"],
+ ["specified", <emph>length</emph>, "1c" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
+ ["specified", <emph>length</emph>, "117%" ]
+ ]
+}
+</eg>
+</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
+<emph>E</emph> is referred to as <emph>CSS(E)</emph>;</p>
+<table id="conceptual-definition-example-computed-style-set" role="example">
+<caption>Example – conceptual (computed) style (property) set</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+{
+ [
+ ["http://www.w3.org/ns/ttml#styling", "backgroundColor"],
+ ["specified", <emph>color</emph>, 0x00FF00 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "color"],
+ ["computed", <emph>color</emph>, 0xFF0000 ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "fontSize"],
+ ["computed", <emph>length</emph>, "24px" ]
+ ],
+ [
+ ["http://www.w3.org/ns/ttml#styling", "lineHeight"],
+ ["computed", <emph>length</emph>, "28px" ]
+ ]
+}
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+</def>
+</gitem>
+<gitem>
+<label>[style (property) merging]</label>
+<def>
+<p>a style property <emph>P<sub>new</sub></emph> is merged into a
+style (property) set, <emph>SS</emph>, as follows: if a style property
+<emph>P<sub>old</sub></emph> is already present in <emph>SS</emph>
+where the name of <emph>P<sub>new</sub></emph> is identical to the
+name of <emph>P<sub>old</sub></emph>, then replace
+<emph>P<sub>old</sub></emph> in <emph>SS</emph> with
+<emph>P<sub>new</sub></emph>; otherwise, add
+<emph>P<sub>new</sub></emph> to <emph>SS</emph>;</p>
+</def>
+</gitem>
+<gitem>
+<label>[style (property) set merging]</label>
+<def>
+<p>a style (property) set <emph>SS<sub>new</sub></emph> is merged into
+an existing style (property) set <emph>SS<sub>old</sub></emph> as
+follows: for each style property <emph>P<sub>new</sub></emph> in
+<emph>SS<sub>new</sub></emph>, merge <emph>P<sub>new</sub></emph> into
+<emph>SS<sub>old</sub></emph>;</p>
+</def>
+</gitem>
+</glist>
+</div4>
+<div4 id="semantics-style-resolution-processing-sss">
+<head>Specified Style Set Processing</head>
+<p>The specified style set <emph>SSS</emph> of an element or
+anonymous span <emph>E</emph>,
+<emph>SSS(E)</emph>, is determined according to the following ordered
+rules:</p>
+<olist>
+<item><p><phrase role="strong">[initialization]</phrase> initialize
+the specified style set <emph>SSS</emph> of <emph>E</emph> to the
+empty set;</p></item>
+<item><p><phrase role="strong">[referential and chained referential
+styling]</phrase> for each <el>style</el> element <emph>S<sub>REF</sub></emph>
+referenced by a <att>style</att> attribute specified on
+<emph>E</emph>, and in the order specified in the <att>style</att>
+attribute, then, if <emph>S<sub>REF</sub></emph> is a descendant
+of a <el>styling</el> element,
+merge the specified style set of
+<emph>S<sub>REF</sub></emph>, <emph>SSS(S<sub>REF</sub>)</emph>, into
+the specified style set of <emph>E</emph>,
+<emph>SSS(E)</emph>;</p></item>
+<item><p><phrase role="strong">[nested styling]</phrase> for each
+nested <el>style</el> element child <emph>S<sub>NEST</sub></emph> of
+<emph>E</emph>, and in the specified order of child elements, merge
+the specified style set of <emph>S<sub>NEST</sub></emph>,
+<emph>SSS(S<sub>NEST</sub>)</emph>, into the specified style set of
+<emph>E</emph>, <emph>SSS(E)</emph>;</p></item>
+<item><p><phrase role="strong">[inline styling]</phrase> for each
+style property <emph>P</emph> expressed as a specified styling
+attribute of <emph>E</emph>,
+merge <emph>P</emph> into the specified style
+set of <emph>E</emph>, <emph>SSS(E)</emph>;</p></item>
+<item>
+<p><phrase role="strong">[implicit inheritance]</phrase> if the
+element type of <emph>E</emph> is not the styling element type
+<el>style</el>, then for each inheritable style property
+<emph>P<sub>INH</sub></emph> in the set of style properties defined
+above in <specref ref="styling-attribute-vocabulary"/>, perform the
+following ordered sub-steps:</p>
+<olist>
+<item><p>if <emph>P<sub>INH</sub></emph> is present in the specified
+style set of <emph>E</emph>, <emph>SSS(E)</emph>, then continue to the
+next inheritable style property;</p></item>
+<item><p>if the element type of <emph>E</emph> is the layout element
+type <el>region</el>, then set <emph>P′</emph> to the initial value of
+property <emph>P</emph>, where the initial value of a property is
+determined according to the specific property definition found above
+in <specref ref="styling-attribute-vocabulary"/>;</p></item>
+<item><p>if the element type of <emph>E</emph> is a content element
+type or anonymous span, then set <emph>P′</emph> to the result of
+looking up the value of <emph>P</emph> in the computed style set of
+the immediate ancestor element of <emph>E</emph>, i.e.,
+<emph>CSS(PARENT(E))</emph>;</p></item>
+<item><p>if the value of <emph>P′</emph> is not undefined, then merge
+<emph>P′</emph> into the specified style set of <emph>E</emph>,
+<emph>SSS(E)</emph>.</p></item>
+</olist>
+</item>
+</olist>
+</div4>
+<div4 id="semantics-style-resolution-processing-css">
+<head>Computed Style Set Processing</head>
+<p>The computed style set <emph>CSS</emph> of an element or
+anonymous span <emph>E</emph>,
+<emph>CSS(E)</emph>, is determined according to the following ordered
+rules:</p>
+<olist>
+<item><p><phrase role="strong">[resolve specified styles]</phrase>
+determine (obtain) the specified style set <emph>SSS</emph> of
+<emph>E</emph>, namely, <emph>SSS(E)</emph>, in accordance with
+<specref ref="semantics-style-resolution-processing-sss"/>;</p>
+</item>
+<item><p><phrase role="strong">[initialization]</phrase>
+initialize <emph>CSS(E)</emph> to a (deep) copy of
+<emph>SSS(E)</emph>;</p></item>
+<item><p><phrase role="strong">[filter]</phrase> if
+<emph>E</emph> is a <el>style</el> element, then return
+<emph>CSS(E)</emph> as the resulting computed style set without
+further resolution; otherwise, continue with the next rule;</p></item>
+<item>
+<p><phrase role="strong">[relative value resolution]</phrase> for each
+style property <emph>P</emph> in <emph>CSS(E)</emph>, where the value
+type of <emph>P</emph> is relative, perform the following ordered
+sub-steps:</p>
+<olist>
+<item><p>replace the relative value of <emph>P</emph> with an
+equivalent, non-relative (computed) value;</p></item>
+<item><p>set the category of <emph>P</emph> to "computed";</p></item>
+</olist>
+</item>
+</olist>
+<note role="explanation">
+<p>As a result of the filtering rule above, the computed style set of
+a <el>style</el> 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 <el>style</el> element.</p>
+</note>
+</div4>
+<div4 id="semantics-style-resolution-process-overall">
+<head>Style Resolution Process</head>
+<p>The top-level style resolution process is defined as follows: using
+a preorder traversal of each element and anonymous span,
+<emph>E</emph>, of an intermediate synchronic document,
+<emph>DOC<sub>inter</sub></emph>, perform the following ordered
+sub-steps:</p>
+<olist>
+<item><p><phrase role="strong">[filter]</phrase> if the element type
+of <emph>E</emph> is not the styling element type <el>style</el>, is
+not the layout element type <el>region</el>, and is not one of the
+content element types <el>body</el>, <el>div</el>, <el>p</el>,
+<el>span</el>, <el>br</el>, or anonymous span, then continue to the
+next element in the preorder traversal;</p></item>
+<item><p> <phrase role="strong">[resolve computed styles]</phrase>
+determine (obtain) the computed style set <emph>CSS</emph> of
+<emph>E</emph>, namely, <emph>CSS(E)</emph>, in accordance with
+<specref ref="semantics-style-resolution-processing-css"/>.</p></item>
+</olist>
+</div4>
+</div3>
+</div2>
+</div1>
+<div1 id="layout">
+<head>Layout</head>
+<p>This section specifies the <emph>layout</emph> 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>
+<note role="elaboration">
+<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>
+</note>
+<div2 id="layout-element-vocabulary">
+<head>Layout Element Vocabulary</head>
+<p>The following elements specify the structure and principal layout aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="layout-vocabulary-layout"/></p></item>
+<item><p><specref ref="layout-vocabulary-region"/></p></item>
+</ulist>
+<div3 id="layout-vocabulary-layout">
+<head>layout</head>
+<p>The <el>layout</el> element is a container element used to group
+layout matter, including metadata that applies to layout matter.</p>
+<p>The <el>layout</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>region</el> elements.</p>
+<table id="elt-syntax-layout" role="syntax">
+<caption>XML Representation – Element Information Item: layout</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<layout
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#layout-vocabulary-region">region</loc>*
+</layout>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>layout</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="layout-vocabulary-region">
+<head>region</head>
+<p>The <el>region</el> element is used to define a space or area into which content is
+to be flowed for the purpose of presentation.</p>
+<p>In addition, and in accordance with
+<specref ref="semantics-style-inheritance-region"/>,
+the <el>region</el> element may be used to specify inheritable style properties to be
+inherited by content that is flowed into it.</p>
+<p>The <el>region</el> 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 <el>style</el> elements.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>region</el> 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 <el>region</el> element.
+Any <el>style</el> child element must be considered a local style
+definition that applies only to the containing <el>region</el>
+element, i.e., does not apply for resolving referential styling.</p>
+<table id="elt-syntax-region" role="syntax">
+<caption>XML Representation – Element Information Item: region</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<region
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#style-attribute-style">style</loc> = IDREFS
+ <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+ <loc href="#metadata-attribute-role">ttm:role</loc> = string
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
+</region>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If <att>begin</att> and (or) <att>end</att> attributes are specified on a
+<el>region</el> 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 <el>region</el> element that is associated
+with a time interval is the document instance's root <el>tt</el> element.</p>
+<p>If a <att>dur</att> attribute is specified on the <el>region</el> 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>
+<note role="motivation">
+<p>A <el>region</el> element may be associated with a time interval for two
+purposes: (1) in order to temporally bound the presentation of the region and
+its content, and (2) to provide a temporal context in which animations of region
+styles may be effected.</p>
+<p>For example, an author may wish a region that is otherwise empty, but
+may have a visible background color to be presented starting at some time and
+continuing over the region's duration. The simple duration of the region serves
+additionally to scope the presentation effects of content that is targeted to the
+region. An author may also wish to move a region within the root container
+extent or change a region's background color by means of animation effects. In
+both of these cases, it is necessary to posit an active time interval for a
+region.</p>
+</note>
+<p>If no <att>timeContainer</att> attribute is specified on
+a <el>region</el> element, then it must be interpreted as having
+<emph>parallel</emph> time containment semantics.</p>
+<p>If a <loc
+href="#metadata-attribute-role"><att>ttm:role</att></loc> attribute is
+specified on a <el>region</el> element, then it must adhere to the
+value syntax defined by <specref
+ref="metadata-attribute-role-syntax"/>, and where the role(s) identified
+by this attribute expresses the semantic role(s) of the region
+independently from the semantic role(s) of any content targeted to
+(associated with) the region.</p>
+</div3>
+</div2>
+<div2 id="layout-attribute-vocabulary">
+<head>Layout Attribute Vocabulary</head>
+<p>This section defines the <specref ref="layout-attribute-region"/> attribute used with content elements.</p>
+<div3 id="layout-attribute-region">
+<head>region</head>
+<p>The <att>region</att> attribute is used to reference a <el>region</el>
+element which defines a space or area into which a content element is intended to be flowed.</p>
+<p>The <att>region</att> attribute may be specified by an instance of the following
+element types:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+</ulist>
+<note role="seealso">
+<p>See <specref ref="semantics-region-layout"/> below for further information on content
+flow in a region.</p>
+</note>
+</div3>
+</div2>
+<div2 id="semantics-region-layout">
+<head>Region Layout and Presentation</head>
+<p>This section defines the semantics of region layout and
+presentation in terms of a standard processing model as
+follows:</p>
+<ulist>
+<item><p><specref ref="semantics-default-region"/></p></item>
+<item><p><specref ref="semantics-region-layout-step-1"/></p></item>
+<item><p><specref ref="semantics-region-layout-step-2"/></p></item>
+<item><p><specref ref="semantics-region-layout-example"/></p></item>
+</ulist>
+<p>Any
+implementation is permitted provided that the externally observable
+results are consistent with the results produced by this model.
+</p>
+<div3 id="semantics-default-region">
+<head>Default Region</head>
+<p>If a TTML document instance does not specify a
+<loc href="#layout-vocabulary-region"><el>region</el></loc> element,
+then a <emph>default region</emph> is implied with the following characteristics:</p>
+<ulist>
+<item>
+<p>the identity of the default region is considered to be anonymous;</p>
+</item>
+<item>
+<p>the extent of the default region is the same as the root container
+region;</p>
+</item>
+<item>
+<p>the temporal interval of the default region is the same as temporal
+interval of the document instance;</p>
+</item>
+</ulist>
+<p>Furthermore, if no <loc
+href="#layout-vocabulary-region"><el>region</el></loc> element was
+specified, then the <loc
+href="#layout-attribute-region"><att>region</att></loc> attribute must
+not be specified on any content element in the document
+instance.</p>
+<p>If a default region is implied for a given document instance, then
+the <loc href="#document-structure-vocabulary-body"><el>body</el></loc> element
+is implicitly targeted to (associated with) the default region.</p>
+<p>When implying a default region, the document instance is to be
+treated as if a <loc
+href="#layout-vocabulary-region"><el>region</el></loc> element and its
+parent <loc href="#layout-vocabulary-layout"><el>layout</el></loc>
+element were specified in a <loc
+href="#document-structure-vocabulary-head"><el>head</el></loc>
+element, and a matching <loc
+href="#layout-attribute-region"><att>region</att></loc> attribute were
+specified on the <loc
+href="#document-structure-vocabulary-body"><el>body</el></loc> element
+as shown in the following example:</p>
+<table id="semantics-default-region-example" role="example">
+<caption>Example – Implied Default Region</caption>
+<tbody>
+<tr>
+<td>
+<eg>
+<tt xml:lang="" xmlns="http://www.w3.org/ns/ttml">
+ <head>
+ <phrase role="strong"><layout>
+ <region xml:id="anonymous"/>
+ </layout></phrase>
+ </head>
+ <body <phrase role="strong">region="anonymous"</phrase>/>
+</tt>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, a default <el>region</el> element and <att>region</att>
+attribute are implied. In addition, a <el>layout</el> container element is implied for
+the implied <el>region</el> element.</p>
+</note>
+</div3>
+<div3 id="semantics-region-layout-step-1">
+<head>Intermediate Synchronic Document Construction</head>
+<p>For the purposes of performing presentation processing, the active time
+duration of a document instance 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 document
+instance is mapped from its original, source
+form, <emph>DOC<sub>source</sub></emph>,
+to an intermediate
+synchronic document form,
+<emph>DOC<sub>inter</sub></emph>, as follows:</p>
+<olist>
+<item>
+<p>for each temporally active region <emph>R</emph>, replicate the
+sub-tree
+ of <emph>DOC<sub>source</sub></emph>
+headed by the <el>body</el> element;</p>
+</item>
+<item>
+<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 <emph>R</emph>;</p>
+</item>
+<item>
+<p>if the pruned sub-tree is non-empty, then reparent it to the <emph>R</emph>
+element;</p>
+</item>
+<item>
+<p>finally, after completing the above steps, prune the original <el>body</el>
+element from the intermediate document, then prune all <att>region</att>,
+<att>begin</att>, <att>end</att>, and <att>dur</att> attributes, which are no
+longer semantically relevant;</p>
+</item>
+</olist>
+<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>
+<olist>
+<item><p>if the element specifies a <loc
+href="#layout-attribute-region"><att>region</att></loc> attribute,
+then the element is associated with the region referenced by that
+attribute;</p></item>
+<item><p>if some ancestor of that element specifies a <loc
+href="#layout-attribute-region"><att>region</att></loc> attribute,
+then the element is associated with the region referenced by the most
+immediate ancestor that specifies this attribute;</p></item>
+<item><p> if the element contains a descendant element that
+specifies a <loc
+href="#layout-attribute-region"><att>region</att></loc> attribute,
+then the element is associated with the region referenced by that
+attribute;</p></item>
+<item><p>if a default region was implied (due to the absence of any
+<loc href="#layout-vocabulary-region"><el>region</el></loc> element),
+then the element is associated with the default region;</p></item>
+<item><p>the element is not associated with any region.</p></item>
+</olist>
+<p>The pseudo-code shown in <specref ref="content-hierarchy-region-mapping"/>
+provides one possible algorithm that implements these processing steps.</p>
+<table id="content-hierarchy-region-mapping" role="example">
+<caption>Example – Content Hierarchy Region Mapping</caption>
+<tbody>
+<tr>
+<td>
+<eg>
+PREPARE-CONTENT ( D ) :=
+ foreach R in SELECT ( D, "/tt/head/layout/region" )
+ if TEMPORALLY-ACTIVE? ( R )
+ APPEND-CHILDREN ( R, SELECT ( D, "/tt/body" ) )
+ foreach E in POSTORDER-TRAVERSE ( R )
+ if ! CONTENT-ELEMENT? ( E ) or ! TEMPORALLY-ACTIVE? ( E ) or EMPTY? ( E ) or REGION-OF ( E ) != R
+ then PRUNE ( E )
+ PRUNE ( SELECT ( D, "/tt/body" ) )
+ PRUNE ( SELECT ( D, "//*/@region" ) )
+ PRUNE ( SELECT ( D, "//*/@begin" ) )
+ PRUNE ( SELECT ( D, "//*/@end" ) )
+ PRUNE ( SELECT ( D, "//*/@dur" ) )
+
+REGION-OF ( E ) :=
+ if NULL? ( E )
+ return NULL
+ else if HAS-ATTRIBUTE? ( E, "region" )
+ return VALUE-OF-ATTRIBUTE ( E, "region" )
+ else
+ return REGION-OF ( PARENT-OF ( E ) )
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The result of performing the processing described above will be a sequence of
+<emph>N</emph> intermediate synchronic
+document instances,
+<emph>DOC<sub><phrase>inter<sub>0</sub></phrase></sub></emph> …
+<emph>DOC<sub><phrase>inter<sub>N−1</sub></phrase></sub></emph>.</p>
+</div3>
+<div3 id="semantics-region-layout-step-2">
+<head>Synchronic Flow Processing</head>
+<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
+<!-- changed for future CSS compatibility
+represented as
+-->
+equivalent to
+an XSL FO document instance as defined by <bibref ref="xsl11"/>,
+and semantically extended by TTML specific style properties that have no XSL
+FO counterpart.</p>
+<p>Each intermediate synchronic document produced by <specref
+ref="semantics-region-layout-step-1"/> is mapped
+<!-- changed for future CSS compatibility
+to an XSL FO document instance, <emph>F</emph>, as follows:</p>
+-->
+to a styled document <emph>F</emph> consistent with an XSL FO document instance, as follows</p>
+<olist>
+<item>
+<p>perform the following ordered sub-steps to create anonymous spans:</p>
+<olist>
+<item><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></item>
+<item><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></item>
+<item><p>for each span element whose child is a single anonymous span,
+replace the anonymous span with its sequence of child text
+nodes;</p></item>
+</olist>
+</item>
+<item>
+<p>resolve styles according to <specref
+ref="semantics-style-resolution-process-overall"/>;</p>
+</item>
+<item>
+<p>map the <el>tt</el> element to be equivalent to an <el>fo:root</el> element, populated
+initially with an <el>fo:layout-master-set</el> element that contains a valid
+<el>fo:simple-page-master</el> that, in turn, contains an
+<el>fo:region-body</el> child, where the root container extent expressed on the
+<el>tt</el> element is mapped to <att>page-width</att> and
+<att>page-height</att> attributes on the <el>fo:simple-page-master</el>
+element;</p>
+</item>
+<item>
+<p>map the <el>layout</el> element to be equivalent to an <el>fo:page-sequence</el> element and a
+child <el>fo:flow</el> element that reference the page master and page region
+defined by the simple page master produced above;</p>
+</item>
+<item>
+<p>map each non-empty <el>region</el> element to be equivalent to an <el>fo:block-container</el>
+element with an <att>absolute-position</att> attribute with value
+<code>absolute</code>, and where the region's position and extent are mapped to equivalent
+<att>top</att>, <att>left</att>, <att>width</att>, and <att>height</att>
+attributes;</p>
+</item>
+<item>
+<p>for each <el>body</el>, <el>div</el>, and <el>p</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code>, map the element to the equivalent of a distinct <el>fo:block</el> element,
+populating the style properties of <el>fo:block</el> by using the computed
+style set associated with each original TTML content element;</p>
+</item>
+<item>
+<p>for the resulting <el>fo:block</el> formatting object equivalent
+produced in the previous step that corresponds to the <el>body</el>
+element, map to be equivalent to appending to the end of its children an empty
+ <el>fo:block</el> with the following attributes:
+<att>space-after.optimum</att>, <att>space-after.maximum</att>, and
+<att>space-after.conditionality</att>, where the value of the former
+two attributes is the height or width of the containing
+<el>fo:block-container</el> element, whichever of these is designated
+as the block progression dimension, and where the value of the last is
+<code>retain</code>;</p>
+</item>
+<item>
+<p>for each <el>span</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code> and for each anonymous
+span that is a child of a <el>p</el> or <el>span</el> element,
+map the element or
+sequence of character items to be equivalent to a distinct <el>fo:inline</el> element,
+populating the style properties of <el>fo:inline</el> by using the computed
+style set associated with each original TTML content element
+or anonymous span;</p>
+</item>
+<item>
+<p>for each <el>br</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code>, map the element to be equivalent
+to a distinct <el>fo:character</el> element having the following
+properties:</p>
+<ulist>
+<item>
+<p><code>character="&#x000A;"</code></p>
+</item>
+<item>
+<p><code>suppress-at-line-break="retain"</code></p>
+</item>
+</ulist>
+</item>
+<item>
+<p>for each TTML style property attribute in some computed
+style set that
+has no counterpart in <bibref ref="xsl11"/>, map that attribute directly through
+to the relevant formatting object produced by the input TTML content element to
+which the style property applies;</p>
+</item>
+<item>
+<p>optionally, synthesize a unique <att>id</att> attribute on each resulting
+formatting object element that relates that element to the input element that
+resulted in that formatting object element;</p>
+</item>
+</olist>
+ <!-- old definition
+ <p> For each resulting XSL FO document instance
+ <emph>DOC<sub>FO</sub></emph>,
+if processing
+requires presentation on a visual medium, then apply the formatting semantics
+prescribed by <bibref ref="xsl11"/> in order to produce an XSL FO area tree that
+may then be subsequently rendered onto the visual medium.</p>
+<note role="elaboration">
+<p>In the XSL FO area tree produced by formatting
+<emph>DOC<sub>FO</sub></emph>, 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, corresponds to the <emph>root container region</emph> defined
+above in <specref ref="definitions"/>.</p>
+</note>
+<note>
+<p>Due to the possible presence of TTML style properties
+or style property values in a given DFXP document instance for which
+there is no <bibref ref="xsl11"/> counterpart, the use of a compliant <bibref ref="xsl11"/> formatting processor
+is not necessarily sufficient to satisfy the presentation
+semantics defined by this specification.</p>
+</note>
+-->
+ <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 <bibref ref="xsl11"/>.</p>
+<note role="elaboration">
+<p>In an XSL FO area tree produced by formatting <emph>F</emph> using
+an <bibref ref="xsl11"/> 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 <emph>root container region</emph> defined
+above in <specref ref="definitions"/>.</p>
+</note>
+<note>
+<p>
+ Due to the possible presence of TTML style properties or style property values
+ in a given TTML document instance for which there is no <bibref ref="xsl11"/> counterpart,
+ Implementors should recognize that it is the layout model of <bibref ref="xsl11"/> that is being referenced
+ by this specification, not the requirement to use a compliant <bibref ref="xsl11"/> 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>
+</note>
+</div3>
+<div3 id="semantics-region-layout-example">
+<head>Elaborated Example (Informative)</head>
+<p>An example of the processing steps described above is elaborated below, starting with <specref
+ref="region-mapping-example-1-s"/>.</p>
+<table id="region-mapping-example-1-s" role="example">
+<caption>Example – Sample Source Document</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above document, the content hierarchy consists of two divisions, each
+containing two paragraphs. This content is targeted (selected into) one of two
+non-overlapping regions that are styled identically except for their position
+and their foreground colors, the latter of which is inherited by and applies to
+the (and, in this case, anonymous) spans reparented into the regions.</p>
+<p>The following, first intermediate document shows the synchronic state at time
+interval [0,1), during which time only division <code>d1</code> is temporally active,
+and where paragraphs <code>p1</code> and <code>p2</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p>
+<note>
+<p>The intermediate documents shown below are not valid TTML document instances,
+but rather, are representations of possible internal processing states used for
+didactic purposes.</p>
+</note>
+<table id="region-mapping-example-1-i0" role="example">
+<caption>Example – Intermediate Document – [0s,1s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-0;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>
+ <!-- old text
+ An XSL FO document instance produced by performing flow processing
+ upon the first intermediate document is shown below.
+ -->
+ 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>
+<table id="region-mapping-example-1-f0" role="example">
+<caption>Example – XSL FO Document – [0s,1s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-p-0;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The following, second intermediate document shows the synchronic state at
+time interval [1,2), at which time both divisions <code>d1</code> and
+<code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
+<code>p4</code> (and their ancestors) are selected into region <code>r1</code>
+and paragraphs <code>p2</code> and <code>p3</code> (and their ancestors) are
+selected into region <code>r2</code>.</p>
+<table id="region-mapping-example-1-i1" role="example">
+<caption>Example – Intermediate Document – [1s,2s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-1;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The following, third intermediate document shows the synchronic state at time
+interval [2,3), at which time only division <code>d2</code> is temporally active,
+and where paragraphs <code>p4</code> and <code>p3</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p>
+<table id="region-mapping-example-1-i2" role="example">
+<caption>Example – Intermediate Document – [2s,3s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-2;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+</div2>
+<div2 id="semantics-line-layout">
+<head>Line Layout</head>
+ <!--
+<p>The semantics of line layout, including line breaking, defined by
+<bibref ref="xsl11"/> apply to the performance of the composition and layout of
+lines for presentation processing of a document instance on a visual medium.</p>
+-->
+
+<p>If a profile that applies to a document instance
+requires use of the <loc
+href="#feature-lineBreak-uax14">#lineBreak-uax14</loc> feature
+(i.e., the value attribute for the feature is specified as <code>use</code>), then
+the recommendations defined by <loc
+href="http://www.unicode.org/unicode/reports/tr14/#Algorithm">Line
+Breaking Algorithm</loc> <bibref ref="uax14"/> apply when performing
+line layout on the content of the document instance.</p>
+</div2>
+</div1>
+<div1 id="timing">
+<head>Timing</head>
+<p>This section specifies the <emph>timing</emph> 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>
+<div2 id="timing-element-vocabulary">
+<head>Timing Element Vocabulary</head>
+<p>No timing related element vocabulary is defined for use in the core
+vocabulary catalog.</p>
+</div2>
+<div2 id="timing-attribute-vocabulary">
+<head>Timing Attribute Vocabulary</head>
+<p>This section defines the following basic timing attributes for use with timed elements:</p>
+<ulist>
+<item><p><specref ref="timing-attribute-begin"/></p></item>
+<item><p><specref ref="timing-attribute-end"/></p></item>
+<item><p><specref ref="timing-attribute-dur"/></p></item>
+</ulist>
+<p>In addition, this section defines the <specref
+ref="timing-attribute-timeContainer"/> attribute for use with timed elements
+that serve simultaneously as timing containers.</p>
+<div3 id="timing-attribute-begin">
+<head>begin</head>
+<p>The <att>begin</att> attribute is used to specify the begin
+point of a temporal interval associated with a timed element. If
+specified, the value of a <att>begin</att> attribute must adhere to
+a <timeExpression> specification as defined by <specref
+ref="timing-value-timeExpression"/>.</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 <att>begin</att> attribute are those defined
+by <bibref ref="smil21"/>, § 10.4.1,
+while taking into account any overriding semantics defined by this specification.</p>
+</div3>
+<div3 id="timing-attribute-end">
+<head>end</head>
+<p>The <att>end</att> attribute is used to specify the ending point
+of a temporal interval associated with a timed element. If
+specified, the value of an <att>end</att> attribute must adhere to a
+<timeExpression> specification as defined by <specref
+ref="timing-value-timeExpression"/>.</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>
+<note role="example">
+<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>
+</note>
+<p>The semantics of the <att>end</att> attribute are those defined
+by <bibref ref="smil21"/>, § 10.4.1,
+while taking into account any overriding semantics defined by this specification.</p>
+</div3>
+<div3 id="timing-attribute-dur">
+<head>dur</head>
+<p>The <att>dur</att> attribute is used to specify the duration of a
+temporal interval associated with a timed element. If specified,
+the value of a <att>dur</att> attribute must adhere to a
+<timeExpression> specification as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<note role="clarification">
+<p>When the <code>clock-time</code> form of a <timeExpression> specification
+is used with a <att>dur</att> attribute, it is intended to be interpreted as
+a difference between two implied clock time expressions.</p>
+</note>
+<p>When a TTML document instance specifies the use of the
+<code>smpte</code> time base and <code>discontinuous</code> marker
+mode, the <att>dur</att> attribute must not be specified on any
+element.</p>
+<p>The semantics of the <att>dur</att> attribute are those defined
+by <bibref ref="smil21"/>, § 10.4.1,
+while taking into account any overriding semantics defined by this specification.</p>
+<note role="elaboration">
+<p>In the context of the subset of <bibref ref="smil21"/> semantics supported by
+this specification, the active duration of an element that specifies both
+<att>end</att> and <att>dur</att> attributes is equal to the lesser of the value of
+the <att>dur</att> attribute and the difference between the value of the
+<att>end</att> attribute and the element's begin time.</p>
+</note>
+</div3>
+<div3 id="timing-attribute-timeContainer">
+<head>timeContainer</head>
+<p>The <att>timeContainer</att> 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 <att>timeContainer</att> attribute must be one
+of the following:</p>
+<ulist>
+<item><p><code>par</code></p></item>
+<item><p><code>seq</code></p></item>
+</ulist>
+<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.</p>
+<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 <att>timeContainer</att> 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>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#layout-vocabulary-region"><el>region</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+</ulist>
+<p>The semantics of parallel and sequential time
+containment are those defined by <bibref ref="smil21"/>, § 10.3.2,
+while taking into account any overriding semantics defined by this specification.</p>
+</div3>
+</div2>
+<div2 id="timing-time-value-expressions">
+<head>Time Value Expressions</head>
+<p>Timing attribute values include the use of the following expressions:</p>
+<ulist>
+<item><p><specref ref="timing-value-timeExpression"/></p></item>
+</ulist>
+<div3 id="timing-value-timeExpression">
+<head><timeExpression></head>
+<p>A <timeExpression> is used to specify a coordinate along
+some time base, where the applicable time base is determined by the
+<att>ttp:timeBase</att> parameter.</p>
+<note role="example">
+<p>See <specref ref="parameter-attribute-timeBase"/>, <specref
+ref="parameter-attribute-frameRate"/>, <specref
+ref="parameter-attribute-subFrameRate"/>, and <specref
+ref="parameter-attribute-tickRate"/> for further information on
+explicit specification of time base, frame rate, sub-frame rate, and
+tick rate.</p>
+</note>
+<table id="timeExpression-syntax" role="syntax">
+<caption>Syntax Representation – <timeExpression></caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<timeExpression>
+ : clock-time
+ | offset-time
+
+clock-time
+ : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
+
+offset-time
+ : time-count fraction? metric
+
+hours
+ : <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc>
+ | <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc>+
+
+minutes | seconds
+ : <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc>
+
+frames
+ : <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc>
+ | <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc> <loc href="#style-value-digit"><digit></loc>+
+
+sub-frames
+ : <loc href="#style-value-digit"><digit></loc>+
+
+fraction
+ : "." <loc href="#style-value-digit"><digit></loc>+
+
+time-count
+ : <loc href="#style-value-digit"><digit></loc>+
+
+metric
+ : "h" // hours
+ | "m" // minutes
+ | "s" // seconds
+ | "ms" // milliseconds
+ | "f" // frames
+ | "t" // ticks
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<!--
+<p>If a <timeExpression> is expressed in terms of an
+<emph>offset-time</emph> and no <emph>metric</emph> term is specified,
+then the default metric specified by a
+<att>ttp:defaultTimeMetric</att> parameter is used. If no
+default metric is specified, then the time count must be interpreted
+as seconds.</p>
+-->
+<p>If a <timeExpression> is expressed in terms of a
+<emph>clock-time</emph>, then leading zeroes are used when expressing hours,
+minutes, seconds, and frames less than 10. Minutes are constrained to the range
+[0…59], while seconds are constrained to [0…60], where the value 60
+applies only to leap seconds.</p>
+<p>If a <timeExpression> is expressed in terms of a
+<emph>clock-time</emph> and a <emph>frames</emph> term is specified,
+then the value of this term must be constrained to the interval
+[0…<emph>F-1</emph>], where <emph>F</emph> is the frame rate
+determined by the <att>ttp:frameRate</att> parameter as defined
+by <specref ref="parameter-attribute-frameRate"/>.</p>
+<p>If a <timeExpression> is expressed in terms of a
+<emph>clock-time</emph> and a <emph>sub-frames</emph> term is
+specified, then the value of this term must be constrained to the
+interval [0…<emph>S-1</emph>], where <emph>S</emph> is the
+sub-frame rate determined by the <att>ttp:subFrameRate</att> parameter as defined by <specref
+ref="parameter-attribute-subFrameRate"/>.</p>
+</div3>
+</div2>
+<div2 id="timing-time-intervals">
+<head>Time Intervals</head>
+<p>The semantics of time containment, durations, and intervals defined by
+<bibref ref="smil21"/> apply to the interpretation of like-named timed elements and timing
+vocabulary defined by this specification, given the following
+constraints:</p>
+<ulist>
+<item>
+<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 <bibref ref="smil21"/>; if the
+
+anonymous span's
+
+parent time container is a sequential time container, then the
+implicit duration is equivalent to zero.</p>
+</item>
+<item>
+<p>The implicit duration of a <el>body</el>, <el>div</el>, <el>p</el>,
+or <el>span</el> element is determined in accordance to (1) whether
+the element is a parallel or sequential time container, and (2) the
+semantics of <bibref ref="smil21"/> as applied to these time
+containers.</p>
+</item>
+<item>
+<p>The implicit duration of the <el>region</el> element is defined to
+be equivalent to the <code>indefinite</code>
+duration value as defined by <bibref ref="smil21"/>.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>media</code> or
+<code>smpte</code> with mode <code>continuous</code>, then time
+expressions must be interpreted as
+equivalent to offset based timing
+in <bibref ref="smil21"/>, namely, as offsets from an implicit
+syncbase.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>smpte</code> with mode
+<code>discontinuous</code>, then time expressions must be interpreted
+as equivalent to marker values produced by an external marker event
+source, in which case all time expressions are equivalent to event
+based timing in <bibref ref="smil21"/>.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>clock</code>, then time
+expressions must be interpreted as equivalent to wallclock time
+expressions in <bibref ref="smil21"/>, where the applicable wallclock
+used is determined by the clock mode parameter.</p>
+</item>
+</ulist>
+</div2>
+</div1>
+<div1 id="animation">
+<head>Animation</head>
+<p>This section specifies the <emph>animation</emph> 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>
+<div2 id="animation-element-vocabulary">
+<head>Animation Element Vocabulary</head>
+<p>The following elements specify the structure and principal animation aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="animation-vocabulary-set"/></p></item>
+</ulist>
+<div3 id="animation-vocabulary-set">
+<head>set</head>
+<p>The <el>set</el> element is used as a child element of a content
+element or a <el>region</el> element
+in order to express a discrete change of some style parameter value
+that applies over some time interval.</p>
+<p>The <el>set</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group.</p>
+<table id="elt-syntax-set" role="syntax">
+<caption>XML Representation – Element Information Item: set</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<set
+ <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression"><timeExpression></loc>
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>a single attribute in TT Style namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+</set>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="example">
+<p>The use of multiple <el>set</el> element children may be used to effect fade and
+position transitions.</p>
+</note>
+<p>An example of using the <el>set</el> element to animate content
+styling is illustrated below:</p>
+<table id="animation-vocabulary-set-example-1" role="example">
+<caption>Example Fragment – Content Style Animation</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<p dur="5s" tts:color="yellow">
+<phrase role="strong"><set begin="1s" dur="1s" tts:color="red"/></phrase>
+<phrase role="strong"><set begin="2s" dur="1s" tts:color="green"/></phrase>
+<phrase role="strong"><set begin="3s" dur="1s" tts:color="red"/></phrase>
+Text with Flashing Colors!
+</p>
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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>
+</note>
+
+<p>An example of using the <el>set</el> element to animate region
+styling is illustrated below:</p>
+<table id="animation-vocabulary-set-example-2" role="example">
+<caption>Example Fragment – Region Style Animation</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<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">
+ <phrase role="strong"><set dur="10s" tts:origin=" 8c 14c"/></phrase>
+ <phrase role="strong"><set dur="2s" tts:origin=" 2c 2c"/></phrase>
+ <phrase role="strong"><set dur="3s" tts:origin=" 8c 14c"/></phrase>
+ <phrase role="strong"><set dur="2s" tts:origin="14c 4c"/></phrase>
+ <phrase role="strong"><set dur="10s" tts:origin=" 8c 14c"/></phrase>
+ <style tts:extent="24c 2c"/>
+ </region>
+ </layout>
+ </head>
+ <body region="r1">...</body>
+</tt>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the root container region is divided into a
+cell grid of 40 columns and 16 rows. A region, <code>r1</code>, with
+dimensions of 24 columns and 2 rows is then positioned within the
+root container region, with its position varying over time in order to
+create an effect of moving the region, which may be desirable so as
+to avoid obscuring characters in an underlying video with captions.</p>
+</note>
+<note role="derivation">
+<p>The semantics of the <el>set</el> element
+are based upon that defined by <bibref ref="smil21"/>,
+§ 3.5.2.</p>
+</note>
+</div3>
+</div2>
+<div2 id="animation-attribute-vocabulary">
+<head>Animation Attribute Vocabulary</head>
+<p>No animation related attribute vocabulary is defined for use in the
+core vocabulary catalog.</p>
+</div2>
+</div1>
+<div1 id="metadata">
+<head>Metadata</head>
+<p>This section specifies the <emph>metadata</emph> 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 document instance, 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>
+<div2 id="metadata-element-vocabulary">
+<head>Metadata Element Vocabulary</head>
+<p>The <specref ref="metadata-vocabulary-metadata"/> element serves as
+a generic container element for grouping metadata information.</p>
+<p>In addition, the following elements, all defined in the TT Metadata Namespace,
+provide standard representations for common metadata that is expected to be commonly
+used in a document instances:
+</p>
+<ulist>
+<item><p><specref ref="metadata-vocabulary-title"/></p></item>
+<item><p><specref ref="metadata-vocabulary-desc"/></p></item>
+<item><p><specref ref="metadata-vocabulary-copyright"/></p></item>
+<item><p><specref ref="metadata-vocabulary-agent"/></p></item>
+<item><p><specref ref="metadata-vocabulary-name"/></p></item>
+<item><p><specref ref="metadata-vocabulary-actor"/></p></item>
+</ulist>
+<div3 id="metadata-vocabulary-metadata">
+<head>metadata</head>
+<p>The <el>metadata</el> element functions as a generic container for metadata
+information.</p>
+<p>Metadata information may be expressed by a <el>metadata</el> element
+in one of two (non-mutually exclusive) manners: (1) by specifying one
+or more metadata attributes on the <el>metadata</el>
+element, and (2) by specifying one
+or more child elements
+in the <el>metadata</el> element
+that express metadata. Both types of metadata
+are referred to in this document as <emph>metadata items</emph>.</p>
+<table id="elt-syntax-metadata" role="syntax">
+<caption>XML Representation – Element Information Item: metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<metadata
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute in TT Metadata namespace</emph>}
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> ({<emph>any element in TT Metadata namespace</emph>}|{<emph>any element not in any TT namespace</emph>})*
+</metadata>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>The meaning of a specific metadata item must be evaluated in the
+context of where it appears. The core vocabulary catalog permits an
+arbitrary number of <el>metadata</el> element children of any
+content element type except for the
+<el>tt</el> element. See specific element
+vocabulary definitions for any constraints that apply to such
+usage.</p>
+</note>
+<p>The use of document metadata is illustrated by the following example.</p>
+<table id="metadata-vocabulary-metadata-example-1" role="example">
+<caption>Example Fragment – Document Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<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>
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The use of element metadata is illustrated by the following example.</p>
+<table id="metadata-vocabulary-metadata-example-2" role="example">
+<caption>Example Fragment – Element Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<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>
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+
+<p>The use of metadata attribute items is illustrated by the following example.</p>
+<table id="metadata-vocabulary-metadata-example-3" role="example">
+<caption>Example Fragment – Foreign Metadata Attribute Items</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<div xmlns:ext="http://foo.bar.example.org/ttaf1#metadata">
+ <metadata ext:ednote="remove this division prior to publishing"/>
+</div>
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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 <el>div</el> element. Note that the
+attribute may also be expressed directly on the <el>div</el> element;
+however, in this case the author wishes to segregate certain metadata
+attributes by expressing them indirectly on <el>metadata</el>
+elements.</p>
+</note>
+<p/>
+<p>The use of foreign element metadata is illustrated by the following example.</p>
+<table id="metadata-vocabulary-metadata-example-4" role="example">
+<caption>Example Fragment – Foreign Element Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+<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>
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, a number of elements defined by the Dublin
+Core metadata vocabulary are used to express document level metadata.</p>
+</note>
+<p/>
+</div3>
+<div3 id="metadata-vocabulary-title">
+<head>ttm:title</head>
+<p>The <el>ttm:title</el> element is used to express a human-readable title of
+a specific element instance.</p>
+<table id="elt-syntax-metadata-title" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:title</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:title
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttm:title>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:title</el> element is defined by this specification.</p>
+</note>
+<p>Examples of the <att>ttm:title</att> element are shown above in
+<specref ref="metadata-vocabulary-metadata-example-1"/> and
+<specref ref="metadata-vocabulary-metadata-example-2"/>.</p>
+</div3>
+<div3 id="metadata-vocabulary-desc">
+<head>ttm:desc</head>
+<p>The <el>ttm:desc</el> element is used to express a human-readable description of
+a specific element instance.</p>
+<table id="elt-syntax-metadata-desc" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:desc</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:desc
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttm:desc>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:desc</el> element is defined by this specification.</p>
+</note>
+<p>Examples of the <att>ttm:desc</att> element are shown above in
+<specref ref="metadata-vocabulary-metadata-example-1"/> and
+<specref ref="metadata-vocabulary-metadata-example-2"/>.</p>
+</div3>
+<div3 id="metadata-vocabulary-copyright">
+<head>ttm:copyright</head>
+<p>The <el>ttm:copyright</el> 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 <el>head</el> element.</p>
+<table id="elt-syntax-metadata-copyright" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:copyright</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:copyright
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttm:copyright>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:copyright</el> element is defined by this specification.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-agent">
+<head>ttm:agent</head>
+<p>The <el>ttm:agent</el> 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 <el>ttm:agent</el> element accepts as its children zero or more <el>ttm:name</el> elements followed by
+zero or one <el>ttm:actor</el> element.</p>
+<p>At least one <el>ttm:name</el> 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>
+<table id="elt-syntax-metadata-agent" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:agent</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:agent
+ <phrase role="reqattr">type</phrase> = (<emph>person</emph>|<emph>character</emph>|<emph>group</emph>|<emph>organization</emph>|<emph>other</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> <loc href="#metadata-vocabulary-name">ttm:name</loc>*, <loc href="#metadata-vocabulary-actor">ttm:actor</loc>?
+</ttm:agent>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A <att>type</att> attribute must be specified on each <el>ttm:agent</el> element, and,
+if specified, must have one of the following values:</p>
+<ulist>
+<item><p><el>person</el></p></item>
+<item><p><el>character</el></p></item>
+<item><p><el>group</el></p></item>
+<item><p><el>organization</el></p></item>
+<item><p><el>other</el></p></item>
+</ulist>
+<p>If the value of the <att>type</att> attribute is <code>character</code>, then the
+<el>ttm:agent</el> element instance should specify a <el>ttm:actor</el> child that
+specifies the agent that plays the role of the actor.</p>
+<p>A <att>ttm:agent</att> metadata item is considered to be significant only
+when specified as a child of the <el>head</el> element or as a child of a
+<el>metadata</el> element child of the <el>head</el> element.</p>
+<note role="elaboration">
+<p>A <el>ttm:agent</el> element instance is typically referenced using a <att>ttm:agent</att>
+attribute on a content element.</p>
+</note>
+<note role="elaboration">
+<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>
+</note>
+<p>The use of agent metadata is illustrated by the following example.</p>
+<table id="metadata-vocabulary-agent-example-1" role="example">
+<caption>Example Fragment – Agent Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+
+<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata">
+ <head>
+ <phrase role="strong"><ttm:agent xml:id="connery" type="person"></phrase>
+ <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>
+ <phrase role="strong"></ttm:agent></phrase>
+ <phrase role="strong"><ttm:agent xml:id="bond" type="character"></phrase>
+ <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"/>
+ <phrase role="strong"></ttm:agent></phrase>
+ </head>
+ <body>
+ <div>
+ ...
+ <p <phrase role="strong">ttm:agent="bond"</phrase>>I travel, a sort of licensed troubleshooter.</p>
+ ...
+ </div>
+ </body>
+</tt>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<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
+<el>ttm:actor</el> element. A reference is then made from content (the
+<el>p</el> element) to the character agent associated with
+(responsible for producing) that content. Note that in this example
+the <el>ttm:agent</el> metadata items are specified as immediate
+children of the document's <el>head</el> element rather than being
+placed in a container <el>metadata</el> element.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-name">
+<head>ttm:name</head>
+<p>The <el>ttm:name</el> element is used to specify a name of a person, character,
+group, or organization.</p>
+<table id="elt-syntax-metadata-name" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:name</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:name
+ <phrase role="reqattr">type</phrase> = (<emph>full</emph>|<emph>family</emph>|<emph>given</emph>|<emph>alias</emph>|<emph>other</emph>)
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> #PCDATA
+</ttm:name>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A <att>type</att> attribute must be specified on each <el>ttm:name</el> element, and,
+if specified, must have one of the following values:</p>
+<ulist>
+<item><p><el>full</el></p></item>
+<item><p><el>family</el></p></item>
+<item><p><el>given</el></p></item>
+<item><p><el>alias</el></p></item>
+<item><p><el>other</el></p></item>
+</ulist>
+<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 <el>ttm:name</el> element are shown above in
+<specref ref="metadata-vocabulary-agent-example-1"/>.</p>
+</div3>
+<div3 id="metadata-vocabulary-actor">
+<head>ttm:actor</head>
+<p>The <el>ttm:actor</el> element is used to link the definition of a (role-based) character
+agent with another agent that portrays the character.</p>
+<table id="elt-syntax-metadata-actor" role="syntax">
+<caption>XML Representation – Element Information Item: ttm:actor</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+<ttm:actor
+ <phrase role="reqattr">agent</phrase> = IDREF
+ <loc href="#content-attribute-id">xml:id</loc> = ID
+ <loc href="#content-attribute-lang">xml:lang</loc> = string
+ <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+ {<emph>any attribute not in default or any TT namespace</emph>}>
+ <emph>Content:</emph> EMPTY
+</ttm:actor>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>agent</att> attribute of a <el>ttm:actor</el> element must
+reference a <el>ttm:agent</el> element that denotes the person,
+group, or organization acting the part of a character.</p>
+<p>An example of the <el>ttm:actor</el> element is shown above in
+<specref ref="metadata-vocabulary-agent-example-1"/>.</p>
+</div3>
+</div2>
+<div2 id="metadata-attribute-vocabulary">
+<head>Metadata Attribute Vocabulary</head>
+<p>This section specifies the following attributes in the TT Metadata Namespace
+for use with the <el>metadata</el> element and with certain content elements:</p>
+<ulist>
+<item><p><specref ref="metadata-attribute-agent"/></p></item>
+<item><p><specref ref="metadata-attribute-role"/></p></item>
+</ulist>
+<note role="explanation">
+<p>Only certain metadata item attributes may be used with content elements. See
+the definitions of content elements to determine permissible usage.</p>
+</note>
+<div3 id="metadata-attribute-agent">
+<head>ttm:agent</head>
+<p>The <att>ttm:agent</att> 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 <att>ttm:agent</att> attribute must reference
+<el>ttm:agent</el> element instances that appear
+as a descendent of the same document instance as
+that of the referring element.</p>
+<p>An example of the <att>ttm:agent</att> attribute is shown above in
+<specref ref="metadata-vocabulary-agent-example-1"/>.</p>
+</div3>
+<div3 id="metadata-attribute-role">
+<head>ttm:role</head>
+<p>The <att>ttm:role</att> 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 <emph>S</emph> must adhere to production
+[3] <code>S</code> as defined by <bibref ref="xml10"/> §
+2.3:</p>
+<table id="metadata-attribute-role-syntax" role="syntax">
+<caption>Syntax Representation – ttm:role</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttm:role
+ role ( <emph>S</emph> 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]
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="extensibility">
+<p>All values of <att>ttm:role</att> that do not start with the prefix
+<code>x-</code> are reserved for future standardization.</p>
+</note>
+</div3>
+</div2>
+</div1>
+</body>
+<back>
+<div1 id="reduced-infoset">
+<head>Reduced XML Infoset</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>For the purposes of this specification, a Reduced XML Infoset is
+an XML Information Set <bibref ref="infoset"/> that consists of only the following information items
+and information item properties:</p>
+<div2 id="reduced-infoset-document">
+<head>Document Information Item</head>
+<ulist>
+<item><p><code>[document element]</code></p></item>
+</ulist>
+</div2>
+<div2 id="reduced-infoset-element">
+<head>Element Information Item</head>
+<ulist>
+<item><p><code>[namespace URI]</code></p></item>
+<item><p><code>[local name]</code></p></item>
+<item><p><code>[children]</code></p></item>
+<item><p><code>[attributes]</code></p></item>
+</ulist>
+<p>Child information items <code>[children]</code> are reduced to
+only element and character information items.</p>
+</div2>
+<div2 id="reduced-infoset-attribute">
+<head>Attribute Information Item</head>
+<ulist>
+<item><p><code>[namespace URI]</code></p></item>
+<item><p><code>[local name]</code></p></item>
+<item><p><code>[normalized value]</code></p></item>
+</ulist>
+</div2>
+<div2 id="reduced-infoset-character">
+<head>Character Information Item</head>
+<ulist>
+<item><p><code>[character code]</code></p></item>
+</ulist>
+<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>
+</div2>
+</div1>
+<div1 id="schemas">
+<head>Schemas</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>This appendix specifies the following schemas for use with
+DFXP Content document instances:</p>
+<ulist>
+<item><p>Relax NG, Compact Syntax (RNC) Schema</p></item>
+<item><p>XML Schema Definition (XSD) Schema</p></item>
+</ulist>
+<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>
+<div2 id="dfxp-schema-rnc">
+<head>Relax NG Schema</head>
+<p>This section specifies a Relax NG Compact Syntax (RNC) <bibref ref="rng"/> based schema
+for DFXP Content, also available in a <loc href="rnc/schema.zip">ZIP
+Archive</loc>.</p>
+<div3 id="rnc-dfxp-driver-schema">
+<head>Driver</head>
+<eg xml:space="preserve">&rnc-dfxp-driver;</eg>
+</div3>
+<div3 id="rnc-dfxp-modules">
+<head>Modules</head>
+<div4 id="rnc-dfxp-animation-module">
+<head>Animation Module</head>
+<eg xml:space="preserve">&rnc-dfxp-animation-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-classes-module">
+<head>Classes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-classes-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-content-module">
+<head>Content Module</head>
+<eg xml:space="preserve">&rnc-dfxp-content-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-core-attribs-module">
+<head>Core Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-core-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-datatypes-module">
+<head>Data Types Module</head>
+<eg xml:space="preserve">&rnc-dfxp-datatypes-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-document-module">
+<head>Document Module</head>
+<eg xml:space="preserve">&rnc-dfxp-document-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-head-module">
+<head>Header Module</head>
+<eg xml:space="preserve">&rnc-dfxp-head-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-layout-module">
+<head>Layout Module</head>
+<eg xml:space="preserve">&rnc-dfxp-layout-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metadata-module">
+<head>Metadata Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metadata-items-module">
+<head>Metadata Items Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-items-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metadata-attribs-module">
+<head>Metadata Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-parameters-module">
+<head>Parameters Module</head>
+<eg xml:space="preserve">&rnc-dfxp-parameters-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-parameter-items-module">
+<head>Parameter Items Module</head>
+<eg xml:space="preserve">&rnc-dfxp-parameter-items-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-parameter-attribs-module">
+<head>Parameter Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-parameter-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-styling-attribs-module">
+<head>Styling Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-styling-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-styling-module">
+<head>Styling Module</head>
+<eg xml:space="preserve">&rnc-dfxp-styling-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-timing-attribs-module">
+<head>Timing Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-timing-attribs-module;</eg>
+</div4>
+</div3>
+</div2>
+<div2 id="dfxp-schema-xsd">
+<head>XML Schema Definition (XSD) Schema</head>
+<p>This section specifies a W3C XML Schema Definition (XSD) <bibref ref="xsd-1"/> based schema
+for DFXP Content, also available in a <loc href="xsd/schema.zip">ZIP
+Archive</loc>.</p>
+<div3 id="xsd-dfxp-driver-schema">
+<head>Driver</head>
+<eg xml:space="preserve">&xsd-dfxp-driver;</eg>
+</div3>
+<div3 id="xsd-dfxp-modules">
+<head>Modules</head>
+<div4 id="xsd-dfxp-animation-module">
+<head>Animation Module</head>
+<eg xml:space="preserve">&xsd-dfxp-animation-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-content-module">
+<head>Content Module</head>
+<eg xml:space="preserve">&xsd-dfxp-content-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-core-attribs-module">
+<head>Core Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-core-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-datatypes-module">
+<head>Data Types Module</head>
+<eg xml:space="preserve">&xsd-dfxp-datatypes-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-document-module">
+<head>Document Module</head>
+<eg xml:space="preserve">&xsd-dfxp-document-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-head-module">
+<head>Header Module</head>
+<eg xml:space="preserve">&xsd-dfxp-head-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-layout-module">
+<head>Layout Module</head>
+<eg xml:space="preserve">&xsd-dfxp-layout-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metadata-module">
+<head>Metadata Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metadata-items-module">
+<head>Metadata Items Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-items-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metadata-attribs-module">
+<head>Metadata Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-parameters-module">
+<head>Parameters Module</head>
+<eg xml:space="preserve">&xsd-dfxp-parameters-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-parameter-items-module">
+<head>Parameter Items Module</head>
+<eg xml:space="preserve">&xsd-dfxp-parameter-items-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-parameter-attribs-module">
+<head>Parameter Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-parameter-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-styling-attribs-module">
+<head>Styling Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-styling-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-styling-module">
+<head>Styling Module</head>
+<eg xml:space="preserve">&xsd-dfxp-styling-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-timing-attribs-module">
+<head>Timing Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-timing-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-xml-attrs-module">
+<head>XML Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-xml-attrs-module;</eg>
+</div4>
+</div3>
+</div2>
+</div1>
+<div1 id="media-type-registration">
+<head>Media Type Registration</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>This appendix registers a new MIME media type,
+"application/ttml+xml" in conformance with
+<loc href="http://www.ietf.org/rfc/rfc4288.txt">BCP 13</loc> and
+<loc
+href="http://www.w3.org/2002/06/registering-mediatype.html">W3CRegMedia</loc>.
+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>
+<glist>
+<gitem>
+<label>Type name:</label>
+<def>
+<p>application</p>
+</def>
+</gitem>
+<gitem>
+<label>Subtype name:</label>
+<def>
+<p>ttml+xml</p>
+</def>
+</gitem>
+<gitem>
+<label>Required parameters:</label>
+<def>
+<p>None.</p>
+</def>
+</gitem>
+<gitem>
+<label>Optional parameters:</label>
+<def>
+<glist>
+<gitem>
+<label>charset</label>
+<def>
+<p>Same as application/xml media type, as specified in <bibref
+ref="rfc3023"/> or its successors.</p>
+</def>
+</gitem>
+<gitem>
+<label>profile</label>
+<def>
+<p>The document profile of a TTML document 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
+<att>ttp:profile</att> parameter defined by
+Section
+<specref ref="parameter-attribute-profile"/>
+of the published specification.</p>
+</def>
+</gitem>
+</glist>
+</def>
+</gitem>
+<gitem>
+<label>Encoding considerations:</label>
+<def>
+<p>Same for application/xml. See <bibref ref="xml-media"/>, Section
+3.2.</p>
+</def>
+</gitem>
+<gitem>
+<label>Security considerations:</label>
+<def>
+<p>As with other XML types and as noted in
+<bibref ref="xml-media"/>