Integrate existing DFXP CR sources to facilitate rebuilding the 20061116 CR.
authorGlenn Adams <glenn@skynav.com>
Sat, 13 Dec 2008 16:37:44 +0000
changeset 64 48b3fccf4a35
parent 63 4b54c95f74ad
child 65 3bb0da1a5c36
Integrate existing DFXP CR sources to facilitate rebuilding the 20061116 CR.
Fix warning in standard xmlspec XHTML stylesheet for use with XSLT 2.0 saxon8.
Update ANT build script to generate (clean) escaped entities.

N.B. The updateAcks target MUST NOT be run at this time, as a manually
constructed set of acknowledgments-current.txt file is presently being
used to facilitate reconstruction of the existing 20061116 CR.
spec/acknowledgements-current.txt
spec/acknowledgements.xml
spec/build.xml
spec/diffspec.xsl
spec/entities.dtd
spec/entitiescr.dtd
spec/entitiesedcopy.dtd
spec/entitieswd.dtd
spec/escape.sed
spec/examples/.cvsignore
spec/examples/ex1-p-0.xml
spec/examples/ex1-x-0.xml
spec/examples/ex1-x-1.xml
spec/examples/ex1-x-2.xml
spec/examples/ex1.xml
spec/images/.cvsignore
spec/images/backgroundColor.png
spec/images/color.png
spec/images/direction.png
spec/images/displayAlign.png
spec/images/display_0.png
spec/images/display_1.png
spec/images/display_2.png
spec/images/display_3.png
spec/images/display_4.png
spec/images/dk.png
spec/images/ds.png
spec/images/dynamicFlow_RU_animated.svg
spec/images/dynamicFlow_snake_0.png
spec/images/dynamicFlow_snake_1.png
spec/images/dynamicFlow_snake_10.png
spec/images/dynamicFlow_snake_11.png
spec/images/dynamicFlow_snake_12.png
spec/images/dynamicFlow_snake_13.png
spec/images/dynamicFlow_snake_14.png
spec/images/dynamicFlow_snake_15.png
spec/images/dynamicFlow_snake_2.png
spec/images/dynamicFlow_snake_3.png
spec/images/dynamicFlow_snake_4.png
spec/images/dynamicFlow_snake_5.png
spec/images/dynamicFlow_snake_6.png
spec/images/dynamicFlow_snake_7.png
spec/images/dynamicFlow_snake_8.png
spec/images/dynamicFlow_snake_9.png
spec/images/eh.png
spec/images/extent.png
spec/images/fontFamily.png
spec/images/fontSize.png
spec/images/fontStyle.png
spec/images/fontWeight.png
spec/images/ga.png
spec/images/gf.png
spec/images/lineHeight.png
spec/images/md.png
spec/images/model.png
spec/images/opacity_0.png
spec/images/opacity_1.png
spec/images/opacity_2.png
spec/images/opacity_3.png
spec/images/opacity_4.png
spec/images/origin.png
spec/images/overflow.png
spec/images/padding.png
spec/images/sh.png
spec/images/streaming.png
spec/images/subtitle1.png
spec/images/subtitle2.png
spec/images/subtitle3.png
spec/images/subtitle4.png
spec/images/subtitle5.png
spec/images/subtitle6.png
spec/images/subtitle7.png
spec/images/subtitle8.png
spec/images/subtitle9.png
spec/images/textAlign.png
spec/images/textDecoration.png
spec/images/textOutline.png
spec/images/tm.png
spec/images/unicodeBidi.png
spec/images/visibility_0.png
spec/images/visibility_1.png
spec/images/visibility_2.png
spec/images/visibility_3.png
spec/images/wrapOption.png
spec/images/writingMode.png
spec/images/zIndex.png
spec/rnc/.cvsignore
spec/rnc/ttaf1-dfxp-animation.rnc
spec/rnc/ttaf1-dfxp-classes.rnc
spec/rnc/ttaf1-dfxp-content.rnc
spec/rnc/ttaf1-dfxp-core-attribs.rnc
spec/rnc/ttaf1-dfxp-datatypes.rnc
spec/rnc/ttaf1-dfxp-document.rnc
spec/rnc/ttaf1-dfxp-head.rnc
spec/rnc/ttaf1-dfxp-layout.rnc
spec/rnc/ttaf1-dfxp-metadata-attribs.rnc
spec/rnc/ttaf1-dfxp-metadata-items.rnc
spec/rnc/ttaf1-dfxp-metadata.rnc
spec/rnc/ttaf1-dfxp-parameter-attribs.rnc
spec/rnc/ttaf1-dfxp-styling-attribs.rnc
spec/rnc/ttaf1-dfxp-styling.rnc
spec/rnc/ttaf1-dfxp-timing-attribs.rnc
spec/rnc/ttaf1-dfxp.rnc
spec/scm/.cvsignore
spec/scm/adi.scm
spec/scm/compile.scm
spec/scm/dfxp.pkg
spec/scm/dtf.scm
spec/scm/fox.scm
spec/scm/load.scm
spec/scm/rxi.scm
spec/scm/test.xml
spec/scm/tir.scm
spec/status.xml
spec/ttaf1-dfxp.html
spec/ttaf1-dfxp.xml
spec/xmlspec-ttaf1-dfxp.dtd
spec/xmlspec-ttaf1-dfxp.xsl
spec/xmlspec.xsl
spec/xsd/.cvsignore
spec/xsd/ttaf1-dfxp-animation.xsd
spec/xsd/ttaf1-dfxp-content.xsd
spec/xsd/ttaf1-dfxp-core-attribs.xsd
spec/xsd/ttaf1-dfxp-datatypes.xsd
spec/xsd/ttaf1-dfxp-document.xsd
spec/xsd/ttaf1-dfxp-head.xsd
spec/xsd/ttaf1-dfxp-layout.xsd
spec/xsd/ttaf1-dfxp-metadata-attribs.xsd
spec/xsd/ttaf1-dfxp-metadata-items.xsd
spec/xsd/ttaf1-dfxp-metadata.xsd
spec/xsd/ttaf1-dfxp-parameter-attribs.xsd
spec/xsd/ttaf1-dfxp-styling-attribs.xsd
spec/xsd/ttaf1-dfxp-styling.xsd
spec/xsd/ttaf1-dfxp-timing-attribs.xsd
spec/xsd/ttaf1-dfxp.xsd
spec/xsd/xml.xsd
--- a/spec/acknowledgements-current.txt	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/acknowledgements-current.txt	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,17 @@
+Glenn Adams, Extensible Formatting Systems, Inc. (chair);
+Kees Blom, CWI;
+Brad Botkin, WGBH National Center for Accessible Media;
+Dick Bulterman, CWI;
+Michael Dolan, Invited Expert;
+Gerry Fields, WGBH (formerly);
+Geoff Freed, WGBH National Center for Accessible Media;
+Markus Gylling, DAISY Consortium;
+Markku Hakkinen, Japanese Society for Rehabilitation of Persons with Disabilities;
+Sean Hayes, Microsoft;
+Erik Hodge, RealNetworks;
+Masahiko Kaneko, Microsoft;
+George Kerscher, DAISY Consortium;
+David Kirby, BBC;
+Thierry Michel, W3C (team contact);
+Patrick Schmitz, Invited Expert;
+and, Dave Singer, Apple Computer.
--- a/spec/acknowledgements.xml	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/acknowledgements.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -1,25 +1,32 @@
 <?xml version="1.0" encoding="utf-8"?>
 <inform-div1 id="acknowledgments">
-  <head>Acknowledgements</head>
-
-  <p>This document is the work of the <loc
-  href="http://www.w3.org/AudioVideo/TT/">W3C Timed Text Working Group</loc>.</p>
-
-  <p>
-    Members of the Working Group are (at the time of writing, and by
-    alphabetical order):
-      &acknowledgements-current;
-  </p>
-
-  <p>
-    Previous members of the Working Group were:
-      &acknowledgements-old;
-  </p>
-
-  <p>
-    The people who have contributed to <loc
-    href="http://lists.w3.org/Archives/Public/public-tt/">discussions
-    on public-tt@w3.org</loc> are also gratefully
-    acknowledged.
-  </p>
+<head>Acknowledgements</head>
+<p>The editor acknowledges the members of the Timed Text Working
+Group, the members of other W3C Working Groups, and industry experts
+in other forums who have contributed directly or indirectly to the
+process or content of creating this document.</p>
+<p>The current and former members of the Timed Text Working Group are:
+&acknowledgements-current;
+</p>
+<p>The editor wishes to especially acknowledge the following contributions
+by members: Micheal Dolan (SMPTE time codes, streaming; SMPTE liaison), David
+Kirby (introductory example document; SMPTE time codes, descriptive metadata; EBU/AAF liaison), Geoff Freed (styling
+and example images of style properties), Sean Hayes (advanced profile
+concepts, including applicative timing), Eric Hodge (timing),
+Thierry Michel (metadata), and Dave Singer (animation, scrolling).</p>
+<p>The Timed Text Working Group has benefited in its work from the
+participation and contributions of a number of people not currently
+members of the Working Group, including in particular those named
+below. Affiliations given are those current at the time of their work
+with the WG.</p>
+<p>
+John Birch, Screen Subtitling Systems;
+Bert Bos, W3C (chair, CSS WG);
+Martin D&uuml;rst, W3C (leader, I18N Activity);
+Al Gilman (chair, WAI Protocol and Formats WG);
+Philipp Hoschka, W3C (leader, Interaction Domain);
+Chris Lilley, W3C (chair, SVG WG).
+</p>
+<p>The editor wishes to especially acknowledge the following contributions
+by non-members: John Birch (dynamic flow).</p>
 </inform-div1>
--- a/spec/build.xml	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/build.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -13,7 +13,31 @@
     <property name="diffformat" value="diffspec.xsl"/>
     <property name="last-public-draft" value="20070706"/>
 
-    <target name="clean">
+    <patternset id="escapable">
+      <include name="examples/*.xml"/>
+      <include name="rnc/*.rnc"/>
+      <include name="scm/*.scm"/>
+      <include name="xsd/*.xsd"/>
+      <exclude name="scm/compile.scm"/>
+      <exclude name="scm/load.scm"/>
+    </patternset>
+
+    <patternset id="escaped">
+      <include name="examples/*.esc"/>
+      <include name="rnc/*.esc"/>
+      <include name="scm/*.esc"/>
+      <include name="xsd/*.esc"/>
+    </patternset>
+
+    <target name="clean-escapes" description="Clean escaped entites.">
+      <delete quiet="true">
+	<fileset dir="${basedir}">
+	  <patternset refid="escaped"/>
+	</fileset>
+      </delete>
+    </target>
+
+    <target name="clean" depends="clean-escapes">
         <delete quiet="true" file="ttaf1-dfxp.html"/>
     </target>
 
@@ -29,7 +53,23 @@
         </xmlvalidate>
     </target>
 
-    <target name="validate-tt-specs" description="Validates all Timed Text spec files.">
+    <target name="build-escapes" description="Generate escaped entites.">
+      <apply executable="sed">
+        <arg value="-f"/>
+        <arg value="escape.sed"/>
+	<fileset dir="${basedir}">
+	  <patternset refid="escapable"/>
+	</fileset>
+	<redirector>
+	  <outputmapper>
+    	    <mapper type="glob" from="*" to="*.esc"/>
+	  </outputmapper>
+	</redirector>
+      </apply>
+    </target>
+
+    <target name="validate-tt-specs" description="Validates all Timed Text spec files."
+        depends="build-escapes">
         <xmlvalidate lenient="false" warn="yes" file="ttaf1-dfxp.xml"/>
     </target>
 
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/diffspec.xsl	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,373 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!--This file was created automatically by html2xhtml-->
+<!--from the HTML stylesheets. Do not edit this file.-->
+<!-- Version: $Id$ --><!-- Stylesheet for @diff markup in XMLspec --><!-- Author: Norman Walsh (Norman.Walsh@East.Sun.COM) --><!-- Date Created: 2000.07.21 --><!-- This stylesheet is copyright (c) 2000 by its authors.  Free
+     distribution and modification is permitted, including adding to
+     the list of authors and copyright holders, as long as this
+     copyright notice is maintained. --><!-- This stylesheet attempts to implement the XML Specification V2.1
+     DTD.  Documents conforming to earlier DTDs may not be correctly
+     transformed.
+
+     This stylesheet supports the use of change-markup with the @diff
+     attribute. If you use @diff, you should always use this stylesheet.
+     If you want to turn off the highlighting of differences, use this
+     stylesheet, but set show.diff.markup to 0.
+
+     Using the original xmlspec stylesheet with @diff markup will cause
+     @diff=del text to be presented.
+--><!-- ChangeLog:
+     25 Sep 2000: (Norman.Walsh@East.Sun.COM)
+       - Use inline diff markup (as opposed to block) for name and
+         affiliation
+       - Handle @diff='del' correctly in bibl and other list-contexts.
+     14 Aug 2000: (Norman.Walsh@East.Sun.COM)
+       - Support additional.title param
+     27 Jul 2000: (Norman.Walsh@East.Sun.COM)
+       - Fix HTML markup problem with diff'd authors in authlist
+     26 Jul 2000: (Norman.Walsh@East.Sun.COM)
+       - Update pointer to latest xmlspec-stylesheet.
+     21 Jul 2000: (Norman.Walsh@East.Sun.COM)
+       - Initial version
+--><xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
+
+<xsl:import href="xmlspec.xsl"/>
+
+<xsl:param name="show.diff.markup" select="1"/>
+
+<xsl:param name="additional.css">
+<xsl:if test="$show.diff.markup != '0'">
+<xsl:text>
+div.diff-add  { background-color: #FFFF99; }
+div.diff-del  { text-decoration: line-through; }
+div.diff-chg  { background-color: #99FF99; }
+div.diff-off  {  }
+
+span.diff-add { background-color: #FFFF99; }
+span.diff-del { text-decoration: line-through; }
+span.diff-chg { background-color: #99FF99; }
+span.diff-off {  }
+
+td.diff-add   { background-color: #FFFF99; }
+td.diff-del   { text-decoration: line-through }
+td.diff-chg   { background-color: #99FF99; }
+td.diff-off   {  }
+</xsl:text>
+</xsl:if>
+</xsl:param>
+
+<xsl:param name="additional.title">
+  <xsl:if test="$show.diff.markup != '0'">
+    <xsl:text>Review Version</xsl:text>
+  </xsl:if>
+</xsl:param>
+
+<xsl:param name="called.by.diffspec" select="1"/>
+
+<!-- ==================================================================== -->
+
+  <!-- spec: the specification itself -->
+  <xsl:template match="spec">
+    <html xmlns="http://www.w3.org/1999/xhtml">
+      <xsl:if test="header/langusage/language">
+        <xsl:attribute name="lang">
+          <xsl:value-of select="header/langusage/language/@id"/>
+        </xsl:attribute>
+      </xsl:if>
+      <head>
+	
+        <title>
+          <xsl:apply-templates select="header/title"/>
+          <xsl:if test="header/version">
+            <xsl:text> </xsl:text>
+            <xsl:apply-templates select="header/version"/>
+          </xsl:if>
+          <xsl:if test="$additional.title != ''">
+            <xsl:text> -- </xsl:text>
+            <xsl:value-of select="$additional.title"/>
+	  </xsl:if>
+        </title>
+        <xsl:call-template name="css"/>
+      </head>
+      <body>
+        <xsl:if test="$show.diff.markup != 0">
+          <div>
+            <p>The presentation of this document has been augmented to
+            identify changes from a previous version. Three kinds of changes
+            are highlighted: <span class="diff-add">new, added text</span>,
+            <span class="diff-chg">changed text</span>, and
+            <span class="diff-del">deleted text</span>.</p>
+            <hr/>
+          </div>
+        </xsl:if>
+        <xsl:apply-templates/>
+        <xsl:if test="//footnote[not(ancestor::table)]">
+          <hr/>
+          <div class="endnotes">
+            <xsl:text>
+</xsl:text>
+            <h3>
+              <xsl:call-template name="anchor">
+                <xsl:with-param name="conditional" select="0"/>
+                <xsl:with-param name="default.id" select="'endnotes'"/>
+              </xsl:call-template>
+              <xsl:text>End Notes</xsl:text>
+            </h3>
+            <dl>
+              <xsl:apply-templates select="//footnote[not(ancestor::table)]" mode="notes"/>
+            </dl>
+          </div>
+        </xsl:if>
+      </body>
+    </html>
+  </xsl:template>
+
+<!-- ==================================================================== -->
+
+<xsl:template name="diff-markup">
+  <xsl:param name="diff">off</xsl:param>
+  <xsl:choose>
+    <xsl:when test="ancestor::scrap">
+      <!-- forget it, we can't add stuff inside tables -->
+      <!-- handled in base stylesheet -->
+      <xsl:apply-imports/>
+    </xsl:when>
+    <xsl:when test="self::gitem or self::bibl">
+      <!-- forget it, we can't add stuff inside dls; handled below -->
+      <xsl:apply-imports/>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::phrase">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-imports/>
+      </span>
+    </xsl:when>
+    <xsl:when test="ancestor::p and not(self::p)">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-imports/>
+      </span>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::affiliation">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-imports/>
+      </span>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::name">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-imports/>
+      </span>
+    </xsl:when>
+    <xsl:otherwise>
+      <div xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-imports/>
+      </div>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*[@diff='chg']">
+  <xsl:choose>
+    <xsl:when test="$show.diff.markup != 0">
+      <xsl:call-template name="diff-markup">
+	<xsl:with-param name="diff">chg</xsl:with-param>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:apply-imports/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*[@diff='add']">
+  <xsl:choose>
+    <xsl:when test="$show.diff.markup != 0">
+      <xsl:call-template name="diff-markup">
+	<xsl:with-param name="diff">add</xsl:with-param>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:apply-imports/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*[@diff='del']">
+  <xsl:choose>
+    <xsl:when test="$show.diff.markup != 0">
+      <xsl:call-template name="diff-markup">
+	<xsl:with-param name="diff">del</xsl:with-param>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <!-- suppress deleted markup -->
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<xsl:template match="*[@diff='off']">
+  <xsl:choose>
+    <xsl:when test="$show.diff.markup != 0">
+      <xsl:call-template name="diff-markup">
+	<xsl:with-param name="diff">off</xsl:with-param>
+      </xsl:call-template>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:apply-imports/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+
+<!-- ================================================================= -->
+
+  <xsl:template match="bibl[@diff]" priority="1">
+    <xsl:variable name="dt">
+      <xsl:if test="@id">
+	<a xmlns="http://www.w3.org/1999/xhtml" name="{@id}"/>
+      </xsl:if>
+      <xsl:choose>
+	<xsl:when test="@key">
+	  <xsl:value-of select="@key"/>
+	</xsl:when>
+	<xsl:otherwise>
+	  <xsl:value-of select="@id"/>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:variable>
+    <xsl:variable name="dd">
+      <xsl:apply-templates/>
+      <xsl:if test="@href">
+        <xsl:text>  (See </xsl:text>
+        <xsl:value-of select="@href"/>
+        <xsl:text>.)</xsl:text>
+      </xsl:if>
+    </xsl:variable>
+
+    <xsl:choose>
+      <xsl:when test="@diff and $show.diff.markup != 0">
+	<dt xmlns="http://www.w3.org/1999/xhtml" class="label">
+	  <span class="diff-{@diff}">
+	    <xsl:copy-of select="$dt"/>
+	  </span>
+	</dt>
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <div class="diff-{@diff}">
+	    <xsl:copy-of select="$dd"/>
+	  </div>
+	</dd>
+      </xsl:when>
+      <xsl:when test="@diff='del' and $show.diff.markup = 0">
+	<!-- suppressed -->
+      </xsl:when>
+      <xsl:otherwise>
+	<dt xmlns="http://www.w3.org/1999/xhtml" class="label">
+	  <xsl:copy-of select="$dt"/>
+	</dt>
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <xsl:copy-of select="$dd"/>
+	</dd>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="gitem/label">
+    <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+    <xsl:choose>
+      <xsl:when test="$diffval != '' and $show.diff.markup != 0">
+	<dt xmlns="http://www.w3.org/1999/xhtml" class="label">
+	  <span class="diff-{ancestor-or-self::*/@diff}">
+	    <xsl:apply-templates/>
+	  </span>
+	</dt>
+      </xsl:when>
+      <xsl:when test="$diffval='del' and $show.diff.markup = 0">
+	<!-- suppressed -->
+      </xsl:when>
+      <xsl:otherwise>
+	<dt xmlns="http://www.w3.org/1999/xhtml" class="label">
+	  <xsl:apply-templates/>
+	</dt>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <xsl:template match="gitem/def">
+    <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+    <xsl:choose>
+      <xsl:when test="$diffval != '' and $show.diff.markup != 0">
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <div class="diff-{ancestor-or-self::*/@diff}">
+	    <xsl:apply-templates/>
+	  </div>
+	</dd>
+      </xsl:when>
+      <xsl:when test="$diffval='del' and $show.diff.markup = 0">
+	<!-- suppressed -->
+      </xsl:when>
+      <xsl:otherwise>
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <xsl:apply-templates/>
+	</dd>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+  <!-- authlist: list of authors (editors, really) -->
+  <!-- called in enforced order from header's template, in <dl>
+       context -->
+  <xsl:template match="authlist[@diff]">
+    <xsl:choose>
+      <xsl:when test="$show.diff.markup != 0">
+	<dt xmlns="http://www.w3.org/1999/xhtml">
+	  <span class="diff-{ancestor-or-self::*/@diff}">
+	    <xsl:text>Editor</xsl:text>
+	    <xsl:if test="count(author) &gt; 1">
+	      <xsl:text>s</xsl:text>
+	    </xsl:if>
+	    <xsl:text>:</xsl:text>
+	  </span>
+	</dt>
+      </xsl:when>
+      <xsl:when test="@diff='del' and $show.diff.markup = 0">
+	<!-- suppressed -->
+      </xsl:when>
+      <xsl:otherwise>
+	<dt xmlns="http://www.w3.org/1999/xhtml">
+	  <xsl:text>Editor</xsl:text>
+	  <xsl:if test="count(author) &gt; 1">
+	    <xsl:text>s</xsl:text>
+	  </xsl:if>
+	  <xsl:text>:</xsl:text>
+	</dt>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:apply-templates/>
+  </xsl:template>
+
+  <!-- author: an editor of a spec -->
+  <!-- only appears in authlist -->
+  <!-- called in <dl> context -->
+  <xsl:template match="author[@diff]" priority="1">
+    <xsl:choose>
+      <xsl:when test="@diff and $show.diff.markup != 0">
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <span class="diff-{ancestor-or-self::*/@diff}">
+	    <xsl:apply-templates/>
+	    <xsl:if test="@role = '2e'">
+	      <xsl:text> - Second Edition</xsl:text>
+	    </xsl:if>
+	  </span>
+	</dd>
+      </xsl:when>
+      <xsl:when test="@diff='del' and $show.diff.markup = 0">
+	<!-- suppressed -->
+      </xsl:when>
+      <xsl:otherwise>
+	<dd xmlns="http://www.w3.org/1999/xhtml">
+	  <xsl:apply-templates/>
+	  <xsl:if test="@role = '2e'">
+	    <xsl:text> - Second Edition</xsl:text>
+	  </xsl:if>
+	</dd>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:template>
+
+</xsl:stylesheet>
--- a/spec/entities.dtd	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/entities.dtd	Sat Dec 13 16:37:44 2008 +0000
@@ -1,14 +1,8 @@
-<!--
- comment this entity for publication 
--->
-<!ENTITY % sub.entities SYSTEM "entitiesedcopy.dtd" >
 
-<!--
- uncomment the following entity for publication, and change the date
- in entitieswd.dtd
- 
-<!ENTITY % sub.entities SYSTEM "entitieswd.dtd" >
--->
+<!-- comment / uncomment the appropriate entity -->
+<!-- <!ENTITY % sub.entities SYSTEM "entitiesedcopy.dtd" > -->
+<!-- <!ENTITY % sub.entities SYSTEM "entitieswd.dtd" > -->
+<!ENTITY % sub.entities SYSTEM "entitiescr.dtd" >
 %sub.entities;
 
 <!-- Titles -->
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/entitiescr.dtd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,31 @@
+<?xml version='1.0' encoding='ISO-8859-1' ?>
+
+<!--
+  Date parameters
+  -->
+<!ENTITY draft.year "2006">
+<!ENTITY draft.month "November">
+<!ENTITY draft.mm "11">
+<!ENTITY draft.day "16">
+<!ENTITY draft.dd "16">
+
+<!ENTITY draft.date "&draft.year;&draft.mm;&draft.dd;">
+
+<!ENTITY prefix "ttaf1-dfxp">
+
+<!ENTITY w3c.tr.latest  "http://www.w3.org/TR">	
+
+<!-- Latest version links. don't touch -->
+<!ENTITY latest "&w3c.tr.latest;/&prefix;/">
+
+<!ENTITY w3c.tr  "&w3c.tr.latest;/&draft.year;">	
+
+<!ENTITY document.role "public">
+
+<!-- The following is used for document .-->
+<!ENTITY document.status "W3C Candidate Recommendation">
+<!ENTITY w3c.status "CR">
+<!ENTITY doctype "cr">
+
+<!ENTITY w3c-designation
+  "&w3c.tr.latest;/&draft.year;/&w3c.status;-&prefix;-&draft.date;/">
--- a/spec/entitiesedcopy.dtd	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/entitiesedcopy.dtd	Sat Dec 13 16:37:44 2008 +0000
@@ -17,14 +17,12 @@
 
 <!ENTITY prefix "ttaf1-dfxp">
 
-<!ENTITY w3c-designation
-  "&prefix;.html">
-
+<!ENTITY w3c-designation "&prefix;.html">
 
 <!ENTITY w3c.tr.latest  "http://dev.w3.org/cvsweb/~checkout~/2008/tt/spec">
 
 <!-- Latest version links. don't touch -->
-<!ENTITY latest "&w3c.tr.latest;/&w3c-designation;?content-type=text/html; charset=utf-8">
+<!ENTITY latest "&w3c.tr.latest;/&w3c-designation;?content-type=text/html;charset=utf-8">
 
 <!ENTITY w3c.tr  "">	
 
--- a/spec/entitieswd.dtd	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/entitieswd.dtd	Sat Dec 13 16:37:44 2008 +0000
@@ -16,9 +16,9 @@
 <!ENTITY w3c.tr.latest  "http://www.w3.org/TR">	
 
 <!-- Latest version links. don't touch -->
-<!ENTITY latest "&w3c.tr.latest;/&prefix;">
+<!ENTITY latest "&w3c.tr.latest;/&prefix;/">
 
-<!ENTITY w3c.tr  "&w3c.tr.latest;/&draft.year;">	
+<!ENTITY w3c.tr  "&w3c.tr.latest;/&draft.year;">
 
 <!ENTITY document.role "public">
 
@@ -28,4 +28,4 @@
 <!ENTITY doctype "wd">
 
 <!ENTITY w3c-designation
-  "&w3c.tr.latest;/&draft.year;/&w3c.status;-&prefix;-&draft.date;">
+  "&w3c.tr.latest;/&draft.year;/&w3c.status;-&prefix;-&draft.date;/">
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/escape.sed	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,3 @@
+s/&/\&amp;/g
+s/</\&lt;/g
+s/>/\&gt;/g
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/.cvsignore	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,1 @@
+*.esc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/ex1-p-0.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,44 @@
+<fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format">
+  <fo:layout-master-set>
+    <fo:simple-page-master master-name="m1"
+    page-width="640px" page-height="480px">
+      <fo:region-body/>
+    </fo:simple-page-master>
+  </fo:layout-master-set>
+  <fo:page-sequence master-reference="m1">
+    <fo:flow flow-name="xsl-region-body">
+      <!-- region (r1) -->
+      <fo:block-container id="r1" absolute-position="absolute"
+      left="10px" top="100px" width="620px" height="96px"
+      background-color="black" display-align="center">
+        <!-- body (b1) -->
+        <fo:block id="b1-1">
+          <!-- div (d1) -->
+          <fo:block id="d1-1">
+            <!-- p (p1) -->
+            <fo:block id="p1" text-align="center">
+              <fo:inline font-size="40px" font-weight="bold"
+              color="red">Text 1</fo:inline>
+            </fo:block>
+          </fo:block>
+        </fo:block>
+      </fo:block-container>
+      <!-- region (r2) -->
+      <fo:block-container id="r2" absolute-position="absolute"
+      left="10px" top="300px" width="620px" height="96px"
+      background-color="black" display-align="center">
+        <!-- body (b1) -->
+        <fo:block id="b1-2">
+          <!-- div (d1) -->
+          <fo:block id="d1-2">
+            <!-- p (p2) -->
+            <fo:block id="p2" text-align="center">
+              <fo:inline font-size="40px" font-weight="bold"
+              color="yellow">Text 2</fo:inline>
+            </fo:block>
+          </fo:block>
+        </fo:block>
+      </fo:block-container>
+    </fo:flow>
+  </fo:page-sequence>
+</fo:root>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/ex1-x-0.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,37 @@
+<tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <head>
+    <layout>
+      <region xml:id="r1">
+        <style tts:origin="10px 100px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="red"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-1">
+          <div xml:id="d1-1">
+            <p xml:id="p1">Text 1</p>
+          </div>
+        </body>
+      </region>
+      <region xml:id="r2">
+        <style tts:origin="10px 300px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="yellow"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-2">
+          <div xml:id="d1-2">
+            <p xml:id="p2">Text 2</p>
+          </div>
+        </body>
+      </region>
+    </layout>
+  </head>
+</tt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/ex1-x-1.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,43 @@
+<tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <head>
+    <layout>
+      <region xml:id="r1">
+        <style tts:origin="10px 100px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="red"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-1">
+          <div xml:id="d1-1">
+            <p xml:id="p1">Text 1</p>
+          </div>
+          <div xml:id="d2-1">
+            <p xml:id="p4">Text 4</p>
+          </div>
+        </body>
+      </region>
+      <region xml:id="r2">
+        <style tts:origin="10px 300px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="yellow"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-2">
+          <div xml:id="d1-2">
+            <p xml:id="p2">Text 2</p>
+          </div>
+          <div xml:id="d2-2">
+            <p xml:id="p3">Text 3</p>
+          </div>
+        </body>
+      </region>
+    </layout>
+  </head>
+</tt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/ex1-x-2.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,37 @@
+<tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <head>
+    <layout>
+      <region xml:id="r1">
+        <style tts:origin="10px 100px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="red"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-1">
+          <div xml:id="d2-1">
+            <p xml:id="p4">Text 4</p>
+          </div>
+        </body>
+      </region>
+      <region xml:id="r2">
+        <style tts:origin="10px 300px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="yellow"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+        <body tts:extent="640px 480px" xml:id="b1-2">
+          <div xml:id="d2-2">
+            <p xml:id="p3">Text 3</p>
+          </div>
+        </body>
+      </region>
+    </layout>
+  </head>
+</tt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/examples/ex1.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,37 @@
+<tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <head>
+    <layout>
+      <region xml:id="r1">
+        <style tts:origin="10px 100px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="red"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+      </region>
+      <region xml:id="r2">
+        <style tts:origin="10px 300px"/>
+        <style tts:extent="620px 96px"/>
+        <style tts:fontSize="40px"/>
+        <style tts:fontWeight="bold"/>
+        <style tts:backgroundColor="black"/>
+        <style tts:color="yellow"/>
+        <style tts:textAlign="center"/>
+        <style tts:displayAlign="center"/>
+      </region>
+    </layout>
+  </head>
+  <body tts:extent="640px 480px" xml:id="b1">
+    <div xml:id="d1" begin="0s" dur="2s">
+      <p xml:id="p1" region="r1">Text 1</p>
+      <p xml:id="p2" region="r2">Text 2</p>
+    </div>
+    <div xml:id="d2" begin="1s" dur="2s">
+      <p xml:id="p3" region="r2">Text 3</p>
+      <p xml:id="p4" region="r1">Text 4</p>
+    </div>
+  </body>
+</tt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/images/.cvsignore	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,1 @@
+*.esc
\ No newline at end of file
Binary file spec/images/backgroundColor.png has changed
Binary file spec/images/color.png has changed
Binary file spec/images/direction.png has changed
Binary file spec/images/displayAlign.png has changed
Binary file spec/images/display_0.png has changed
Binary file spec/images/display_1.png has changed
Binary file spec/images/display_2.png has changed
Binary file spec/images/display_3.png has changed
Binary file spec/images/display_4.png has changed
Binary file spec/images/dk.png has changed
Binary file spec/images/ds.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/images/dynamicFlow_RU_animated.svg	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,138 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!-- edited with XMLSPY v2004 rel. 3 U (http://www.xmlspy.com) by ncam (Timed Text WG) -->
+<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN"
+"http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-flat-20030114.dtd" [
+	<!ENTITY black '#101010'>
+	<!ENTITY white '#EBEBEB'>
+	<!ENTITY red '#EB1010'>
+]>
+<svg xmlns="http://www.w3.org/2000/svg" width="320px" height="62px">
+	<title>dynamicFlow (roll-up)</title>
+	<desc>demonstration of dynamicFlow (roll-up) property</desc>
+	<svg x="5" y="8" width="320" height="62">
+	
+	<!-- first row -->
+	<g> 
+		<animateMotion from="0,0" to="0,-30" begin="4" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-30" to="0,-50" begin="7" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-50" to="0,-70" begin="10" dur="0.3" fill="freeze"/>
+	<!-- row 1 regions -->
+		<g style="visibility:hidden;" fill="&black;">
+		<rect x="1" y="30" width="37" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="1" fill="freeze" />
+		</rect>
+		<rect x="38" y="30" width="59" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="2" fill="freeze" />
+		</rect>
+		<rect x="97" y="30" width="35" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="3" fill="freeze" />
+		</rect>
+			</g>
+	<!-- row 1 text -->
+		<g fill="&white;" font-family="'Humanist 521 BT', arial, sans-serif" font-size="18">
+			<text x="2" y="46" style="visibility:hidden;">Five
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="1" fill="freeze" />
+				</text>
+			<text x="40" y="46" style="visibility:hidden;">o'clock
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="2" fill="freeze" />	
+			</text>
+			<text x="100" y="46" style="visibility:hidden;">tea!
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="3" fill="freeze" />	
+			</text>
+		</g>
+	</g>
+
+<!-- row 2 -->
+	<g>
+		<animateMotion from="0,-30" to="0,-60" begin="4" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-60" to="0,-80" begin="7" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-80" to="0,-100" begin="10" dur="0.3" fill="freeze"/>
+<!-- row 2 regions -->
+		<g style="visibility:hidden;" fill="&black;">
+		<rect x="1" y="80" width="40" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="4" fill="freeze" />
+		</rect>
+		<rect x="41" y="80" width="19" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="5" fill="freeze" />
+		</rect>
+		<rect x="60" y="80" width="45" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="6" fill="freeze" />
+		</rect>
+		</g>
+<!-- row 2 text -->
+		<g fill="&white;" font-family="'Humanist 521 BT', arial, sans-serif" font-size="18">
+			<text x="2" y="96" style="visibility:hidden;">Ever
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="4" fill="freeze" />
+				</text>
+			<text x="44" y="96" style="visibility:hidden;">to
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="5" fill="freeze" />	
+			</text>
+			<text x="64" y="96" style="visibility:hidden;">thee,
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="6" fill="freeze" />	
+			</text>
+		</g>
+	</g>
+<!-- row 3-->
+	<g>
+		<animateMotion from="0,-30" to="0,-60" begin="4" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-60" to="0,-80" begin="7" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-80" to="0,-100" begin="10" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-100" to="0,-120" begin="13" dur="0.3" fill="freeze"/>
+<!-- row 3 regions -->
+		<g style="visibility:hidden;" fill="&black;">
+		<rect x="1" y="100" width="62" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="7" fill="freeze" />
+		</rect>
+		<rect x="63" y="100" width="20" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="8" fill="freeze" />
+		</rect>
+		<rect x="83" y="100" width="27" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="9" fill="freeze" />
+		</rect>
+		</g>
+<!-- row 3 text -->
+		<g fill="&white;" font-family="'Humanist 521 BT', arial, sans-serif" font-size="18">
+			<text x="2" y="116" style="visibility:hidden;">Faithful
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="7" fill="freeze" />
+			</text>
+		<text x="64" y="116" style="visibility:hidden;">I'll
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="8" fill="freeze" />	
+		</text>
+		<text x="84" y="116" style="visibility:hidden;">be,
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="9" fill="freeze" />	
+		</text>
+		</g>
+	</g>
+<!-- row 4 -->
+		<g>
+		<animateMotion from="0,-40" to="0,-60" begin="10" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-60" to="0,-80" begin="13" dur="0.3" fill="freeze"/>
+		<animateMotion from="0,-80" to="0,-100" begin="16" dur="0.3" fill="freeze"/>
+-->
+<!-- row 4 regions -->
+		<g style="visibility:hidden;" fill="&black;">
+		<rect x="1" y="80" width="37" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="10" fill="freeze" />
+		</rect>
+		<rect x="38" y="80" width="58" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="11" fill="freeze" />
+		</rect>
+		<rect x="96" y="80" width="36" height="20">
+			<set attributeName="visibility" attributeType="CSS" to="visible" begin="12" fill="freeze" />
+		</rect>
+		</g>
+<!-- row 4 text -->
+		<g fill="&white;" font-family="'Humanist 521 BT', arial, sans-serif" font-size="18">
+			<text x="2" y="95" style="visibility:hidden;">Five
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="10" fill="freeze" />
+			</text>
+			<text x="40" y="95" style="visibility:hidden;">o'clock
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="11" fill="freeze" />
+			</text>
+			<text x="99" y="95" style="visibility:hidden;">tea!
+				<set attributeName="visibility" attributeType="CSS" to="visible" begin="12" fill="freeze" />
+			</text>
+		</g>
+</g>
+	</svg>
+</svg>
Binary file spec/images/dynamicFlow_snake_0.png has changed
Binary file spec/images/dynamicFlow_snake_1.png has changed
Binary file spec/images/dynamicFlow_snake_10.png has changed
Binary file spec/images/dynamicFlow_snake_11.png has changed
Binary file spec/images/dynamicFlow_snake_12.png has changed
Binary file spec/images/dynamicFlow_snake_13.png has changed
Binary file spec/images/dynamicFlow_snake_14.png has changed
Binary file spec/images/dynamicFlow_snake_15.png has changed
Binary file spec/images/dynamicFlow_snake_2.png has changed
Binary file spec/images/dynamicFlow_snake_3.png has changed
Binary file spec/images/dynamicFlow_snake_4.png has changed
Binary file spec/images/dynamicFlow_snake_5.png has changed
Binary file spec/images/dynamicFlow_snake_6.png has changed
Binary file spec/images/dynamicFlow_snake_7.png has changed
Binary file spec/images/dynamicFlow_snake_8.png has changed
Binary file spec/images/dynamicFlow_snake_9.png has changed
Binary file spec/images/eh.png has changed
Binary file spec/images/extent.png has changed
Binary file spec/images/fontFamily.png has changed
Binary file spec/images/fontSize.png has changed
Binary file spec/images/fontStyle.png has changed
Binary file spec/images/fontWeight.png has changed
Binary file spec/images/ga.png has changed
Binary file spec/images/gf.png has changed
Binary file spec/images/lineHeight.png has changed
Binary file spec/images/md.png has changed
Binary file spec/images/model.png has changed
Binary file spec/images/opacity_0.png has changed
Binary file spec/images/opacity_1.png has changed
Binary file spec/images/opacity_2.png has changed
Binary file spec/images/opacity_3.png has changed
Binary file spec/images/opacity_4.png has changed
Binary file spec/images/origin.png has changed
Binary file spec/images/overflow.png has changed
Binary file spec/images/padding.png has changed
Binary file spec/images/sh.png has changed
Binary file spec/images/streaming.png has changed
Binary file spec/images/subtitle1.png has changed
Binary file spec/images/subtitle2.png has changed
Binary file spec/images/subtitle3.png has changed
Binary file spec/images/subtitle4.png has changed
Binary file spec/images/subtitle5.png has changed
Binary file spec/images/subtitle6.png has changed
Binary file spec/images/subtitle7.png has changed
Binary file spec/images/subtitle8.png has changed
Binary file spec/images/subtitle9.png has changed
Binary file spec/images/textAlign.png has changed
Binary file spec/images/textDecoration.png has changed
Binary file spec/images/textOutline.png has changed
Binary file spec/images/tm.png has changed
Binary file spec/images/unicodeBidi.png has changed
Binary file spec/images/visibility_0.png has changed
Binary file spec/images/visibility_1.png has changed
Binary file spec/images/visibility_2.png has changed
Binary file spec/images/visibility_3.png has changed
Binary file spec/images/wrapOption.png has changed
Binary file spec/images/writingMode.png has changed
Binary file spec/images/zIndex.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/.cvsignore	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,1 @@
+*.esc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-animation.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,30 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Animation Module .......................................
+# .......................................................................
+
+# set - discrete animation
+TTAF.set =
+  element set {
+    TTAF.set.attlist,
+    TTAF.set.content
+  }
+
+TTAF.set.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Timed.attrib.class,
+  (TTAF.Styling.attrib.class |
+   TTAF.Styling.ForeignExtension.attrib+ )
+
+TTAF.set.content.extra = empty
+TTAF.set.content =
+  (TTAF.Metadata.class*,
+   TTAF.set.content.extra*)
+
+TTAF.Animation.extra = empty
+TTAF.Animation.class |=
+  TTAF.set |
+  TTAF.Animation.extra
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-classes.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,29 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Class Declarations Module ..............................
+# .......................................................................
+
+# attribute group classes
+TTAF.Core.attrib.class = empty
+TTAF.Metadata.attrib.class = empty
+TTAF.Parameter.attrib.class = empty
+TTAF.RegionBinding.attrib.class = empty
+TTAF.StyleBinding.attrib.class = empty
+TTAF.Styled.attrib.class = empty
+TTAF.Styling.attrib.class = empty
+TTAF.Timed.attrib.class = empty
+TTAF.TimedContainer.attrib.class = empty
+TTAF.TimingInterval.attrib.class = empty
+
+# element group classes
+TTAF.Animation.class = empty
+TTAF.Block.class = empty
+TTAF.BlockNoDiv.class = empty
+TTAF.Inline.class = empty
+TTAF.InlineNoSpan.class = empty
+TTAF.MetadataNoAgent.class = empty
+TTAF.Metadata.class = empty
+TTAF.MetadataItems.class = empty
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-content.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,121 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Content Module .........................................
+# .......................................................................
+
+# body - content body
+TTAF.body =
+  element body {
+    TTAF.body.attlist,
+    TTAF.body.content
+  }
+
+TTAF.body.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Metadata.attrib.class,
+  TTAF.RegionBinding.attrib.class,
+  TTAF.Styled.attrib.class,
+  TTAF.TimedContainer.attrib.class
+
+TTAF.body.content.extra = empty
+TTAF.body.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   (TTAF.Block.class | TTAF.body.content.extra)*)
+
+# div - division
+TTAF.div =
+  element div {
+    TTAF.div.attlist,
+    TTAF.div.content
+  }
+
+TTAF.div.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Metadata.attrib.class,
+  TTAF.RegionBinding.attrib.class,
+  TTAF.Styled.attrib.class,
+  TTAF.TimedContainer.attrib.class
+
+TTAF.div.content.extra = empty
+TTAF.div.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   (TTAF.Block.class | TTAF.div.content.extra)*)
+
+# p - paragraph
+TTAF.p =
+  element p {
+    TTAF.p.attlist,
+    TTAF.p.content
+  }
+
+TTAF.p.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Metadata.attrib.class,
+  TTAF.RegionBinding.attrib.class,
+  TTAF.Styled.attrib.class,
+  TTAF.TimedContainer.attrib.class
+
+TTAF.p.content.extra = empty
+TTAF.p.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   (TTAF.Inline.class |
+    TTAF.p.content.extra)*)
+
+# span - intra-paragraph inline span
+TTAF.span =
+  element span {
+    TTAF.span.attlist,
+    TTAF.span.content
+  }
+
+TTAF.span.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Metadata.attrib.class,
+  TTAF.RegionBinding.attrib.class,
+  TTAF.Styled.attrib.class,
+  TTAF.TimedContainer.attrib.class
+
+TTAF.span.content.extra = empty
+TTAF.span.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   (TTAF.Inline.class |
+    TTAF.span.content.extra)*)
+
+# br - manual line break
+TTAF.br =
+  element br {
+    TTAF.br.attlist,
+    TTAF.br.content
+  }
+
+TTAF.br.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Metadata.attrib.class,
+  TTAF.Styled.attrib.class
+
+TTAF.br.content.extra = empty
+TTAF.br.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   TTAF.br.content.extra*)
+
+# Block.class
+TTAF.Block.extra = empty
+TTAF.BlockNoDiv.class |=
+  TTAF.p | TTAF.Block.extra
+TTAF.Block.class |=
+  TTAF.div | TTAF.BlockNoDiv.class
+
+# Inline.class
+TTAF.Inline.extra = empty
+TTAF.InlineNoSpan.class |=
+  text | TTAF.br | TTAF.Inline.extra
+TTAF.Inline.class |=
+  TTAF.span | TTAF.InlineNoSpan.class
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-core-attribs.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,34 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Core Attributes Module .................................
+# .......................................................................
+
+TTAF.id.attrib
+  = attribute xml:id { xsd:ID }?
+
+TTAF.lang.attrib
+  = attribute xml:lang { TTAF.LanguageCode.datatype }?
+
+TTAF.lang.required.attrib
+  = attribute xml:lang { TTAF.LanguageCode.datatype }
+
+TTAF.space.attrib
+  = attribute xml:space { TTAF.XMLSpace.datatype }?
+
+TTAF.Core.extra.attrib
+  = empty
+
+TTAF.Core.attrib.class &=
+  TTAF.id.attrib,
+  TTAF.lang.attrib,
+  TTAF.space.attrib,
+  TTAF.Core.extra.attrib
+
+TTAF.Core.required.attrib.class &=
+  TTAF.id.attrib,
+  TTAF.lang.required.attrib,
+  TTAF.space.attrib,
+  TTAF.Core.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-datatypes.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,224 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Datatypes Module .......................................
+# .......................................................................
+
+TTAF.Alpha.datatype =
+  xsd:float { minInclusive = "0" maxInclusive = "1" }
+
+TTAF.Agent.datatype =
+  xsd:IDREFS
+
+TTAF.CellResolution.datatype =
+  string
+
+TTAF.ClockMode.datatype =
+  "local" |
+  "gps" |
+  "utc"
+
+TTAF.Color.datatype =
+  string
+
+TTAF.Direction.datatype =
+  "ltr" |
+  "rtl" |
+  "inherit"
+
+TTAF.Display.datatype =
+  "auto" |
+  "none" |
+  "inherit"
+
+TTAF.DisplayAlign.datatype =
+  "before" |
+  "center" |
+  "after" |
+  "inherit"
+
+TTAF.DynamicFlow.datatype =
+  string
+
+TTAF.Extent.datatype =
+  string
+
+TTAF.FontFamily.datatype =
+  string
+
+TTAF.FontSize.datatype =
+  string
+
+TTAF.FontStyle.datatype =
+  "normal" |
+  "italic" |
+  "oblique" |
+  "reverseOblique" |
+  "inherit"
+
+TTAF.FontWeight.datatype =
+  "normal" |
+  "bold" |
+  "inherit"
+
+TTAF.FrameRate.datatype =
+  xsd:nonNegativeInteger
+
+TTAF.FrameRateMultiplier.datatype =
+  xsd:string { pattern = "\p{Nd}+(\s*:\s*\p{Nd}+)?" }
+
+TTAF.LanguageCode.datatype =
+  xsd:NMTOKEN
+
+TTAF.LineHeight.datatype =
+  string
+
+TTAF.MarkerMode.datatype =
+  "continuous" |
+  "discontinuous"
+
+TTAF.MetadataAgentType.datatype =
+  "person" |
+  "character" |
+  "group" |
+  "organization" |
+  "other"
+
+TTAF.MetadataNameType.datatype =
+  "full" |
+  "family" |
+  "given" |
+  "alias" |
+  "other"
+
+TTAF.MetadataRoleBaseType.datatype =
+  "action" |
+  "caption" |
+  "dialog" |
+  "expletive" |
+  "kinesic" |
+  "lyrics" |
+  "music" |
+  "narration" |
+  "quality" |
+  "sound" |
+  "source" |
+  "suppressed" |
+  "reproduction" |
+  "thought" |
+  "title" |
+  "transcription"
+
+TTAF.Opacity.datatype =
+  string
+
+TTAF.Origin.datatype =
+  string
+
+TTAF.Overflow.datatype =
+  "visible" |
+  "hidden" |
+  "scroll" |
+  "inherit"
+
+TTAF.Padding.datatype =
+  string
+
+TTAF.PixelAspectRatio.datatype =
+  xsd:string { pattern = "\p{Nd}+\s*:\s*\p{Nd}+" }
+
+TTAF.Profile.datatype =
+  TTAF.URI.datatype
+
+TTAF.Role.datatype =
+  xsd:NMTOKEN
+
+TTAF.ShowBackground.datatype =
+  "always" |
+  "whenActive" |
+  "inherit"
+
+TTAF.SMPTEMode.datatype =
+  "dropNTSC" |
+  "dropPAL" |
+  "nonDrop"
+
+TTAF.SubFrameRate.datatype =
+  xsd:positiveInteger
+
+TTAF.TextAlign.datatype =
+  "left" |
+  "center" |
+  "right" |
+  "start" |
+  "end" |
+  "inherit"
+
+TTAF.TextDecoration.datatype =
+  "none" |
+  "underline" |
+  "noUnderline" |
+  "overline" |
+  "noOverline" |
+  "lineThrough" |
+  "noLineThrough" |
+  "inherit"
+
+TTAF.TextOutline.datatype =
+  string
+
+TTAF.TickRate.datatype =
+  xsd:positiveInteger
+
+TTAF.TimeBase.datatype =
+  "media" |
+  "smpte" |
+  "clock"
+
+TTAF.TimeContainer.datatype =
+  "par" |
+  "seq"
+
+TTAF.TimeCoordinate.datatype =
+  string
+
+TTAF.TimeDuration.datatype =
+  string
+
+TTAF.URI.datatype =
+  xsd:anyURI
+
+TTAF.UnicodeBidi.datatype =
+  "normal" |
+  "embed" |
+  "bidiOverride" |
+  "inherit"
+
+TTAF.Visibility.datatype =
+  "hidden" |
+  "visible" |
+  "inherit"
+
+TTAF.WrapOption.datatype =
+  "wrap" |
+  "noWrap" |
+  "inherit"
+
+TTAF.WritingMode.datatype =
+  "lrtb" |
+  "rltb" |
+  "tbrl" |
+  "tblr" |
+  "lr" |
+  "rl" |
+  "tb" |
+  "inherit"
+
+TTAF.XMLSpace.datatype =
+  "default" |
+  "preserve"
+
+TTAF.ZIndex.datatype =
+  string
+  
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-document.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,21 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Document Module ........................................
+# .......................................................................
+
+## tt - generic top-level document element type
+TTAF.tt =
+  element tt {
+    TTAF.tt.attlist,
+    TTAF.tt.content
+  }
+
+TTAF.tt.attlist &=
+  TTAF.Core.required.attrib.class,
+  TTAF.Parameter.attrib.class
+
+TTAF.tt.content =
+  (TTAF.head?, TTAF.body?)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-head.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,24 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Header Module ..........................................
+# .......................................................................
+
+# head - generic header
+TTAF.head =
+  element head {
+    TTAF.head.attlist,
+    TTAF.head.content
+  }
+
+TTAF.head.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.head.content.extra = empty
+TTAF.head.content =
+  (TTAF.Metadata.class*,
+   TTAF.styling?,
+   TTAF.layout?,
+   TTAF.head.content.extra*)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-layout.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,52 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Layout Module ..........................................
+# .......................................................................
+
+# region reference attribute; must reference /head/layout/region
+TTAF.region.attrib
+  = attribute region { xsd:IDREF }?
+
+# region binding attribute class
+TTAF.RegionBinding.attrib.class &=
+  TTAF.region.attrib
+
+# layout - generic layout container
+TTAF.layout =
+  element layout {
+    TTAF.layout.attlist,
+    TTAF.layout.content
+  }
+
+TTAF.layout.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.layout.content.extra = empty
+TTAF.layout.content =
+  (TTAF.Metadata.class*,
+   TTAF.layout.region*,
+   TTAF.layout.content.extra*)
+
+# region - region declaration
+TTAF.layout.region =
+  element region {
+    TTAF.layout.region.attlist,
+    TTAF.layout.region.content
+  }
+
+TTAF.layout.region.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.TimedContainer.attrib.class,
+  TTAF.style.attrib,
+  (TTAF.Styling.attrib.class |
+   TTAF.Styling.ForeignExtension.attrib+ )
+
+TTAF.layout.region.content.extra = empty
+TTAF.layout.region.content =
+  (TTAF.Metadata.class*,
+   TTAF.Animation.class*,
+   TTAF.styling.style*,
+   TTAF.layout.region.content.extra*)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-metadata-attribs.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,30 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Metadata Attributes Module ..............................
+# .......................................................................
+
+namespace tt = "http://www.w3.org/2006/10/ttaf1"
+namespace ttm = "http://www.w3.org/2006/10/ttaf1#metadata"
+namespace ttmx = "http://www.w3.org/2006/10/ttaf1#metadata-extension"
+namespace local = ""
+
+# Standard Metadata Attributes
+
+TTAF.agent.attrib
+  = attribute ttm:agent { TTAF.Agent.datatype }?
+TTAF.role.attrib
+  = attribute ttm:role { TTAF.Role.datatype }?
+
+# Extension Metadata Attributes
+
+TTAF.Metadata.Extension.attrib =
+  attribute ttmx:* { text }
+
+# Metadata Attribute Class
+
+TTAF.Metadata.attrib.class &=
+  TTAF.agent.attrib,
+  TTAF.role.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-metadata-items.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,102 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Metadata Items Module ......................................
+# .......................................................................
+
+namespace ttm = "http://www.w3.org/2006/10/ttaf1#metadata"
+namespace ttmx = "http://www.w3.org/2006/10/ttaf1#metadata-extension"
+
+## actor - specifies actor
+TTAF.meta.actor =
+  element ttm:actor {
+    TTAF.meta.actor.attlist,
+    TTAF.meta.actor.content
+  }
+
+TTAF.meta.actor.attlist &=
+  TTAF.Core.attrib.class,
+  attribute agent { xsd:IDREF }
+
+TTAF.meta.actor.content.extra = empty
+TTAF.meta.actor.content = empty
+
+## agent - specifies agent
+TTAF.meta.agent =
+  element ttm:agent {
+    TTAF.meta.agent.attlist,
+    TTAF.meta.agent.content
+  }
+
+TTAF.meta.agent.attlist &=
+  TTAF.Core.attrib.class,
+  attribute type { TTAF.MetadataAgentType.datatype }
+
+TTAF.meta.agent.content.extra = empty
+TTAF.meta.agent.content =
+  (TTAF.meta.name*,
+   TTAF.meta.actor?,
+   TTAF.meta.agent.content.extra*)
+
+## copyright - specifies copyright statement
+TTAF.meta.copyright =
+  element ttm:copyright {
+    TTAF.meta.copyright.attlist,
+    TTAF.meta.copyright.content
+  }
+
+TTAF.meta.copyright.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.meta.copyright.content.extra = empty
+TTAF.meta.copyright.content = text
+
+## desc - specifies description
+TTAF.meta.desc =
+  element ttm:desc {
+    TTAF.meta.desc.attlist,
+    TTAF.meta.desc.content
+  }
+
+TTAF.meta.desc.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.meta.desc.content.extra = empty
+TTAF.meta.desc.content = text
+
+## name - specifies name
+TTAF.meta.name =
+  element ttm:name {
+    TTAF.meta.name.attlist,
+    TTAF.meta.name.content
+  }
+
+TTAF.meta.name.attlist &=
+  TTAF.Core.attrib.class,
+  attribute type { TTAF.MetadataNameType.datatype }
+
+TTAF.meta.name.content.extra = empty
+TTAF.meta.name.content = text
+
+## title - describes title
+TTAF.meta.title =
+  element ttm:title {
+    TTAF.meta.title.attlist,
+    TTAF.meta.title.content
+  }
+
+TTAF.meta.title.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.meta.title.content.extra = empty
+TTAF.meta.title.content = text
+
+## MetadataItems.class
+TTAF.MetadataItems.extra = empty
+TTAF.MetadataItems.class |=
+  TTAF.meta.title |
+  TTAF.meta.desc |
+  TTAF.meta.copyright |
+  TTAF.MetadataItems.extra
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-metadata.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,42 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Metadata Module ........................................
+# .......................................................................
+
+# namespace prefix bindings
+namespace tt = "http://www.w3.org/2006/10/ttaf1"
+namespace local = ""
+
+# meta - generic metadata
+TTAF.metadata =
+  element metadata {
+    TTAF.metadata.attlist,
+    TTAF.metadata.content
+  }
+
+TTAF.metadata.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.External.class =
+  element * - tt:* {
+    ( attribute * - ( xml:* | local:* ) { text }
+      | text
+      | TTAF.External.class
+    )*
+  }
+
+TTAF.metadata.content.extra = empty
+TTAF.metadata.content =
+  (TTAF.External.class |
+   TTAF.metadata.content.extra)*
+
+TTAF.MetadataNoAgent.class |=
+  TTAF.MetadataItems.class |
+  TTAF.metadata
+
+TTAF.Metadata.class |=
+  TTAF.MetadataNoAgent.class |
+  TTAF.meta.agent
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-parameter-attribs.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,49 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Parameter Attributes Module ............................
+# .......................................................................
+
+namespace ttp = "http://www.w3.org/2006/10/ttaf1#parameter"
+
+# Standard Metadata Attributes
+
+TTAF.cellResolution.attrib
+  = attribute ttp:cellResolution { TTAF.CellResolution.datatype }?
+TTAF.clockMode.attrib
+  = attribute ttp:clockMode { TTAF.ClockMode.datatype }?
+TTAF.frameRate.attrib
+  = attribute ttp:frameRate { TTAF.FrameRate.datatype }?
+TTAF.frameRateMultiplier.attrib
+  = attribute ttp:frameRateMultiplier { TTAF.FrameRateMultiplier.datatype }?
+TTAF.markerMode.attrib
+  = attribute ttp:markerMode { TTAF.MarkerMode.datatype }?
+TTAF.profile.attrib
+  = attribute ttp:profile { TTAF.Profile.datatype }?
+TTAF.pixelAspectRatio.attrib
+  = attribute ttp:pixelAspectRatio { TTAF.PixelAspectRatio.datatype }?
+TTAF.smpteMode.attrib
+  = attribute ttp:smpteMode { TTAF.SMPTEMode.datatype }?
+TTAF.subFrameRate.attrib
+  = attribute ttp:subFrameRate { TTAF.SubFrameRate.datatype }?
+TTAF.tickRate.attrib
+  = attribute ttp:tickRate { TTAF.TickRate.datatype }?
+TTAF.timeBase.attrib
+  = attribute ttp:timeBase { TTAF.TimeBase.datatype }?
+
+# Parameter Attribute Class
+
+TTAF.Parameter.attrib.class &=
+  TTAF.cellResolution.attrib,
+  TTAF.clockMode.attrib,
+  TTAF.frameRate.attrib,
+  TTAF.frameRateMultiplier.attrib,
+  TTAF.markerMode.attrib,
+  TTAF.pixelAspectRatio.attrib,
+  TTAF.profile.attrib,
+  TTAF.smpteMode.attrib,
+  TTAF.subFrameRate.attrib,
+  TTAF.tickRate.attrib,
+  TTAF.timeBase.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-styling-attribs.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,112 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Styling Attributes Module ..............................
+# .......................................................................
+
+namespace tt = "http://www.w3.org/2006/10/ttaf1"
+namespace tts = "http://www.w3.org/2006/10/ttaf1#style"
+namespace ttsx = "http://www.w3.org/2006/10/ttaf1#style-extension"
+namespace local = ""
+
+# Standard Style Attributes
+
+TTAF.backgroundColor.attrib
+  = attribute tts:backgroundColor { TTAF.Color.datatype }?
+TTAF.color.attrib
+  = attribute tts:color { TTAF.Color.datatype }?
+TTAF.direction.attrib
+  = attribute tts:direction { TTAF.Direction.datatype }?
+TTAF.display.attrib
+  = attribute tts:display { TTAF.Display.datatype }?
+TTAF.displayAlign.attrib
+  = attribute tts:displayAlign { TTAF.DisplayAlign.datatype }?
+TTAF.dynamicFlow.attrib
+  = attribute tts:dynamicFlow { TTAF.DynamicFlow.datatype }?
+TTAF.extent.attrib
+  = attribute tts:extent { TTAF.Extent.datatype }?
+TTAF.fontFamily.attrib
+  = attribute tts:fontFamily { TTAF.FontFamily.datatype }?
+TTAF.fontSize.attrib
+  = attribute tts:fontSize { TTAF.FontSize.datatype }?
+TTAF.fontStyle.attrib
+  = attribute tts:fontStyle { TTAF.FontStyle.datatype }?
+TTAF.fontWeight.attrib
+  = attribute tts:fontWeight { TTAF.FontWeight.datatype }?
+TTAF.lineHeight.attrib
+  = attribute tts:lineHeight { TTAF.LineHeight.datatype }?
+TTAF.opacity.attrib
+  = attribute tts:opacity { TTAF.Opacity.datatype }?
+TTAF.origin.attrib
+  = attribute tts:origin { TTAF.Origin.datatype }?
+TTAF.overflow.attrib
+  = attribute tts:overflow { TTAF.Overflow.datatype }?
+TTAF.padding.attrib
+  = attribute tts:padding { TTAF.Padding.datatype }?
+TTAF.showBackground.attrib
+  = attribute tts:showBackground { TTAF.ShowBackground.datatype }?
+TTAF.textAlign.attrib
+  = attribute tts:textAlign { TTAF.TextAlign.datatype }?
+TTAF.textDecoration.attrib
+  = attribute tts:textDecoration { TTAF.TextDecoration.datatype }?
+TTAF.textOutline.attrib
+  = attribute tts:textOutline { TTAF.TextOutline.datatype }?
+TTAF.unicodeBidi.attrib
+  = attribute tts:unicodeBidi { TTAF.UnicodeBidi.datatype }?
+TTAF.visibility.attrib
+  = attribute tts:visibility { TTAF.Visibility.datatype }?
+TTAF.wrapOption.attrib
+  = attribute tts:wrapOption { TTAF.WrapOption.datatype }?
+TTAF.writingMode.attrib
+  = attribute tts:writingMode { TTAF.WritingMode.datatype }?
+TTAF.zIndex.attrib
+  = attribute tts:zIndex { TTAF.ZIndex.datatype }?
+
+# Extension Style Attributes
+
+TTAF.Styling.Extension.attrib =
+  attribute ttsx:* { text }
+TTAF.Styling.ForeignExtension.attrib =
+  attribute * - ( tt:* | tts:* | ttsx:* | xml:* | local:* ) { text }
+
+# Styling Attribute Class
+
+TTAF.Styling.attrib.class &=
+  TTAF.backgroundColor.attrib,
+  TTAF.color.attrib,
+  TTAF.display.attrib,
+  TTAF.displayAlign.attrib,
+  TTAF.dynamicFlow.attrib,
+  TTAF.extent.attrib,
+  TTAF.fontFamily.attrib,
+  TTAF.fontSize.attrib,
+  TTAF.fontStyle.attrib,
+  TTAF.fontWeight.attrib,
+  TTAF.lineHeight.attrib,
+  TTAF.opacity.attrib,
+  TTAF.origin.attrib,
+  TTAF.overflow.attrib,
+  TTAF.padding.attrib,
+  TTAF.showBackground.attrib,
+  TTAF.textAlign.attrib,
+  TTAF.textDecoration.attrib,
+  TTAF.textOutline.attrib,
+  TTAF.visibility.attrib,
+  TTAF.wrapOption.attrib,
+  TTAF.writingMode.attrib,
+  TTAF.zIndex.attrib
+
+# Style Binding Attribute Class
+
+TTAF.StyleBinding.attrib.class &=
+  TTAF.style.attrib
+
+# Styled Content Attribute Class
+
+TTAF.Styled.extra.attrib = empty
+TTAF.Styled.attrib.class &=
+  TTAF.Styling.attrib.class,
+  TTAF.StyleBinding.attrib.class,
+  TTAF.Styled.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-styling.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,51 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Styling Module .........................................
+# .......................................................................
+
+# style reference attribute; must reference /tt/head/styling/style
+TTAF.style.attrib
+  = attribute style { xsd:IDREFS }?
+
+# styling - generic styling container
+TTAF.styling =
+  element styling {
+    TTAF.styling.attlist,
+    TTAF.styling.content
+  }
+
+TTAF.styling.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.styling.content.extra = empty
+TTAF.styling.content =
+  (TTAF.Metadata.class*,
+   TTAF.styling.defs.class*,
+   TTAF.styling.content.extra*)
+
+# style - style declaration
+TTAF.styling.style =
+  element style {
+    TTAF.styling.style.attlist,
+    TTAF.styling.style.content
+  }
+
+TTAF.styling.style.attlist =
+  TTAF.Core.attrib.class,
+  TTAF.style.attrib,
+  (TTAF.Styling.attrib.class |
+   TTAF.Styling.ForeignExtension.attrib+ )
+
+TTAF.styling.style.content.extra = empty
+TTAF.styling.style.content =
+  (TTAF.Metadata.class*,
+   (TTAF.styling.style.content.extra)*)
+
+# style definitions class
+TTAF.styling.defs.extra = empty
+TTAF.styling.defs.class = 
+  TTAF.styling.style
+  | TTAF.styling.defs.extra
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp-timing-attribs.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,49 @@
+# .......................................................................
+# TT-AF 1.0 DFXP Timing Attributes Module ...............................
+# .......................................................................
+
+# Timing Attributes
+
+TTAF.timing.begin.attrib
+  = attribute begin { TTAF.TimeCoordinate.datatype }?
+TTAF.timing.dur.attrib
+  = attribute dur { TTAF.TimeDuration.datatype }?
+TTAF.timing.end.attrib
+  = attribute end { TTAF.TimeCoordinate.datatype }?
+TTAF.timing.timeContainer.attrib
+  = attribute timeContainer { TTAF.TimeContainer.datatype }?
+
+# Timing Interval Attribute class
+
+TTAF.TimingInterval.extra.attrib = empty
+TTAF.TimingInterval.attrib.class &=
+  TTAF.timing.begin.attrib,
+  TTAF.timing.dur.attrib,
+  TTAF.timing.end.attrib,
+  TTAF.TimingInterval.extra.attrib
+
+# Timing Container Attribute class
+
+TTAF.TimingContainer.extra.attrib = empty
+TTAF.TimingContainer.attrib.class &=
+  TTAF.timing.timeContainer.attrib,
+  TTAF.TimingContainer.extra.attrib
+
+# Timed Content Attribute Class
+
+TTAF.Timed.extra.attrib = empty
+TTAF.Timed.attrib.class &=
+  TTAF.TimingInterval.attrib.class,
+  TTAF.Timed.extra.attrib
+
+# Timed Content Container Attribute Class
+
+TTAF.TimedContainer.extra.attrib = empty
+TTAF.TimedContainer.attrib.class &=
+  TTAF.Timed.attrib.class,
+  TTAF.TimingContainer.attrib.class,
+  TTAF.TimedContainer.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/rnc/ttaf1-dfxp.rnc	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,29 @@
+# .......................................................................
+# TT-AF 1.0 Distribution Format Exchange Profile (DFXP) Schema ..........
+# .......................................................................
+
+# default namespace
+default namespace tt = "http://www.w3.org/2006/10/ttaf1"
+
+# generic tt modules
+include "ttaf1-dfxp-datatypes.rnc"
+include "ttaf1-dfxp-classes.rnc"
+include "ttaf1-dfxp-core-attribs.rnc"
+include "ttaf1-dfxp-parameter-attribs.rnc"
+include "ttaf1-dfxp-metadata-attribs.rnc"
+include "ttaf1-dfxp-styling-attribs.rnc"
+include "ttaf1-dfxp-timing-attribs.rnc"
+include "ttaf1-dfxp-metadata.rnc"
+include "ttaf1-dfxp-metadata-items.rnc"
+include "ttaf1-dfxp-styling.rnc"
+include "ttaf1-dfxp-animation.rnc"
+include "ttaf1-dfxp-layout.rnc"
+include "ttaf1-dfxp-content.rnc"
+include "ttaf1-dfxp-head.rnc"
+include "ttaf1-dfxp-document.rnc"
+
+start = TTAF.tt
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/.cvsignore	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,1 @@
+*.esc
\ No newline at end of file
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/adi.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,124 @@
+;;; -*-Scheme-*-
+;;; Package: (dfxp rxi adi)
+
+;
+; DFXP Abstrarct Document Instance Load, Save, Transformer
+;
+
+(declare (usual-integrations))
+
+(define *dfxp-preferred-reverse-bindings*
+  '(("http://www.w3.org/2006/10/ttaf1" . "")
+    ("http://www.w3.org/2006/10/ttaf1#parameter" . "ttp")
+    ("http://www.w3.org/2006/10/ttaf1#style" . "tts")
+    ("http://www.w3.org/2006/10/ttaf1#style-extension" . "ttsx")
+    ("http://www.w3.org/2006/10/ttaf1#metadata" . "ttm")
+    ("http://www.w3.org/2006/10/ttaf1#metadata-extension" . "ttmx")))
+
+(define *dfxp-namespaces-table*
+  (let ((t (make-string-hash-table)))
+    (for-each
+      (lambda (b)
+        (hash-table/put! t (car b) #t))
+      *dfxp-preferred-reverse-bindings*)
+    t))
+
+(define *dfxp-empty-element-types*
+  '(("br" . "http://www.w3.org/2006/10/ttaf1")
+    ("metadata" . "http://www.w3.org/2006/10/ttaf1")))
+
+(define (in-per-element-namespace? attr)
+  (let* ((name (rxi-attribute/name attr))
+         (namespace (rxi-name/namespace name)))
+    (null? namespace)))
+
+(define (in-dfxp-namespace? name)
+  (hash-table/get *dfxp-namespaces-table* (rxi-name/namespace name) #f))
+
+(define (in-xml-namespace? name)
+  (string=? (rxi-name/namespace name) (car *xml-default-reverse-binding*)))
+
+(define (in-dfxp-or-xml-namespace? name)
+  (or (in-dfxp-namespace? name)
+      (in-xml-namespace? name)))
+
+(define (empty-dfxp-element-type? elt)
+  (let* ((name (rxi-element/name elt))
+         (local (rxi-name/local name))
+         (namespace (rxi-name/namespace name)))
+    (find-matching-item
+      *dfxp-empty-element-types*
+      (lambda (n)
+        (and (string=? local (car n))
+             (string=? namespace (cdr n)))))))
+                        
+(define (only-whitespace-children? elt)
+  (let ((children (rxi-element/children elt)))
+    (not
+      (find-matching-item
+        children
+        (lambda (c)
+          (or (not (string? c))
+              (string-find-next-char-in-set c char-set:not-whitespace)))))))
+
+(define (rxi-document/adi-transform-element elt)
+  ;; prune and transform children
+  (set-rxi-element/children!
+    elt
+    (delete-matching-items
+      (map
+        (lambda (c)
+          (if (string? c)
+              c
+              (if (not (in-dfxp-namespace? (rxi-element/name c)))
+                  '()
+                  (rxi-document/adi-transform-element c))))
+        (rxi-element/children elt))
+      null?))
+  ;; prune remaining children if empty element type and only whitespace remains
+  (if (and (empty-dfxp-element-type? elt)
+           (only-whitespace-children? elt))
+      (set-rxi-element/children! elt '()))
+  ;; prune foreign namespace attributes
+  (set-rxi-element/attributes!
+    elt
+    (delete-matching-items
+      (rxi-element/attributes elt)
+      (lambda (a)
+          (not (or (in-per-element-namespace? a)
+                   (in-dfxp-or-xml-namespace? (rxi-attribute/name a)))))))
+  elt)
+
+(define (rxi-document/adi-transform document)
+  (if (not (null? (rxi-document/annotation document 'adi-transform)))
+      (warn "Document already transformed, ignoring re-transform.")
+      (let ((root (rxi-document/root document)))
+        (set-rxi-document/root! document (rxi-document/adi-transform-element root))
+        (set-rxi-document/annotation! document 'adi-transform #t)))
+  document)
+  
+;
+; Load TT AF document instance from PATHNAME using RXI loader,
+; then transform resulting RXI-DOCUMENT instance to an ADI-DOCUMENT
+; instance.
+;
+(define (adi-document/load pathname)
+  (rxi-document/adi-transform
+    (rxi-document/load pathname)))
+
+;
+; Save ADI-DOCUMENT instance DOCUMENT, which was created by ADI-DOCUMENT/LOAD,
+; to PATHNAME using underlying RXI-DOCUMENT's document serializer,
+; where optional argument OTHER-REVERSE-BINDINGS, if specified, consists
+; of an association list whose keys are namespace URIs and values are the
+; namespace prefixes to use to designate those namespaces.
+;
+; By default the set of refeverse bindings defined by *DFXP-PREFERRED-REVERSE-BINDING*
+; are used when serializaing. However, reverse bindings specified by using
+; OTHER-REVERSE-BINDINGS take precedence, overriding default reverse bindings.
+;
+(define (adi-document/save document pathname #!optional other-reverse-bindings)
+  (rxi-document/save document pathname
+    (if (default-object? other-reverse-bindings)
+        *dfxp-preferred-reverse-bindings*
+        (append other-reverse-bindings *dfxp-preferred-reverse-bindings*))))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/compile.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,12 @@
+;;; -*-Scheme-*-
+
+(load-option 'xml)
+(load-option 'cref)
+(with-working-directory-pathname (directory-pathname (current-load-pathname))
+  (lambda ()
+    (compile-file "rxi")
+    (compile-file "adi")
+    (compile-file "tir")
+    (compile-file "fox")
+    (compile-file "dtf")
+    (cref/generate-constructors "dfxp")))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/dfxp.pkg	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,39 @@
+;;; -*-Scheme-*-
+
+(define-package (dfxp)
+  (parent()))
+
+(define-package (dfxp rxi)
+  (files "rxi")
+  (parent (dfxp))
+  (export ()
+          rxi-document/load
+          rxi-document/save
+          rxi-document->list))
+
+(define-package (dfxp rxi adi)
+  (files "adi")
+  (parent (dfxp rxi))
+  (export ()
+          rxi-document/adi-transform
+          adi-document/load
+          adi-document/save))
+
+(define-package (dfxp rxi adi tir)
+  (files "tir")
+  (parent (dfxp rxi adi))
+  (export ()
+          adi-document/tir-transform))
+
+(define-package (dfxp rxi adi tir fox)
+  (files "fox")
+  (parent (dfxp rxi adi tir))
+  (export ()
+          adi-document/fox-transform))
+
+(define-package (dfxp rxi adi tir dtf)
+  (files "dtf")
+  (parent (dfxp rxi adi tir))
+  (export ()
+          adi-document/dtf-process))
+
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/dtf.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,12 @@
+;;; -*-Scheme-*-
+;;; Package: (dfxp rxi adi tir dtf)
+
+;;;; Dynamic Text Flow Processor
+
+(declare (usual-integrations))
+
+;
+; NOT YET IMPLEMENTED - TO BE PROVIDED PRIOR TO PROPOSED RECOMMENDATION PHASE
+;
+
+(define (adi-document/dtf-process document) document)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/fox.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,12 @@
+;;; -*-Scheme-*-
+;;; Package: (dfxp rxi adi tir fox)
+
+;;;; Flow Object Transformer
+
+(declare (usual-integrations))
+
+;
+; NOT YET IMPLEMENTED - TO BE PROVIDED PRIOR TO PROPOSED RECOMMENDATION PHASE
+;
+
+(define (adi-document/fox-transform document) document)
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/load.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,7 @@
+;;; -*-Scheme-*-
+
+(load-option 'xml)
+(with-working-directory-pathname (directory-pathname (current-load-pathname))
+  (lambda ()
+    (package/system-loader "dfxp" '() 'query)))
+(add-subsystem-identification! "DFXP" '(0 8))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/rxi.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,521 @@
+;;; -*-Scheme-*-
+;;; Package: (dfxp rxi)
+
+;
+; DFXP Reduced XML Infoset Load, Save, Transformer
+;
+
+(declare (usual-integrations))
+
+;
+; The default reverse binding for the XML namespace is represented
+; by *XML-DEFAULT-REVERSE-BINDING*.
+;
+(define *xml-default-reverse-binding*
+  '("http://www.w3.org/XML/1998/namespace" . "xml"))
+
+;
+; An RXI-BINDINGS structure consists of a BINDINGS slot that contains a
+; stack represented as a list of association lists whose keys are XMLNS name
+; prefixes and whose values are XMLNS namespace URIs. A binding for the
+; "empty" or "null" namespace is designated by a prefix whose value is "".
+;
+(define-structure
+  (rxi-bindings
+    (conc-name rxi-bindings/)
+    (constructor make-rxi-bindings (#!optional bindings)))
+  (bindings '() read-only #f))
+
+;
+; Push a list of NEW bindings onto BINDINGS.
+;
+(define (rxi-bindings/push! bindings new)
+  (set-rxi-bindings/bindings!
+    bindings
+    (cons new (rxi-bindings/bindings bindings))))
+  
+;
+; Pop the list of bindings at the top of BINDINGS.
+;
+(define (rxi-bindings/pop! bindings)
+  (set-rxi-bindings/bindings!
+    bindings
+    (let ((old (rxi-bindings/bindings bindings)))
+      (if (pair? old)
+          (cdr old)
+          '()))))
+  
+;
+; Look up a binding for the designated XMLNS name PREFIX in BINDINGS,
+; returning either an associated XMLNS namespace URI string or '() if
+; not found.
+;
+
+(define (rxi-bindings/lookup bindings prefix)
+  (let find
+      ((bindings (rxi-bindings/bindings bindings)))
+    (cond ((null? bindings)
+           '())
+          (else
+            (let
+                ((b (find-matching-item
+                      (car bindings)
+                      (lambda (b) (string=? (car b) prefix)))))
+              (if (not (false? b))
+                  (cdr b)
+                  (find (cdr bindings))))))))
+
+;
+; Resolve qualified name QNAME to (VALUES LOCAL NSURI) where LOCAL is
+; the local (unqualified) component of QNAME and NSURI is the
+; associated namespace URI or '() if there is no associated namepsace
+; URI, where IS-ATTRIBUTE? indicates whether the QNAME is the name of
+; an attribute or an element.
+;
+; N.B. the lack of a namespace URI is permitted only for unqualified
+; attribute names; all element names must have an associated namespace URI
+; or an error is signaled. This implies that there must exist a binding for
+; the empty (null) namespace prefix when resolving unqualified element
+; names.
+;
+(define (rxi-bindings/resolve bindings qname is-attribute?)
+  (let* ((i (string-find-next-char qname #\:))
+         (pfx (substring qname 0 (if (false? i) 0 i)))
+         (local (string-tail qname (if (false? i) 0 (+ i 1)))))
+    (values
+      local
+      (if (or (> (string-length pfx) 0) (not is-attribute?))
+          (let ((uri (rxi-bindings/lookup bindings pfx)))
+            (or uri
+                (error "unbound XMLNS prefix on prefix" pfx)))
+          '()))))
+    
+;
+; An RXI-NAME structure represents the name and namespace properties of a
+; reduced XML infoset element or attribute information item and consists of
+; a local name LOCAL and an associated namespace NAMESPACE, a non-empty
+; string or '(), denoting that the name is not namespace qualified. An
+; RXI-NAME is essentially a representation of an XMLNS "expanded name".
+;
+(define-structure
+  (rxi-name (conc-name rxi-name/))
+  (local "" read-only #t)
+  (namespace '() read-only #t))
+
+;
+; Convert an RXI-NAME instance NAME to a list consisting of its constituent
+; slots.
+;
+(define (rxi-name->list name)
+  (list (rxi-name/local name)
+        (rxi-name/namespace name)))
+
+;
+; Transform an XML name IQNAME as defined by the XML package as an uninterned
+; symbol to an RXI-NAME, resolving qualified names into their XMLNS
+; "expanded name" form, where IS-ATTRIBUTE? indicates whether the QNAME is
+; the name of an attribute or an element.
+;
+(define (rxi-name/transform-from-xml iqname is-attribute? bindings)
+  (call-with-values
+    (lambda ()
+      (rxi-bindings/resolve bindings (symbol-name iqname) is-attribute?))
+    make-rxi-name))
+
+;
+; An RXI-ATTRIBUTE structure represents a reduced XML infoset attribute
+; information item and consists of a NAME represented as an RXI-NAME
+; instance and a VALUE represented as a string.
+;
+(define-structure
+  (rxi-attribute (conc-name rxi-attribute/))
+  (name '() read-only #t)
+  (value "" read-only #t))
+
+;
+; Convert an RXI-ATTRIBUTE instance ATTRIBUTE to a list consisting of its
+; constituent slots.
+;
+(define (rxi-attribute->list attribute)
+  (list (rxi-name->list (rxi-attribute/name attribute))
+        (rxi-attribute/value attribute)))
+
+;
+; Transform XML-ATTRIBUTE instance ATTRIBUTE to RXI-ATTRIBUTE instance,
+; where BINDINGS is the current bindings stack.
+;
+(define (rxi-attribute/transform-from-xml attribute bindings)
+  (let ((n (car attribute)) (v (cdr attribute)))
+    (make-rxi-attribute (rxi-name/transform-from-xml n #t bindings) v)))
+
+;
+; An RXI-ELEMENT structure represents a reduced XML infoset element
+; information item and consists of a NAME represented as an RXI-NAME
+; instance, a possibly empty set of ATTRIBUTES represented as a list of
+; RXI-ATTRIBUTE instances, and a possibly empty set of CHILDREN represented
+; as a list of string or RXI-ELEMENT instances.
+;
+(define-structure
+  (rxi-element (conc-name rxi-element/))
+  (name "" read-only #t)
+  (attributes '() read-only #f)
+  (children '() read-only #f))
+
+;
+; Convert an RXI-ELEMENT instance ELEMENT to a list consisting of its
+; constituent slots.
+;
+(define (rxi-element->list element)
+  (list (rxi-name->list (rxi-element/name element))
+        (map
+          rxi-attribute->list
+          (rxi-element/attributes element))
+        (map
+          (lambda (c)
+            (if (string? c)
+                c
+                (rxi-element->list c)))
+          (rxi-element/children element))))
+
+;
+; Determine if XML-ATTRIBUTE instance ATTRIBUTE, represented as a pair
+; (NAME . VALUE), is an XMLNS attribute or not, i.e., has a qualified name
+; whose prefix is "xmlns" or is the unqualified name "xmlns".
+;
+(define (namespace-attribute? attribute)
+  (let ((qname (symbol-name (car attribute))))
+    (and (string-prefix? "xmlns" qname)
+         (or (= (string-length qname) 5)
+             (let ((i (string-find-next-char qname #\:)))
+               (and (not (false? i)) (= i 5)))))))
+
+;
+; Given a list ATTRIBUTES of XML-ATTRIBUTE instances consisting only of
+; XMLNS attributes as determined by NAMESPACE-ATTRIBUTE? above, return a set
+; of bindings as an association list whose keys are namespace prefixes and
+; whose values are the associated namespace URIs.
+;
+(define (extract-namespace-bindings attributes)
+  (map
+    (lambda (a)
+      (let ((qname (symbol-name (car a))))
+        (if (= (string-match-forward qname "xmlns") 5)
+            (cons
+             (if (>= (string-length qname) 6)
+                 (string-tail qname 6)
+                 "")
+             (cdr a))
+            (error "Invalid namespace attribute" qname))))
+    attributes))
+
+;
+; Transform XML-ELEMENT instance ELEMENT to RXI-ELEMENT instance,
+; where BINDINGS is the current bindings stack.
+;
+(define (rxi-element/transform-from-xml element bindings)
+  (let* ((attributes
+           (xml-element-attributes element))
+         (ns-attributes
+           (keep-matching-items attributes namespace-attribute?))
+         (other-attributes
+           (keep-matching-items
+             attributes
+             (lambda (a) (not (namespace-attribute? a))))))
+    (rxi-bindings/push! bindings (extract-namespace-bindings ns-attributes))
+    (let ((rxi-element
+            (make-rxi-element
+              (rxi-name/transform-from-xml
+                (xml-element-name element) #f bindings)
+              (map
+                (lambda (a) (rxi-attribute/transform-from-xml a bindings))
+                other-attributes)
+              (map
+                (lambda (c)
+                  (if (string? c)
+                      c
+                      (rxi-element/transform-from-xml c bindings)))
+                (xml-element-contents element)))))
+      (rxi-bindings/pop! bindings)
+      rxi-element)))
+
+;
+; An RXI-DOCUMENT structure represents a reduced XML infoset document
+; information item and consists of an ANNOTATIONS association list, used for
+; internal book-keeping purposes, and an RXI-ELEMENT instance representing
+; the document's root element or '() if there is no root element.
+;
+(define-structure
+  (rxi-document (conc-name rxi-document/))
+  (annotations '() read-only #f)
+  (root '() read-only #f))
+
+;
+; Look up value of annotation named KEY on RXI-DOCUMENT instance DOCUMENT.
+;
+(define (rxi-document/annotation document key)
+  (assq key (rxi-document/annotations document)))
+
+;
+; Add annotation (KEY . VALUE) to RXI-DOCUMENT instance DOCUMENT.
+;
+(define (set-rxi-document/annotation! document key value)
+  (set-rxi-document/annotations! document (cons (cons key value) (rxi-document/annotations document))))
+
+;
+; Remove all annotations named KEY from RXI-DOCUMENT instance DOCUMENT.
+;
+(define (rxi-document/remove-annotation! document key)
+  (del-assq! key (rxi-document/annotations document)))
+
+;
+; Convert an RXI-DOCUMENT instance DOCUMENT to a list consisting of its
+; constituent slots.
+;
+(define (rxi-document->list document)
+  (list (rxi-document/annotations document)
+        (rxi-element->list (rxi-document/root document))))
+
+;
+; Transform XML-DOCUMENT instance DOCUMENT to RXI-DOCUMENT instance.
+;
+(define (rxi-document/transform-from-xml document)
+  (let
+    ((bindings
+      (make-rxi-bindings
+        (list (list (cons (cdr *xml-default-reverse-binding*)
+                          (car *xml-default-reverse-binding*)))))))
+    (make-rxi-document
+      '()
+      (rxi-element/transform-from-xml (xml-document-root document) bindings))))
+
+;
+; Load XML document instance from PATHNAME using XML package's XML parser,
+; then transform resulting XML-DOCUMENT instance to an RXI-DOCUMENT
+; instance.
+;
+(define (rxi-document/load pathname)
+  (rxi-document/transform-from-xml
+    (call-with-input-file pathname
+      (lambda (port)
+        (parse-xml-document (input-port->parser-buffer port))))))
+
+;
+; An RXI-REVERSE-BINDINGS structure consists of a REVERSE-BINDINGS slot
+; that contains an association list whose keys are XMLNS namespace URIs and
+; whose values are XMLNS name prefixes. The URI component of a reverse
+; binding entry MUST be a non-empty string.
+;
+(define-structure
+  (rxi-reverse-bindings
+    (conc-name rxi-reverse-bindings/)
+    (constructor make-rxi-reverse-bindings (#!optional reverse-bindings)))
+  (reverse-bindings '() read-only #f))
+
+(define (rxi-reverse-bindings/lookup reverse-bindings uri)
+  (if (and (string? uri)
+           (not (string-null? uri)))
+      (let find
+          ((rb (rxi-reverse-bindings/reverse-bindings reverse-bindings)))
+        (cond ((null? rb)
+               '())
+              (else
+               (let
+                   ((b (car rb)))
+                 (if (string=? (car b) uri)
+                     (cdr b)
+                     (find (cdr rb)))))))
+      (error "non-string or empty XMLNS namespace URI" uri)))
+
+(define (rxi-reverse-bindings/generate-prefix reverse-bindings)
+  (let ((g (lambda () (string-downcase (symbol-name (generate-uninterned-symbol)))))
+        (rb (rxi-reverse-bindings/reverse-bindings reverse-bindings)))
+    (let loop
+        ((pfx '()))
+      (cond ((null? pfx)
+             (loop (g)))
+            (else
+             (if (not (find-matching-item
+                        rb
+                        (lambda (b)
+                          (and (string? (cdr b)) (string=? (cdr b) pfx)))))
+                 pfx
+                 (loop (g))))))))
+
+(define (rxi-reverse-bindings/add! reverse-bindings uri pfx)
+  (set-rxi-reverse-bindings/reverse-bindings!
+    reverse-bindings
+    (cons (cons uri pfx) (rxi-reverse-bindings/reverse-bindings reverse-bindings))))
+  
+(define (rxi-reverse-bindings/sort! reverse-bindings)
+  (let
+      ((rb (rxi-reverse-bindings/reverse-bindings reverse-bindings)))
+    (set-rxi-reverse-bindings/reverse-bindings!
+      reverse-bindings
+      (sort rb
+            (lambda (x y)
+              (string<? (cdr x) (cdr y)))))))
+
+(define (rxi-reverse-bindings/normalize-preferred preferred-reverse-bindings)
+  (let ((rbt (make-string-hash-table (length preferred-reverse-bindings)))
+        (xrb *xml-default-reverse-binding*))
+    (let loop
+        ((prb preferred-reverse-bindings))
+      (cond ((null? prb)
+             (if (not (hash-table/get rbt (car xrb) #f))
+                 (hash-table/put! rbt (car xrb) (cdr xrb)))
+             (hash-table->alist rbt))
+            (else
+             (let ((b (car prb)))
+               (if (not (pair? b))
+                   (error "preferred reverse binding not a pair" b)
+                   (let ((u (car b))
+                         (p (cdr b)))
+                     (if (not (hash-table/get rbt u #f))
+                         (hash-table/put! rbt u p))
+                     (loop (cdr prb))))))))))
+
+;
+; Transform an RXI-NAME instance NAME to an XML name IQNAME as defined by the
+; XML package as an uninterned symbol, where IS-ATTRIBUTE? indicates whether
+; the IQNAME is the name of an attribute or an element, and where REVERSE-BINDINGS
+; is the current reverse bindings.
+;
+(define (rxi-name/transform-to-xml name is-attribute? reverse-bindings)
+  (let ((uri (rxi-name/namespace name))
+        (loc (rxi-name/local name)))
+    (xml-intern
+      (if (null? uri)
+          loc
+          (let ((pfx (rxi-reverse-bindings/lookup reverse-bindings uri)))
+            (if (string-null? pfx)
+                loc
+                (string-append
+                  pfx
+                  (string-append ":" loc))))))))
+  
+;
+; Transform RXI-ATTRIBUTE instance ATTRIBUTE to XML-ATTRIBUTE instance.
+;
+(define (rxi-attribute/transform-to-xml attribute reverse-bindings)
+  (cons
+    (rxi-name/transform-to-xml (rxi-attribute/name attribute) #t reverse-bindings)
+    (rxi-attribute/value attribute)))
+
+(define (maybe-add-reverse-binding! reverse-bindings name)
+  (let ((uri (rxi-name/namespace name)))
+    (if (not (null? uri))
+        (if (not (rxi-reverse-bindings/lookup reverse-bindings uri))
+            (rxi-reverse-bindings/add! reverse-bindings uri (rxi-reverse-bindings/generate-prefix reverse-bindings))))))
+
+(define (rxi-element/collect-reverse-bindings element reverse-bindings)
+  ;; collect element's binding
+  (maybe-add-reverse-binding! reverse-bindings (rxi-element/name element))
+  ;; collect attribute reverse-bindings
+  (let ((attributes (rxi-element/attributes element)))
+    (for-each
+      (lambda (a)
+        (maybe-add-reverse-binding! reverse-bindings (rxi-attribute/name a)))
+      attributes))
+  ;; collect childrens' reverse bindings
+  (let ((children (rxi-element/children element)))
+    (for-each 
+      (lambda (c)
+        (if (not (string? c))
+            (rxi-element/collect-reverse-bindings c reverse-bindings)))
+      children)))
+
+;
+; Transform RXI-ELEMENT instance ELEMENT to XML-ELEMENT instance.
+;
+(define (rxi-element/transform-to-xml element reverse-bindings)
+  (make-xml-element
+    (rxi-name/transform-to-xml (rxi-element/name element) #f reverse-bindings)
+    (map
+      (lambda (a)
+        (rxi-attribute/transform-to-xml a reverse-bindings))
+      (rxi-element/attributes element))
+    (map
+      (lambda (c)
+        (if (string? c)
+            c
+            (rxi-element/transform-to-xml c reverse-bindings)))
+      (rxi-element/children element))))
+
+;
+; Add XMLNS attributes that correspond with REVERSE-BINDINGS to the root
+; element of XML-DOCUMENT instance DOCUMENT. If DOCUMENT has no root
+; element, then do nothing.
+;
+(define (xml-document-add-bindings! document reverse-bindings)
+  (let ((root (xml-document-root document)))
+    (if (not (null? root))
+        (set-xml-element-attributes!
+          root
+          (append
+            (xml-element-attributes root)
+            (map
+              (lambda (b)
+                (let*
+                    ((prefix (cdr b))
+                     (ns-attr-name
+                       (if (string-null? prefix)
+                           "xmlns"
+                           (string-append "xmlns:" prefix))))
+                  (cons (xml-intern ns-attr-name) (car b))))
+              (rxi-reverse-bindings/reverse-bindings reverse-bindings)))))))
+  
+;
+; Collect 
+;
+(define (rxi-document/collect-reverse-bindings document reverse-bindings)
+  (let ((root (rxi-document/root document)))
+    (if (not (null? root))
+        (rxi-element/collect-reverse-bindings root reverse-bindings))
+    (rxi-reverse-bindings/sort! reverse-bindings)
+    reverse-bindings))
+
+;
+; Transform RXI-DOCUMENT instance DOCUMENT to XML-DOCUMENT instance.
+;
+(define (rxi-document/transform-to-xml document preferred-reverse-bindings)
+  (let
+      ((reverse-bindings
+         (make-rxi-reverse-bindings
+           (rxi-reverse-bindings/normalize-preferred preferred-reverse-bindings))))
+    (rxi-document/collect-reverse-bindings document reverse-bindings)
+    (let
+        ((xml-document
+          (make-xml-document
+           '()                          ; declaration
+           '()                          ; misc-1
+           '()                          ; dtd
+           '()                          ; misc-2
+           (rxi-element/transform-to-xml
+             (rxi-document/root document) reverse-bindings)
+           '())))                       ; misc-3
+      (xml-document-add-bindings! xml-document reverse-bindings)
+      xml-document)))
+
+;
+; Save RXI-DOCUMENT instance DOCUMENT by transforming to an XML-DOCUMENT
+; instance and serializing to PATHNAME using XML package's document serializer,
+; where optional argument PREFERRED-REVERSE-BINDINGS, if specified, consists
+; of an association list whose keys are namespace URIs and values are the
+; preferred namespace prefixes to use to designate those namespaces.
+;
+; If a namepsace URI appears in DOCUMENT and it has no preferred binding
+; specified, then a prefix is generated unless the namespace URI is
+; "http://www.w3.org/XML/1998/namespace", in which case the prefix "xml" is
+; used.
+;
+(define (rxi-document/save document pathname #!optional preferred-reverse-bindings)
+  (let
+      ((xml-document
+         (rxi-document/transform-to-xml
+          document
+          (if (default-object? preferred-reverse-bindings)
+              '()
+              preferred-reverse-bindings))))
+    (call-with-output-file pathname
+      (lambda (port)
+        (write-xml xml-document port)))))
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/test.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+<tt ttp:profile="http://www.w3.org/2006/10/ttaf1#profile-dfxp"
+    xml:lang="en"
+    xmlns="http://www.w3.org/2006/10/ttaf1"
+    xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"
+    xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+    xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <head>
+    <metadata>
+      <ttm:title>Timed Text DFXP Example</ttm:title>
+      <ttm:copyright>The Authors (c) 2006</ttm:copyright>
+    </metadata>
+    <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>
+    <layout>
+      <region xml:id="subtitleArea"
+        style="s1"
+        tts:extent="560px 62px"
+        tts:padding="5px 3px"
+        tts:backgroundColor="black"
+        tts:displayAlign="after"
+      />
+    </layout>  
+  </head>
+  <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>
+</tt>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/scm/tir.scm	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,12 @@
+;;; -*-Scheme-*-
+;;; Package: (dfxp rxi adi tir)
+
+;;;; DFXP Timing Interval Resolver
+
+(declare (usual-integrations))
+
+;
+; NOT YET IMPLEMENTED - TO BE PROVIDED PRIOR TO PROPOSED RECOMMENDATION PHASE
+;
+
+(define (adi-document/tir-transform document) document)
--- a/spec/status.xml	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/status.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -1,54 +1,83 @@
 <?xml version='1.0' encoding='utf-8' ?>
-<status id='Status'>
-
-  <p><emph>This section describes the status of this document at the
-  time of its publication. Other documents may supersede this
-  document. A list of current W3C publications and the latest revision
-  of this technical report can be found in the <loc
-  href="http://www.w3.org/TR/">W3C technical reports index</loc> at
-  http://www.w3.org/TR/.</emph></p>
-
-  <p>This is the <loc
-  href="http://www.w3.org/2005/10/Process-20051014/tr.html#wd">Working
-  Draft</loc> of the &title; specification. It has been produced by
-  the <loc href="http://www.w3.org/AudioVideo/TT/">Timed Text
-  Working Group</loc>, which is part of the <loc
-  href="http://www.w3.org/WebVideo">W3C Video in the Web
-  Activity</loc>.</p>
-
-<!--
-    <p>A <loc
-  href="soapjms-diff20080706.html">diff-marked version
-  against the previous version of this document</loc> is
-  available.</p>
-    -->    
-    
-  <p>Please send comments about this document to <loc
-  href="mailto:public-tt@w3.org">public-tt@w3.org</loc>
-  mailing list (<loc
-  href="http://lists.w3.org/Archives/Public/public-tt/">public
-  archive</loc>).</p>
-
-  <p>
-    Publication as a Working Draft does not imply endorsement by the
-    W3C Membership. This is a draft document and may be updated,
-    replaced or obsoleted by other documents at any time. It is
-    inappropriate to cite this document as other than work in
-    progress.
-  </p>
-
-  <p>This document was produced by a group operating under the <loc
-  href="http://www.w3.org/Consortium/Patent-Policy-20040205/">5
-  February 2004 W3C Patent Policy</loc>. W3C maintains a <loc
-  href="http://www.w3.org/2004/01/pp-impl/34314/status">public list of
-  any patent disclosures</loc> made in connection with the
-  deliverables of the group; that page also includes instructions for
-  disclosing a patent. An individual who has actual knowledge of a
-  patent which the individual believes contains <loc
-  href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">
-  Essential Claim(s)</loc> must disclose the information in accordance
-  with <loc
-  href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">
-  section 6 of the W3C Patent Policy</loc>.</p>
-
+<status id="status">
+<p>
+<emph>This section describes the status of this document at the
+time of its publication. Other documents may supersede this document.
+A list of current W3C publications and the latest revision of this
+technical report can be found in the <loc
+href="http://www.w3.org/TR/">W3C technical reports index</loc> at
+http://www.w3.org/TR/.</emph>
+</p>
+<p>
+This is the &draft.day;&nbsp;&draft.month;&nbsp;&draft.year; Candidate
+Recommendation of the Timed Text (TT) Authoring Format
+&versionOfTT;&nbsp;&ndash; Distribution Format Exchange Profile (DFXP).  W3C
+publishes a Candidate Recommendation to indicate that the document is believed
+to be stable and to encourage implementation by the developer community.  The
+<loc href="http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</loc>
+expects to request that the Director advance this document to Proposed
+Recommendation once the Working Group has, for each test in the <loc
+href="http://www.w3.org/2006/DFXP/testsuite/Overview.html">DFXP 1.0 Test
+Suite</loc>, demonstrated support by two interoperable
+implementations.  The Working Group, working closely with the developer community,
+expects to show these implementations by 16 February 2007. This estimate is based in
+part on the preliminary <loc
+href="http://www.w3.org/2006/DFXP/DFXP-implementation-result.html">DFXP
+Interoperability Implementation Report</loc>.  The Working Group does not plan
+to request to advance to Proposed Recommendation prior to 16 January 2007.
+</p>
+<p>
+This is a W3C Candidate Recommendation. The second Last Call Working Draft for
+this specification resulted in a number of Last Call comments which have all
+been addressed by the working group; a list of all Last Call comments can be
+found in the <loc
+href="http://www.w3.org/2005/03/21/DFXP-2ND-LastCallResponses.html">Second Last Call
+Comments List</loc>.  The list of changes made since the last public Working
+Draft is available in <specref ref="change-history-lc2-to-cr"/>.
+</p>
+<p>
+During the first Last Call period of this specification, there were <loc
+href="http://lists.w3.org/Archives/Public/public-tt/2005Apr/0040.html">unsatisfied
+comments</loc> that the working group was unable to resolve in a manner that satisfied
+the commenter(s). The status of these comments has not changed during the second
+Last Call period, as the working group continues to stand by its <loc
+href="http://lists.w3.org/Archives/Public/public-tt/2005Oct/0000.html">original
+responses</loc>. See also the <loc
+href="http://www.w3.org/2005/03/21/DFXPLastCallResponses.html#Issue11">First
+Last Call Disposition of Comments</loc> for a complete discussion.
+</p>
+<p>
+The <emph>dynamic flow processing</emph> feature, as specified by
+the <loc href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
+styling attribute vocabulary, see
+also <specref ref="dynamicFlowModel"/>, has been determined to be
+<loc
+href="http://www.w3.org/2005/10/Process-20051014/tr.html#at-risk-feature">at
+risk</loc>, and is expected to be given the greatest scrutiny in the
+implementation report.
+</p>
+<p>
+Comments on this document should be sent to the email list <loc
+href="mailto:public-tt@w3.org">public-tt@w3.org</loc>, which is the public
+mailing list of Timed Text Working Group (<loc
+href="http://lists.w3.org/Archives/Public/public-tt/">list archives</loc>).  To
+subscribe, send an email to <loc
+href="mailto:public-tt-request@w3.org">public-tt-request@w3.org</loc> with the
+word <code>subscribe</code> in the subject line.
+</p>
+<p>
+This document has been produced by the <loc
+href="http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</loc> as
+part of the W3C <loc href="http://www.w3.org/AudioVideo/Activity">Synchronized
+Multimedia Activity</loc>, following the procedures set out for the W3C <loc
+href="http://www.w3.org/Consortium/Process/">Process</loc>.  The authors of this
+document are listed in the header of this document.
+</p>
+<p> This document is governed by the <loc href="http://www.w3.org/TR/2002/NOTE-patent-practice-20020124">24 January 2002 CPP</loc> as amended by the <loc href="http://www.w3.org/2004/02/05-pp-transition">W3C Patent Policy Transition Procedure</loc>. W3C maintains a <loc role="disclosure" href="http://www.w3.org/2003/01/Timed-text-Patent-statements.html">public list of any patent disclosures</loc> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</loc> must disclose the information in accordance with <loc href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</loc>. </p>
+<p>
+Publication as a Candidate Recommendation does not imply endorsement by the W3C
+Membership.  This is a draft document and may be updated, replaced or obsoleted
+by other documents at any time. It is inappropriate to cite this document as
+other than work in progress.
+</p>
 </status>
--- a/spec/ttaf1-dfxp.html	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/ttaf1-dfxp.html	Sat Dec 13 16:37:44 2008 +0000
@@ -1,8 +1,7 @@
 <?xml version="1.0" encoding="utf-8"?>
 <!DOCTYPE html
   PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
-<html xmlns="http://www.w3.org/1999/xhtml" lang="en-us"><head><title>Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP)</title><style type="text/css">
-/**/
+<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-us" lang="en-us"><head><meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/><title>Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP)</title><style type="text/css">
 code           { font-family: monospace; }
 
 div.constraint,
@@ -16,30 +15,6 @@
 ol.enumua      { list-style-type: upper-alpha; }
 ol.enumur      { list-style-type: upper-roman; }
 
-dt.label       { display: run-in; }
-
-li, p           { margin-top: 0.3em;
-                 margin-bottom: 0.3em; }
-
-.diff-chg       { background-color: yellow; }
-.diff-del       { background-color: red; text-decoration: line-through;}
-.diff-add       { background-color: lime; }
-
-table          { empty-cells: show; }
-
-table caption {
-        font-weight: normal;
-        font-style: italic;
-        text-align: left;
-        margin-bottom: .5em;
-}
-
-div.issue {
-  color: red;
-}
-.rfc2119 {
-  font-variant: small-caps;
-}
 
 div.exampleInner pre { margin-left: 1em;
                        margin-top: 0em; margin-bottom: 0em}
@@ -57,102 +32,7588 @@
 div.exampleHeader { font-weight: bold;
                     margin: 4px}
 
-div.boxedtext {
-   border: solid #bebebe 1px;
-   margin: 2em 1em 1em 2em;
- }
-
-span.practicelab {
-   margin: 1.5em 0.5em 1em 1em;
-   font-weight: bold;
-   font-style: italic;
- }
-
-span.practicelab   { background: #dfffff; }
-
- span.practicelab {
-   position: relative;
-   padding: 0 0.5em;
-   top: -1.5em;
- }
-p.practice
-{
-   margin: 1.5em 0.5em 1em 1em;
- }
-
-@media screen {
- p.practice {
-   position: relative;
-   top: -2em;
-   padding: 0;
-   margin: 1.5em 0.5em -1em 1em;
-}
-}
-/**/
-      </style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/base.css"/></head><body><div class="head">
+li p { margin-top: 0.3em; margin-bottom: 0.3em; }
+div.issue { border: 2px solid black; background-color: #ffff66; padding: 0em 1em; margin: 0em 0em }
+table.ednote { border-collapse: collapse; border: 2px solid black; width: 85% }
+table.ednote td { background-color: #ddaa66; border: 2px solid black }
+table.acronyms td.label { width: 15% }
+table.acronyms td.def { width: 65% }
+table.graphic { border: 0px none black; width: 100%; border-collapse: collapse }
+table.graphic caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+table.graphic td { border: 0px none black; text-align: center }
+table.common { border: 2px solid black; width: 85%; border-collapse: collapse }
+table.common caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+table.common th { padding: 0em 0.5em; border: 2px solid black; text-align: left }
+table.common td { padding: 0em 0.5em; border: 2px solid black }
+table.syntax { border: 0px solid black; width: 85%; border-collapse: collapse }
+table.syntax caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+table.syntax th { border: 0px solid black; text-align: left }
+table.syntax td { border: 0px solid black }
+table.syntax div { background-color: #ffffc8 }
+table.example { border: 0px solid black; width: 85%; border-collapse: collapse }
+table.example caption { font-weight: bold; text-align: left; padding-bottom: 0.5em }
+table.example th { border: 0px solid black; text-align: left }
+table.example td { border: 0px solid black }
+table.example div { background-color: #c8ffff }
+table.example-images { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
+table.example-images caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+table.example-images td { border: 0px solid black; text-align: center }
+table.example-images-bordered { text-align: center; border: 0px solid black; width: 85%; border-collapse: collapse }
+table.example-images-bordered caption { font-weight: bold; text-align: center; padding-bottom: 0.5em }
+table.example-images-bordered td { border: 1px solid red; text-align: left }
+.tbd { background-color: #ffff33; border: 2px solid black; width: 85% }
+.strong { font-weight: bold }
+.reqattr { font-weight: bold }
+.optattr { font-style: italic }
+.diff-add  { color: red; }
+.diff-del  { color: red; text-decoration: line-through; }
+.diff-chg  { background-color: #99FF99; }
+.diff-off  {}
+</style><link rel="stylesheet" type="text/css" href="http://www.w3.org/StyleSheets/TR/W3C-CR.css"/></head><body><div class="head"><p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" height="48" width="72"/></a></p>
 <h1><a name="title" id="title"/>Timed Text (TT) Authoring Format 1.0 – Distribution Format Exchange Profile (DFXP)</h1>
-<h2><a name="w3c-doctype" id="w3c-doctype"/>Editors' copy $Date$ @@ @@@@ @@@@</h2><dl><dt>This version:</dt><dd>
-      <a href="tt.html">tt.html</a>
-    </dd><dt>Latest version:</dt><dd><a href="http://dev.w3.org/cvsweb/~checkout~/2008/tt/spec/tt.html?content-type=text/html; charset=utf-8">http://dev.w3.org/cvsweb/~checkout~/2008/tt/spec/tt.html?content-type=text/html; charset=utf-8</a></dd><dt>Editor:</dt><dd>Glenn Adams, Samsung</dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © @@@@ <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr/><div>
-<h2><a name="abstract" id="abstract"/>Abstract</h2><p>
-	This is the abstract.
-    </p></div><div>
-<h2><a name="status" id="status"/>Status of this Document</h2><p><strong>This document is an editors' copy that has
-        no official standing.</strong></p><p/></div><div class="toc">
-<h2><a name="contents" id="contents"/>Table of Contents</h2><p class="toc">1 <a href="#introduction">Introduction</a><br/>
+<h2><a name="w3c-doctype" id="w3c-doctype"/>W3C Candidate Recommendation 16 November 2006</h2><dl><dt>This version:</dt><dd>
+<a href="http://www.w3.org/TR/2006/CR-ttaf1-dfxp-20061116/">http://www.w3.org/TR/2006/CR-ttaf1-dfxp-20061116/</a>
+</dd><dt>Latest version:</dt><dd><a href="http://www.w3.org/TR/ttaf1-dfxp/">http://www.w3.org/TR/ttaf1-dfxp/</a></dd><dt>Previous version:</dt><dd>
+<a href="http://www.w3.org/TR/2006/WD-ttaf1-dfxp-20060427/">http://www.w3.org/TR/2006/WD-ttaf1-dfxp-20060427/</a>
+</dd><dt>Editor:</dt><dd><table style="margin: 0em 0em"><td>Glenn Adams, Extensible Formatting Systems, Inc. (XFSI)</td><td/></table></dd><dt>Editors:</dt><dd><table style="margin: 0em 0em"><td>Mike Dolan, Invited Expert</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>Geoff Freed, WGBH National Center for Accessible Media</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>Sean Hayes, Microsoft</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>Erik Hodge, RealNetworks</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>David Kirby, British Broadcasting Corporation (BBC)</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>Thierry Michel, W3C</td><td/></table></dd><dd><table style="margin: 0em 0em"><td>Dave Singer, Apple Computer</td><td/></table></dd></dl><p class="copyright"><a href="http://www.w3.org/Consortium/Legal/ipr-notice#Copyright">Copyright</a> © 2006 <a href="http://www.w3.org/"><acronym title="World Wide Web Consortium">W3C</acronym></a><sup>®</sup> (<a href="http://www.csail.mit.edu/"><acronym title="Massachusetts Institute of Technology">MIT</acronym></a>, <a href="http://www.ercim.org/"><acronym title="European Research Consortium for Informatics and Mathematics">ERCIM</acronym></a>, <a href="http://www.keio.ac.jp/">Keio</a>), All Rights Reserved. W3C <a href="http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer">liability</a>, <a href="http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks">trademark</a> and <a href="http://www.w3.org/Consortium/Legal/copyright-documents">document use</a> rules apply.</p></div><hr/><div>
+<h2><a name="abstract" id="abstract"/>Abstract</h2><p>This document specifies the distribution format exchange profile
+(DFXP) of the timed text authoring format (TT AF) in terms of a
+vocabulary and semantics thereof.</p><p>The timed text authoring format 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>The Distribution Format Exchange Profile 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, DFXP content may be used directly as a distribution format,
+for example, providing a standard content format to reference from a <code>&lt;text&gt;</code> or 
+<code>&lt;textstream&gt;</code> media object element in a <a href="#smil21">[SMIL 2.1]</a> document.</p></div><div><h2><a name="status" id="status"/>Status of this Document</h2><p>
+<em>This section describes the status of this document at the
+time of its publication. Other documents may supersede this document.
+A list of current W3C publications and the latest revision of this
+technical report can be found in the <a href="http://www.w3.org/TR/">W3C technical reports index</a> at
+http://www.w3.org/TR/.</em>
+</p><p>
+This is the 16 November 2006 Candidate
+Recommendation of the Timed Text (TT) Authoring Format
+1.0 – Distribution Format Exchange Profile (DFXP).  W3C
+publishes a Candidate Recommendation to indicate that the document is believed
+to be stable and to encourage implementation by the developer community.  The
+<a href="http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a>
+expects to request that the Director advance this document to Proposed
+Recommendation once the Working Group has, for each test in the <a href="http://www.w3.org/2006/DFXP/testsuite/Overview.html">DFXP 1.0 Test
+Suite</a>, demonstrated support by two interoperable
+implementations.  The Working Group, working closely with the developer community,
+expects to show these implementations by 16 February 2007. This estimate is based in
+part on the preliminary <a href="http://www.w3.org/2006/DFXP/DFXP-implementation-result.html">DFXP
+Interoperability Implementation Report</a>.  The Working Group does not plan
+to request to advance to Proposed Recommendation prior to 16 January 2007.
+</p><p>
+This is a W3C Candidate Recommendation. The second Last Call Working Draft for
+this specification resulted in a number of Last Call comments which have all
+been addressed by the working group; a list of all Last Call comments can be
+found in the <a href="http://www.w3.org/2005/03/21/DFXP-2ND-LastCallResponses.html">Second Last Call
+Comments List</a>.  The list of changes made since the last public Working
+Draft is available in <a href="#change-history-lc2-to-cr"><b>M.2 Changes from Second Last Call Working Draft to Candidate
+Recommendation</b></a>.
+</p><p>
+During the first Last Call period of this specification, there were <a href="http://lists.w3.org/Archives/Public/public-tt/2005Apr/0040.html">unsatisfied
+comments</a> that the working group was unable to resolve in a manner that satisfied
+the commenter(s). The status of these comments has not changed during the second
+Last Call period, as the working group continues to stand by its <a href="http://lists.w3.org/Archives/Public/public-tt/2005Oct/0000.html">original
+responses</a>. See also the <a href="http://www.w3.org/2005/03/21/DFXPLastCallResponses.html#Issue11">First
+Last Call Disposition of Comments</a> for a complete discussion.
+</p><p>
+The <em>dynamic flow processing</em> feature, as specified by
+the <a href="#style-attribute-dynamicFlow"><code>tts:dynamicFlow</code></a>
+styling attribute vocabulary, see
+also <a href="#dynamicFlowModel"><b>B Dynamic Flow Processing Model</b></a>, has been determined to be
+<a href="http://www.w3.org/2005/10/Process-20051014/tr.html#at-risk-feature">at
+risk</a>, and is expected to be given the greatest scrutiny in the
+implementation report.
+</p><p>
+Comments on this document should be sent to the email list <a href="mailto:public-tt@w3.org">public-tt@w3.org</a>, which is the public
+mailing list of Timed Text Working Group (<a href="http://lists.w3.org/Archives/Public/public-tt/">list archives</a>).  To
+subscribe, send an email to <a href="mailto:public-tt-request@w3.org">public-tt-request@w3.org</a> with the
+word <code>subscribe</code> in the subject line.
+</p><p>
+This document has been produced by the <a href="http://www.w3.org/AudioVideo/TT/">Timed Text (TT) Working Group</a> as
+part of the W3C <a href="http://www.w3.org/AudioVideo/Activity">Synchronized
+Multimedia Activity</a>, following the procedures set out for the W3C <a href="http://www.w3.org/Consortium/Process/">Process</a>.  The authors of this
+document are listed in the header of this document.
+</p><p> This document is governed by the <a href="http://www.w3.org/TR/2002/NOTE-patent-practice-20020124">24 January 2002 CPP</a> as amended by the <a href="http://www.w3.org/2004/02/05-pp-transition">W3C Patent Policy Transition Procedure</a>. W3C maintains a <a href="http://www.w3.org/2003/01/Timed-text-Patent-statements.html" rel="disclosure">public list of any patent disclosures</a> made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential">Essential Claim(s)</a> must disclose the information in accordance with <a href="http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure">section 6 of the W3C Patent Policy</a>. </p><p>
+Publication as a Candidate Recommendation does not imply endorsement by the W3C
+Membership.  This is a draft document and may be updated, replaced or obsoleted
+by other documents at any time. It is inappropriate to cite this document as
+other than work in progress.
+</p></div><div class="toc">
+<h2><a name="contents" id="contents"/>Table of Contents</h2><p class="toc">1 <a href="#intro">Introduction</a><br/>
+    1.1 <a href="#model">System Model</a><br/>
+    1.2 <a href="#example">Document Example</a><br/>
+2 <a href="#definitions">Definitions</a><br/>
+    2.1 <a href="#acronyms">Acronyms</a><br/>
+    2.2 <a href="#terms">Terminology</a><br/>
+    2.3 <a href="#conventions">Documentation Conventions</a><br/>
+3 <a href="#conformance">Conformance</a><br/>
+    3.1 <a href="#conformance-content">Content Conformance</a><br/>
+    3.2 <a href="#conformance-processor">Processor Conformance</a><br/>
+    3.3 <a href="#claims">Claims</a><br/>
+4 <a href="#doctypes">Document Types</a><br/>
+    4.1 <a href="#dfxp-content-doctype">DFXP Content</a><br/>
+5 <a href="#vocabulary">Vocabulary</a><br/>
+    5.1 <a href="#vocabulary-namespaces">Namespaces</a><br/>
+    5.2 <a href="#vocabulary-profiles">Profiles</a><br/>
+    5.3 <a href="#vocabulary-overview">Catalog</a><br/>
+        5.3.1 <a href="#core-vocabulary-overview">Core Catalog</a><br/>
+        5.3.2 <a href="#extension-vocabulary-overview">Extension Catalog</a><br/>
+6 <a href="#parameters">Parameters</a><br/>
+    6.1 <a href="#parameters-element-vocabulary">Element Vocabulary</a><br/>
+    6.2 <a href="#parameters-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        6.2.1 <a href="#parameter-attribute-cellResolution">ttp:cellResolution</a><br/>
+        6.2.2 <a href="#parameter-attribute-clockMode">ttp:clockMode</a><br/>
+        6.2.3 <a href="#parameter-attribute-frameRate">ttp:frameRate</a><br/>
+        6.2.4 <a href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultiplier</a><br/>
+        6.2.5 <a href="#parameter-attribute-markerMode">ttp:markerMode</a><br/>
+        6.2.6 <a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a><br/>
+        6.2.7 <a href="#parameter-attribute-profile">ttp:profile</a><br/>
+        6.2.8 <a href="#parameter-attribute-smpteMode">ttp:smpteMode</a><br/>
+        6.2.9 <a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a><br/>
+        6.2.10 <a href="#parameter-attribute-tickRate">ttp:tickRate</a><br/>
+        6.2.11 <a href="#parameter-attribute-timeBase">ttp:timeBase</a><br/>
+7 <a href="#content">Content</a><br/>
+    7.1 <a href="#content-element-vocabulary">Element Vocabulary</a><br/>
+        7.1.1 <a href="#document-structure-vocabulary-tt">tt</a><br/>
+        7.1.2 <a href="#document-structure-vocabulary-head">head</a><br/>
+        7.1.3 <a href="#document-structure-vocabulary-body">body</a><br/>
+        7.1.4 <a href="#content-vocabulary-div">div</a><br/>
+        7.1.5 <a href="#content-vocabulary-p">p</a><br/>
+        7.1.6 <a href="#content-vocabulary-span">span</a><br/>
+        7.1.7 <a href="#content-vocabulary-br">br</a><br/>
+    7.2 <a href="#content-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        7.2.1 <a href="#content-attribute-id">xml:id</a><br/>
+        7.2.2 <a href="#content-attribute-lang">xml:lang</a><br/>
+        7.2.3 <a href="#content-attribute-space">xml:space</a><br/>
+8 <a href="#styling">Styling</a><br/>
+    8.1 <a href="#styling-element-vocabulary">Element Vocabulary</a><br/>
+        8.1.1 <a href="#styling-vocabulary-styling">styling</a><br/>
+        8.1.2 <a href="#styling-vocabulary-style">style</a><br/>
+    8.2 <a href="#styling-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        8.2.1 <a href="#style-attribute-style">style</a><br/>
+        8.2.2 <a href="#style-attribute-backgroundColor">tts:backgroundColor</a><br/>
+        8.2.3 <a href="#style-attribute-color">tts:color</a><br/>
+        8.2.4 <a href="#style-attribute-direction">tts:direction</a><br/>
+        8.2.5 <a href="#style-attribute-display">tts:display</a><br/>
+        8.2.6 <a href="#style-attribute-displayAlign">tts:displayAlign</a><br/>
+        8.2.7 <a href="#style-attribute-dynamicFlow">tts:dynamicFlow</a><br/>
+        8.2.8 <a href="#style-attribute-extent">tts:extent</a><br/>
+        8.2.9 <a href="#style-attribute-fontFamily">tts:fontFamily</a><br/>
+        8.2.10 <a href="#style-attribute-fontSize">tts:fontSize</a><br/>
+        8.2.11 <a href="#style-attribute-fontStyle">tts:fontStyle</a><br/>
+        8.2.12 <a href="#style-attribute-fontWeight">tts:fontWeight</a><br/>
+        8.2.13 <a href="#style-attribute-lineHeight">tts:lineHeight</a><br/>
+        8.2.14 <a href="#style-attribute-opacity">tts:opacity</a><br/>
+        8.2.15 <a href="#style-attribute-origin">tts:origin</a><br/>
+        8.2.16 <a href="#style-attribute-overflow">tts:overflow</a><br/>
+        8.2.17 <a href="#style-attribute-padding">tts:padding</a><br/>
+        8.2.18 <a href="#style-attribute-showBackground">tts:showBackground</a><br/>
+        8.2.19 <a href="#style-attribute-textAlign">tts:textAlign</a><br/>
+        8.2.20 <a href="#style-attribute-textDecoration">tts:textDecoration</a><br/>
+        8.2.21 <a href="#style-attribute-textOutline">tts:textOutline</a><br/>
+        8.2.22 <a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a><br/>
+        8.2.23 <a href="#style-attribute-visibility">tts:visibility</a><br/>
+        8.2.24 <a href="#style-attribute-wrapOption">tts:wrapOption</a><br/>
+        8.2.25 <a href="#style-attribute-writingMode">tts:writingMode</a><br/>
+        8.2.26 <a href="#style-attribute-zIndex">tts:zIndex</a><br/>
+    8.3 <a href="#styling-style-value-expressions">Style Value Expressions</a><br/>
+        8.3.1 <a href="#style-value-alpha">&lt;alpha&gt;</a><br/>
+        8.3.2 <a href="#style-value-color">&lt;color&gt;</a><br/>
+        8.3.3 <a href="#style-value-digit">&lt;digit&gt;</a><br/>
+        8.3.4 <a href="#style-value-duration">&lt;duration&gt;</a><br/>
+        8.3.5 <a href="#style-value-familyName">&lt;familyName&gt;</a><br/>
+        8.3.6 <a href="#style-value-genericFamilyName">&lt;genericFamilyName&gt;</a><br/>
+        8.3.7 <a href="#style-value-flowFunction">&lt;flowFunction&gt;</a><br/>
+        8.3.8 <a href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</a><br/>
+        8.3.9 <a href="#style-value-hexDigit">&lt;hexDigit&gt;</a><br/>
+        8.3.10 <a href="#style-value-integer">&lt;integer&gt;</a><br/>
+        8.3.11 <a href="#style-value-length">&lt;length&gt;</a><br/>
+        8.3.12 <a href="#style-value-namedColor">&lt;namedColor&gt;</a><br/>
+        8.3.13 <a href="#style-value-quotedString">&lt;quotedString&gt;</a><br/>
+        8.3.14 <a href="#style-value-string">&lt;string&gt;</a><br/>
+    8.4 <a href="#semantics-style-association">Style Association</a><br/>
+        8.4.1 <a href="#semantics-style-association-inline">Inline Styling</a><br/>
+        8.4.2 <a href="#semantics-style-association-referential">Referential Styling</a><br/>
+        8.4.3 <a href="#semantics-style-association-chained-referential">Chained Referential Styling</a><br/>
+    8.5 <a href="#semantics-style-inheritance">Style Inheritance</a><br/>
+        8.5.1 <a href="#semantics-style-inheritance-content">Content Style Inheritance</a><br/>
+        8.5.2 <a href="#semantics-style-inheritance-region">Region Style Inheritance</a><br/>
+9 <a href="#layout">Layout</a><br/>
+    9.1 <a href="#layout-element-vocabulary">Element Vocabulary</a><br/>
+        9.1.1 <a href="#layout-vocabulary-layout">layout</a><br/>
+        9.1.2 <a href="#layout-vocabulary-region">region</a><br/>
+    9.2 <a href="#layout-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        9.2.1 <a href="#layout-attribute-region">region</a><br/>
+    9.3 <a href="#semantics-region-layout">Region Layout and Presentation</a><br/>
+        9.3.1 <a href="#semantics-region-layout-step-1">Synchronic Region Construction</a><br/>
+        9.3.2 <a href="#semantics-region-layout-step-2">Synchronic Flow Processing</a><br/>
+        9.3.3 <a href="#semantics-region-layout-example">Elaborated Example</a><br/>
+    9.4 <a href="#semantics-line-layout">Line Layout</a><br/>
+10 <a href="#timing">Timing</a><br/>
+    10.1 <a href="#timing-element-vocabulary">Element Vocabulary</a><br/>
+    10.2 <a href="#timing-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        10.2.1 <a href="#timing-attribute-begin">begin</a><br/>
+        10.2.2 <a href="#timing-attribute-end">end</a><br/>
+        10.2.3 <a href="#timing-attribute-dur">dur</a><br/>
+        10.2.4 <a href="#timing-attribute-timeContainer">timeContainer</a><br/>
+    10.3 <a href="#timing-time-value-expressions">Time Value Expressions</a><br/>
+        10.3.1 <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a><br/>
+    10.4 <a href="#timing-time-intervals">Time Intervals</a><br/>
+11 <a href="#animation">Animation</a><br/>
+    11.1 <a href="#animation-element-vocabulary">Element Vocabulary</a><br/>
+        11.1.1 <a href="#animation-vocabulary-set">set</a><br/>
+    11.2 <a href="#animation-attribute-vocabulary">Attribute Vocabulary</a><br/>
+12 <a href="#metadata">Metadata</a><br/>
+    12.1 <a href="#metadata-element-vocabulary">Element Vocabulary</a><br/>
+        12.1.1 <a href="#metadata-vocabulary-metadata">metadata</a><br/>
+        12.1.2 <a href="#metadata-vocabulary-title">ttm:title</a><br/>
+        12.1.3 <a href="#metadata-vocabulary-desc">ttm:desc</a><br/>
+        12.1.4 <a href="#metadata-vocabulary-copyright">ttm:copyright</a><br/>
+        12.1.5 <a href="#metadata-vocabulary-agent">ttm:agent</a><br/>
+        12.1.6 <a href="#metadata-vocabulary-name">ttm:name</a><br/>
+        12.1.7 <a href="#metadata-vocabulary-actor">ttm:actor</a><br/>
+    12.2 <a href="#metadata-attribute-vocabulary">Attribute Vocabulary</a><br/>
+        12.2.1 <a href="#metadata-attribute-agent">ttm:agent</a><br/>
+        12.2.2 <a href="#metadata-attribute-role">ttm:role</a><br/>
 </p>
-<h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#references">References</a><br/>
-B <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br/>
-C <a href="#change-log">Change Log</a> (Non-Normative)<br/>
+<h3><a name="appendices" id="appendices"/>Appendices</h3><p class="toc">A <a href="#reduced-infoset">Reduced XML Infoset</a><br/>
+    A.1 <a href="#reduced-infoset-document">Document Information Item</a><br/>
+    A.2 <a href="#reduced-infoset-element">Element Information Item</a><br/>
+    A.3 <a href="#reduced-infoset-attribute">Attribute Information Item</a><br/>
+    A.4 <a href="#reduced-infoset-character">Character Information Item</a><br/>
+B <a href="#dynamicFlowModel">Dynamic Flow Processing Model</a><br/>
+    B.1 <a href="#dynamicFlowIntroduction">Introduction</a><br/>
+    B.2 <a href="#dynamicFlowEvents">Flow Buffer</a><br/>
+    B.3 <a href="#dynamicFlowIntervalTimingCalculation">Flow Interval Timing Calculation</a><br/>
+        B.3.1 <a href="#flowIntervalFillTiming">Computed Fill Timing Interval</a><br/>
+        B.3.2 <a href="#flowIntervalClearTiming">Computed Clear Timing Interval</a><br/>
+    B.4 <a href="#dynamicFlowOperations">Flow Operations</a><br/>
+        B.4.1 <a href="#flowOperationFill">Fill Operation</a><br/>
+        B.4.2 <a href="#flowOperationReflow">Reflow Operation</a><br/>
+        B.4.3 <a href="#flowOperationClear">Clear Operation</a><br/>
+    B.5 <a href="#dynamicFlowTimers">Flow Timers</a><br/>
+        B.5.1 <a href="#flowTimerFill">Fill Timer</a><br/>
+        B.5.2 <a href="#flowTimerClear">Clear Timer</a><br/>
+C <a href="#schemas">Schemas</a><br/>
+    C.1 <a href="#dfxp-schema-rnc">Relax NG Schema</a><br/>
+        C.1.1 <a href="#rnc-dfxp-driver-schema">Driver</a><br/>
+        C.1.2 <a href="#rnc-dfxp-modules">Modules</a><br/>
+            C.1.2.1 <a href="#rnc-dfxp-animation-module">Animation Module</a><br/>
+            C.1.2.2 <a href="#rnc-dfxp-classes-module">Classes Module</a><br/>
+            C.1.2.3 <a href="#rnc-dfxp-content-module">Content Module</a><br/>
+            C.1.2.4 <a href="#rnc-dfxp-core-attribs-module">Core Attributes Module</a><br/>
+            C.1.2.5 <a href="#rnc-dfxp-datatypes-module">Data Types Module</a><br/>
+            C.1.2.6 <a href="#rnc-dfxp-document-module">Document Module</a><br/>
+            C.1.2.7 <a href="#rnc-dfxp-head-module">Header Module</a><br/>
+            C.1.2.8 <a href="#rnc-dfxp-layout-module">Layout Module</a><br/>
+            C.1.2.9 <a href="#rnc-dfxp-metdata-module">Metadata Module</a><br/>
+            C.1.2.10 <a href="#rnc-dfxp-metdata-items-module">Metadata Items Module</a><br/>
+            C.1.2.11 <a href="#rnc-dfxp-metadata-attribs-module">Metadata Attributes Module</a><br/>
+            C.1.2.12 <a href="#rnc-dfxp-parameter-attribs-module">Parameter Attributes Module</a><br/>
+            C.1.2.13 <a href="#rnc-dfxp-styling-attribs-module">Styling Attributes Module</a><br/>
+            C.1.2.14 <a href="#rnc-dfxp-styling-module">Styling Module</a><br/>
+            C.1.2.15 <a href="#rnc-dfxp-timing-attribs-module">Timing Attributes Module</a><br/>
+    C.2 <a href="#dfxp-schema-xsd">XML Schema Definition (XSD) Schema</a><br/>
+        C.2.1 <a href="#xsd-dfxp-driver-schema">Driver</a><br/>
+        C.2.2 <a href="#xsd-dfxp-modules">Modules</a><br/>
+            C.2.2.1 <a href="#xsd-dfxp-animation-module">Animation Module</a><br/>
+            C.2.2.2 <a href="#xsd-dfxp-content-module">Content Module</a><br/>
+            C.2.2.3 <a href="#xsd-dfxp-core-attribs-module">Core Attributes Module</a><br/>
+            C.2.2.4 <a href="#xsd-dfxp-datatypes-module">Data Types Module</a><br/>
+            C.2.2.5 <a href="#xsd-dfxp-document-module">Document Module</a><br/>
+            C.2.2.6 <a href="#xsd-dfxp-head-module">Header Module</a><br/>
+            C.2.2.7 <a href="#xsd-dfxp-layout-module">Layout Module</a><br/>
+            C.2.2.8 <a href="#xsd-dfxp-metdata-module">Metadata Module</a><br/>
+            C.2.2.9 <a href="#xsd-dfxp-metdata-items-module">Metadata Items Module</a><br/>
+            C.2.2.10 <a href="#xsd-dfxp-metadata-attribs-module">Metadata Attributes Module</a><br/>
+            C.2.2.11 <a href="#xsd-dfxp-parameter-attribs-module">Parameter Attributes Module</a><br/>
+            C.2.2.12 <a href="#xsd-dfxp-styling-attribs-module">Styling Attributes Module</a><br/>
+            C.2.2.13 <a href="#xsd-dfxp-styling-module">Styling Module</a><br/>
+            C.2.2.14 <a href="#xsd-dfxp-timing-attribs-module">Timing Attributes Module</a><br/>
+            C.2.2.15 <a href="#xsd-dfxp-xml-attrs-module">XML Attributes Module</a><br/>
+D <a href="#media-type-registration">Media Type Registration</a><br/>
+E <a href="#references">References</a><br/>
+F <a href="#other-references">Other References</a> (Non-Normative)<br/>
+G <a href="#sample-code">Sample Code</a> (Non-Normative)<br/>
+    G.1 <a href="#code-rxi">Reduced XML Infoset (RXI) – RXI.SCM</a><br/>
+    G.2 <a href="#code-adi">Abstract Document Instance (ADI) – ADI.SCM</a><br/>
+    G.3 <a href="#code-tir">Time Interval Resolver (TIR) – TIR.SCM</a><br/>
+    G.4 <a href="#code-fox">Flow Object Transformer (FOX) – FOX.SCM</a><br/>
+    G.5 <a href="#code-dtf">Dynamic Text Flow Processor (DTF) – DTF.SCM</a><br/>
+    G.6 <a href="#code-run">Sample Compile, Load, and Run Session</a><br/>
+H <a href="#requirements">Requirements</a> (Non-Normative)<br/>
+I <a href="#derivation">Vocabulary Derivation</a> (Non-Normative)<br/>
+    I.1 <a href="#d3e11619">Element Derivation</a><br/>
+    I.2 <a href="#d3e12003">Attribute Derivation</a><br/>
+J <a href="#qa">QA Framework Compliance</a> (Non-Normative)<br/>
+    J.1 <a href="#d3e12855">Requirements</a><br/>
+    J.2 <a href="#d3e13019">Guidelines</a><br/>
+K <a href="#streaming">Streaming DFXP Content</a> (Non-Normative)<br/>
+L <a href="#acknowledgments">Acknowledgements</a> (Non-Normative)<br/>
+M <a href="#change-history">Change History</a> (Non-Normative)<br/>
+    M.1 <a href="#change-history-lc1-to-lc2">Changes from First to Second Last Call Working Draft</a><br/>
+    M.2 <a href="#change-history-lc2-to-cr">Changes from Second Last Call Working Draft to Candidate
+Recommendation</a><br/>
 </p></div><hr/><div class="body"><div class="div1">
-<h2><a name="introduction" id="introduction"/>1 Introduction</h2><p>This is a test.</p></div></div><div class="back"><div class="div1">
-<h2><a name="references" id="references"/>A References</h2><dl><dt class="label"><a name="rfc2119"/>[IETF RFC 2119] </dt><dd>
-    <cite><a href="http://www.ietf.org/rfc/rfc2119.txt">Key words for use in RFCs to Indicate Requirement
-    Levels</a></cite>, S. Bradner, Author. Internet Engineering Task
-    Force, March 1997.  Available at
-    http://www.ietf.org/rfc/rfc2119.txt.
-  </dd><dt class="label"><a name="rfc3987"/>[IETF RFC 3987] </dt><dd>
-    <cite><a href="http://www.ietf.org/rfc/rfc3987.txt">Internationalized Resource Identifiers (IRIs)
-    </a></cite>, M.  Duerst and M. Suignard, Authors. Internet
-    Engineering Task Force, January 2005. Available at
-    http://www.ietf.org/rfc/rfc3987.txt.
-  </dd><dt class="label"><a name="xml"/>[XML 1.0] </dt><dd>
-    <cite><a href="http://www.w3.org/TR/2006/REC-xml-20060816">Extensible Markup Language (XML) 1.0 (Fourth
-    Edition)</a></cite>, T. Bray, J. Paoli, C. M. Sperberg-McQueen,
-    E. Maler, and François Yergeau, Editors. World Wide Web Consortium, 10 February
-    1998, revised 16 August 2006. This version of the XML 1.0
-    Recommendation is http://www.w3.org/TR/2006/REC-xml-20060816.  The
-    <a href="http://www.w3.org/TR/REC-xml/">latest version of XML
-    1.0</a> is available at http://www.w3.org/TR/REC-xml.
-  </dd><dt class="label"><a name="XML-NS"/>[XML Namespaces] </dt><dd>
-    <cite><a href="http://www.w3.org/TR/2006/REC-xml-names-20060816/">Namespaces in XML 1.0</a></cite>, T. Bray, D. Hollander, A.
-    Layman, and R. Tobin, Editors. World Wide Web Consortium, 14 January 1999,
-    revised 16 August 2006. This version of the Namespaces in XML
-    Recommendation is http://www.w3.org/TR/2006/REC-xml-names-20060816/. The
-    <a href="http://www.w3.org/TR/REC-xml-names/">latest version of
-    Namespaces in XML</a> is available at
-  http://www.w3.org/TR/REC-xml-names. </dd><dt class="label"><a name="XMLSchemaPart1"/>[XML Schema Structures] </dt><dd>
-    <cite><a href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">XML Schema Part 1: Structures Second Edition</a></cite>, H.
-    Thompson, D. Beech, M. Maloney, and N. Mendelsohn, Editors. World Wide Web
-    Consortium, 2 May 2001, revised 28 October 2004. This version of the XML
-    Schema Part 1 Recommendation is
-    http://www.w3.org/TR/2004/REC-xmlschema-1-20041028. The <a href="http://www.w3.org/TR/xmlschema-1/">latest version of XML Schema
-  Part 1</a> is available at http://www.w3.org/TR/xmlschema-1. </dd><dt class="label"><a name="XMLSchemaPart2"/>[XML Schema Datatypes] </dt><dd>
-    <cite><a href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">XML Schema Part 2: Datatypes Second Edition</a></cite>, P. Byron
-    and A. Malhotra, Editors. World Wide Web Consortium, 2 May 2001, revised 28
-    October 2004. This version of the XML Schema Part 2 Recommendation is
-    http://www.w3.org/TR/2004/REC-xmlschema-2-20041028. The <a href="http://www.w3.org/TR/xmlschema-2/">latest version of XML Schema
-  Part 2</a> is available at http://www.w3.org/TR/xmlschema-2. </dd></dl></div><div class="div1">
-<h2><a name="acknowledgments" id="acknowledgments"/>B Acknowledgements (Non-Normative)</h2><p>This document is the work of the <a href="http://www.w3.org/AudioVideo/TT/">W3C Timed Text Working Group</a>.</p><p>
-    Members of the Working Group are (at the time of writing, and by
-    alphabetical order):
-      
-  </p><p>
-    Previous members of the Working Group were:
-      
-  </p><p>
-    The people who have contributed to <a href="http://lists.w3.org/Archives/Public/public-tt/">discussions
-    on public-tt@w3.org</a> are also gratefully
-    acknowledged.
-  </p></div><div class="div1">
-<h2><a name="change-log" id="change-log"/>C Change Log (Non-Normative)</h2><table xmlns:a="http://www.w3.org/2005/Atom" xmlns:h="http://www.w3.org/1999/xhtml" border="1"><tr><th>Date</th><th>Editor</th><th>Description</th></tr></table></div></div></body></html>
\ No newline at end of file
+<h2><a name="intro" id="intro"/>1 Introduction</h2><p><em>Unless specified otherwise, this section and its sub-sections are non-normative.</em></p><p>The Timed Text Authoring Format (TT AF) Distribution Format Exchange Profile (DFXP)
+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>DFXP is expressly designed to meet only a limited set of requirements
+established by <a href="#ttaf1-req">[TTAF1-REQ]</a>, and summarized in <a href="#requirements"><b>H Requirements</b></a>. In particular, only those requirements which service the
+need of performing interchange with existing, legacy distribution systems are
+satisfied.</p><p>In addition to being used for interchange among legacy distribution content
+formats, DFXP content may be used directly as a distribution format, providing, for
+example, a standard content format to reference from a <code>&lt;text&gt;</code> or 
+<code>&lt;textstream&gt;</code> media object element in a <a href="#smil21">[SMIL 2.1]</a> document. Certain properties of DFXP support
+streamability of content, as described in <a href="#streaming"><b>K Streaming DFXP Content</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>While DFXP was not expressly designed for direct (embedded) integration into a
+SMIL document instance, such integration is not precluded.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>In some contexts of use, it may be appropriate to employ
+animated content to depict sign language representations of the same content
+as expressed by a Timed Text document instance. This use case is not
+explicitly addressed by DFXP mechanisms, but may be addressed by some
+external multimedia integration technology, such as SMIL.</p></div><div class="div2">
+<h3><a name="model" id="model"/>1.1 System Model</h3><p>Use of DFXP is intended to function in a wider context of Timed Text
+Authoring and Distribution mechanisms that are based upon a system
+model, depicted in <a href="#model-graphic"><b>Figure 1 – System Model</b></a>, wherein the timed text authoring format
+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 DFXP.</p><table summary="HTML Table" id="model-graphic" class="example-images"><caption>Figure 1 – System Model</caption><tbody><tr><td><img src="images/model.png" alt="System Model"/></td></tr></tbody></table></div><div class="div2">
+<h3><a name="example" id="example"/>1.2 Document Example</h3><p>A DFXP document instance consists of a <code>tt</code> document element that contains
+a header and a body, where the header specifies document level metadata, styling
+definitions and layout definitions, and the body specifies text content intermixed
+with references to style and layout information and inline timing information.</p><table summary="HTML Table" id="dfxp-example-document-structure" class="example"><caption>Example Fragment – DFXP Document Structure</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/2006/10/ttaf1"&gt;
+  &lt;head&gt;
+    &lt;metadata/&gt;
+    &lt;styling/&gt;
+    &lt;layout/&gt;
+  &lt;/head&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>Document level metadata may specify a document title, description,
+and copyright information. In addition, arbitrary metadata drawn from
+other namespaces may be specified.</p><table summary="HTML Table" id="dfxp-example-metadata" class="example"><caption>Example Fragment – DFXP Metadata</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;metadata xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"&gt;
+  &lt;ttm:title&gt;Timed Text DFXP Example&lt;/ttm:title&gt;
+  &lt;ttm:copyright&gt;The Authors (c) 2006&lt;/ttm:copyright&gt;
+&lt;/metadata&gt;
+</pre></div>
+</td></tr></tbody></table><p>Styling information may be specified in the form of style specification
+definitions that are referenced by layout and content information.</p><p>In <a href="#dfxp-example-styling"><b>Example Fragment – DFXP Styling</b></a>, four style sets of specifications
+are defined, with one set serving as a collection of default styles.</p><table summary="HTML Table" id="dfxp-example-styling" class="example"><caption>Example Fragment – DFXP Styling</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;styling xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;!-- s1 specifies default color, font, and text alignment --&gt;
+  &lt;style xml:id="s1"
+    tts:color="white"
+    tts:fontFamily="proportionalSansSerif"
+    tts:fontSize="22px"
+    tts:textAlign="center"
+  /&gt;
+  &lt;!-- alternative using yellow text but otherwise the same as style s1 --&gt;
+  &lt;style xml:id="s2" style="s1" tts:color="yellow"/&gt;
+  &lt;!-- a style based on s1 but justified to the right --&gt;
+  &lt;style xml:id="s1Right" style="s1" tts:textAlign="end" /&gt;     
+  &lt;!-- a style based on s2 but justified to the left --&gt;
+  &lt;style xml:id="s2Left" style="s2" tts:textAlign="start" /&gt;
+&lt;/styling&gt;
+</pre></div>
+</td></tr></tbody></table><p>Layout information defines one or more regions into which content
+is intended to be presented. A region definition may reference one or
+more sets of style specifications in order to permit content flowed in the
+region to inherit from these styles.
+In <a href="#dfxp-example-layout"><b>Example Fragment – DFXP Layout</b></a>, 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 summary="HTML Table" id="dfxp-example-layout" class="example"><caption>Example Fragment – DFXP Layout</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;layout xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;region xml:id="subtitleArea"
+    style="s1"
+    tts:extent="560px 62px"
+    tts:padding="5px 3px"
+    tts:backgroundColor="black"
+    tts:displayAlign="after"
+  /&gt;
+&lt;/layout&gt;  
+</pre></div>
+</td></tr></tbody></table><p>The content of a DFXP 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
+<a href="#dfxp-example-body"><b>Example Fragment – DFXP Body</b></a>, each paragraph (<code>p</code> element)
+is flowed into its target region in the specified lexical order; furthermore,
+the active time interval of each paragraph is timed in accordance to its
+parent or sibling according to the applicable time containment semantics —
+in this case, the division parent is interpreted as a parallel time
+container.</p><table summary="HTML Table" id="dfxp-example-body" class="example"><caption>Example Fragment – DFXP Body</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;body region="subtitleArea"&gt;
+  &lt;div&gt;
+    &lt;p xml:id="subtitle1" begin="0.76s" end="3.45s"&gt;
+      It seems a paradox, does it not,
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle2" begin="5.0s" end="10.0s"&gt;
+      that the image formed on&lt;br/&gt;
+      the Retina should be inverted?
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle3" begin="10.0s" end="16.0s" style="s2"&gt;
+      It is puzzling, why is it&lt;br/&gt;
+      we do not see things upside-down?
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle4" begin="17.2s" end="23.0s"&gt;
+      You have never heard the Theory,&lt;br/&gt;
+      then, that the Brain also is inverted?
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle5" begin="23.0s" end="27.0s" style="s2"&gt;
+      No indeed! What a beautiful fact!
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle6a" begin="28.0s" end="34.6s" style="s2Left"&gt;
+      But how is it proved?
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle6b" begin="28.0s" end="34.6s" style="s1Right"&gt;
+      Thus: what we call
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle7" begin="34.6s" end="45.0s" style="s1Right"&gt;
+      the vertex of the Brain&lt;br/&gt;
+      is really its base
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle8" begin="45.0s" end="52.0s" style="s1Right"&gt;
+      and what we call its base&lt;br/&gt;
+      is really its vertex,
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle9a" begin="53.5s" end="58.7s"&gt;
+      it is simply a question of nomenclature.
+    &lt;/p&gt;
+    &lt;p xml:id="subtitle9b" begin="53.5s" end="58.7s" style="s2"&gt;
+      How truly delightful!
+    &lt;/p&gt;
+  &lt;/div&gt;    
+&lt;/body&gt;
+</pre></div>
+</td></tr></tbody></table><p>The first subtitle <a href="#dfxp-example-subtitle-1"><b>Subtitle 1 – Time Interval [0.76, 3.45)</b></a> is
+presented during the time interval 0.76 to 3.45 seconds. In this
+example, the default metric for time expressions is seconds since no
+metric is specified in the expressions.
+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><div class="note"><p class="prefix"><b>Note:</b></p><p>The notation "[<em>X</em>,<em>Y</em>]" denotes a closed
+interval from <em>X</em> to <em>Y</em>, including
+<em>X</em> and <em>Y</em>;
+"[<em>X</em>,<em>Y</em>)" denotes a right half-open
+interval from <em>X</em> to <em>Y</em>, including
+<em>X</em> but not including <em>Y</em>;
+"(<em>X</em>,<em>Y</em>]" denotes a left half-open
+interval from <em>X</em> to <em>Y</em>, not including
+<em>X</em> but including <em>Y</em>;
+"(<em>X</em>,<em>Y</em>)" denotes an open
+interval from <em>X</em> to <em>Y</em>, not including
+<em>X</em> or <em>Y</em>.
+</p></div><table summary="HTML Table" id="dfxp-example-subtitle-1" class="example-images"><caption>Subtitle 1 – Time Interval [0.76, 3.45)</caption><tbody><tr><td><img src="images/subtitle1.png" alt="Subtitle 1"/></td></tr></tbody></table><p>The second subtitle continues with the default style, except that it contains
+two lines of text with an intervening author-specified line break. Note the effects of
+the use of <code>tts:textAlign="center"</code> to specify the paragraph's alignment
+in the inline progression direction.</p><table summary="HTML Table" id="dfxp-example-subtitle-2" class="example-images"><caption>Subtitle 2 – Time Interval [5.0, 10.0)</caption><tbody><tr><td><img src="images/subtitle2.png" alt="Subtitle 2"/></td></tr></tbody></table><p>The third subtitle continues, using a variant style which overrides the default style's
+foreground color with a different color.</p><table summary="HTML Table" id="dfxp-example-subtitle-3" class="example-images"><caption>Subtitle 3 – Time Interval [10.0, 16.0)</caption><tbody><tr><td><img src="images/subtitle3.png" alt="Subtitle 3"/></td></tr></tbody></table><p>The fourth subtitle reverts to the default style.</p><table summary="HTML Table" id="dfxp-example-subtitle-4" class="example-images"><caption>Subtitle 4 – Time Interval [17.2, 23.0)</caption><tbody><tr><td><img src="images/subtitle4.png" alt="Subtitle 4"/></td></tr></tbody></table><p>The fifth subtitle continues, again using a variant style which
+overrides the default style's foreground color with a different color.</p><table summary="HTML Table" id="dfxp-example-subtitle-5" class="example-images"><caption>Subtitle 5 – Time Interval [23.0, 27.0)</caption><tbody><tr><td><img src="images/subtitle5.png" alt="Subtitle 5"/></td></tr></tbody></table><p>During the next active time interval, two distinct subtitles are simultaneously active, with
+the 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 summary="HTML Table" id="dfxp-example-subtitle-6" class="example-images"><caption>Subtitles 6a and 6b – Time Interval [28.0, 34.6)</caption><tbody><tr><td><img src="images/subtitle6.png" alt="Subtitles 6a and 6b"/></td></tr></tbody></table><p>The next subtitle is specified in a similar manner using
+a style override to give a paragraph right (end) justified in the
+inline progression direction.</p><table summary="HTML Table" id="dfxp-example-subtitle-7" class="example-images"><caption>Subtitle 7 – Time Interval [34.6, 45.0)</caption><tbody><tr><td><img src="images/subtitle7.png" alt="Subtitles 7a and 7b"/></td></tr></tbody></table><p>The eighth subtitle uses the same style override as the previous
+subtitle in order to maintain the right (end) justification of the
+paragraph.</p><table summary="HTML Table" id="dfxp-example-subtitle-8" class="example-images"><caption>Subtitle 8 – Time Interval [47.3, 49.0)</caption><tbody><tr><td><img src="images/subtitle8.png" alt="Subtitle 8"/></td></tr></tbody></table><p>During the final (ninth) active time interval, two distinct
+subtitles are again simultaneously active, but with a different
+style applied to the second paragraph to override the default color.
+Note that the flow order is determined by the lexical order of
+elements as they appear in the content hierarchy.</p><table summary="HTML Table" id="dfxp-example-subtitle-9" class="example-images"><caption>Subtitles 9a and 9b – Time Interval [53.5, 58.7)</caption><tbody><tr><td><img src="images/subtitle9.png" alt="Subtitles 9a and 9b"/></td></tr></tbody></table><p>The examples shown above demonstrate the primary types of information that may
+be authored using DFXP: 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></div></div><div class="div1">
+<h2><a name="definitions" id="definitions"/>2 Definitions</h2><div class="div2">
+<h3><a name="acronyms" id="acronyms"/>2.1 Acronyms</h3><table class="acronyms" summary="Glossary List"><tr><td class="label"><b>DFXP</b></td><td class="def"><p>Distribution Format Exchange Profile</p></td></tr><tr><td class="label"><b>TT</b></td><td class="def"><p>Timed Text</p></td></tr><tr><td class="label"><b>TT AS</b></td><td class="def"><p>Timed Text Authoring System</p></td></tr><tr><td class="label"><b>TT AF</b></td><td class="def"><p>Timed Text Authoring Format</p></td></tr><tr><td class="label"><b>TT WG</b></td><td class="def"><p>Timed Text Working Group</p></td></tr></table></div><div class="div2">
+<h3><a name="terms" id="terms"/>2.2 Terminology</h3><dl><dt class="label">Abstract Document Instance</dt><dd><p>An instance of an abstract data set as represented by a
+<em>Reduced XML Infoset</em>.</p></dd><dt class="label">Abstract Document Type</dt><dd><p>A set of constraints that defines a class of <em>XML Information
+Set</em>s <a href="#infoset">[XML InfoSet]</a>.</p></dd><dt class="label">Attribute Information Item</dt><dd><p>Each specified or defaulted attribute  of an XML document corresponds with an attribute information
+item as defined by <a href="#infoset">[XML InfoSet]</a>, §2.3.</p></dd><dt class="label">Character Information Item</dt><dd><p>Each data character appearing in an XML document corresponds with a character information
+item as defined by <a href="#infoset">[XML InfoSet]</a>, §2.6.</p></dd><dt class="label">Content Region</dt><dd><p>A logical region into which rendered content is placed when modeling or
+performing presentation processing.</p></dd><dt class="label">Element Information Item</dt><dd><p>Each element appearing in an XML document corresponds with an element information
+item as defined by <a href="#infoset">[XML InfoSet]</a>, §2.2.</p></dd><dt class="label">Exchange Profile</dt><dd><p>A profile (subset) of the TT AF that serves a set of needs for content exchange.</p></dd><dt class="label">Region</dt><dd><p>A logical construct that models authorial intention regarding
+desired or potential presentation processing, and which is represented as
+a rectangular area of a presentation surface into which content
+is composed and rendered during presentation processing.</p></dd><dt class="label">Reduced XML Infoset</dt><dd><p>An XML Information Set <a href="#infoset">[XML InfoSet]</a> that satisfieds the
+constraints specify by <a href="#reduced-infoset"><b>A Reduced XML Infoset</b></a>.</p></dd><dt class="label">Root Container Region</dt><dd><p>A logical region that establishes a coordinate system into which
+content regions are placed and optionally clipped.</p></dd><dt class="label">Timed Text</dt><dd><p>Textual information that is intrinsically or extrinsically
+associated with timing information.</p></dd><dt class="label">Timed Text Authoring Format</dt><dd><p>A content type that represents timed text media for the purpose of
+interchange among authoring systems.</p></dd><dt class="label">Timed Text Authoring System</dt><dd><p>A content authoring system capable of importing and exporting
+timed text authoring format content.</p></dd></dl></div><div class="div2">
+<h3><a name="conventions" id="conventions"/>2.3 Documentation Conventions</h3><p>Within normative prose in this specification, the words
+<em>may</em>, <em>should</em>, and <em>must</em> are
+defined as follows:</p><dl class="conformance-keywords"><dt class="label">may</dt><dd><p>Conforming documents and/or TT AF processors are permitted to,
+but need not behave as described. </p></dd><dt class="label">should</dt><dd><p>Conforming documents and/or TT AF processors are strongly
+recommended to, but need not behave as described.</p></dd><dt class="label">must</dt><dd><p>Conforming documents and/or TT AF processors are required
+to behave as described; otherwise, they are in error. </p></dd></dl><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 summary="HTML Table" id="elt-syntax-example" class="syntax"><caption>XML Representation – Element Information Item: example</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;example
+  <span class="reqattr">count</span> = integer
+  size = (<em>large</em>|<em>medium</em>|<em>small</em>) : medium&gt;
+  <em>Content:</em> (all | any*)
+&lt;/example&gt;
+</pre></div>
+</td></tr></tbody></table><p>In an XML representation, bold-face attribute names (e.g. <span class="strong">count</span> above) indicate a required attribute
+information item, and the rest are optional. Where an attribute
+information item has an enumerated type definition, the values are
+shown separated by vertical bars, as for <code>size</code> above; if
+there is a default value, it is shown following a colon. Where an
+attribute information item has a built-in simple type definition
+defined in <a href="#xsd-2">[XML Schema Part 2]</a>, a hyperlink to its definition
+therein is given.</p><p>The allowed content of the information item is shown as a grammar
+fragment, using the Kleene operators <code>?</code>, <code>*</code>
+and <code>+</code>. Each element name therein is a hyperlink to its
+own illustration.</p><p>All content of this specification that is not explicitly marked as
+non-normative is considered to be normative. If a section or appendix
+header contains the the expression "Non-Normative", then the entirety
+of the section or appendix is considered non-normative.</p><p>All paragraphs marked as a <span class="strong">Note</span> are considered non-normative.</p><p>Example code fragments are depicted with a light blue-green
+background color and labeled as "Example Fragment", such as in
+the following:</p><table summary="HTML Table" id="example-fragment-1" class="example"><caption>Example Fragment – Sample</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt xml:lang="" xmlns="http://www.w3.org/2006/10/ttaf1"&gt;
+  &lt;head&gt;
+    &lt;metadata/&gt;
+    &lt;styling/&gt;
+    &lt;layout/&gt;
+  &lt;/head&gt;
+  &lt;body/&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table></div></div><div class="div1">
+<h2><a name="conformance" id="conformance"/>3 Conformance</h2><p>This section specifies the general conformance requirements for
+TT AF content and processors.</p><div class="div2">
+<h3><a name="conformance-content" id="conformance-content"/>3.1 Content Conformance</h3><p>A TT AF document instance conforms to this specification if the following criteria are
+satisfied:</p><ol class="enumar"><li><p>When transporting a document instance in a context in which a MIME
+Media Type <a href="#mime-media">[MIME]</a> identifies the content type of the interchanged document
+instance, then the specified media type is
+<code>application/ttaf+xml</code> in conformance with <a href="#rfc3023">[XML Media Types]</a> § 7, with which an optional
+<code>profile</code> parameter may appear, the value of which
+conforms to the values defined by
+<a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p></li><li><p>The document instance is or can be represented as a Reduced XML
+Infoset as defined by <a href="#reduced-infoset"><b>A Reduced XML Infoset</b></a>.</p></li><li><p>The Reduced XML
+Infoset that corresponds to the document instance is or can
+be associated with one of the TT AF Abstract
+Document Types defined by
+<a href="#doctypes"><b>4 Document Types</b></a>.</p></li><li><p>The Reduced XML Infoset that corresponds to the document instance is a
+Valid Abstract Document Instance of the associated
+Abstract Document Type.</p></li><li><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
+<a href="#wcag">[WCAG]</a>.</p></li></ol></div><div class="div2">
+<h3><a name="conformance-processor" id="conformance-processor"/>3.2 Processor Conformance</h3><p>A TT AF processor conforms to this specification if the following criteria are
+satisfied:</p><ol class="enumar"><li><p>The processor provides at least one mechanism for notionally
+instantiating a Reduced XML
+Infoset representation of a conformant TT AF document
+instance.</p></li><li><p>If a process does or can perform validation of a candidate TT AF
+document instance, then it provides at least one mechanism to
+implicitly or explicitly associate the
+Reduced XML Infoset representation
+of a conformant TT AF document instance with one of the
+TT AF Abstract Document Types defined by
+<a href="#doctypes"><b>4 Document Types</b></a>.</p></li><li><p>The processor does not <em>a priori</em> reject or abort the
+processing of a conformant TT AF document instance.</p></li><li><p>The processor supports all mandatory processing semantics defined by this specification.</p></li><li><p>If the processor claims to support presentation processing in order
+to produce a rendition of TT AF content on a visual medium, then it
+must implement the region and line layout
+semantics defined by <a href="#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a> and
+<a href="#semantics-line-layout"><b>9.4 Line Layout</b></a>, respectively. In addition, the
+processor should satisfy the user agent accessibility guidelines specified by
+<a href="#uaag">[UAAG]</a>.
+</p></li><li><p>If the processor supports some optional processing semantics defined by this specification,
+then it does so in a manner consistent with the defined semantics.</p></li></ol></div><div class="div2">
+<h3><a name="claims" id="claims"/>3.3 Claims</h3><p>Any claim of compliance with respect to TT AF 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 TT AF vocabulary profile(s) as
+defined by <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>, and, if a subset or
+superset profile is used or supported, then what features are excluded
+or included in the subset or superset profile.</p><p>A TT AF document instance for which a compliance claim is made
+must specify a <code>ttp:profile</code> attribute on its root element
+as defined by <a href="#parameter-attribute-profile"><b>6.2.7 ttp:profile</b></a>.</p></div></div><div class="div1">
+<h2><a name="doctypes" id="doctypes"/>4 Document Types</h2><p>This section defines the following TT AF Abstract Document Types:</p><ul><li><p><a href="#dfxp-content-doctype"><b>4.1 DFXP Content</b></a></p></li></ul><p>Each abstract document type consists of the following constraints:</p><ul><li><p>a non-empty collection of element types, where each element type consists of a name,
+a (possibly empty) collection of attributes, and a content specification</p></li><li><p>a non-empty collection of element types that may appear as the document element</p></li></ul><p>An 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><ol class="enumar"><li><p>pruning all element information
+items whose names are not members of the collection of element types defined
+by the associated abstract document type, then</p></li><li><p>pruning character
+information item children from any remaining element in case that all
+character children of the element denote XML whitespace characters and the element's type
+is defined as empty in the associated Abstract Document Type, and then</p></li><li><p>pruning all attribute
+information items having expanded names such that the namespace URI of the
+expanded names are not listed in <a href="#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>,</p></li></ol><p>then the document element is one of the document
+element types permitted by the associated 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><div class="note"><p class="prefix"><b>Note:</b></p><p>While a conformant processor may not <em>a priori</em> reject a conformant document
+instance, a given document instance may be constrained by the author or authoring tool
+to satisfy a more restrictive definition of validity.</p></div><div class="div2">
+<h3><a name="dfxp-content-doctype" id="dfxp-content-doctype"/>4.1 DFXP Content</h3><p>DFXP Content is an abstract document type of the Timed Text Authoring Format intended
+to be used for interchange among distribution systems. This document type
+is defined in terms of the
+element and attribute vocabulary
+specified in <a href="#vocabulary"><b>5 Vocabulary</b></a>.</p><p>This specification defines two types of normative schemas that may be used to validate a subset of
+conformant DFXP document instances:</p><ul><li><p><a href="#dfxp-schema-rnc"><b>C.1 Relax NG Schema</b></a></p></li><li><p><a href="#dfxp-schema-xsd"><b>C.2 XML Schema Definition (XSD) Schema</b></a></p></li></ul><p>The (root) document element of a DFXP document instance must be a
+<code>tt</code> element, as defined by <a href="#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a>.</p></div></div><div class="div1">
+<h2><a name="vocabulary" id="vocabulary"/>5 Vocabulary</h2><p>This section defines the
+namespaces, profiles, and vocabulary (as an element an attribute
+catalog) of the Timed Text Authoring Format (TT AF) as follows:</p><ul><li><p><a href="#vocabulary-namespaces"><b>5.1 Namespaces</b></a></p></li><li><p><a href="#vocabulary-profiles"><b>5.2 Profiles</b></a></p></li><li><p><a href="#vocabulary-overview"><b>5.3 Catalog</b></a></p></li></ul><div class="div2">
+<h3><a name="vocabulary-namespaces" id="vocabulary-namespaces"/>5.1 Namespaces</h3><p>The Timed Text Authoring Format (TT AF) 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><div class="note"><p class="prefix"><b>Note:</b></p><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></div><table summary="HTML Table" id="namespace-vocab-table" class="common"><caption>Table 1 – Namespaces</caption><col width="25%" span="1"/><tbody><tr><th>Name</th><th>Prefix</th><th>Value</th></tr><tr><td>TT</td><td><code>tt:</code></td><td><code>http://www.w3.org/2006/10/ttaf1</code></td></tr><tr><td>TT Parameter</td><td><code>ttp:</code></td><td><code>http://www.w3.org/2006/10/ttaf1#parameter</code></td></tr><tr><td>TT Style</td><td><code>tts:</code></td><td><code>http://www.w3.org/2006/10/ttaf1#style</code></td></tr><tr><td>TT Style Extensions</td><td><code>ttsx:</code></td><td><code>http://www.w3.org/2006/10/ttaf1#style-extension</code></td></tr><tr><td>TT Metadata</td><td><code>ttm:</code></td><td><code>http://www.w3.org/2006/10/ttaf1#metadata</code></td></tr><tr><td>TT Metadata Extensions</td><td><code>ttmx:</code></td><td><code>http://www.w3.org/2006/10/ttaf1#metadata-extension</code></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>If a reference to an element type is used in this specification and the name
+of the element type is not namespace qualified, then the TT Namespace applies.</p></div></div><div class="div2">
+<h3><a name="vocabulary-profiles" id="vocabulary-profiles"/>5.2 Profiles</h3><p>The Timed Text Authoring Format (TT AF) employs a number of profiles of its
+vocabulary and associated semantics.
+The following table specifies this set of profiles
+and indicates a normative name for each profile.</p><table summary="HTML Table" id="profile-vocab-table" class="common"><caption>Table 2 – Profiles</caption><col width="25%" span="1"/><tbody><tr><th>Name</th><th>Value</th></tr><tr><td>DFXP</td><td><code>http://www.w3.org/2006/10/ttaf1#profile-dfxp</code></td></tr></tbody></table><p/><p>A convention is defined for use by content authors to indicate use of a
+subtractive or additive delta to a predefined profile by using an
+optional <em>sub-profile</em> suffix of a profile URI: if a sub-profile
+is subtractive (results in a proper subset), then the <em>sub-profile</em>
+is expressed as "-token"; if additive (results in a proper superset), then it is
+expressed as "+token", where <em>token</em> expresses an author determined
+sub-profile that adheres to the <code>xsd:NCName</code> data type
+defined in <a href="#xsd-2">[XML Schema Part 2]</a>, §3.3.7.</p><p>All tokens used in a sub-profile suffix that do not start with the
+prefix <code>x-</code> are reserved for future standardization.</p><p>The profile of a document instance is specified using a
+<code>ttp:profile</code> attribute as defined by <a href="#parameter-attribute-profile"><b>6.2.7 ttp:profile</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A TT AF authoring system may indicate the profile of TT AF used in
+a document instance by
+specifying a <code>ttp:profile</code> attribute.
+A TT AF content processor may make use of this profile value to
+associate a document instance with a schema or processing functions.</p></div><p>An example of an author defined "tiny" subtractive sub-profile of DFXP is shown
+below in <a href="#dfxp-example-sub-profile"><b>Example Fragment – DFXP Subtractive Profile</b></a>.</p><table summary="HTML Table" id="dfxp-example-sub-profile" class="example"><caption>Example Fragment – DFXP Subtractive Profile</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt
+  ttp:profile="http://www.w3.org/2006/10/ttaf1#profile-dfxp-x-tiny"
+  xml:lang=""
+  xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"&gt;
+ ...
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>Because the above example is an author defined sub-profile (as
+opposed to a future W3C defined profile), the sub-profile token
+contains the prefix <code>x-</code>.</p></div></div><div class="div2">
+<h3><a name="vocabulary-overview" id="vocabulary-overview"/>5.3 Catalog</h3><p>The vocabulary of the Timed Text Authoring Format (TT AF) is
+defined in the following major catalogs (divisions of vocabulary):</p><ul><li><p><a href="#core-vocabulary-overview"><b>5.3.1 Core Catalog</b></a></p></li><li><p><a href="#extension-vocabulary-overview"><b>5.3.2 Extension Catalog</b></a></p></li></ul><p>The core catalog defines the baseline, core vocabulary of the TT
+AF, and, in particular, the vocabulary of DFXP. The extensions catalog
+serves as a placeholder for extensions to the core vocabulary defined
+by DFXP.</p><div class="div3">
+<h4><a name="core-vocabulary-overview" id="core-vocabulary-overview"/>5.3.1 Core Catalog</h4><p>The core vocabulary catalog is intended to satisfy the needs of
+DFXP while providing a baseline vocabulary for future profiles. This vocabulary
+is divided into distinct categories, specified in detail
+in the following sections:</p><ul><li><p><a href="#parameters"><b>6 Parameters</b></a></p></li><li><p><a href="#content"><b>7 Content</b></a></p></li><li><p><a href="#styling"><b>8 Styling</b></a></p></li><li><p><a href="#layout"><b>9 Layout</b></a></p></li><li><p><a href="#timing"><b>10 Timing</b></a></p></li><li><p><a href="#animation"><b>11 Animation</b></a></p></li><li><p><a href="#metadata"><b>12 Metadata</b></a></p></li></ul><p>The core element vocabulary specified for use with a TT AF document
+instance is enumerated in
+<a href="#element-vocab-table"><b>Table 3 – Element Vocabulary</b></a>.</p><table summary="HTML Table" id="element-vocab-table" class="common"><caption>Table 3 – Element Vocabulary</caption><col width="25%" span="1"/><tbody><tr><th>Module</th><th>Elements</th></tr><tr><td>
+Animation
+</td><td>
+<a href="#animation-vocabulary-set">set</a>
+</td></tr><tr><td>
+Content
+</td><td>
+<a href="#document-structure-vocabulary-body">body</a>,
+<a href="#content-vocabulary-div">div</a>,
+<a href="#content-vocabulary-p">p</a>,
+<a href="#content-vocabulary-span">span</a>,
+<a href="#content-vocabulary-br">br</a>
+</td></tr><tr><td>
+Document
+</td><td>
+<a href="#document-structure-vocabulary-tt">tt</a>
+</td></tr><tr><td>
+Head
+</td><td>
+<a href="#document-structure-vocabulary-head">head</a>
+</td></tr><tr><td>
+Layout
+</td><td>
+<a href="#layout-vocabulary-layout">layout</a>,
+<a href="#layout-vocabulary-region">region</a>
+</td></tr><tr><td>
+Metadata
+</td><td>
+<a href="#metadata-vocabulary-metadata">metadata</a>
+</td></tr><tr><td>
+Metadata Items
+</td><td>
+<a href="#metadata-vocabulary-actor">ttm:actor</a>,
+<a href="#metadata-vocabulary-agent">ttm:agent</a>,
+<a href="#metadata-vocabulary-copyright">ttm:copyright</a>,
+<a href="#metadata-vocabulary-desc">ttm:desc</a>,
+<a href="#metadata-vocabulary-name">ttm:name</a>,
+<a href="#metadata-vocabulary-title">ttm:title</a>
+</td></tr><tr><td>
+Styling
+</td><td>
+<a href="#styling-vocabulary-styling">styling</a>,
+<a href="#styling-vocabulary-style">style</a>
+</td></tr></tbody></table><p/><p>Element vocabulary groups that are used in defining content models
+for TT AF element types are enumerated in <a href="#element-vocab-group-table"><b>Table 4 – Element Vocabulary Groups</b></a>.</p><table summary="HTML Table" id="element-vocab-group-table" class="common"><caption>Table 4 – Element Vocabulary Groups</caption><col width="25%" span="1"/><tbody><tr><th>Group</th><th>Elements</th></tr><tr><td>
+Animation.class
+</td><td>
+<a href="#animation-vocabulary-set">set</a>
+</td></tr><tr><td>
+Block.class
+</td><td>
+<a href="#content-vocabulary-div">div</a> |
+<a href="#content-vocabulary-p">p</a>
+</td></tr><tr><td>
+Inline.class
+</td><td>
+<a href="#content-vocabulary-span">span</a> |
+<a href="#content-vocabulary-span">br</a> |
+<code>#PCDATA</code>
+</td></tr><tr><td>
+Metadata.class
+</td><td>
+<a href="#metadata-vocabulary-metadata">metadata</a> |
+<a href="#metadata-vocabulary-copyright">ttm:agent</a> |
+<a href="#metadata-vocabulary-copyright">ttm:copyright</a> |
+<a href="#metadata-vocabulary-desc">ttm:desc</a> |
+<a href="#metadata-vocabulary-title">ttm:title</a>
+</td></tr></tbody></table><p/><p>The attribute vocabulary specified for use with the core vocabulary
+catalog is enumerated in
+<a href="#attribute-vocab-table"><b>Table 5 – Attribute Vocabulary</b></a>.</p><table summary="HTML Table" id="attribute-vocab-table" class="common"><caption>Table 5 – Attribute Vocabulary</caption><col width="25%" span="1"/><tbody><tr><th>Module</th><th>Attributes</th></tr><tr><td>
+Core Attributes
+</td><td>
+
+<a href="#content-attribute-id">xml:id</a>,
+<a href="#content-attribute-lang">xml:lang</a>,
+<a href="#content-attribute-space">xml:space</a>
+</td></tr><tr><td>
+Layout
+</td><td>
+<a href="#layout-attribute-region">region</a>
+</td></tr><tr><td>
+Metadata Attributes
+</td><td>
+<a href="#metadata-attribute-agent">ttm:agent</a>,
+<a href="#metadata-attribute-role">ttm:role</a>
+</td></tr><tr><td>
+Parameter Attributes
+</td><td>
+<a href="#parameter-attribute-cellResolution">ttp:cellResolution</a>,
+<a href="#parameter-attribute-clockMode">ttp:clockMode</a>,
+<a href="#parameter-attribute-frameRate">ttp:frameRate</a>,
+<a href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</a>,
+<a href="#parameter-attribute-markerMode">ttp:markerMode</a>,
+<a href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</a>,
+<a href="#parameter-attribute-profile">ttp:profile</a>,
+<a href="#parameter-attribute-smpteMode">ttp:smpteMode</a>,
+<a href="#parameter-attribute-subFrameRate">ttp:subFrameRate</a>,
+<a href="#parameter-attribute-tickRate">ttp:tickRate</a>,
+<a href="#parameter-attribute-timeBase">ttp:timeBase</a>
+</td></tr><tr><td>
+Styling
+</td><td>
+<a href="#style-attribute-style">style</a>
+</td></tr><tr><td>
+Styling Attributes
+</td><td>
+<a href="#style-attribute-backgroundColor">tts:backgroundColor</a>,
+<a href="#style-attribute-color">tts:color</a>,
+<a href="#style-attribute-direction">tts:direction</a>,
+<a href="#style-attribute-display">tts:display</a>,
+<a href="#style-attribute-displayAlign">tts:displayAlign</a>,
+<a href="#style-attribute-dynamicFlow">tts:dynamicFlow</a>,
+<a href="#style-attribute-extent">tts:extent</a>,
+<a href="#style-attribute-fontFamily">tts:fontFamily</a>,
+<a href="#style-attribute-fontSize">tts:fontSize</a>,
+<a href="#style-attribute-fontStyle">tts:fontStyle</a>,
+<a href="#style-attribute-fontWeight">tts:fontWeight</a>,
+<a href="#style-attribute-lineHeight">tts:lineHeight</a>,
+<a href="#style-attribute-opacity">tts:opacity</a>,
+<a href="#style-attribute-origin">tts:origin</a>,
+<a href="#style-attribute-overflow">tts:overflow</a>,
+<a href="#style-attribute-padding">tts:padding</a>,
+<a href="#style-attribute-showBackground">tts:showBackground</a>,
+<a href="#style-attribute-textAlign">tts:textAlign</a>,
+<a href="#style-attribute-textDecoration">tts:textDecoration</a>,
+<a href="#style-attribute-textOutline">tts:textOutline</a>,
+<a href="#style-attribute-unicodeBidi">tts:unicodeBidi</a>,
+<a href="#style-attribute-visibility">tts:visibility</a>,
+<a href="#style-attribute-wrapOption">tts:wrapOption</a>,
+<a href="#style-attribute-writingMode">tts:writingMode</a>,
+<a href="#style-attribute-zIndex">tts:zIndex</a>
+</td></tr><tr><td>
+Timing Attributes
+</td><td>
+<a href="#timing-attribute-begin">begin</a>,
+<a href="#timing-attribute-dur">dur</a>,
+<a href="#timing-attribute-end">end</a>,
+<a href="#timing-attribute-timeContainer">timeContainer</a>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>All vocabulary defined by the TT AF consistently makes use of
+the so-called <em>lowerCamelCase</em> naming convention. In some cases, this results in the
+change of a name when the name was based upon another specification
+that used a different naming convention.</p></div></div><div class="div3">
+<h4><a name="extension-vocabulary-overview" id="extension-vocabulary-overview"/>5.3.2 Extension Catalog</h4><p>The extension vocabulary catalog is intended for use by future
+profiles of the TT AF.</p><p>In this version of this specification, no
+standardized extension vocabulary is defined. Two namespaces are
+specifically reserved by <a href="#namespace-vocab-table"><b>Table 1 – Namespaces</b></a>
+for metadata and style extension vocabulary:</p><ul><li><p>TT Style Extensions</p></li><li><p>TT Metadata Extensions</p></li></ul><p>In addition to standardized extension vocabulary, a conforming TT
+AF 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 TT
+AF document instance may contain arbitrary namespace qualified
+attributes on TT AF defined vocabulary where such attributes reside in
+any namespace other than those defined for use with this
+specification.</p></div></div></div><div class="div1">
+<h2><a name="parameters" id="parameters"/>6 Parameters</h2><p>This section specifies the <em>parameters</em> matter of the
+core vocabulary catalog, where
+parameters are to be understood as information that is either (1)
+essential or (2) of significant importance for the purpose of
+interpreting the semantics of other types of information expressed by
+core vocabulary items or for establishing a processing context by means
+of which TT AF content can be related to an external environment.</p><div class="div2">
+<h3><a name="parameters-element-vocabulary" id="parameters-element-vocabulary"/>6.1 Element Vocabulary</h3><p>No parameters related element vocabulary is defined for use in the
+core vocabulary catalog.</p></div><div class="div2">
+<h3><a name="parameters-attribute-vocabulary" id="parameters-attribute-vocabulary"/>6.2 Attribute Vocabulary</h3><p>The following attributes are defined in the TT Parameter Namespace.</p><ul><li><p><a href="#parameter-attribute-cellResolution"><b>6.2.1 ttp:cellResolution</b></a></p></li><li><p><a href="#parameter-attribute-clockMode"><b>6.2.2 ttp:clockMode</b></a></p></li><li><p><a href="#parameter-attribute-frameRate"><b>6.2.3 ttp:frameRate</b></a></p></li><li><p><a href="#parameter-attribute-frameRateMultiplier"><b>6.2.4 ttp:frameRateMultiplier</b></a></p></li><li><p><a href="#parameter-attribute-markerMode"><b>6.2.5 ttp:markerMode</b></a></p></li><li><p><a href="#parameter-attribute-pixelAspectRatio"><b>6.2.6 ttp:pixelAspectRatio</b></a></p></li><li><p><a href="#parameter-attribute-profile"><b>6.2.7 ttp:profile</b></a></p></li><li><p><a href="#parameter-attribute-smpteMode"><b>6.2.8 ttp:smpteMode</b></a></p></li><li><p><a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a></p></li><li><p><a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a></p></li><li><p><a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a></p></li></ul><p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT Parameter.</p><div class="div3">
+<h4><a name="parameter-attribute-cellResolution" id="parameter-attribute-cellResolution"/>6.2.1 ttp:cellResolution</h4><p>The <code>ttp:cellResolution</code> attribute may be used by an author
+to express the number of horizontal and vertical cells into which the root container region
+area is divided for the purpose of expressing presentation semantics in terms of
+a uniform grid.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-cellResolution-syntax" class="syntax"><caption>Syntax Representation – ttp:cellResolution</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:cellResolution
+  : columns rows                            // <em>columns</em> != 0; <em>rows</em> != 0
+
+columns | rows
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+</pre></div>
+</td></tr></tbody></table><p>If not specified, the number of columns and rows must be considered
+to be 32 and 15, respectively. If specified, then columns or rows must not be zero (0).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The choice of values 32 and 15 are based on this being the
+maximum number of columns and rows defined by <a href="#cea608c">[CEA-608-C]</a>.</p></div><p>A <code>ttp:cellResolution</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of a uniform grid is employed only for the purpose of
+measuring lengths and expressing coordinates. In particular, it is not
+assumed that the presentation of text or the alignment of individual
+glyph areas is
+coordinated with this grid. Such alignment is possible, but
+requires the use of a monospaced font and a font size whose EM square exactly
+matches the cell size.</p></div></div><div class="div3">
+<h4><a name="parameter-attribute-clockMode" id="parameter-attribute-clockMode"/>6.2.2 ttp:clockMode</h4><p>The <code>ttp:clockMode</code> attribute is used to specify the
+interpretation of time expressions as real-time time coordinates when
+operating with time base of <code>clock</code> as defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#timing-time-value-expressions"><b>10.3 Time Value Expressions</b></a> for the
+specification of time expression syntax.</p></div><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-clockMode-syntax" class="syntax"><caption>Syntax Representation – ttp:clockMode</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:clockMode
+  : "local"
+  | "gps"
+  | "utc"
+</pre></div>
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+<code>clock</code>, then this parameter applies as follows: if the
+parameter's value is <code>local</code>, then time expressions are
+interpreted as local wall-clock time coordinates;
+if <code>utc</code>, then time expressions are
+interpreted as UTC time coordinates
+<a href="#utc">[UTC]</a>;
+if <code>gps</code>, then time expressions are
+interpreted as GPS time coordinates
+<a href="#gps">[GPS]</a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The primary difference between GPS time and UTC time is that GPS
+time is not adjusted for leap seconds, while UTC time is adjusted as
+follows: UTC = TAI (<em>Temp Atomique International</em>) + <em>leap seconds
+accumulated since 1972</em>. TAI is maintained by the <em>Bureau
+International des Poids et Mesures</em> (BIPM) in Sevres, France.
+The GPS system time is steered to a Master Clock (MC) at the US Naval
+Observatory which is kept within a close but unspecified
+tolerance of TAI.</p></div><p>If not specified, the value of this parameter must be considered
+to be <code>utc</code>.</p><p>A <code>ttp:clockMode</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p></div><div class="div3">
+<h4><a name="parameter-attribute-frameRate" id="parameter-attribute-frameRate"/>6.2.3 ttp:frameRate</h4><p>The <code>ttp:frameRate</code> attribute is used to specify the frame rate of a related
+media object or the intrinsic frame rate of a 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 summary="HTML Table" id="parameter-attribute-frameRate-syntax" class="syntax"><caption>Syntax Representation – ttp:frameRate</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:frameRate
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+                                // <em>value</em> &gt; 0
+</pre></div>
+</td></tr></tbody></table><p>The frame rate that applies to a document instance is used to
+interpret time expressions that are expressed in <em>frames</em>
+as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</p><p>A frame is interpreted as a division of a second of media
+time, such that if the frame rate is specified as <em>F</em>, then
+a second of media time is divided into <em>F</em> intervals of
+equal duration, where each interval is labeled as frame <em>f</em>,
+with <em>f</em> ∈ [0…<em>F−1</em>].</p><p>If not specified, the frame rate must be considered to be equal to some
+application defined frame rate, or if no application defined frame rate applies,
+then thirty (30) frames per second. If specified, then the frame rate must
+be greater than zero (0).</p><p>A <code>ttp:frameRate</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p></div><div class="div3">
+<h4><a name="parameter-attribute-frameRateMultiplier" id="parameter-attribute-frameRateMultiplier"/>6.2.4 ttp:frameRateMultiplier</h4><p>The <code>ttp:frameRateMultiplier</code> attribute is used to
+specify a multiplier to be applied to the frame rate specified by a
+<code>ttp:frameRate</code> attribute in order to compute the effective
+frame rate.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-frameRateMultiplier-syntax" class="syntax"><caption>Syntax Representation – ttp:frameRateMultiplier</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:frameRateMultiplier
+  : numerator ( ":" denominator )?          // <em>denominator</em> != 0
+
+numerator | denominator
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+</pre></div>
+</td></tr></tbody></table><p>A frame rate multiplier is used when the desired frame rate cannot
+be expressed as an integral number of frames per second.</p><p>If not specified, the frame rate multiplier must be considered to
+be equal to one (1:1). If a denominator is specified, then it must not be zero (0).</p><p>A <code>ttp:frameRateMultiplier</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The frame rate multiplier used for synchronizing with NTSC <a href="#smpte170m">[SMPTE 170M]</a>
+formatted video objects at 30 frames per second is nominally
+1000:1001. The nominal frame rate of NTSC video is defined as the chrominance
+sub-carrier frequency of 3,579,545.45…Hz (= 5.0MHz × 63/88) times the ratio 2/455 divided by
+the number of horizontal lines per frame of 525, which yields a frame
+rate of 29.970029970029… (= 30 × 1000/1001) frames per
+second. Other frame rate multipliers apply to different regions of
+usage and video format standards.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>Except in the case of PAL/M, the frame rate multiplier used for synchronizing with PAL
+formatted video objects at 25 frames per second is nominally 1:1.</p></div></div><div class="div3">
+<h4><a name="parameter-attribute-markerMode" id="parameter-attribute-markerMode"/>6.2.5 ttp:markerMode</h4><p>The <code>ttp:markerMode</code> attribute is used to specify
+constraints on the interpretation and use of time expressions
+that correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-markerMode-syntax" class="syntax"><caption>Syntax Representation – ttp:markerMode</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:markerMode
+  : "continuous"
+  | "discontinuous"
+</pre></div>
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+<code>smpte</code>, then this parameter applies as follows: if the
+parameter's value is <code>continuous</code>, then <a href="#smpte12m">[SMPTE 12M]</a> time coordinates
+may be assumed to be linear and either monotonically increasing or
+decreasing; however, if <code>discontinuous</code>, then any assumption
+must not be made regarding linearity or monotonicity of time coordinates.</p><p>If not specified, the value of this parameter must be considered
+to be <code>continuous</code>.</p><p>A <code>ttp:markerMode</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><p>If a value of <code>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 ignored.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>When operating with <code>smpte</code> time base and
+<code>discontinuous</code> marker mode, there is no effective time coordinate
+space; rather, all time expressions are interpreted as labeled
+synchronization events (markers), where 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></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The notion of marker discontinuity as captured by this parameter
+is logically independent from the method used to count frames as
+expressed by the <code>ttp:smpteMode</code> parameter. In particular,
+even if the <code>ttp:smpteMode</code> parameter is specified as
+<code>dropNTSC</code> or <code>dropPAL</code>, the marker mode may be
+specified as <code>continuous</code>, even in the presence of frame count
+discontinuities induced by the frame counting method, unless there
+were some other non-linearity or discontinuity in marker labeling, for
+example, two consecutive frames labeled as <code>10:00:00:00</code>
+and <code>10:00:01:00</code>.
+</p></div></div><div class="div3">
+<h4><a name="parameter-attribute-pixelAspectRatio" id="parameter-attribute-pixelAspectRatio"/>6.2.6 ttp:pixelAspectRatio</h4><p>The <code>ttp:pixelAspectRatio</code> attribute may be used by a content author
+to express the aspect ratio of non-square pixels in the production of content that
+makes use of pixel coordinates.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-pixelAspectRatio-syntax" class="syntax"><caption>Syntax Representation – ttp:pixelAspectRatio</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:pixelAspectRatio
+  : width ":" height                        // <em>width</em> != 0; <em>height</em> != 0
+
+width | height
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+</pre></div>
+</td></tr></tbody></table><p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be assumed to apply.
+If specified, then width or height must not be zero.</p><p>A <code>ttp:pixelAspectRatio</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This parameter may be used by a content transcoder or translator in
+order to convert pixel measurements between different pixel aspect
+ratios while still maintaining authorial layout intentions.</p></div></div><div class="div3">
+<h4><a name="parameter-attribute-profile" id="parameter-attribute-profile"/>6.2.7 ttp:profile</h4><p>The <code>ttp:profile</code> attribute may be used by a content author
+to express the profile of the Timed Text Authoring Format (TT AF) 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 <a href="#xsd-2">[XML Schema Part 2]</a>,
+§3.2.17, and, further, must specify a profile URI as defined
+by <a href="#vocabulary-profiles"><b>5.2 Profiles</b></a>.</p><p>If not specified, then the Distribution Format Exchange Profile
+(DFXP) must be assumed to apply.</p><p>A <code>ttp:profile</code>
+attribute is considered to be significant only when specified on the
+<code>tt</code> element.</p></div><div class="div3">
+<h4><a name="parameter-attribute-smpteMode" id="parameter-attribute-smpteMode"/>6.2.8 ttp:smpteMode</h4><p>The <code>ttp:smpteMode</code> attribute is used to specify
+constraints on the interpretation and use of frame counts
+that correspond with <a href="#smpte12m">[SMPTE 12M]</a> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-smpteMode-syntax" class="syntax"><caption>Syntax Representation – ttp:smpteMode</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:smpteMode
+  : "dropNTSC"
+  | "dropPAL"
+  | "nonDrop"
+</pre></div>
+</td></tr></tbody></table><p>If the time base, defined by <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, is designated as
+<code>smpte</code>, then this parameter applies as follows: if the
+parameter's value is <code>nonDrop</code>, then, within any given
+second of a time expression, frames count from 0 to
+<em>N−1</em>, where <em>N</em> is the value specified by
+the <code>ttp:frameRate</code> parameter, but while ignoring any value
+specified by the <code>ttp:frameRateMultiplier</code> parameter.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>When operating in <code>nonDrop</code>
+mode, a second of a time expression may or may not be equal to a
+second of real time during normal (1x speed) forward playback. If the
+<code>ttp:frameRateMultiplier</code> parameter is specified and is not
+equal to 1:1, then a second of a time expression will either be
+shorter or longer than a second of elapsed play in real
+time.</p></div><p>If this parameter's value is <code>dropNTSC</code>, then, within any
+given second of a time expression except the second <code>00</code>,
+frames count from 0 to <em>N−1</em>, where <em>N</em> is
+the value specified by the <code>ttp:frameRate</code> parameter, but
+while ignoring any value specified by the
+<code>ttp:frameRateMultiplier</code> parameter. If the second of a time
+expression is <code>00</code> and the minute of the time expression is
+not <code>00</code>, <code>10</code>, <code>20</code>, <code>30</code>,
+<code>40</code>, or <code>50</code>, then frame codes <code>00</code>
+and <code>01</code> are dropped during that second; otherwise, these
+frame codes are not dropped.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, when operating in <code>dropNTSC</code>
+mode with <code>ttp:frameRate</code> of <code>30</code>, a discontinuity
+in frame count occurs between consecutive frames as shown in the
+following sequence of time expressions: <code>01:08:59:28</code>,
+<code>01:08:59:29</code>, <code>01:09:00:02</code>,
+<code>01:09:00:03</code>.</p></div><p>If this parameter's value is <code>dropPAL</code>, then, within any
+given second of a time expression except the second <code>00</code>,
+frames count from 0 to <em>N−1</em>, where <em>N</em> is
+the value specified by the <code>ttp:frameRate</code> parameter, but
+while ignoring any value specified by the
+<code>ttp:frameRateMultiplier</code> parameter. If the second of a time
+expression is <code>00</code> and the minute of the time expression is
+even but not <code>00</code>, <code>20</code>, or <code>40</code>,
+then frame codes <code>00</code> through <code>03</code> are dropped
+during that second; otherwise, these frame codes are not dropped.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, when operating in <code>dropPAL</code>
+mode with <code>ttp:frameRate</code> of <code>30</code>, a discontinuity
+in frame count occurs between consecutive frames as shown in the
+following sequence of time expressions: <code>01:09:59:28</code>,
+<code>01:09:59:29</code>, <code>01:10:00:04</code>,
+<code>01:10:00:04</code>.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The <code>dropPAL</code> mode is also known as the
+<em>M/PAL</em> or <em>PAL (M)</em> drop-frame
+code, which uses PAL modulation with the NTSC frame rate of ~29.97
+frames/second. The M/PAL system is used primarily in Brazil.</p></div><p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p><p>A <code>ttp:smpteMode</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p></div><div class="div3">
+<h4><a name="parameter-attribute-subFrameRate" id="parameter-attribute-subFrameRate"/>6.2.9 ttp:subFrameRate</h4><p>The <code>ttp:subFrameRate</code> attribute is used to specify the sub-frame rate of a related
+media object or the intrinsic sub-frame rate of a 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 summary="HTML Table" id="parameter-attribute-subFrameRate-syntax" class="syntax"><caption>Syntax Representation – ttp:subFrameRate</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:subFrameRate
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+                                // <em>value</em> &gt; 0
+</pre></div>
+</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 <em>sub-frames</em>
+as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</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 <em>S</em>, then
+a frame of media time is divided into <em>S</em> intervals of
+equal duration, where each interval is labeled as sub-frame <em>s</em>,
+with <em>s</em> ∈ [0…<em>S−1</em>].</p><p>If not specified, the sub-frame rate must be considered to be
+equal to one (1). If specified, then the sub-frame rate must be greater than zero (0).</p><p>A <code>ttp:subFrameRate</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The sub-frame is sometimes referred to as a <em>field</em> in
+the context of synchronization with an interlaced video media object.</p></div></div><div class="div3">
+<h4><a name="parameter-attribute-tickRate" id="parameter-attribute-tickRate"/>6.2.10 ttp:tickRate</h4><p>The <code>ttp:tickRate</code> attribute is used to specify the tick rate of a related
+media object or the intrinsic tick rate of content of a 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 summary="HTML Table" id="parameter-attribute-tickRate-syntax" class="syntax"><caption>Syntax Representation – ttp:tickRate</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:tickRate
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+                                // <em>value</em> &gt; 0
+</pre></div>
+</td></tr></tbody></table><p>The tick rate that applies to a document instance is used to
+interpret time expressions that are expressed in <em>ticks</em> by
+using the <code>t</code> metric as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</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 <em>T</em>, then
+a second of media time is divided into <em>T</em> intervals of
+equal duration, where each interval is labeled as tick <em>t</em>,
+with <em>t</em> ∈ [0…<em>T−1</em>].</p><p>If not specified, then if a frame rate is specified, the tick rate
+must be considered to be the effective frame rate multiplied by the
+sub-frame rate (i.e., ticks are interpreted as sub-frames); or, if no
+frame rate is specified, the tick rate must be considered to be one (1)
+tick per second of media time. If specified, then the tick rate
+must not be zero (0).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>There is no predefined relationship between ticks and frames or
+sub-frames. Ticks are an arbitrary division of seconds that permit
+use of fixed point arithmetic rather than fractional (and potentially
+inexact) expressions of seconds.</p></div><p>A <code>ttp:tickRate</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p></div><div class="div3">
+<h4><a name="parameter-attribute-timeBase" id="parameter-attribute-timeBase"/>6.2.11 ttp:timeBase</h4><p>The <code>ttp:timeBase</code> attribute is used to specify the
+temporal coordinate system by means of which time expressions are
+interpreted in a document instance.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="parameter-attribute-timeBase-syntax" class="syntax"><caption>Syntax Representation – ttp:timeBase</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttp:timeBase
+  : "media"
+  | "smpte"
+  | "clock"
+</pre></div>
+</td></tr></tbody></table><p>If the time base is designated as <code>media</code>, then a time
+expression denotes a coordinate in some media object's time line,
+where the media object may be an external media object with which the
+content of a 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><div class="note"><p class="prefix"><b>Note:</b></p><p>When using a media time base, if that time base is paused or
+scaled positively or negatively, then it is expected that the
+presentation of associated Timed Text content will be similarly
+paused, accelerated, or decelerated, respectively. The means for
+controlling an external
+media time base is outside the scope of this specification.</p></div><p>If the time base is designated as <code>smpte</code>,
+then a time expression denotes a <a href="#smpte12m">[SMPTE 12M]</a> time
+coordinate with which the content of a document instance is to
+be synchronized.  In this case, the value of the <code>ttp:markerMode</code> 
+and <code>ttp:smpteMode</code> parameters apply, as defined by <a href="#parameter-attribute-markerMode"><b>6.2.5 ttp:markerMode</b></a> and <a href="#parameter-attribute-smpteMode"><b>6.2.8 ttp:smpteMode</b></a>, 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 <code>ttp:timeBase</code> attribute is considered to be significant only
+when specified on the <code>tt</code> element.</p><p>When operating with either <code>media</code> or <code>smpte</code>
+time bases, a diachronic presentation of a 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 diacrhonic
+presentation proceeds on a linear, monotonically increasing time line
+based on the passage of real time.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Due to there being only one time base parameter that applies to a
+given document instance, the interpretation of time expressions
+is uniform throughout the document instance.</p></div></div></div></div><div class="div1">
+<h2><a name="content" id="content"/>7 Content</h2><p>This section specifies the <em>content</em> matter of the core
+vocabulary catalog.</p><div class="div2">
+<h3><a name="content-element-vocabulary" id="content-element-vocabulary"/>7.1 Element Vocabulary</h3><p>The following elements specify the structure and principal content aspects of a
+document instance:</p><ul><li><p><a href="#document-structure-vocabulary-tt"><b>7.1.1 tt</b></a></p></li><li><p><a href="#document-structure-vocabulary-head"><b>7.1.2 head</b></a></p></li><li><p><a href="#document-structure-vocabulary-body"><b>7.1.3 body</b></a></p></li><li><p><a href="#content-vocabulary-div"><b>7.1.4 div</b></a></p></li><li><p><a href="#content-vocabulary-p"><b>7.1.5 p</b></a></p></li><li><p><a href="#content-vocabulary-span"><b>7.1.6 span</b></a></p></li><li><p><a href="#content-vocabulary-br"><b>7.1.7 br</b></a></p></li></ul><div class="div3">
+<h4><a name="document-structure-vocabulary-tt" id="document-structure-vocabulary-tt"/>7.1.1 tt</h4><p>The <code>tt</code> element serves as the root, document element of a document
+instance.</p><p>The <code>tt</code> element accepts as its children zero or one <code>head</code> element followed by
+zero or one <code>body</code> element.</p><table summary="HTML Table" id="elt-syntax-tt" class="syntax"><caption>XML Representation – Element Information Item: tt</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;tt
+
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang"><span class="reqattr">xml:lang</span></a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>) : default
+  {<em>any attribute in TT Parameter namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#document-structure-vocabulary-head">head</a>?, <a href="#document-structure-vocabulary-body">body</a>?
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>The temporal beginning and ending of a document instance represented by a
+<code>tt</code> 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 <em>external time interval</em>.
+</p><p>A document instance has an implicit duration that is equal to the
+implicit duration of the <code>body</code> element of the document, if present, or zero,
+if not present.</p><p>An <code>xml:lang</code> attribute must be specified on the <code>tt</code> element.
+If the attribute value is empty, it signifies that there is no default language that applies
+to the text contained within the document instance.</p><p>If no <code>xml:space</code> attribute is specified upon the <code>tt</code> element, then it must
+be considered as if the attribute had been specified with a value of <code>default</code>.</p></div><div class="div3">
+<h4><a name="document-structure-vocabulary-head" id="document-structure-vocabulary-head"/>7.1.2 head</h4><p>The <code>head</code> element is a container element used to group
+header matter, including metadata, styling, and layout information.</p><p>The <code>head</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by
+zero or one <code>styling</code> element, followed by zero or one
+<code>layout</code> element.</p><p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the document instance as a
+whole, and not just the <code>head</code> element.</p><p>A <code>styling</code> child element is used to specify style constructs
+that are referenced from other style constructs, by layout constructs, and by
+content elements.</p><p>A <code>layout</code> child element is used to specify layout constructs that
+are referenced by content elements.</p><table summary="HTML Table" id="elt-syntax-head" class="syntax"><caption>XML Representation – Element Information Item: head</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;head
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#styling-vocabulary-styling">styling</a>?, <a href="#layout-vocabulary-layout">layout</a>?
+&lt;/head&gt;
+</pre></div>
+</td></tr></tbody></table><p>To the extent that time semantics apply to the content of the
+<code>head</code> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p></div><div class="div3">
+<h4><a name="document-structure-vocabulary-body" id="document-structure-vocabulary-body"/>7.1.3 body</h4><p>The <code>body</code> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units represented as
+logical divisions.</p><p>The <code>body</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <code>div</code> elements.</p><p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <code>body</code> element and its descendants as a whole.</p><p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <code>body</code> element.</p><table summary="HTML Table" id="elt-syntax-body" class="syntax"><caption>XML Representation – Element Information Item: body</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;body
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#layout-attribute-region">region</a> = IDREF
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#content-vocabulary-div">div</a>*
+&lt;/body&gt;
+</pre></div>
+</td></tr></tbody></table><p>An author may specify a temporal interval for a <code>body</code> element using
+the <code>begin</code>, <code>dur</code>, and <code>end</code> attributes. If the begin point
+of this interval remains unspecified, then the begin point is interpreted as the 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><div class="note"><p class="prefix"><b>Note:</b></p><p>A TT AF document instance referenced from a SMIL presentation
+is expected to follow the same timing rules as apply to other SMIL media
+objects.</p></div><p>If relative begin or end times are specified on the <code>body</code> element, then
+these times are resolved by reference to the begin and end time of the external time interval.</p><p>If the external time interval is shorter than the computed duration of the
+<code>body</code> element, then the active time interval of a document instance is
+truncated to the active end point of the external time interval.</p><p>If no <code>timeContainer</code> attribute is specified, then a <code>body</code> element must be
+interpreted as having <em>sequential</em> time containment semantics.</p><p>If the <code>tts:extent</code> attribute is specified on the <code>body</code>
+element, then it specifies the spatial extent of the root container region in
+which content regions are located and presented. If no <code>tts:extent</code>
+attribute is specified, then the spatial extent of the root container region is
+considered to be determined by the external authoring or presentation
+context.</p><p>An author may associate a set of style properties with a <code>body</code> element by means of either
+the <code>style</code> attribute or inline style attributes or a
+combination thereof.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Style properties that are associated with a <code>body</code> element in a document instance
+are available for style inheritance by descendant content elements such as <code>div</code>, 
+<code>p</code>, and <code>span</code>.</p></div><p>The declared value of an inline style attribute on a <code>body</code>
+element must not be <code>inherit</code>.</p></div><div class="div3">
+<h4><a name="content-vocabulary-div" id="content-vocabulary-div"/>7.1.4 div</h4><p>The <code>div</code> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units represented as
+logical paragraphs.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>When rendered on a continuous (non-paged) visual presentation medium,
+a <code>div</code> element is expected to generate a single block area that
+contains zero or more child block areas generated by the <code>div</code>
+element's child <code>p</code> elements.
+</p><p>If the single block area generated by a <code>div</code> element does
+not contain any child areas, then it is not expected to be presented.</p></div><p>The <code>div</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <code>p</code> elements.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The core vocabulary intentionally does not support nested divisions in order to reduce
+the complexity of the profile to match that of the legacy distribution formats with which
+the core vocabulary was designed to interoperate.</p></div><p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <code>div</code> element and its descendants as a whole.</p><p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <code>div</code> element.</p><table summary="HTML Table" id="elt-syntax-div" class="syntax"><caption>XML Representation – Element Information Item: div</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;div
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#layout-attribute-region">region</a> = IDREF
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Block.class</a>*
+&lt;/div&gt;
+</pre></div>
+</td></tr></tbody></table><p>If no <code>timeContainer</code> attribute is specified, then a <code>div</code> element must be
+interpreted as having <em>parallel</em> time containment semantics.</p><p>An author may associate a set of style properties with a <code>div</code> element by means of either
+the <code>style</code> attribute or inline style attributes or a combination thereof.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Style properties that are associated to a <code>div</code> element in a document instance
+are available for style inheritance by descendant content elements such as
+<code>p</code> and <code>span</code>.</p></div></div><div class="div3">
+<h4><a name="content-vocabulary-p" id="content-vocabulary-p"/>7.1.5 p</h4><p>A <code>p</code> element represents a logical paragraph, serving as
+a transition between block level and inline level formatting semantics.</p><p>The <code>p</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more
+<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 <code>p</code> element and its descendants as a whole.</p><p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <code>p</code> element.</p><table summary="HTML Table" id="elt-syntax-p" class="syntax"><caption>XML Representation – Element Information Item: p</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;p
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#layout-attribute-region">region</a> = IDREF
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Inline.class</a>*
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p>If a sequence of children of a <code>p</code> element
+consists solely of character information items, then that sequence must
+be considered to be an <em>anonymous span</em> for the purpose of
+applying style properties that apply to <code>span</code> elements.</p></div><div class="div3">
+<h4><a name="content-vocabulary-span" id="content-vocabulary-span"/>7.1.6 span</h4><p>The <code>span</code> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units having inline
+level formatting semantics.</p><p>When presented on a visual medium, a <code>span</code> element is intended to
+generate a sequence of inline areas, each containing one or more glyph areas.</p><p>The <code>span</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more
+<code>br</code> element
+or text nodes interpreted as anonymous spans.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The core vocabulary intentionally does not support nested spans in order to reduce
+the complexity of the profile to match that of the legacy distribution formats with which
+the core vocabulary was designed to interoperate.</p></div><p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <code>span</code> element and its descendants as a whole.</p><p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <code>span</code> element.</p><table summary="HTML Table" id="elt-syntax-span" class="syntax"><caption>XML Representation – Element Information Item: span</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;span
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#layout-attribute-region">region</a> = IDREF
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#element-vocab-group-table">Inline.class</a>*
+&lt;/span&gt;
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a name="content-vocabulary-br" id="content-vocabulary-br"/>7.1.7 br</h4><p>The <code>br</code> element denotes an explicit line break.</p><table summary="HTML Table" id="elt-syntax-br" class="syntax"><caption>XML Representation – Element Information Item: br</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;br
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*
+&lt;/br&gt;
+</pre></div>
+</td></tr></tbody></table><p>When presented on a visual medium, the presence of a <code>br</code> element must be
+interpreted as a forced line break.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The visual presentation of a <code>br</code> element is
+intended to produce the same effect as the ASCII control code
+<code>CR</code>
+followed by the control code <code>NL</code> when presented on a teletype device.
+Therefore, two <code>br</code> elements in sequence will produce a
+different effect than a single <code>br</code> element.</p></div></div></div><div class="div2">
+<h3><a name="content-attribute-vocabulary" id="content-attribute-vocabulary"/>7.2 Attribute Vocabulary</h3><p>This section defines the following common attributes used with many or all element types
+in the core vocabulary catalog:</p><ul><li><p><a href="#content-attribute-id"><b>7.2.1 xml:id</b></a></p></li><li><p><a href="#content-attribute-lang"><b>7.2.2 xml:lang</b></a></p></li><li><p><a href="#content-attribute-space"><b>7.2.3 xml:space</b></a></p></li></ul><div class="div3">
+<h4><a name="content-attribute-id" id="content-attribute-id"/>7.2.1 xml:id</h4><p>The <code>xml:id</code> attribute is used as defined by
+<a href="#xmlid">[XML ID]</a>.</p><p>The <code>xml:id</code> attribute may be used with any element in the
+core vocabulary catalog.</p></div><div class="div3">
+<h4><a name="content-attribute-lang" id="content-attribute-lang"/>7.2.2 xml:lang</h4><p>The <code>xml:lang</code> attribute is used as defined by
+<a href="#xml11">[XML 1.1]</a>, §2.12, <em>Language Identification</em>.</p><p>The <code>xml:lang</code> attribute must be specified on the <code>tt</code>
+element and may be specified by an instance of any other element type
+in the core vocabulary catalog.</p></div><div class="div3">
+<h4><a name="content-attribute-space" id="content-attribute-space"/>7.2.3 xml:space</h4><p>The <code>xml:space</code> attribute is used as defined by
+<a href="#xml11">[XML 1.1]</a>, §2.10, <em>White Space Handling</em>.</p><p>The <code>xml:space</code> attribute may be used with any element in
+the core vocabulary catalog.</p><p>The semantics of the value <code>default</code> are fixed to mean that
+when performing presentation processing of a document instance as
+described by <a href="#semantics-region-layout-step-2"><b>9.3.2 Synchronic Flow Processing</b></a>,
+processing must occur as
+if the following properties were specified on the affected
+elements of the intermediate XSL-FO document:</p><ul><li><p><code>suppress-at-line-break="auto"</code></p></li><li><p><code>linefeed-treatment="treat-as-space"</code></p></li><li><p><code>white-space-collapse="true"</code></p></li><li><p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p></li></ul><p>Similarly, the semantics of the value <code>preserve</code> are fixed to mean that
+when performing presentation processing, processing must occur as
+if the following properties were specified on the affected
+elements of the intermediate XSL-FO document:</p><ul><li><p><code>suppress-at-line-break="retain"</code></p></li><li><p><code>linefeed-treatment="preserve"</code></p></li><li><p><code>white-space-collapse="false"</code></p></li><li><p><code>white-space-treatment="preserve"</code></p></li></ul><p>When performing other types of processing intended to eventually
+result in a visual presentation by means other than those described
+in this specification, the semantics of space collapsing and
+preservation as described above should be respected. For other types
+of processing, the treatment of the <code>xml:space</code> attribute
+is processor dependent, but should respect the semantics described
+above if possible.</p></div></div></div><div class="div1">
+<h2><a name="styling" id="styling"/>8 Styling</h2><p>This section specifies the <em>styling</em> matter of the core
+vocabulary catalog, where
+styling is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the presentation of
+that content.</p><p>No normative use of an
+<code>&lt;?xml-stylesheet ... ?&gt;</code> processing instruction is defined
+by this specification.</p><div class="div2">
+<h3><a name="styling-element-vocabulary" id="styling-element-vocabulary"/>8.1 Element Vocabulary</h3><p>The following elements specify the structure and principal styling aspects of a
+document instance:</p><ul><li><p><a href="#styling-vocabulary-styling"><b>8.1.1 styling</b></a></p></li><li><p><a href="#styling-vocabulary-style"><b>8.1.2 style</b></a></p></li></ul><div class="div3">
+<h4><a name="styling-vocabulary-styling" id="styling-vocabulary-styling"/>8.1.1 styling</h4><p>The <code>styling</code> element is a container element used to group
+styling matter, including metadata that applies to styling matter.</p><p>The <code>styling</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <code>style</code> elements.</p><table summary="HTML Table" id="elt-syntax-styling" class="syntax"><caption>XML Representation – Element Information Item: styling</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;styling
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#styling-vocabulary-style">style</a>*
+&lt;/styling&gt;
+</pre></div>
+</td></tr></tbody></table><p>To the extent that time semantics apply to the content of the
+<code>styling</code> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p></div><div class="div3">
+<h4><a name="styling-vocabulary-style" id="styling-vocabulary-style"/>8.1.2 style</h4><p>The <code>style</code> element is used to define a single style specification or a set
+of style specifications.</p><p>The <code>style</code> element accepts as its children zero or more <code>metadata</code> elements.</p><table summary="HTML Table" id="elt-syntax-style" class="syntax"><caption>XML Representation – Element Information Item: style</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;style
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute in TT Style Extension namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
+&lt;/style&gt;
+</pre></div>
+</td></tr></tbody></table><p>The declared value of an inline style attribute on a <code>style</code>
+element must not be <code>inherit</code>.</p><p>A <code>style</code> element is considered to define a
+<em>computed style specification set</em>, where the set is determined using the
+following ordered rules:</p><ol class="enumar"><li><p>If a <code>style</code> attribute is specified on the <code>style</code> element,
+then the set must be initialized so as to include each style specification contained in
+the <em>computed style specification set</em> of each element referenced by
+the <code>style</code> attribute. If the same named style property is specified
+by more than one such referenced computed style specification set, then the value
+of the named style property in following referenced sets takes precedence over the value
+of the named style property in prior referenced sets, where following and prior are
+determined according to the order of the referenced ID in the IDREFS value of the <code>style</code>
+attribute.</p></li><li><p>If the <code>style</code> element specifies an attribute from the TT Style Namespace
+or TT Style Extension Namespace, then each style
+specification defined by that attribute either overrides an existing style
+specification already contained within the set or augments the set with a new style
+specification according to whether or not the named style property of the style specification
+matches the named style property of an existing style specification already included in
+the set.</p></li></ol><p>Two named style properties are considered to match if their expanded names match,
+where <em>expanded name</em> is defined by <a href="#xmlns11">[XML Namespaces 1.1]</a>, §2.1,
+and the expanded name of a named style property is the expanded name of the attribute
+that specifies the named style property.</p><p>If a <code>style</code> element appears as a descendant of a
+<code>region</code> element, then the <code>style</code> element must be
+ignored for the purpose of computing referential styles as defined by
+<a href="#semantics-style-association-referential"><b>8.4.2 Referential Styling</b></a> and <a href="#semantics-style-association-chained-referential"><b>8.4.3 Chained Referential Styling</b></a>.  </p></div></div><div class="div2">
+<h3><a name="styling-attribute-vocabulary" id="styling-attribute-vocabulary"/>8.2 Attribute Vocabulary</h3><p>This section defines the <a href="#style-attribute-style"><b>8.2.1 style</b></a> attribute used
+with both style definition elements as well as content elements.</p><p>In addition, this section specifies the following attributes in the TT Style Namespace
+for use with style definition elements, certain layout elements, and content elements
+that support inline style specifications:</p><ul><li><p><a href="#style-attribute-backgroundColor"><b>8.2.2 tts:backgroundColor</b></a></p></li><li><p><a href="#style-attribute-color"><b>8.2.3 tts:color</b></a></p></li><li><p><a href="#style-attribute-direction"><b>8.2.4 tts:direction</b></a></p></li><li><p><a href="#style-attribute-display"><b>8.2.5 tts:display</b></a></p></li><li><p><a href="#style-attribute-displayAlign"><b>8.2.6 tts:displayAlign</b></a></p></li><li><p><a href="#style-attribute-dynamicFlow"><b>8.2.7 tts:dynamicFlow</b></a></p></li><li><p><a href="#style-attribute-extent"><b>8.2.8 tts:extent</b></a></p></li><li><p><a href="#style-attribute-fontFamily"><b>8.2.9 tts:fontFamily</b></a></p></li><li><p><a href="#style-attribute-fontSize"><b>8.2.10 tts:fontSize</b></a></p></li><li><p><a href="#style-attribute-fontStyle"><b>8.2.11 tts:fontStyle</b></a></p></li><li><p><a href="#style-attribute-fontWeight"><b>8.2.12 tts:fontWeight</b></a></p></li><li><p><a href="#style-attribute-lineHeight"><b>8.2.13 tts:lineHeight</b></a></p></li><li><p><a href="#style-attribute-opacity"><b>8.2.14 tts:opacity</b></a></p></li><li><p><a href="#style-attribute-origin"><b>8.2.15 tts:origin</b></a></p></li><li><p><a href="#style-attribute-overflow"><b>8.2.16 tts:overflow</b></a></p></li><li><p><a href="#style-attribute-padding"><b>8.2.17 tts:padding</b></a></p></li><li><p><a href="#style-attribute-showBackground"><b>8.2.18 tts:showBackground</b></a></p></li><li><p><a href="#style-attribute-textAlign"><b>8.2.19 tts:textAlign</b></a></p></li><li><p><a href="#style-attribute-textDecoration"><b>8.2.20 tts:textDecoration</b></a></p></li><li><p><a href="#style-attribute-textOutline"><b>8.2.21 tts:textOutline</b></a></p></li><li><p><a href="#style-attribute-unicodeBidi"><b>8.2.22 tts:unicodeBidi</b></a></p></li><li><p><a href="#style-attribute-visibility"><b>8.2.23 tts:visibility</b></a></p></li><li><p><a href="#style-attribute-wrapOption"><b>8.2.24 tts:wrapOption</b></a></p></li><li><p><a href="#style-attribute-writingMode"><b>8.2.25 tts:writingMode</b></a></p></li><li><p><a href="#style-attribute-zIndex"><b>8.2.26 tts:zIndex</b></a></p></li></ul><p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT Style Property.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification makes use of <em>lowerCamelCased</em> local
+names for style attributes that
+are based upon like-named properties defined by <a href="#xsl10">[XSL 1.0]</a>.
+This convention is likewise extended to token values of such
+properties.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>A style property may be expressed as a specified attribute on any content
+element type independently of whether the property applies to that
+element type. This capability permits the expression of an inheritable
+style property on ancestor elements to which the property property
+does not apply.</p></div><div class="div3">
+<h4><a name="style-attribute-style" id="style-attribute-style"/>8.2.1 style</h4><p>The <code>style</code> attribute is used to reference one or more <code>style</code>
+elements each of which define a computed style specification set.</p><p>The <code>style</code> attribute may be specified by an instance of the following
+element types:</p><ul><li><p><a href="#document-structure-vocabulary-body"><code>body</code></a></p></li><li><p><a href="#content-vocabulary-div"><code>div</code></a></p></li><li><p><a href="#content-vocabulary-p"><code>p</code></a></p></li><li><p><a href="#layout-vocabulary-region"><code>region</code></a></p></li><li><p><a href="#content-vocabulary-span"><code>span</code></a></p></li><li><p><a href="#styling-vocabulary-style"><code>style</code></a></p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>See the specific element type definitions that permit use of the <code>style</code>
+attribute for further information on its semantics.</p></div></div><div class="div3">
+<h4><a name="style-attribute-backgroundColor" id="style-attribute-backgroundColor"/>8.2.2 tts:backgroundColor</h4><p>The <code>tts:backgroundColor</code> attribute is used to specify a style property that
+defines the background color of a region or an area generated by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-backgroundColor" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-color">&lt;color&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>transparent</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#document-structure-vocabulary-body"><code>body</code></a>,
+<a href="#content-vocabulary-div"><code>div</code></a>,
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#layout-vocabulary-region"><code>region</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:backgroundColor</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-backgroundColor-example-1" class="example"><caption>Example Fragment – Background Color</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="306px 114px"/&gt;
+  &lt;style <span class="strong">tts:backgroundColor="red"</span>/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:padding="3px 40px"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1" <span class="strong">tts:backgroundColor="purple"</span> tts:textAlign="center"&gt;
+  Twinkle, twinkle, little bat!&lt;br/&gt;
+  How &lt;span <span class="strong">tts:backgroundColor="green"</span>&gt;I wonder&lt;/span&gt; where you're at!
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-backgroundColor-example-1-images" class="example-images"><caption>Example Rendition – Background Color</caption><tbody><tr><td><img src="images/backgroundColor.png" alt="TT AF backgroundColor style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.7.2.</p></div></div><div class="div3">
+<h4><a name="style-attribute-color" id="style-attribute-color"/>8.2.3 tts:color</h4><p>The <code>tts:color</code> attribute is used to specify a style property that
+defines the foreground color of marks associated with an area generated by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-color" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-color">&lt;color&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>transparent</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><p>The <code>tts:color</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-color-example-1" class="example"><caption>Example Fragment – Color</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style <span class="strong">tts:color="white"</span>/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  In spring, when woods are &lt;span <span class="strong">tts:color="green"</span>&gt;getting green&lt;/span&gt;,&lt;br/&gt;
+  I'll try and tell you what I mean.
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-color-example-1-images" class="example-images"><caption>Example Rendition – Color</caption><tbody><tr><td><img src="images/color.png" alt="DFXP color style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.17.1.</p></div></div><div class="div3">
+<h4><a name="style-attribute-direction" id="style-attribute-direction"/>8.2.4 tts:direction</h4><p>The <code>tts:direction</code> attribute is used to specify a style property that
+defines the directionality of an embedding or override according to
+the Unicode bidirectional algorithm.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-direction" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>ltr</code> |
+<code>rtl</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>ltr</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p/><p>The <code>tts:direction</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-direction-example-1" class="example"><caption>Example Fragment – Direction</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="265px 84px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  Little birds are playing&lt;br/&gt;
+  Bagpipes on the shore,&lt;br/&gt;
+  &lt;span tts:unicodeBidi="bidiOverride" <span class="strong">tts:direction="rtl"</span>&gt;where the tourists snore.&lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-direction-example-1-images" class="example-images"><caption>Example Rendition – Direction</caption><tbody><tr><td>
+<img src="images/direction.png" alt="DFXP direction style property"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.27.1.</p></div></div><div class="div3">
+<h4><a name="style-attribute-display" id="style-attribute-display"/>8.2.5 tts:display</h4><p>The <code>tts:display</code> attribute is used to specify a style property that
+defines whether an element is a candidate for layout and composition
+in a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-display" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>auto</code> |
+<code>none</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>auto</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#document-structure-vocabulary-body"><code>body</code></a>,
+<a href="#content-vocabulary-div"><code>div</code></a>,
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If the value of this attribute is <code>auto</code>,
+then the affected element is a candidate for region layout and
+presentation; however, if the value is <code>none</code>, then the
+affected element and its descendants must be considered ineligible for region
+layout and presentation.</p><p>The <code>tts:display</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-display-example-1" class="example"><caption>Example Fragment – Display</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="369px 119px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="before"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+...
+&lt;div region="r1"&gt;
+  &lt;p dur="5s"&gt;
+    [[[
+    &lt;span <span class="strong">tts:display="none"</span>&gt;
+      &lt;set begin="1s" dur="1s" <span class="strong">tts:display="auto"</span>/&gt;
+      Beautiful soup,
+    &lt;/span&gt;
+    &lt;span <span class="strong">tts:display="none"</span>&gt;
+      &lt;set begin="2s" dur="1s" <span class="strong">tts:display="auto"</span>/&gt;
+      so rich and green,
+    &lt;/span&gt;
+    &lt;span <span class="strong">tts:display="none"</span>&gt;
+      &lt;set begin="3s" dur="1s" <span class="strong">tts:display="auto"</span>/&gt;
+      waiting in a hot tureen!
+    &lt;/span&gt;
+    ]]]
+  &lt;/p&gt;
+&lt;/div&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-display-example-1-images" class="example-images"><caption>Example Rendition – Display</caption><tbody><tr><td>
+<img src="images/display_0.png" alt="DFXP display style property - [0,1)"/>
+</td></tr><tr><td>
+<img src="images/display_1.png" alt="DFXP display style property - [1,2)"/>
+</td></tr><tr><td>
+<img src="images/display_2.png" alt="DFXP display style property - [2,3)"/>
+</td></tr><tr><td>
+<img src="images/display_3.png" alt="DFXP display style property - [3,4)"/>
+</td></tr><tr><td>
+<img src="images/display_4.png" alt="DFXP display style property - [4,5)"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#css2">[CSS2]</a>,
+§ 9.2.5.</p></div></div><div class="div3">
+<h4><a name="style-attribute-displayAlign" id="style-attribute-displayAlign"/>8.2.6 tts:displayAlign</h4><p>The <code>tts:displayAlign</code> attribute is used to specify a style property that
+defines the alignment of block areas in the block progression direction.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-displayAlign" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>before</code> |
+<code>center</code> |
+<code>after</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>before</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p/><p>The <code>tts:displayAlign</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-displayAlign-example-1" class="example"><caption>Example Fragment – Display Align</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="128px 66px"/&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:displayAlign="before"</span>/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:extent="192px 66px"/&gt;
+  &lt;style tts:origin="128px 66px"/&gt;
+  &lt;style tts:backgroundColor="green"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:displayAlign="after"</span>/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r3"&gt;
+  &lt;style tts:extent="128px 66px"/&gt;
+  &lt;style tts:origin="0px 132px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:displayAlign="before"</span>/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r4"&gt;
+  &lt;style tts:extent="192px 66px"/&gt;
+  &lt;style tts:origin="128px 198px"/&gt;
+  &lt;style tts:backgroundColor="green"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:displayAlign="after"</span>/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+...
+&lt;div&gt;
+  &lt;p region="r1"&gt;I sent a message to the fish:&lt;/p&gt;
+  &lt;p region="r2"&gt;I told them&lt;br/&gt; "This is what I wish."&lt;/p&gt;
+  &lt;p region="r3"&gt;The little fishes of the sea,&lt;/p&gt;
+  &lt;p region="r4"&gt;They sent an&lt;br/&gt; answer back to me.&lt;/p&gt;
+&lt;/div&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-displayAlign-example-1-images" class="example-images"><caption>Example Rendition – Display Align</caption><tbody><tr><td><img src="images/displayAlign.png" alt="DFXP displayAlign style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.13.4.</p></div></div><div class="div3">
+<h4><a name="style-attribute-dynamicFlow" id="style-attribute-dynamicFlow"/>8.2.7 tts:dynamicFlow</h4><p>The <code>tts:dynamicFlow</code> attribute is used to specify a style property that
+defines how to dynamically flow content into and out of a region over some time
+interval.</p><p>This style property applies only to a region when the <code>tts:overflow</code>
+property for that region has the value <code>scroll</code>.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-dynamicFlow" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>none</code> |
+<a href="#style-value-flowFunction">&lt;flowFunction&gt;</a>+ <a href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</a>* 
+</td></tr><tr><td><em>Initial:</em></td><td><code>none</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p>If the value of this attribute is <code>none</code>, then no
+dynamic flow semantics apply.</p><p>If the value of this attribute contains a single
+<a href="#style-value-flowFunction">&lt;flowFunction&gt;</a>, then that flow function applies equally to
+<em>fill into</em>, <em>reflow within</em>, and <em>clear
+from</em> dynamic flow operations.</p><p>If a reflow <code>within()</code> flow function is specified, but
+no clear <code>out()</code> flow function is specified, or vice-versa,
+then the function applies equally to both <em>reflow within</em>
+and <em>clear from</em> dynamic flow operations.</p><p>If either <code>intra()</code> or <code>inter()</code>
+<a href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</a> is not specified, then the
+<code>auto</code> value for the missing <a href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</a>
+applies.</p><p>The normative processing model for dynamic flow behavior is
+specified in <a href="#dynamicFlowModel"><b>B Dynamic Flow Processing Model</b></a>.</p><p>The <code>tts:dynamicFlow</code> style is illustrated by the
+following example, and depicted in an <a href="images/dynamicFlow_RU_animated.svg">SVG Animation</a>.</p><table summary="HTML Table" id="style-attribute-dynamicFlow-example-1" class="example"><caption>Example Fragment – Dynamic Flow</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="140px 70px"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:backgroundColor="transparent"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style tts:fontSize="18px"/&gt;
+  &lt;style <span class="strong">tts:overflow="scroll"</span>/&gt;
+  &lt;style <span class="strong">tts:dynamicFlow="in(word,jump) out(line,smooth) inter(3s)"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  &lt;span tts:backgroundColor="black" tts:color="white"&gt;
+    Five o'clock tea!&lt;br/&gt;
+    Ever to thee,&lt;br/&gt;
+    Faithful I'll be,&lt;br/&gt;
+    Five o'clock tea!&lt;br/&gt;
+    &lt;br/&gt;
+    &lt;br/&gt;
+    &lt;br/&gt;
+  &lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-dynamicFlow-example-2-images" class="example-images-bordered"><caption>Example Rendition – Dynamic Flow – Discrete Frames</caption><col width="136px" span="1"/><col width="136px" span="1"/><col width="136px" span="1"/><col width="136px" span="1"/><tbody><tr><td><img src="images/dynamicFlow_snake_0.png" alt="DFXP dynamic flow style property - frame 0"/></td><td><img src="images/dynamicFlow_snake_1.png" alt="DFXP dynamic flow style property - frame 1"/></td><td><img src="images/dynamicFlow_snake_2.png" alt="DFXP dynamic flow style property - frame 2"/></td><td><img src="images/dynamicFlow_snake_3.png" alt="DFXP dynamic flow style property - frame 3"/></td></tr><tr><td><img src="images/dynamicFlow_snake_4.png" alt="DFXP dynamic flow style property - frame 4"/></td><td><img src="images/dynamicFlow_snake_5.png" alt="DFXP dynamic flow style property - frame 5"/></td><td><img src="images/dynamicFlow_snake_6.png" alt="DFXP dynamic flow style property - frame 6"/></td><td><img src="images/dynamicFlow_snake_7.png" alt="DFXP dynamic flow style property - frame 7"/></td></tr><tr><td><img src="images/dynamicFlow_snake_8.png" alt="DFXP dynamic flow style property - frame 8"/></td><td><img src="images/dynamicFlow_snake_9.png" alt="DFXP dynamic flow style property - frame 9"/></td><td><img src="images/dynamicFlow_snake_10.png" alt="DFXP dynamic flow style property - frame 10"/></td><td><img src="images/dynamicFlow_snake_11.png" alt="DFXP dynamic flow style property - frame 11"/></td></tr><tr><td><img src="images/dynamicFlow_snake_12.png" alt="DFXP dynamic flow style property - frame 12"/></td><td><img src="images/dynamicFlow_snake_13.png" alt="DFXP dynamic flow style property - frame 13"/></td><td><img src="images/dynamicFlow_snake_14.png" alt="DFXP dynamic flow style property - frame 14"/></td><td><img src="images/dynamicFlow_snake_15.png" alt="DFXP dynamic flow style property - frame 15"/></td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-attribute-extent" id="style-attribute-extent"/>8.2.8 tts:extent</h4><p>The <code>tts:extent</code> attribute is used to specify the
+<em>width</em> and <em>height</em> of a region area
+(which may be the root container region).</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-extent" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>auto</code> |
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>auto</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#document-structure-vocabulary-body"><code>body</code></a>,
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>relative to width and height of root container region</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p>If the value of this attribute consists of two <a href="#style-value-length">&lt;length&gt;</a>
+specifications, then they must be interpreted as <em>width</em>
+and <em>height</em>, where the first specification is the
+<em>width</em>, and the second specification is the
+<em>height</em>.</p><p>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.
+The root container extent is determined either by a
+<code>tts:extent</code> specified on the <code>body</code> element, if
+present, or by the external authoring context, if not present. In the
+former case, if the width and height is expressed in terms of two
+<a href="#style-value-length">&lt;length&gt;</a> specifications,
+then these specifications must be expressed as non-percentage,
+definite lengths using pixel units.</p><p>The <code>tts:extent</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-extent-example-1" class="example"><caption>Example Fragment – Extent</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style <span class="strong">tts:extent="330px 122px"</span>/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  'Tis the voice of the Lobster:&lt;br/&gt;
+  I heard him declare,&lt;br/&gt;
+  "You have baked me too brown,&lt;br/&gt;
+  I must sugar my hair."
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-extent-example-1-images" class="example-images"><caption>Example Rendition – Extent</caption><tbody><tr><td><img src="images/extent.png" alt="DFXP extent style property"/></td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-attribute-fontFamily" id="style-attribute-fontFamily"/>8.2.9 tts:fontFamily</h4><p>The <code>tts:fontFamily</code> attribute is used to specify a style property that
+defines the font family from which glyphs are selected for glyph areas generated
+by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-fontFamily" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+(<a href="#style-value-familyName">&lt;familyName&gt;</a> | <a href="#style-value-genericFamilyName">&lt;genericFamilyName&gt;</a>)
+(<code>","</code>
+ (<a href="#style-value-familyName">&lt;familyName&gt;</a> | <a href="#style-value-genericFamilyName">&lt;genericFamilyName&gt;</a>))* |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>default</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The initial value, <code>default</code>, is a generic font family name, and is
+further described in <a href="#style-value-genericFamilyName"><b>8.3.6 &lt;genericFamilyName&gt;</b></a> below.</p></div><p>The <code>tts:fontFamily</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-fontFamily-example-1" class="example"><caption>Example Fragment – Font Family</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="474px 146px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="center"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+  &lt;style <span class="strong">tts:fontFamily="proportionalSansSerif"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;div region="r1"&gt;
+  &lt;p&gt;
+    "The time has come," the Walrus said,&lt;br/&gt;
+    "to talk of many things:
+  &lt;/p&gt;
+  &lt;p tts:textAlign="end" <span class="strong">tts:fontFamily="monospaceSerif"</span>&gt;
+    Of shoes, and ships, and sealing wax,&lt;br/&gt;
+    Of cabbages and kings,
+  &lt;/p&gt;
+  &lt;p&gt;
+    And why the sea is boiling hot,&lt;br/&gt;
+    and whether pigs have wings."
+  &lt;/p&gt;
+&lt;/div&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-fontFamily-example-1-images" class="example-images"><caption>Example Rendition – Font Family</caption><tbody><tr><td><img src="images/fontFamily.png" alt="DFXP fontFamily style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.8.2.</p></div></div><div class="div3">
+<h4><a name="style-attribute-fontSize" id="style-attribute-fontSize"/>8.2.10 tts:fontSize</h4><p>The <code>tts:fontSize</code> attribute is used to specify a style property
+that defines the font size for glyphs that are selected for glyph areas
+generated by content flowed into a region, where font size is interpreted as a
+scaling transform to the font's design EM square.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-fontSize" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a>? |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>1c</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>relative to parent element's font size</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If a single <a href="#style-value-length">&lt;length&gt;</a> value is specified, then this length applies
+equally to horizontal and vertical scaling of a glyph's EM square; if two
+<a href="#style-value-length">&lt;length&gt;</a> values are specified, then the first expresses the horizontal
+scaling and the second expresses vertical scaling.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Use of independent horizontal and vertical font sizes is expected to be used
+with cell based metrics in order to denote fonts that are two rows in height and
+one column in width.</p></div><p>If horizontal and vertical sizes are expressed independently, then the
+metrics of the <a href="#style-value-length">&lt;length&gt;</a> values must be the same.</p><p>The <a href="#style-value-length">&lt;length&gt;</a> value(s) used to express font size must be non-negative.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><p>The <code>tts:fontSize</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-fontSize-example-1" class="example"><caption>Example Fragment – Font Size</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="299px 97px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="center"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style <span class="strong">tts:fontSize="18px"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  Then fill up the glasses&lt;br/&gt;
+  with treacle and ink,&lt;br/&gt;
+  Or anything else&lt;br/&gt;
+  that is &lt;span <span class="strong">tts:fontSize="24px"</span>&gt;pleasant&lt;/span&gt; to drink.
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-fontSize-example-1-images" class="example-images"><caption>Example Rendition – Font Size</caption><tbody><tr><td><img src="images/fontSize.png" alt="DFXP fontSize style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.8.4.</p></div></div><div class="div3">
+<h4><a name="style-attribute-fontStyle" id="style-attribute-fontStyle"/>8.2.11 tts:fontStyle</h4><p>The <code>tts:fontStyle</code> attribute is used to specify a style property that
+defines the font style to apply to glyphs that are selected for glyph areas generated
+by content flowed into a region, where the mapping from font
+style value to specific font face or style parameterization is not determined
+by this specification.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-fontStyle" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>normal</code> |
+<code>italic</code> |
+<code>oblique</code> |
+<code>reverseOblique</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>normal</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><p>Use of values <code>oblique</code> and <code>reverseOblique</code>
+denote a shear and reverse shear transformation (at an unspecified
+angle) in the inline progression dimension. A conformant processor may
+perform such a transform on a font in order to satisfy this authorial
+intent for the purpose of presentation processing. If a specified font
+style is not available or a shear or reverse shear transformation is
+not supported, then the processor must interpret the font style as if
+the value <code>normal</code> were specified for the purpose of
+presentation processing.</p><p>The <code>tts:fontStyle</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-fontStyle-example-1" class="example"><caption>Example Fragment – Font Style</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="331px 84px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  In autumn, when the leaves are brown,&lt;br/&gt;
+  Take pen and ink, and &lt;span <span class="strong">tts:fontStyle="italic"</span>&gt;write it down.&lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-fontStyle-example-1-images" class="example-images"><caption>Example Rendition – Font Style</caption><tbody><tr><td><img src="images/fontStyle.png" alt="DFXP fontStyle style property"/></td></tr></tbody></table><p/><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.8.7.</p></div></div><div class="div3">
+<h4><a name="style-attribute-fontWeight" id="style-attribute-fontWeight"/>8.2.12 tts:fontWeight</h4><p>The <code>tts:fontWeight</code> attribute is used to specify a style property
+that defines the font weight to apply to glyphs that are selected for glyph
+areas generated by content flowed into a region, where the mapping from font
+weight value to specific font face or weight parameterization is not determined
+by this specification.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-fontWeight" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>normal</code> |
+<code>bold</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>normal</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><p>If a specified font weight is not available, then a conformant
+processor must interpret the font weight as if the value <code>normal</code> were
+specified for the purpose of presentation processing.</p><p>The <code>tts:fontWeight</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-fontWeight-example-1" class="example"><caption>Example Fragment – Font Weight</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="376px 95px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="center"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  They told me you had been to her,&lt;br/&gt;
+  &lt;span <span class="strong">tts:fontWeight="bold"</span>&gt;and mentioned me to him:&lt;/span&gt;&lt;br/&gt;
+  She gave me a good character&lt;br/&gt;
+  &lt;span <span class="strong">tts:fontWeight="bold"</span>&gt;but said I could not swim.&lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-fontWeight-example-1-images" class="example-images"><caption>Example Rendition – Font Weight</caption><tbody><tr><td><img src="images/fontWeight.png" alt="DFXP fontWeight style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.8.9.</p></div></div><div class="div3">
+<h4><a name="style-attribute-lineHeight" id="style-attribute-lineHeight"/>8.2.13 tts:lineHeight</h4><p>The <code>tts:lineHeight</code> attribute is used to specify a style property that
+defines the inter-baseline separation between line areas generated by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-lineHeight" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>normal</code> |
+<a href="#style-value-length">&lt;length&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>normal</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-p"><code>p</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>relative to this element's font size</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If the value of this attribute is <code>normal</code>, then the initial value
+of the style property must be considered to be the same as the largest font size
+that applies to any child element.</p><p>If specified as a <a href="#style-value-length">&lt;length&gt;</a>, then the length must be non-negative.</p><p>The <code>tts:lineHeight</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-lineHeight-example-1" class="example"><caption>Example Fragment – Line Height</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="255px 190px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="center"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style tts:fontSize="16px"/&gt;
+  &lt;style <span class="strong">tts:lineHeight="32px"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  He thought he saw an elephant,&lt;br/&gt;
+  That practised on a fife:&lt;br/&gt;
+  He looked again, and found it was&lt;br/&gt;
+  A letter from his wife.&lt;br/&gt;
+  "At length I realise," he said,&lt;br/&gt;
+  "The bitterness of Life.
+"&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-lineHeight-example-1-images" class="example-images"><caption>Example Rendition – Line Height</caption><tbody><tr><td><img src="images/lineHeight.png" alt="DFXP lineHeight style property"/></td></tr></tbody></table><p/><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.15.4.</p></div></div><div class="div3">
+<h4><a name="style-attribute-opacity" id="style-attribute-opacity"/>8.2.14 tts:opacity</h4><p>The <code>tts:opacity</code> attribute is used to specify a style property that
+defines the opacity (or transparency) of marks associated with a region (such as
+a region's background color) or marks associated with areas generated by a given
+content element to which opacity applies.</p><p>When presented onto a visual medium, the opacity of the affacted
+element is applied uniformly and on a linear scale to all marks produced by the affected
+element (and its descendants).</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-opacity" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-alpha">&lt;alpha&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>1.0</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>An <a href="#style-value-alpha">&lt;alpha&gt;</a> value greater than 1.0 must be considered equivalent
+to an <a href="#style-value-alpha">&lt;alpha&gt;</a> value of 1.0.</p><p>The <code>tts:opacity</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-opacity-example-1" class="example"><caption>Example Fragment – Opacity</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1" dur="5s"&gt;
+  &lt;set begin="0s" dur="1s" <span class="strong">tts:opacity="1.00"</span>/&gt;
+  &lt;set begin="1s" dur="1s" <span class="strong">tts:opacity="0.75"</span>/&gt;
+  &lt;set begin="2s" dur="1s" <span class="strong">tts:opacity="0.50"</span>/&gt;
+  &lt;set begin="3s" dur="1s" <span class="strong">tts:opacity="0.25"</span>/&gt;
+  &lt;set begin="4s" dur="1s" <span class="strong">tts:opacity="0.00"</span>/&gt;
+  &lt;style tts:extent="304px 77px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  The sun was shining on the sea
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-opacity-example-1-images" class="example-images"><caption>Example Rendition – Opacity</caption><tbody><tr><td>
+<img src="images/opacity_0.png" alt="DFXP opacity style property - [0,1)"/>
+</td></tr><tr><td>
+<img src="images/opacity_1.png" alt="DFXP opacity style property - [1,2)"/>
+</td></tr><tr><td>
+<img src="images/opacity_2.png" alt="DFXP opacity style property - [2,3)"/>
+</td></tr><tr><td>
+<img src="images/opacity_3.png" alt="DFXP opacity style property - [3,4)"/>
+</td></tr><tr><td>
+<img src="images/opacity_4.png" alt="DFXP opacity style property - [4,5)"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#css3-color">[CSS3 Color]</a>,
+§ 3.2.</p></div></div><div class="div3">
+<h4><a name="style-attribute-origin" id="style-attribute-origin"/>8.2.15 tts:origin</h4><p>The <code>tts:origin</code> attribute is used to specify the
+<em>x</em> and <em>y</em> coordinates of the origin of a
+region area with respect to the origin of the root container extent,
+if specified, or the external authoring context, if not specified.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-origin" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>auto</code> |
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>auto</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>relative to width and height of root container region</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p>If the value of this attribute consists of two <a href="#style-value-length">&lt;length&gt;</a> specifications,
+then they must be interpreted as <em>x</em> and <em>y</em> coordinates, where the first specification
+is the <em>x</em> coordinate, and the second specification is the <em>y</em> coordinate.</p><p>If the value of this attribute is <code>auto</code>, then the initial value
+of the style property must be considered to be the same as the root container origin.
+The root container origin is determined by the external authoring context.</p><p>The <code>tts:origin</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-origin-example-1" class="example"><caption>Example Fragment – Origin</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style <span class="strong">tts:origin="40px 40px"</span>/&gt;
+  &lt;style tts:extent="308px 92px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="center"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  "To dine!" she shrieked in dragon-wrath.&lt;br/&gt;
+  "To swallow wines all foam and froth!&lt;br/&gt;
+   To simper at a table-cloth!"
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-origin-example-1-images" class="example-images"><caption>Example Rendition – Origin</caption><tbody><tr><td><img src="images/origin.png" alt="DFXP origin style property"/></td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-attribute-overflow" id="style-attribute-overflow"/>8.2.16 tts:overflow</h4><p>The <code>tts:overflow</code> attribute is used to specify a style property that
+defines whether a region area is clipped or not if the descendant areas of the region overflow
+its extent.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-overflow" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>visible</code> |
+<code>hidden</code> |
+<code>scroll</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>hidden</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</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 infinite, but with
+a well-defined origin.  If the value is <code>hidden</code>, then content should
+be clipped outside of the affected region.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Unless a manual line break element <code>br</code> is used by the content author,
+a paragraph of a given region will generate no more than one line area in that
+region if the value of the <code>tts:overflow</code> style that applies to the
+region is <code>visible</code> and if the applicable <code>tts:wrapOption</code>
+style is <code>noWrap</code>.</p></div><p>If the value of this attribute is <code>scroll</code>, then content is
+dynamically flowed into and out of the affected region according to the values
+of the <code>tts:dynamicFlow</code> style property; in this case, the
+semantics of the <code>tts:dynamicFlow</code> apply whether or not the
+affected region has overflowed.</p><p>The <code>tts:overflow</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-overflow-example-1" class="example"><caption>Example Fragment – Overflow</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="232px 40px"/&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="red"/&gt;
+  &lt;style tts:displayAlign="before"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style tts:fontSize="18px"/&gt;
+  &lt;style tts:wrapOption="noWrap"/&gt;
+  &lt;style <span class="strong">tts:overflow="visible"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:extent="232px 40px"/&gt;
+  &lt;style tts:origin="0px 43px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="red"/&gt;
+  &lt;style tts:displayAlign="before"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style tts:fontSize="18px"/&gt;
+  &lt;style tts:wrapOption="noWrap"/&gt;
+  &lt;style <span class="strong">tts:overflow="hidden"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  "But wait a bit," the Oysters cried,&lt;br/&gt;
+  "Before we have our chat;
+&lt;/p&gt;
+&lt;p region="r2"&gt;
+  For some of us are out of breath,&lt;br/&gt;
+  And all of us are fat!"
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-overflow-example-1-images" class="example-images"><caption>Example Rendition – Overflow</caption><tbody><tr><td><img src="images/overflow.png" alt="DFXP overflow style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the <code>tts:noWrap</code> is set to
+<code>noWrap</code> to prevent automatic line wrapping (breaking);
+if this were not specified, then overflow would occur in the block
+progression direction as opposed to the inline progression direction.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.20.2.</p></div></div><div class="div3">
+<h4><a name="style-attribute-padding" id="style-attribute-padding"/>8.2.17 tts:padding</h4><p>The <code>tts:padding</code> attribute is used to specify padding (or inset)
+space on all sides of a region area or a content area produced by a content
+element.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-padding" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<a href="#style-value-length">&lt;length&gt;</a> |
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> |
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> |
+<a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> <a href="#style-value-length">&lt;length&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>0</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>relative to width and height of region</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If the value of this attribute consists of one <a href="#style-value-length">&lt;length&gt;</a> specification,
+then that length applies to all edges of the affected areas. If the value
+consists of two <a href="#style-value-length">&lt;length&gt;</a> specifications, then the first applies to the
+before and after edges, and the second applies to the start and end edges.
+If three <a href="#style-value-length">&lt;length&gt;</a> specifications are provided, then the first applies to the
+before edge, the second applies to the start and end edges, and the third applies
+to the after edge.
+If four <a href="#style-value-length">&lt;length&gt;</a> specifications are provided, then they apply to before, end,
+after, and start edges, respectively.</p><p>The <code>tts:padding</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-padding-example-1" class="example"><caption>Example Fragment – Padding</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="446px 104px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+  &lt;style <span class="strong">tts:padding="10px 40px"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1" tts:backgroundColor="red"&gt;
+  Just the place for a Snark! I have said it twice:&lt;br/&gt;
+  That alone should encourage the crew.&lt;br/&gt;
+  Just the place for a Snark! I have said it thrice:&lt;br/&gt;
+  What I tell you three times is true.
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p>When rendering an area to which padding applies, the background color that
+applies to the area is rendered into the padded portion of the area.</p><table summary="HTML Table" id="style-attribute-padding-example-1-images" class="example-images"><caption>Example Rendition – Padding</caption><tbody><tr><td>
+<img src="images/padding.png" alt="DFXP padding style property"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.29.15, except that individual shorthand values map to writing
+mode relative padding values as defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.7.31, 7.7.32, 7.7.33, and 7.7.34.</p></div></div><div class="div3">
+<h4><a name="style-attribute-showBackground" id="style-attribute-showBackground"/>8.2.18 tts:showBackground</h4><p>The <code>tts:showBackground</code> attribute is used to specify
+constraints on when the background color of a region is intended to be
+presented.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-showBackground" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>always</code> |
+<code>whenActive</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>always</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If the value of this attribute is <code>always</code>, then the
+background color of a region is always rendered when performing presentation
+processing on a visual medium; if the value is <code>whenActive</code>,
+then the background color of a region is rendered only when some
+content is selected into the region.</p><p>The <code>tts:showBackground</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-showBackground-example-1" class="example"><caption>Example Fragment – Show Background</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:extent="265px 100px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style <span class="strong">tts:showBackground="always"</span>/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="before"/&gt;
+  &lt;style tts:textAlign="start"/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:origin="205px 60px"/&gt;
+  &lt;style tts:extent="290px 100px"/&gt;
+  &lt;style tts:backgroundColor="red"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="before"/&gt;
+  &lt;style tts:textAlign="end"/&gt;
+  &lt;style <span class="strong">tts:showBackground="whenActive"</span>/&gt;
+&lt;/region&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#smil21">[SMIL 2.1]</a>,
+§ 5.3.1.</p></div></div><div class="div3">
+<h4><a name="style-attribute-textAlign" id="style-attribute-textAlign"/>8.2.19 tts:textAlign</h4><p>The <code>tts:textAlign</code> attribute is used to specify a style property that
+defines how inline areas are aligned within a containing block area in the inline progression
+direction.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-textAlign" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>left</code> |
+<code>center</code> |
+<code>right</code> |
+<code>start</code> |
+<code>end</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>start</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-p"><code>p</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:textAlign</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-textAlign-example-1" class="example"><caption>Example Fragment – Text Align</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="355px 43px"/&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:textAlign="start"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:extent="355px 43px"/&gt;
+  &lt;style tts:origin="0px 47px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:textAlign="end"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  Beware the Jabberwock, my son!&lt;br/&gt;
+  The jaws that bite, the claws that catch!
+&lt;/p&gt;
+&lt;p region="r2"&gt;
+  Beware the Jubjub bird, and shun&lt;br/&gt;
+  The frumious Bandersnatch!
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-textAlign-example-1-images" class="example-images"><caption>Example Rendition – Text Align</caption><tbody><tr><td><img src="images/textAlign.png" alt="DFXP textAlign style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.15.9.</p></div></div><div class="div3">
+<h4><a name="style-attribute-textDecoration" id="style-attribute-textDecoration"/>8.2.20 tts:textDecoration</h4><p>The <code>tts:textDecoration</code> attribute is used to specify a style property that
+defines a text decoration effect to apply to glyph areas or other inline
+areas that are generated by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-textDecoration" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>none</code> |
+[ [
+<code>underline</code> |
+<code>noUnderline</code>
+] || [
+<code>throughline</code> |
+<code>noThroughline</code>
+] || [
+<code>overline</code> |
+<code>noOverline</code>
+] ] | 
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>none</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#document-structure-vocabulary-body"><code>body</code></a>,
+<a href="#content-vocabulary-div"><code>div</code></a>,
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#layout-vocabulary-region"><code>region</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no, but see prose of <a href="#xsl10">[XSL 1.0]</a>, § 7.16.4</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:textDecoration</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-textDecoration-example-1" class="example"><caption>Example Fragment – Text Decoration</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="385px 82px"/&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:padding="5px 2px"/&gt;
+  &lt;style <span class="strong">tts:textDecoration="underline"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  The sea was wet&lt;span <span class="strong">tts:textDecoration="noUnderline"</span>&gt; as &lt;/span&gt;wet&lt;span 
+  <span class="strong">tts:textDecoration="noUnderline"</span>&gt;
+	could be,&lt;br/&gt;
+	The sand was dry as dry.&lt;br/&gt;
+	&lt;span <span class="strong">tts:textDecoration="lineThrough"</span>&gt;There weren't any&lt;/span&gt;
+	You
+	&lt;span <span class="strong">tts:textDecoration="lineThrough"</span>&gt;couldn't&lt;/span&gt;
+	could not see a cloud&lt;br/&gt;
+	Because no cloud was in the sky.
+  &lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-textDecoration-example-1-images" class="example-images"><caption>Example Rendition – Text Decoration</caption><tbody><tr><td><img src="images/textDecoration.png" alt="DFXP textDecoration style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.16.4.</p></div></div><div class="div3">
+<h4><a name="style-attribute-textOutline" id="style-attribute-textOutline"/>8.2.21 tts:textOutline</h4><p>The <code>tts:textOutline</code> attribute is used to specify a style property that
+defines a text outline effect to apply to glyphs that are selected for glyph areas generated
+by content flowed into a region.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-textOutline" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>none</code> |
+<a href="#style-value-color">&lt;color&gt;</a>?
+<a href="#style-value-length">&lt;length&gt;</a>
+<a href="#style-value-length">&lt;length&gt;</a>? |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>none</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>relative to this element's font size</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p></div><p>The value of this attribute consists of an optional <a href="#style-value-color">&lt;color&gt;</a> term
+followed by one or two <a href="#style-value-length">&lt;length&gt;</a> terms.  If a <em>color</em> term is
+present, then it denotes the outline color; if no <em>color</em> term is
+present, the computed value of the <code>tts:color</code> applies.  The first
+<em>length</em> term denotes the outline thickness and the second length
+term, if present, indicates the blur radius.</p><p>The <code>tts:textOutline</code> style is illustrated by the following
+example.</p><table summary="HTML Table" id="style-attribute-textOutline-example-1" class="example"><caption>Example Fragment – Text Outline</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:backgroundColor="transparent"/&gt;
+  &lt;style tts:color="yellow"/&gt;
+  &lt;style <span class="strong">tts:textOutline="black 2px 0px"</span>/&gt;
+  &lt;style tts:fontFamily="proportionalSansSerif"/&gt;
+  &lt;style tts:fontSize="24px"/&gt;
+&lt;/region&gt;
+...
+&lt;p&gt;
+  How doth the little crocodile&lt;br/&gt;
+  Improve its shining tail,&lt;br/&gt;
+  And pour the waters of the Nile&lt;br/&gt;
+  On every golden scale!&lt;br/&gt;
+  How cheerfully he seems to grin,&lt;br/&gt;
+  How neatly spreads his claws,&lt;br/&gt;
+  And welcomes little fishes in,&lt;br/&gt;
+  With gently smiling jaws!
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-textOutline-example-1-images" class="example-images"><caption>Example Rendition – Text Outline</caption><tbody><tr><td><img src="images/textOutline.png" alt="backgroundColor style property"/></td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-attribute-unicodeBidi" id="style-attribute-unicodeBidi"/>8.2.22 tts:unicodeBidi</h4><p>The <code>tts:unicodeBidi</code> attribute is used to specify a style property that
+defines a directional embedding or override according to
+the Unicode bidirectional algorithm.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-unicodeBidi" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>normal</code> |
+<code>embed</code> |
+<code>bidiOverride</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>normal</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p/><p>The <code>tts:unicodeBidi</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-unicodeBidi-example-1" class="example"><caption>Example Fragment – Unicode Bidirectionality</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="265px 84px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:textAlign="center"/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  Little birds are playing&lt;br/&gt;
+  Bagpipes on the shore,&lt;br/&gt;
+  &lt;span <span class="strong">tts:unicodeBidi="bidiOverride"</span> tts:direction="rtl"&gt;where the tourists snore.&lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-unicodeBidi-example-1-images" class="example-images"><caption>Example Rendition – Unicode Bidirectionality</caption><tbody><tr><td>
+<img src="images/unicodeBidi.png" alt="DFXP unicodeBidi style property"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.27.6.</p></div></div><div class="div3">
+<h4><a name="style-attribute-visibility" id="style-attribute-visibility"/>8.2.23 tts:visibility</h4><p>The <code>tts:visibility</code> attribute is used to specify a style property that
+defines whether generated areas are visible or not when rendered on a visual
+presentation medium.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-visibility" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>visible</code> |
+<code>hidden</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td>
+<code>visible</code>
+</td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#document-structure-vocabulary-body"><code>body</code></a>,
+<a href="#content-vocabulary-div"><code>div</code></a>,
+<a href="#content-vocabulary-p"><code>p</code></a>,
+<a href="#layout-vocabulary-region"><code>region</code></a>,
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>The <code>tts:visibility</code> style has no affect on content layout or
+composition, but merely determines whether composed content is visible or not.</p><p>The <code>tts:visibility</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-visibility-example-1" class="example"><caption>Example Fragment – Visibility</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="398px 121px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1" dur="4s"&gt;
+  &lt;span <span class="strong">tts:visibility="hidden"</span>&gt;
+    &lt;set begin="1s" <span class="strong">tts:visibility="visible"</span>/&gt;
+    Curiouser
+  &lt;/span&gt;
+  &lt;span <span class="strong">tts:visibility="hidden"</span>&gt;
+    &lt;set begin="2s" <span class="strong">tts:visibility="visible"</span>/&gt;
+    and
+  &lt;/span&gt;
+  &lt;span <span class="strong">tts:visibility="hidden"</span>&gt;
+    &lt;set begin="3s" <span class="strong">tts:visibility="visible"</span>/&gt;
+    curiouser!
+  &lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-visibility-example-1-images" class="example-images"><caption>Example Rendition – Visibility</caption><tbody><tr><td>
+<img src="images/visibility_0.png" alt="DFXP visibility style property - [0,1)"/>
+</td></tr><tr><td>
+<img src="images/visibility_1.png" alt="DFXP visibility style property - [1,2)"/>
+</td></tr><tr><td>
+<img src="images/visibility_2.png" alt="DFXP visibility style property - [2,3)"/>
+</td></tr><tr><td>
+<img src="images/visibility_3.png" alt="DFXP visibility style property - [3,4)"/>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.28.8.</p></div></div><div class="div3">
+<h4><a name="style-attribute-wrapOption" id="style-attribute-wrapOption"/>8.2.24 tts:wrapOption</h4><p>The <code>tts:wrapOption</code> attribute is used to specify a style property that
+defines whether or not automatic line wrapping (breaking) applies within the context of
+the affected element.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-wrapOption" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>wrap</code> |
+<code>noWrap</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>wrap</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#content-vocabulary-span"><code>span</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>yes</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>For the purpose of determining applicability of this style property,
+each character child of a <code>p</code> element is considered to be enclosed in an anonymous
+span.</p><p>The <code>tts:wrapOption</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-wrapOption-example-1" class="example"><caption>Example Fragment – Wrap Option</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="192px 117px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:displayAlign="after"/&gt;
+  &lt;style tts:overflow="hidden"/&gt;
+  &lt;style <span class="strong">tts:wrapOption="noWrap"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p&gt;
+  I'll tell thee everything I can:&lt;br/&gt;
+  There's little to relate.&lt;br/&gt;
+  I saw an aged aged man,&lt;br/&gt;
+  A-sitting on a gate.
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-wrapOption-example-1-images" class="example-images"><caption>Example Rendition – Wrap Option</caption><tbody><tr><td><img src="images/wrapOption.png" alt="DFXP wrapOption style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.15.13.</p></div></div><div class="div3">
+<h4><a name="style-attribute-writingMode" id="style-attribute-writingMode"/>8.2.25 tts:writingMode</h4><p>The <code>tts:writingMode</code> attribute is used to specify a style property that
+defines the block and inline progression directions to be used for the purpose of
+stacking block and inline areas within a region area.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-writingMode" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>lrtb</code> |
+<code>rltb</code> |
+<code>tbrl</code> |
+<code>tblr</code> |
+<code>lr</code> |
+<code>rl</code> |
+<code>tb</code> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>lrtb</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>none</td></tr></tbody></table><p>The <code>tts:writingMode</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-writingMode-example-1" class="example"><caption>Example Fragment – Writing Mode</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="50px 570px"/&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:padding="10px 3px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:writingMode="tbrl"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:extent="310px 50px"/&gt;
+  &lt;style tts:origin="70px 120px"/&gt;
+  &lt;style tts:padding="10px 3px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:writingMode="rltb"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  I sometimes dig for buttered rolls,&lt;br/&gt;
+  Or set limed twigs for crabs:
+&lt;/p&gt;
+&lt;p region="r2" tts:direction="rtl" tts:unicodeBidi="bidiOverride"&gt;
+  I sometimes search the grassy knolls for the wheels of Hansom-cabs.
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><table summary="HTML Table" id="style-attribute-writingMode-example-1-images" class="example-images"><caption>Example Rendition – Writing Mode</caption><tbody><tr><td><img src="images/writingMode.png" alt="DFXP writingMode style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the second paragraph in the above example that targets region
+<code>r2</code>, the <code>tts:unicodeBidi</code> and
+<code>tts:direction</code> properties are set to
+<code>bidiOverride</code> and <code>rtl</code>, respectively, in order
+to override the normally left-to-right directionality of characters in
+the Latin script.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.27.7.</p></div></div><div class="div3">
+<h4><a name="style-attribute-zIndex" id="style-attribute-zIndex"/>8.2.26 tts:zIndex</h4><p>The <code>tts:zIndex</code> attribute is used to specify a style property that
+defines the front-to-back ordering of region areas in the case that they overlap.</p><p>This attribute may be specified by any style specification element or content element
+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 summary="HTML Table" id="style-property-details-zIndex" class="common"><col width="25%" span="1"/><tbody><tr><td><em>Values:</em></td><td>
+<code>auto</code> |
+<a href="#style-value-integer">&lt;integer&gt;</a> |
+<code>inherit</code>
+</td></tr><tr><td><em>Initial:</em></td><td><code>auto</code></td></tr><tr><td><em>Applies to:</em></td><td>
+<a href="#layout-vocabulary-region"><code>region</code></a>
+</td></tr><tr><td><em>Inherited:</em></td><td>no</td></tr><tr><td><em>Percentages:</em></td><td>N/A</td></tr><tr><td><em>Animatable:</em></td><td>discrete</td></tr></tbody></table><p>If two areas are associated with the same Z-index value, then, if those areas
+overlap in space, the area(s) generated by lexically subsequent elements must be
+rendered over area(s) generated by lexically prior elements, where lexical
+order is defined as the postorder traversal of a document
+instance.</p><p>The semantics of the value <code>auto</code> are those defined by
+<a href="#xsl10">[XSL 1.0]</a>, § 7.28.9, where the <code>tt</code> element
+is considered to establish the root stacking context.</p><p>The <code>tts:zIndex</code> style is illustrated by the following example.</p><table summary="HTML Table" id="style-attribute-zIndex-example-1" class="example"><caption>Example Fragment – Z Index</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:origin="0px 0px"/&gt;
+  &lt;style tts:extent="400px 100px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:zIndex="0"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r2"&gt;
+  &lt;style tts:origin="100px 60px"/&gt;
+  &lt;style tts:extent="400px 100px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="red"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:textAlign="end"/&gt;
+  &lt;style <span class="strong">tts:zIndex="1"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r3"&gt;
+  &lt;style tts:origin="0px 120px"/&gt;
+  &lt;style tts:extent="400px 100px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style <span class="strong">tts:zIndex="2"</span>/&gt;
+&lt;/region&gt;
+&lt;region xml:id="r4"&gt;
+  &lt;style tts:origin="100px 180px"/&gt;
+  &lt;style tts:extent="400px 100px"/&gt;
+  &lt;style tts:padding="5px"/&gt;
+  &lt;style tts:backgroundColor="red"/&gt;
+  &lt;style tts:color="white"/&gt;
+  &lt;style tts:textAlign="end"/&gt;
+  &lt;style <span class="strong">tts:zIndex="3"</span>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  I passed by his garden, and marked, with one eye,&lt;br/&gt;
+  How the Owl and the Panther were sharing a pie.
+&lt;/p&gt;
+&lt;p region="r2"&gt;
+  The Panther took pie-crust, and gravy, and meat,&lt;br/&gt;
+  While the Owl had the dish as its share of the treat.
+&lt;/p&gt;
+&lt;p region="r3"&gt;
+  When the pie was all finished, the Owl, as a boon,&lt;br/&gt;
+  Was kindly permitted to pocket the spoon:
+&lt;/p&gt;
+&lt;p region="r4"&gt;
+  While the Panther received knife and fork&lt;br/&gt;
+  with a growl,&lt;br/&gt;
+  And concluded the banquet by...
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><p/><p/><table summary="HTML Table" id="style-attribute-zIndex-example-1-images" class="example-images"><caption>Example Rendition – Z Index</caption><tbody><tr><td><img src="images/zIndex.png" alt="DFXP zIndex style property"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the style property
+represented by this attribute are based upon that defined by <a href="#xsl10">[XSL 1.0]</a>,
+§ 7.28.9.</p></div></div></div><div class="div2">
+<h3><a name="styling-style-value-expressions" id="styling-style-value-expressions"/>8.3 Style Value Expressions</h3><p>Style property values include the use of the following expressions:</p><ul><li><p><a href="#style-value-alpha"><b>8.3.1 &lt;alpha&gt;</b></a></p></li><li><p><a href="#style-value-color"><b>8.3.2 &lt;color&gt;</b></a></p></li><li><p><a href="#style-value-digit"><b>8.3.3 &lt;digit&gt;</b></a></p></li><li><p><a href="#style-value-duration"><b>8.3.4 &lt;duration&gt;</b></a></p></li><li><p><a href="#style-value-familyName"><b>8.3.5 &lt;familyName&gt;</b></a></p></li><li><p><a href="#style-value-flowFunction"><b>8.3.7 &lt;flowFunction&gt;</b></a></p></li><li><p><a href="#style-value-flowIntervalFunction"><b>8.3.8 &lt;flowIntervalFunction&gt;</b></a></p></li><li><p><a href="#style-value-genericFamilyName"><b>8.3.6 &lt;genericFamilyName&gt;</b></a></p></li><li><p><a href="#style-value-hexDigit"><b>8.3.9 &lt;hexDigit&gt;</b></a></p></li><li><p><a href="#style-value-integer"><b>8.3.10 &lt;integer&gt;</b></a></p></li><li><p><a href="#style-value-namedColor"><b>8.3.12 &lt;namedColor&gt;</b></a></p></li><li><p><a href="#style-value-quotedString"><b>8.3.13 &lt;quotedString&gt;</b></a></p></li><li><p><a href="#style-value-string"><b>8.3.14 &lt;string&gt;</b></a></p></li></ul><div class="div3">
+<h4><a name="style-value-alpha" id="style-value-alpha"/>8.3.1 &lt;alpha&gt;</h4><p>An &lt;alpha&gt; expression is used to express an opacity value,
+where	0 means fully transparent and 1 means fully opaque.</p><table summary="HTML Table" id="alpha-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;alpha&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;alpha&gt;
+  : <em>float</em>
+</pre></div>
+</td></tr></tbody></table><p>In the above syntax representation, the syntactic element
+<em><code>float</code></em> must adhere to the lexical representation defined
+by <a href="#xsd-2">[XML Schema Part 2]</a> §
+3.2.4.1.</p></div><div class="div3">
+<h4><a name="style-value-color" id="style-value-color"/>8.3.2 &lt;color&gt;</h4><p>A &lt;color&gt; expression is used to specify a named color, exact RGB color triple,
+or exact RGBA color tuple, where the alpha component, if expressed,
+is maximum (255) at 100% opacity
+and minimum (0) at 0% opacity, and where the applicable color space is
+defined by <a href="#srgb">[SRGB]</a>.</p><table summary="HTML Table" id="color-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;color&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;color&gt;
+  : "#" rrggbb
+  | "#" rrggbbaa
+  | "rgb" "(" r-value "," g-value "," b-value ")"
+  | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
+  | <a href="#style-value-namedColor">&lt;namedColor&gt;</a>
+
+rrggbb
+  :  <a href="#style-value-hexDigit">&lt;hexDigit&gt;</a>{6}
+
+rrggbbaa
+  :  <a href="#style-value-hexDigit">&lt;hexDigit&gt;</a>{8}
+
+r-value | g-value | b-value | a-value
+  : component-value
+
+component-value
+  : non-negative-integer                    // valid range: [0,255]
+
+non-negative-integer
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+</pre></div>
+</td></tr></tbody></table><p>When expressing RGB component values, these values are considered
+to <span class="strong">not</span> be premultiplied by alpha.</p><p>For the purpose of performing presentation processing such that
+non-opaque or non-transparent alpha or opacity values apply, then the
+semantics of compositing functions are defined with respect to the use of
+the <a href="#srgb">[SRGB]</a> color space for both inputs and outputs of
+the composition function.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of <a href="#srgb">[SRGB]</a> for the stated semantics of
+composition is not mean to prevent an actual processor from using some
+other color space either for internal or external purposes. For
+example, a presentation processor may ultimately convert the SRGB values
+used here to the YUV color space for rendition on a television device.</p></div></div><div class="div3">
+<h4><a name="style-value-digit" id="style-value-digit"/>8.3.3 &lt;digit&gt;</h4><p>A &lt;digit&gt; is used to express integers and other types of numbers or tokens.</p><table summary="HTML Table" id="digit-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;digit&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;digit&gt;
+  : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-value-duration" id="style-value-duration"/>8.3.4 &lt;duration&gt;</h4><p>A &lt;duration&gt; expression is used to express a temporal duration value.</p><table summary="HTML Table" id="duration-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;duration&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;duration&gt;
+  : <a href="#style-value-digit">&lt;digit&gt;</a> ( "." <a href="#style-value-digit">&lt;digit&gt;</a>+ )? metric
+
+metric
+  : "s"                 // seconds
+  | "ms"                // milliseconds
+  | "f"                 // frames
+  | "t"                 // ticks
+</pre></div>
+</td></tr></tbody></table><p>It is an error to omit the metric component of a duration.</p><p>When operating with <code>smpte</code> time base and
+<code>discontinuous</code> mode, a duration expression must be
+considered to denote a duration in (local) real-time, independently of the
+governing time base.</p></div><div class="div3">
+<h4><a name="style-value-familyName" id="style-value-familyName"/>8.3.5 &lt;familyName&gt;</h4><p>A &lt;familyName&gt; expression specifies a font family name.</p><p>If the name contains a whitespace or quotation delimiter character,
+then it must be expressed as a &lt;quotedString&gt;.</p><table summary="HTML Table" id="familyName-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;familyName&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;familyName&gt;
+  : <a href="#style-value-string">&lt;string&gt;</a>
+  | <a href="#style-value-quotedString">&lt;quotedString&gt;</a>
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-value-genericFamilyName" id="style-value-genericFamilyName"/>8.3.6 &lt;genericFamilyName&gt;</h4><p>A &lt;genericFamilyName&gt; 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 summary="HTML Table" id="genericFamilyName-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;genericFamilyName&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;genericFamilyName&gt;
+  : "default"
+  | "monospace"
+  | "sansSerif"
+  | "serif"
+  | "monospaceSansSerif"
+  | "monospaceSerif"
+  | "proportionalSansSerif"
+  | "proportionalSerif"
+</pre></div>
+</td></tr></tbody></table><p>The mapping between a generic (font) family name and an actual font is not
+determined by this specification; however, the
+distinction of monospace versus proportional and serif versus sans-serif
+should be maintained if possible when performing presentation.</p><p>If a generic (font) family name of <code>monospace</code> is specified,
+then it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
+or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
+and <code>serif</code> are to be interpreted as equivalent to <code>proportionalSansSerif</code>
+and <code>proportionalSerif</code>, respectively.</p></div><div class="div3">
+<h4><a name="style-value-flowFunction" id="style-value-flowFunction"/>8.3.7 &lt;flowFunction&gt;</h4><p>A &lt;flowFunction&gt; expression specifies a unit of content to be dynamic
+flowed into, within, and from a region according to an optional
+dynamic flow style, flow transition effect, and flow transition effect
+style.</p><table summary="HTML Table" id="flowFunction-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;flowFunction&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;flowFunction&gt;
+  : "in(" flowArguments ")"
+  | "within(" flowArguments ")"
+  | "out(" flowArguments ")"
+
+flowArguments
+  : flowUnit [ "," flowStyle [ "," flowTransition [ "," flowTransitionStyle ]]]
+
+flowUnit
+  : "pixel"
+  | "glyph"
+  | "inline"
+  | "line"
+  | "block"
+  | "character"
+  | "word"
+  | extensionToken
+
+flowStyle
+  : "jump"
+  | "smooth"
+  | "fade"
+  | extensionToken
+
+flowTransition
+  : "barWipe"
+  | extensionToken
+
+flowTransitionStyle
+  : "leftToRight"
+  | "topToBottom"
+  | extensionToken
+
+extensionToken
+  : "x-" &lt;token&gt;
+</pre></div>
+</td></tr></tbody></table><p>Dynamic flow can be specified independently for flowing content
+into its region, flowing it within its region, and flowing it out of
+its region. These three phases of dynamic flow are specified using the
+<code>in()</code>, <code>within()</code>, and <code>out()</code> flow
+functions respectively.</p><p>Dynamic flow occurs on the basis of specific visual or semantic
+content units. In the case of <code>pixel</code>, <code>glyph</code>,
+<code>inline</code>, <code>line</code>, and <code>block</code>, the
+unit of dynamic flow is based upon a visually rendered construct
+(<code>pixel</code> or <code>glyph</code>) or upon an area of the area
+tree produced by formatting the affected content. In the case of
+<code>character</code> and <code>word</code>, the unit of dynamic flow
+is based upon a semantic unit associated with one or more visually
+rendered or area units.</p><p>The dynamic flow unit <code>word</code> must be interpreted as
+being dependent upon the language or writing system of the affected
+content. If the language or writing system is unknown or unspecified,
+then <code>word</code> is interpreted as follows:</p><ol class="enumar"><li><p>If the affected content consists solely or mostly of Unified CJK
+Ideographic characters or of characters of another Unicode character
+block that are afforded similar treatment to that of Unified CJK
+Ideographic characters, then <code>word</code> is to be interpreted
+as if <code>character</code> were specified.</p></li><li><p>Otherwise, <code>word</code> is to be interpreted as denoting
+a sequence of one or more characters that are not interpreted as an
+XML whitespace character.</p></li></ol><p>When a flow unit is flowed into, within, or out of its region, the
+manner by which the unit is flowed is controlled by the optional
+<code>flowStyle</code> argument of the relevant flow function. If the
+flow style is specified as <code>jump</code>, or if no flow style is
+specified, then the flow unit is instantaneously transitioned into,
+within, or out of the region. If the flow style is
+<code>smooth</code>, then the flow unit is smoothly transitioned by
+means of pixel based exposure, movement, or hiding, respectively. If
+the flow style is <code>fade</code>, then the flow unit is faded into
+or out of the region by continuously incrementing or decrementing the
+alpha component of the affected content.</p><p>In addition to the primary flow style, an optional flow transition
+effect and flow transition effect style may be specified, in which
+case the transition effect is additively (and simultaneously) applied
+to the primary flow style transition.</p><p>For the permitted values of <code>flowTransition</code> and
+<code>flowTransitionStyle</code>, the semantics specified by 
+<a href="#smil21">[SMIL 2.1]</a>, § 12.8, apply.</p></div><div class="div3">
+<h4><a name="style-value-flowIntervalFunction" id="style-value-flowIntervalFunction"/>8.3.8 &lt;flowIntervalFunction&gt;</h4><p>A &lt;flowIntervalFunction&gt; expression specifies an interval or
+duration that affects dynamic flow timing behavior.</p><table summary="HTML Table" id="flowIntervalFunction-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;flowIntervalFunction&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;flowIntervalFunction&gt;
+  : "intra(" flowIntervalArguments ")"
+  | "inter(" flowIntervalArguments ")"
+
+flowIntervalArguments
+  : "auto"
+  | <a href="#style-value-duration">&lt;duration&gt;</a>
+  | flowIntervalRate
+
+flowIntervalRate
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+ ( "." <a href="#style-value-digit">&lt;digit&gt;</a>+ )?
+</pre></div>
+</td></tr></tbody></table><p>The <code>intra()</code> flow interval function is used to
+determine the <em>computed fill interval</em> state parameter for performing
+dynamic flow processing, which expresses the
+duration of time between fill
+timer events, as specified by <a href="#flowTimerFill"><b>B.5.1 Fill Timer</b></a>, which
+in turn, limits the dynamic flowed content fill rate.</p><p>The <code>inter()</code> flow interval function is used to
+determine the <em>computed clear interval</em> state parameter for performing
+dynamic flow processing, which expresses the
+duration of time between clear
+timer events, as specified by <a href="#flowTimerClear"><b>B.5.2 Clear Timer</b></a>, which in turn,
+limits the dynamic flowed content retention period.</p><p>If a <a href="#style-value-duration">&lt;duration&gt;</a> is
+specified as an argument to a flow interval function, then it is
+considered to represent a <em>definite duration</em>.
+If a flow interval rate is
+specified as an argument to a flow interval function, then it is
+considered to represent a <em>definite rate</em> in units per
+second, where the applicable unit is determined in the context of
+whether the rate is used with an <code>intra()</code> or
+<code>inter()</code> flow interval function.</p><p>The computed fill and clear interval values are defined by
+<a href="#dynamicFlowIntervalTimingCalculation"><b>B.3 Flow Interval Timing Calculation</b></a>.</p></div><div class="div3">
+<h4><a name="style-value-hexDigit" id="style-value-hexDigit"/>8.3.9 &lt;hexDigit&gt;</h4><p>A &lt;hexDigit&gt; 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 summary="HTML Table" id="hexDigit-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;hexDigit&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;hexDigit&gt;
+  : <a href="#style-value-digit">&lt;digit&gt;</a>
+  | "a" | "b" | "c" | "d" | "e" | "f"
+  | "A" | "B" | "C" | "D" | "E" | "F"
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-value-integer" id="style-value-integer"/>8.3.10 &lt;integer&gt;</h4><p>An &lt;integer&gt; expression is used to express an arbitrary, signed integral value.</p><table summary="HTML Table" id="integer-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;integer&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;integer&gt;
+  : ( "+" | "-" )? <a href="#style-value-digit">&lt;digit&gt;</a>+
+</pre></div>
+</td></tr></tbody></table></div><div class="div3">
+<h4><a name="style-value-length" id="style-value-length"/>8.3.11 &lt;length&gt;</h4><p>A &lt;length&gt; 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 summary="HTML Table" id="length-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;length&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;length&gt;
+  : scalar
+  | percentage
+
+scalar
+  : number units
+
+percentage
+  : number "%"
+
+sign
+  : "+" | "-"
+
+number
+  : sign? non-negative-number
+
+non-negative-number
+  : non-negative-integer
+  | non-negative-real
+
+non-negative-integer
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+non-negative-real
+  : <a href="#style-value-digit">&lt;digit&gt;</a>* "." <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+units
+  : "px"
+  | "em"
+  | "c"                                     // abbreviation of "cell"
+</pre></div>
+</td></tr></tbody></table><p>It is an error to omit the units component of a scalar length
+value.</p><p>The semantics of
+the unit of measure <code>px</code> (pixel) 
+are as defined by <a href="#xsl10">[XSL 1.0]</a>, § 5.9.13.</p><p>When specified relative to a font whose size is expressed as a single length
+measure or as two length measures of equal length, the unit of measure <code>em</code> is considered to be
+identical to that defined by <a href="#xsl10">[XSL 1.0]</a>, § 5.9.13;
+however, when specified relative to a font whose size is expressed as
+two length measures of non-equal lengths, then one <code>em</code> is
+equal to the inline progression dimension of the anisomorphically
+scaled font when used to specify lengths in the inline progression
+direction and equal to the block progression dimension of the scaled
+font when used to specify lengths in the block progression direction.</p><p>The semantics of the unit of measure <code>c</code> (cell) are
+defined by the parameter <a href="#parameter-attribute-cellResolution"><b>6.2.1 ttp:cellResolution</b></a>.</p></div><div class="div3">
+<h4><a name="style-value-namedColor" id="style-value-namedColor"/>8.3.12 &lt;namedColor&gt;</h4><p>A &lt;namedColor&gt; is used to express an RGBA color with a convenient name, and where the applicable color space is
+defined by <a href="#srgb">[SRGB]</a>.</p><p>For the purpose of parsing, no distinction must be made between lower and upper case.</p><table summary="HTML Table" id="namedColor-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;namedColor&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;namedColor&gt;
+  : "transparent"                           // #00000000
+  | "black"                                 // #000000ff
+  | "silver"                                // #c0c0c0ff
+  | "gray"                                  // #808080ff
+  | "white"                                 // #ffffffff
+  | "maroon"                                // #800000ff
+  | "red"                                   // #ff0000ff
+  | "purple"                                // #800080ff
+  | "fuchsia"                               // #ff00ffff
+  | "magenta"                               // #ff00ffff (= fuchsia)
+  | "green"                                 // #008000ff
+  | "lime"                                  // #00ff00ff
+  | "olive"                                 // #808000ff
+  | "yellow"                                // #ffff00ff
+  | "navy"                                  // #000080ff
+  | "blue"                                  // #0000ffff
+  | "teal"                                  // #008080ff
+  | "aqua"                                  // #00ffffff
+  | "cyan"                                  // #00ffffff (= aqua)
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>Except for <code>transparent</code>, the set of named colors specified above constitutes a proper
+subset of the set of named colors specified by <a href="#svg11">[SVG 1.1]</a>, § 4.2.</p></div></div><div class="div3">
+<h4><a name="style-value-quotedString" id="style-value-quotedString"/>8.3.13 &lt;quotedString&gt;</h4><p>A &lt;quotedString&gt; 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 summary="HTML Table" id="quotedString-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;quotedString&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;quotedString&gt;
+  : "\"" ( <em>char</em> - { "\"" } )* "\""
+  | "\'" ( <em>char</em> - { "\'" } )* "\'"
+</pre></div>
+</td></tr></tbody></table><p>In the above syntax representation, the syntactic element <em><code>char</code></em> must adhere to production
+[2] <code>Char</code> as defined by <a href="#xml11">[XML 1.1]</a> §
+2.2.</p></div><div class="div3">
+<h4><a name="style-value-string" id="style-value-string"/>8.3.14 &lt;string&gt;</h4><p>A &lt;string&gt; expression consists of a sequence of characters where no character
+is a whitespace or quotation delimiter character.</p><table summary="HTML Table" id="string-style-expression-syntax" class="syntax"><caption>Syntax Representation – &lt;string&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;string&gt;
+  : ( <em>char</em> - { <em>S</em> | "\"" | "\'" } )+
+</pre></div>
+</td></tr></tbody></table><p>In the above syntax representation, the syntactic element <em><code>char</code></em> must adhere to production
+[2] <code>Char</code> as defined by <a href="#xml11">[XML 1.1]</a> §
+2.2, while the syntactic element <em><code>S</code></em> must adhere to production
+[3] <code>S</code> as defined by <a href="#xml11">[XML 1.1]</a> §
+2.3.</p></div></div><div class="div2">
+<h3><a name="semantics-style-association" id="semantics-style-association"/>8.4 Style Association</h3><p>Style matter may be associated with content matter in a number of ways:</p><ul><li><p>inline styling</p></li><li><p>referential styling</p></li><li><p>chained referential styling</p></li></ul><div class="div3">
+<h4><a name="semantics-style-association-inline" id="semantics-style-association-inline"/>8.4.1 Inline Styling</h4><p>Style properties may be expressed in an inline manner by direct specification of an
+attribute from the TT Style Namespace or TT Style Extension Namespace
+on the affected element. When expressed in this manner, the association of style information
+is referred to as <em>inline styling</em>.</p><p>Style properties associated by inline styling are afforded a higher priority than all other
+forms of style association.</p><table summary="HTML Table" id="style-association-example-1" class="example"><caption>Example – Inline Styling</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;p <span class="strong">tts:color="white"</span>&gt;White 1 &lt;span <span class="strong">tts:color="yellow"</span>&gt;Yellow&lt;/span&gt; White 2&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the two text fragments <code>"White 1 "</code> and
+<code>" White 2"</code>, which are interpreted as anonymous spans, are not
+associated with a color style property; rather, they inherit their color style
+from their parent <code>p</code> element as described in <a href="#semantics-style-inheritance-content"><b>8.5.1 Content Style Inheritance</b></a> below.  </p></div></div><div class="div3">
+<h4><a name="semantics-style-association-referential" id="semantics-style-association-referential"/>8.4.2 Referential Styling</h4><p>Style properties may be expressed in an out-of-line manner and referenced by the
+affected element using the <code>style</code> attribute. When expressed in this manner,
+the association of style information is referred to as <em>referential styling</em>.</p><p>If a <code>style</code> attribute specifies multiple references, then those references are
+evaluated in the specified order, and that order applies to resolution of the value of a
+style property in the case that it is specified along multiple reference paths.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of referential styling encourages the reuse of style specifications while
+sacrificing locality of reference.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>A single content element may be associated with style properties by a hybrid mixture of
+inline and referential styling, in which case inline styling is given priority as described above
+by <a href="#semantics-style-association-inline"><b>8.4.1 Inline Styling</b></a>.</p></div><table summary="HTML Table" id="style-association-example-2" class="example"><caption>Example – Referential Styling</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;style <span class="strong">xml:id="s1"</span> tts:color="white"/&gt;
+&lt;style <span class="strong">xml:id="s2"</span> tts:color="yellow"/&gt;
+...
+&lt;p <span class="strong">style="s1"</span>&gt;White 1 &lt;span <span class="strong">style="s2"</span>&gt;Yellow&lt;/span&gt; White 2&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the two text fragments <code>"White 1 "</code> and
+<code>" White 2"</code>, which are interpreted as anonymous spans, are not
+associated with a color style property; rather, they inherit their color style
+from their parent <code>p</code> element as described in <a href="#semantics-style-inheritance-content"><b>8.5.1 Content Style Inheritance</b></a> below.</p></div></div><div class="div3">
+<h4><a name="semantics-style-association-chained-referential" id="semantics-style-association-chained-referential"/>8.4.3 Chained Referential Styling</h4><p>Style properties may be expressed in an out-of-line manner and may themselves reference
+other out-of-line style properties, thus creating a chain of references starting at the
+affected element. When expressed in this manner, the association of style information
+is referred to as <em>chained referential styling</em>.</p><p>If the same style property is specified in more than one referenced specification,
+then the last referenced style specification applies, where the order of application starts from
+the affected element and proceeds to referenced style specifications, and, in turn, to subsequent
+referenced style specifications.</p><p>A loop in a sequence of chained style references must be considered an error.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of chained referential styling encourages the grouping of style specifications
+into general and specific sets, which further aids in style specification reuse.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>A single content element may be associated with style properties by a hybrid mixture of
+inline, referential styling, and chained referential styling, in which case inline styling is
+given priority as described above by <a href="#semantics-style-association-inline"><b>8.4.1 Inline Styling</b></a>.</p></div><table summary="HTML Table" id="style-association-example-3" class="example"><caption>Example – Chained Referential Styling</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;style <span class="strong">xml:id="s1"</span> tts:color="white" tts:fontFamily="monospaceSerif"/&gt;
+&lt;style <span class="strong">xml:id="s2"</span> <span class="strong">style="s1"</span> tts:color="yellow"/&gt;
+...
+&lt;p <span class="strong">style="s1"</span>&gt;White Monospace&lt;/p&gt;
+&lt;p <span class="strong">style="s2"</span>&gt;Yellow Monospace&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table></div></div><div class="div2">
+<h3><a name="semantics-style-inheritance" id="semantics-style-inheritance"/>8.5 Style Inheritance</h3><p>Subsequent to the association of style matter with content matter as described above in
+<a href="#semantics-style-association"><b>8.4 Style Association</b></a>, styles are further propagated to content
+matter using:
+</p><ul><li><p>content style inheritance</p></li><li><p>region style inheritance</p></li></ul><div class="div3">
+<h4><a name="semantics-style-inheritance-content" id="semantics-style-inheritance-content"/>8.5.1 Content Style Inheritance</h4><p>Style properties are inherited from ancestor elements in the following case:</p><ol class="enumar"><li><p>if a style property is not associated with an element (or an anonymous span)
+and the style property is designated as inheritable, or</p></li><li><p>if a style property is associated with an element, that
+element is not the <code>body</code> element, and the associated style property value is <code>inherit</code>.</p></li></ol><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 specification set of the
+element's immediate ancestor element.</p><table summary="HTML Table" id="style-inheritance-example-1" class="example"><caption>Example – Content Style Inheritance</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;p <span class="strong">tts:fontFamily="monospaceSansSerif"</span>&gt;
+  &lt;span tts:color="yellow"&gt;Yellow Monospace&lt;/span&gt;
+&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>In the above example, the <code>span</code> element that encloses the character items
+<code>Yellow Monospace</code> is not associated with a <code>tts:fontFamily</code> style
+property and this property is inheritable; therefore, the value of the <code>tts:fontFamily</code> style
+is inherited from the computed style specification set of the ancestor <code>p</code> element,
+and is added to the computed style specification set of the <code>span</code> element.</p></div></div><div class="div3">
+<h4><a name="semantics-style-inheritance-region" id="semantics-style-inheritance-region"/>8.5.2 Region Style Inheritance</h4><p>Style properties are inherited from a region element in the following case:</p><ol class="enumar"><li><p>if a style property <em>P</em> is not associated with an element (or an anonymous span)
+<em>E</em> and the style property is designated as inheritable, and</p></li><li><p>if that style property <em>P</em> is in the computed style specification set
+of region <em>R</em> as defined by <a href="#layout-vocabulary-region"><b>9.1.2 region</b></a> below, and</p></li><li><p>if that element <em>E</em> is flowed into region <em>R</em>.</p></li></ol><table summary="HTML Table" id="style-inheritance-example-2" class="example"><caption>Example – Region Style Inheritance</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region <span class="strong">xml:id="r1"</span>&gt;
+  &lt;style tts:color="yellow"/&gt;
+  &lt;style tts:fontFamily="monospaceSerif"/&gt;
+&lt;/region&gt;
+...
+&lt;p <span class="strong">region="r1"</span>&gt;Yellow Monospace&lt;/p&gt;
+</pre></div>
+</td></tr></tbody></table></div></div></div><div class="div1">
+<h2><a name="layout" id="layout"/>9 Layout</h2><p>This section specifies the <em>layout</em> matter of the core
+vocabulary catalog, where
+layout is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the presentation of
+that content.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The two layers of layout and style matter are considered to be independently
+separable. Layout matter specifies one or more spaces or areas into
+which content is intended to be presented, while style matter specifies the manner in
+which presentation occurs within the layout.</p><p>In certain cases, a content author may choose to embed (inline) style matter directly
+into layout or content matter. In such cases, an alternative 
+exists – use of referential styling –
+in which the style
+matter is not embedded (inlined).</p></div><div class="div2">
+<h3><a name="layout-element-vocabulary" id="layout-element-vocabulary"/>9.1 Element Vocabulary</h3><p>The following elements specify the structure and principal layout aspects of a
+document instance:</p><ul><li><p><a href="#layout-vocabulary-layout"><b>9.1.1 layout</b></a></p></li><li><p><a href="#layout-vocabulary-region"><b>9.1.2 region</b></a></p></li></ul><div class="div3">
+<h4><a name="layout-vocabulary-layout" id="layout-vocabulary-layout"/>9.1.1 layout</h4><p>The <code>layout</code> element is a container element used to group
+layout matter, including metadata that applies to layout matter.</p><p>The <code>layout</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <code>region</code> elements.</p><table summary="HTML Table" id="elt-syntax-layout" class="syntax"><caption>XML Representation – Element Information Item: layout</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;layout
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#layout-vocabulary-region">region</a>*
+&lt;/layout&gt;
+</pre></div>
+</td></tr></tbody></table><p>To the extent that time semantics apply to the content of the
+<code>layout</code> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p></div><div class="div3">
+<h4><a name="layout-vocabulary-region" id="layout-vocabulary-region"/>9.1.2 region</h4><p>The <code>region</code> element is used to define a space or area into which content is
+to be flowed for the purpose of presentation.</p><p>The <code>region</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <code>style</code> elements.</p><p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <code>region</code> element and its descendants as a whole.
+Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <code>region</code> element.
+Any <code>style</code> child element must be considered a local style
+definition that applies only to the containing <code>region</code>
+element, i.e., does not apply for resolving referential styling.</p><table summary="HTML Table" id="elt-syntax-region" class="syntax"><caption>XML Representation – Element Information Item: region</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;region
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#style-attribute-style">style</a> = IDREFS
+  <a href="#timing-attribute-timeContainer">timeContainer</a> = (<em>par</em>|<em>seq</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Style namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*, <a href="#element-vocab-group-table">Animation.class</a>*, <a href="#styling-vocabulary-style">style</a>*
+&lt;/region&gt;
+</pre></div>
+</td></tr></tbody></table><p>The declared value of an inline style attribute on a <code>region</code>
+element must not be <code>inherit</code>.</p><p>A <code>region</code> element is considered to define a computed style
+specification set, where the set is determined using the
+following ordered rules:</p><ol class="enumar"><li><p>If a <code>style</code> attribute is specified on the <code>region</code> element,
+then the set must be initialized so as to include each style specification contained in
+the computed style specification set of each element referenced by
+the <code>style</code> attribute. If the same named style property is specified
+by more than one such referenced computed style specification set, then the value
+of the named style property in following referenced sets takes precedence over the value
+of the named style property in prior referenced sets, where following and prior are
+determined according to the order of the referenced ID in the IDREFS value of the <code>style</code>
+attribute.</p></li><li><p>If the <code>region</code> element has any <code>style</code> element children, then each
+style specification of the computed style specification set of each child <code>style</code>
+element either overrides an existing style
+specification already contained within the set or augments the set with a new style
+specification according to whether or not the named style property of the style specification
+matches the named style property of an existing style specification already included in
+the set, where the order of evaluation of child <code>style</code> elements proceeds from first
+to last such child element.</p></li><li><p>If the <code>style</code> element specifies an attribute from the TT Style Namespace
+or TT Style Extension Namespace, then each style
+specification defined by that attribute either overrides an existing style
+specification already contained within the set or augments the set with a new style
+specification according to whether or not the named style property of the style specification
+matches the named style property of an existing style specification already included in
+the set.</p></li></ol><p>Two named style properties are considered to match if their expanded names match,
+where <em>expanded name</em> is defined by <a href="#xmlns11">[XML Namespaces 1.1]</a>, §2.1,
+and the expanded name of a named style property is the expanded name of the attribute
+that specifies the named style property.</p><p>If <code>begin</code> and (or) <code>end</code> attributes are specified on a
+<code>region</code> element, then they specify the beginning and (or) ending points
+of a time interval during which the region is eligible for activation and with
+respect to which animation child elements of the region are timed.
+If specified, these begin and end points are relative to the time
+interval of the nearest ancestor element associated with a time
+interval, irregardless of whether that interval is explicit or implied.</p><p>The nearest ancestor element of a <code>region</code> element that is associated
+with a time interval is the document instance's root <code>tt</code> element.</p><p>If a <code>dur</code> attribute is specified on the <code>region</code> element, then it
+specifies the simple duration of the region.</p><p>For the purpose of determining the semantics of presentation processing, a
+region that is temporally inactive must not produce any visible marks when
+presented on a visual medium.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A <code>region</code> element may be associated with a time interval for two
+purposes: (1) in order to temporally bound the presentation of the region and
+its content, and (2) to provide a temporal context in which animations of region
+styles may be effected.</p><p>For example, an author may wish a region that is otherwise empty, but
+may have a visible background color to be presented starting at some time and
+continuing over the region's duration.  The simple duration of the region serves
+additionaly to scope the presentation effects of content that is targeted to the
+region. An author may also wish to move a region within the root container
+extent or change a region's background color by means of animation effects. In
+both of these cases, it is necessary to posit an active time interval for a
+region.</p></div></div></div><div class="div2">
+<h3><a name="layout-attribute-vocabulary" id="layout-attribute-vocabulary"/>9.2 Attribute Vocabulary</h3><p>This section defines the <a href="#layout-attribute-region"><b>9.2.1 region</b></a> attribute used with content elements.</p><div class="div3">
+<h4><a name="layout-attribute-region" id="layout-attribute-region"/>9.2.1 region</h4><p>The <code>region</code> attribute is used to reference a <code>region</code>
+element which defines a space or area into which a content element is intended to be flowed.</p><p>The <code>region</code> attribute may be specified by an instance of the following
+element types:</p><ul><li><p><a href="#document-structure-vocabulary-body"><code>body</code></a></p></li><li><p><a href="#content-vocabulary-div"><code>div</code></a></p></li><li><p><a href="#content-vocabulary-p"><code>p</code></a></p></li><li><p><a href="#content-vocabulary-span"><code>span</code></a></p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a> below for further information on content
+flow in a region.</p></div></div></div><div class="div2">
+<h3><a name="semantics-region-layout" id="semantics-region-layout"/>9.3 Region Layout and Presentation</h3><p>This section defines the semantics of region layout and
+presentation in terms of a standard processing model. Any
+implementation is permitted provided that the externally observable
+results are consistent with the results produced by this model.
+</p><div class="div3">
+<h4><a name="semantics-region-layout-step-1" id="semantics-region-layout-step-1"/>9.3.1 Synchronic Region Construction</h4><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 to an intermediate form,
+<em>I</em>, as follows:</p><ol class="enumar"><li><p>for each temporally active region <em>R</em>, replicate the
+portion of the document's sub-tree headed by the <code>body</code> element;</p></li><li><p>evaluating this sub-tree in a postorder traversal, prune elements if they
+are not a content element, if they are temporally inactive, if they are empty,
+or if they aren't associated with region <em>R</em>;</p></li><li><p>if the pruned sub-tree is non-empty, then reparent it to the <em>R</em>
+element;</p></li><li><p>finally, after completing the above steps, prune the original <code>body</code>
+element from the intermediate document, then prune all <code>region</code>,
+<code>begin</code>, <code>end</code>, and <code>dur</code> attributes, which are no
+longer semantically relevant;</p></li></ol><p>The pseudo-code shown in <a href="#content-hierarchy-region-mapping"><b>Example – Content Hierarchy Region Mapping</b></a>
+provides one possible algorithm that implements these processing steps.</p><table summary="HTML Table" id="content-hierarchy-region-mapping" class="example"><caption>Example – Content Hierarchy Region Mapping</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+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 ) and TEMPORALLY-ACTIVE? ( E )
+	  if EMPTY? ( E ) or REGION-OF ( E ) != R and 
+	    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 ) )
+</pre></div>
+</td></tr></tbody></table><p>The result of performing the processing described above will be a sequence of
+<em>N</em> intermediate documents instances, <em>I<sub>0</sub></em> …
+<em>I<sub>N−1</sub></em>.</p></div><div class="div3">
+<h4><a name="semantics-region-layout-step-2" id="semantics-region-layout-step-2"/>9.3.2 Synchronic Flow Processing</h4><p>Subsequent to performing a temporal (synchronic) slice and subsequent
+remapping of regionally selected content hierarchy, the resulting intermediate document is
+subjected to a flow transformation step that produces a rooted flow object tree
+represented as an XSL FO document instance as defined by <a href="#xsl10">[XSL 1.0]</a>,
+and semantically extended by TT AF specific style properties that have no XSL
+FO counterpart.</p><p>Each intermediate document produced by <a href="#semantics-region-layout-step-1"><b>9.3.1 Synchronic Region Construction</b></a> is mapped to an XSL FO document instance,
+<em>F</em>, as follows:</p><ol class="enumar"><li><p>for each significant text node in a content element that is not a child of a
+<code>span</code> element, synthesize an anonymous span to enclose the text node,
+substituting the new anonymous span for the original text node child in its
+sibling and parent hierarchy;</p></li><li><p>for each element, determine its computed style specification set, if
+applicable;</p></li><li><p>map the <code>tt</code> element to an <code>fo:root</code> element, populated
+initially with an <code>fo:layout-master-set</code> element that contains a valid
+<code>fo:simple-page-master</code> that, in turn, contains an
+<code>fo:region-body</code> child, where the root container extent expressed on the
+<code>tt</code> element is mapped to <code>page-width</code> and
+<code>page-height</code> attributes on the <code>fo:simple-page-master</code>
+element;</p></li><li><p>map the <code>layout</code> element to an <code>fo:page-sequence</code> element and a
+child <code>fo:flow</code> element that reference the page master and page region
+defined by the simple page master produced above;</p></li><li><p>map each non-empty <code>region</code> element to an <code>fo:block-container</code>
+element with an <code>absolute-position</code> attribute with value
+<code>absolute</code>, and where the region's position and extent are mapped to equivalent
+<code>top</code>, <code>left</code>, <code>width</code>, and <code>height</code>
+attributes;</p></li><li><p>for each <code>body</code>, <code>div</code>, and <code>p</code> element that is not
+associated with a <code>tts:display</code> style property with the value
+<code>none</code>, map the element to a distinct <code>fo:block</code> element,
+populating the style properties of <code>fo:block</code> by using the computed style
+specification set associated with each original TT AF content element;</p></li><li><p>for each <code>span</code> element that is not
+associated with a <code>tts:display</code> style property with the value
+<code>none</code> and for each anonymous span, map the element or
+sequence of character items to a distinct <code>fo:inline</code> element,
+populating the style properties of <code>fo:inline</code> by using the computed style
+specification set associated with each original TT AF content element
+or anonymous span;</p></li><li><p>for each <code>br</code> element that is not
+associated with a <code>tts:display</code> style property with the value
+<code>none</code>, map the element
+to a distinct <code>fo:character</code> element having the following
+properties:</p><ul><li><p><code>character="&amp;#x000A;"</code></p></li><li><p><code>suppress-at-line-break="retain"</code></p></li></ul></li><li><p>for each TT AF style property attribute in some computed style specification set that
+has no counterpart in <a href="#xsl10">[XSL 1.0]</a>, map that attribute directly through
+to the relevant formatting object produced by the input TT AF content element to
+which the style property applies;</p></li><li><p>optionally, synthesize a unique <code>id</code> attribute on each resulting
+formatting object element that relates that element to the input element that
+resulted in that formatting object element;</p></li></ol><p>For each resulting XSL FO document instance <em>F</em>, if processing
+requires presentation on a visual medium, then apply the formatting semantics
+prescribed by <a href="#xsl10">[XSL 1.0]</a> in order to produce an XSL FO area tree that
+may then be subsequently rendered onto the visual medium.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>Due to the possible presence of TT AF style properties
+or style property values in a given DFXP document instance for which
+there is no <a href="#xsl10">[XSL 1.0]</a> counterpart, the use of a compliant <a href="#xsl10">[XSL 1.0]</a> formatting processor
+is not necessarily sufficient to satisfy the presentation
+semantics defined by this specification.</p></div></div><div class="div3">
+<h4><a name="semantics-region-layout-example" id="semantics-region-layout-example"/>9.3.3 Elaborated Example</h4><p>An example of the processing steps described above is elaborated below, starting with <a href="#region-mapping-example-1-s"><b>Example – Sample Source Document</b></a>.</p><table summary="HTML Table" id="region-mapping-example-1-s" class="example"><caption>Example – Sample Source Document</caption><tbody><tr><td>
+<div class="exampleInner"><pre>&lt;tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;head&gt;
+    &lt;layout&gt;
+      &lt;region xml:id="r1"&gt;
+        &lt;style tts:origin="10px 100px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="red"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+      &lt;/region&gt;
+      &lt;region xml:id="r2"&gt;
+        &lt;style tts:origin="10px 300px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="yellow"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+      &lt;/region&gt;
+    &lt;/layout&gt;
+  &lt;/head&gt;
+  &lt;body tts:extent="640px 480px" xml:id="b1"&gt;
+    &lt;div xml:id="d1" begin="0s" dur="2s"&gt;
+      &lt;p xml:id="p1" region="r1"&gt;Text 1&lt;/p&gt;
+      &lt;p xml:id="p2" region="r2"&gt;Text 2&lt;/p&gt;
+    &lt;/div&gt;
+    &lt;div xml:id="d2" begin="1s" dur="2s"&gt;
+      &lt;p xml:id="p3" region="r2"&gt;Text 3&lt;/p&gt;
+      &lt;p xml:id="p4" region="r1"&gt;Text 4&lt;/p&gt;
+    &lt;/div&gt;
+  &lt;/body&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>In the above document, the content hierarchy consists of two divisions, each
+containing two paragraphs. This content is targeted (selected into) one of two
+non-overlapping regions that are styled identically except for their position
+and their foreground colors, the latter of which is inherited by and applies to
+the (and, in this case, anonymous) spans reparented into the regions.</p><p>The following, first intermediate document shows the synchronic state at time
+interval [0,1), during which time only division <code>d1</code> is temporally active,
+and where paragraphs <code>p1</code> and <code>p2</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The intermediate documents shown below are not valid DFXP document instances,
+but rather, are representations of possible internal processing states used for
+didactic purposes.</p></div><table summary="HTML Table" id="region-mapping-example-1-i0" class="example"><caption>Example – Intermediate Document – [0s,1s)</caption><tbody><tr><td>
+<div class="exampleInner"><pre>&lt;tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;head&gt;
+    &lt;layout&gt;
+      &lt;region xml:id="r1"&gt;
+        &lt;style tts:origin="10px 100px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="red"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-1"&gt;
+          &lt;div xml:id="d1-1"&gt;
+            &lt;p xml:id="p1"&gt;Text 1&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+      &lt;region xml:id="r2"&gt;
+        &lt;style tts:origin="10px 300px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="yellow"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-2"&gt;
+          &lt;div xml:id="d1-2"&gt;
+            &lt;p xml:id="p2"&gt;Text 2&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+    &lt;/layout&gt;
+  &lt;/head&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>An XSL FO document instance produced by performing flow processing
+upon the first intermediate document is shown below.</p><table summary="HTML Table" id="region-mapping-example-1-f0" class="example"><caption>Example – XSL FO Document – [0s,1s)</caption><tbody><tr><td>
+<div class="exampleInner"><pre>&lt;fo:root xmlns:fo="http://www.w3.org/1999/XSL/Format"&gt;
+  &lt;fo:layout-master-set&gt;
+    &lt;fo:simple-page-master master-name="m1"
+    page-width="640px" page-height="480px"&gt;
+      &lt;fo:region-body/&gt;
+    &lt;/fo:simple-page-master&gt;
+  &lt;/fo:layout-master-set&gt;
+  &lt;fo:page-sequence master-reference="m1"&gt;
+    &lt;fo:flow flow-name="xsl-region-body"&gt;
+      &lt;!-- region (r1) --&gt;
+      &lt;fo:block-container id="r1" absolute-position="absolute"
+      left="10px" top="100px" width="620px" height="96px"
+      background-color="black" display-align="center"&gt;
+        &lt;!-- body (b1) --&gt;
+        &lt;fo:block id="b1-1"&gt;
+          &lt;!-- div (d1) --&gt;
+          &lt;fo:block id="d1-1"&gt;
+            &lt;!-- p (p1) --&gt;
+            &lt;fo:block id="p1" text-align="center"&gt;
+              &lt;fo:inline font-size="40px" font-weight="bold"
+              color="red"&gt;Text 1&lt;/fo:inline&gt;
+            &lt;/fo:block&gt;
+          &lt;/fo:block&gt;
+        &lt;/fo:block&gt;
+      &lt;/fo:block-container&gt;
+      &lt;!-- region (r2) --&gt;
+      &lt;fo:block-container id="r2" absolute-position="absolute"
+      left="10px" top="300px" width="620px" height="96px"
+      background-color="black" display-align="center"&gt;
+        &lt;!-- body (b1) --&gt;
+        &lt;fo:block id="b1-2"&gt;
+          &lt;!-- div (d1) --&gt;
+          &lt;fo:block id="d1-2"&gt;
+            &lt;!-- p (p2) --&gt;
+            &lt;fo:block id="p2" text-align="center"&gt;
+              &lt;fo:inline font-size="40px" font-weight="bold"
+              color="yellow"&gt;Text 2&lt;/fo:inline&gt;
+            &lt;/fo:block&gt;
+          &lt;/fo:block&gt;
+        &lt;/fo:block&gt;
+      &lt;/fo:block-container&gt;
+    &lt;/fo:flow&gt;
+  &lt;/fo:page-sequence&gt;
+&lt;/fo:root&gt;
+</pre></div>
+</td></tr></tbody></table><p>The following, second intermediate document shows the synchronic state at
+time interval [1,2), at which time both divisions <code>d1</code> and
+<code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
+<code>p4</code> (and their ancestors) are selected into region <code>r1</code>
+and paragraphs <code>p2</code> and <code>p3</code> (and their ancestors) are
+selected into region <code>r2</code>.</p><table summary="HTML Table" id="region-mapping-example-1-i1" class="example"><caption>Example – Intermediate Document – [1s,2s)</caption><tbody><tr><td>
+<div class="exampleInner"><pre>&lt;tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;head&gt;
+    &lt;layout&gt;
+      &lt;region xml:id="r1"&gt;
+        &lt;style tts:origin="10px 100px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="red"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-1"&gt;
+          &lt;div xml:id="d1-1"&gt;
+            &lt;p xml:id="p1"&gt;Text 1&lt;/p&gt;
+          &lt;/div&gt;
+          &lt;div xml:id="d2-1"&gt;
+            &lt;p xml:id="p4"&gt;Text 4&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+      &lt;region xml:id="r2"&gt;
+        &lt;style tts:origin="10px 300px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="yellow"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-2"&gt;
+          &lt;div xml:id="d1-2"&gt;
+            &lt;p xml:id="p2"&gt;Text 2&lt;/p&gt;
+          &lt;/div&gt;
+          &lt;div xml:id="d2-2"&gt;
+            &lt;p xml:id="p3"&gt;Text 3&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+    &lt;/layout&gt;
+  &lt;/head&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table><p>The following, third intermediate document shows the synchronic state at time
+interval [2,3), at which time only division <code>d2</code> is temporally active,
+and where paragraphs <code>p4</code> and <code>p3</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p><table summary="HTML Table" id="region-mapping-example-1-i2" class="example"><caption>Example – Intermediate Document – [2s,3s)</caption><tbody><tr><td>
+<div class="exampleInner"><pre>&lt;tt xml:lang="en" xmlns="http://www.w3.org/2006/10/ttaf1"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;head&gt;
+    &lt;layout&gt;
+      &lt;region xml:id="r1"&gt;
+        &lt;style tts:origin="10px 100px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="red"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-1"&gt;
+          &lt;div xml:id="d2-1"&gt;
+            &lt;p xml:id="p4"&gt;Text 4&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+      &lt;region xml:id="r2"&gt;
+        &lt;style tts:origin="10px 300px"/&gt;
+        &lt;style tts:extent="620px 96px"/&gt;
+        &lt;style tts:fontSize="40px"/&gt;
+        &lt;style tts:fontWeight="bold"/&gt;
+        &lt;style tts:backgroundColor="black"/&gt;
+        &lt;style tts:color="yellow"/&gt;
+        &lt;style tts:textAlign="center"/&gt;
+        &lt;style tts:displayAlign="center"/&gt;
+        &lt;body tts:extent="640px 480px" xml:id="b1-2"&gt;
+          &lt;div xml:id="d2-2"&gt;
+            &lt;p xml:id="p3"&gt;Text 3&lt;/p&gt;
+          &lt;/div&gt;
+        &lt;/body&gt;
+      &lt;/region&gt;
+    &lt;/layout&gt;
+  &lt;/head&gt;
+&lt;/tt&gt;
+</pre></div>
+</td></tr></tbody></table></div></div><div class="div2">
+<h3><a name="semantics-line-layout" id="semantics-line-layout"/>9.4 Line Layout</h3><p>The semantics of line layout, including line breaking, defined by 
+<a href="#xsl10">[XSL 1.0]</a> apply to the performance of the composition and layout of
+lines for presentation processing of a document instance on a visual medium.</p></div></div><div class="div1">
+<h2><a name="timing" id="timing"/>10 Timing</h2><p>This section specifies the <em>timing</em> matter of the core
+vocabulary catalog, where
+timing is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the temporal presentation of
+that content.</p><div class="div2">
+<h3><a name="timing-element-vocabulary" id="timing-element-vocabulary"/>10.1 Element Vocabulary</h3><p>No timing related element vocabulary is defined for use in the core
+vocabulary catalog.</p></div><div class="div2">
+<h3><a name="timing-attribute-vocabulary" id="timing-attribute-vocabulary"/>10.2 Attribute Vocabulary</h3><p>This section defines the following basic timing attributes for use with timed elements:</p><ul><li><p><a href="#timing-attribute-begin"><b>10.2.1 begin</b></a></p></li><li><p><a href="#timing-attribute-end"><b>10.2.2 end</b></a></p></li><li><p><a href="#timing-attribute-dur"><b>10.2.3 dur</b></a></p></li></ul><p>In addition, this section defines the <a href="#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a> attribute for use with timed elements
+that serve simultaneously as timing containers.</p><div class="div3">
+<h4><a name="timing-attribute-begin" id="timing-attribute-begin"/>10.2.1 begin</h4><p>The <code>begin</code> attribute is used to specify the begin
+point of a temporal interval associated with a timed element. If
+specified, the value of a <code>begin</code> attribute must adhere to
+a &lt;timeExpression&gt; specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</p><p>The begin point of a temporal interval is included in the
+interval; i.e., the interval is left-wise closed.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>begin</code> attribute are based upon that defined
+by <a href="#smil21">[SMIL 2.1]</a>, § 10.3.1.</p></div></div><div class="div3">
+<h4><a name="timing-attribute-end" id="timing-attribute-end"/>10.2.2 end</h4><p>The <code>end</code> attribute is used to specify the ending point
+of a temporal interval associated with a timed element. If
+specified, the value of an <code>end</code> attribute must adhere to a
+&lt;timeExpression&gt; specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</p><p>The ending point of a temporal interval is not included in the
+interval; i.e., the interval is right-wise open.</p><p>The presentation effects of a non-empty active
+temporal interval include the frame immediately prior to the frame
+(or tick) equal to or immediately following the time specified by the ending
+point, but do not extend into this latter frame (or tick).</p><div class="note"><p class="prefix"><b>Note:</b></p><p>For example, if an active interval is [10s,10.33333s), and the
+frame rate is 30 frames per second, then the presentation effects of the interval
+are limited to frames 300 through 309 only (assuming that 0s corresponds
+with frame 0). The same holds if the active interval is specified
+as [300f,310f).</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>end</code> attribute are based upon that defined
+by <a href="#smil21">[SMIL 2.1]</a>, § 10.3.1.</p></div></div><div class="div3">
+<h4><a name="timing-attribute-dur" id="timing-attribute-dur"/>10.2.3 dur</h4><p>The <code>dur</code> attribute is used to specify the duration of a
+temporal interval associated with a timed element. If specified,
+the value of a <code>dur</code> attribute must adhere to a
+&lt;timeExpression&gt; specification as defined by <a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a>.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>dur</code> attribute are based upon that defined
+by <a href="#smil21">[SMIL 2.1]</a>, § 10.3.1.</p></div></div><div class="div3">
+<h4><a name="timing-attribute-timeContainer" id="timing-attribute-timeContainer"/>10.2.4 timeContainer</h4><p>The <code>timeContainer</code> attribute is used to specify a local temporal
+context by means of which timed child elements are temporally situated.</p><p>If specified, the value of a <code>timeContainer</code> attribute must be one
+of the following:</p><ul><li><p><code>par</code></p></li><li><p><code>seq</code></p></li></ul><p>If the time container semantics of an element instance is <code>par</code>,
+then the temporal intervals of child elements are considered to apply in
+parallel, i.e., simultaneously in time. Furthermore, the specification of
+the time interval of each child element is considered to be relative to the temporal
+interval of the container element instance.</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 <code>timeContainer</code> attribute is not specified on an element that
+has time container semantics, then <code>par</code> time container semantics must apply.</p><p>Time container semantics applies only to the following element types:</p><ul><li><p><a href="#document-structure-vocabulary-body"><code>body</code></a></p></li><li><p><a href="#content-vocabulary-div"><code>div</code></a></p></li><li><p><a href="#content-vocabulary-p"><code>p</code></a></p></li><li><p><a href="#layout-vocabulary-region"><code>region</code></a></p></li><li><p><a href="#content-vocabulary-span"><code>span</code></a></p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of parallel and sequential time
+containment are based upon that defined by <a href="#smil21">[SMIL 2.1]</a>, §
+10.3.2.</p></div></div></div><div class="div2">
+<h3><a name="timing-time-value-expressions" id="timing-time-value-expressions"/>10.3 Time Value Expressions</h3><p>Timing attribute values include the use of the following expressions:</p><ul><li><p><a href="#timing-value-timeExpression"><b>10.3.1 &lt;timeExpression&gt;</b></a></p></li></ul><div class="div3">
+<h4><a name="timing-value-timeExpression" id="timing-value-timeExpression"/>10.3.1 &lt;timeExpression&gt;</h4><p>A &lt;timeExpression&gt; is used to specify a coordinate along
+some time base, where the applicable time base is determined by the
+<code>ttp:timeBase</code> parameter.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>See <a href="#parameter-attribute-timeBase"><b>6.2.11 ttp:timeBase</b></a>, <a href="#parameter-attribute-frameRate"><b>6.2.3 ttp:frameRate</b></a>, <a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a>, and <a href="#parameter-attribute-tickRate"><b>6.2.10 ttp:tickRate</b></a> for further information on
+explicit specification of time base, frame rate, sub-frame rate, and
+tick rate.</p></div><table summary="HTML Table" id="timeExpression-syntax" class="syntax"><caption>Syntax Representation – &lt;timeExpression&gt;</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;timeExpression&gt;
+  : clock-time
+  | offset-time
+
+clock-time
+  : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
+
+offset-time
+  : time-count fraction? metric
+
+hours
+  : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
+  | <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+minutes | seconds
+  : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
+
+frames
+  : <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>
+  | <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a> <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+sub-frames
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+fraction
+  : "." <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+time-count
+  : <a href="#style-value-digit">&lt;digit&gt;</a>+
+
+metric
+  : "h"                 // hours
+  | "m"                 // minutes
+  | "s"                 // seconds
+  | "ms"                // milliseconds
+  | "f"                 // frames
+  | "t"                 // ticks
+</pre></div>
+</td></tr></tbody></table><p>If a &lt;timeExpression&gt; is expressed in terms of a
+<em>clock-time</em>, then leading zeroes are used when expressing hours,
+minutes, seconds, and frames less than 10. Minutes are constrained to the range
+[0…59], while seconds are constrained to [0…60], where the value 60
+applies only to leap seconds.</p><p>If a &lt;timeExpression&gt; is expressed in terms of a
+<em>clock-time</em> and a <em>frames</em> term is specified,
+then the value of this term must be constrained to the interval
+[0…<em>F-1</em>], where <em>F</em> is the frame rate
+determined by the the <code>ttp:frameRate</code> parameter as defined
+by <a href="#parameter-attribute-frameRate"><b>6.2.3 ttp:frameRate</b></a>.</p><p>If a &lt;timeExpression&gt; is expressed in terms of a
+<em>clock-time</em> and a <em>sub-frames</em> term is specified,
+then the value of this term must be constrained to the interval
+[0…<em>S-1</em>], where <em>S</em> is the sub-frame rate
+determined by the the <code>ttp:subFrameRate</code> parameter as defined
+by <a href="#parameter-attribute-subFrameRate"><b>6.2.9 ttp:subFrameRate</b></a>.</p></div></div><div class="div2">
+<h3><a name="timing-time-intervals" id="timing-time-intervals"/>10.4 Time Intervals</h3><p>The semantics of time containment, durations, and intervals defined by
+<a href="#smil21">[SMIL 2.1]</a> apply to the interpretation of like-named timed elements and timing
+vocabulary defined by this specification, given the following
+constraints:</p><ul><li><p>The implicit duration of <code>body</code>, <code>div</code>, <code>p</code>,
+and <code>span</code> (whether anonyous or not) is defined as follows: if
+the element's parent time container is a parallel time container, then
+the implicit duration is equivalent to the <code>indefinite</code>
+duration value as defined by <a href="#smil21">[SMIL 2.1]</a>; if the element's
+parent time container is a sequential time container, then the
+implicit duration is equivalent to zero.</p></li><li><p>The implicit duration of the <code>region</code> element is defined to
+be equivalent to the <code>indefinite</code>
+duration value as defined by <a href="#smil21">[SMIL 2.1]</a>.</p></li><li><p>If the governing time mode is <code>media</code> or
+<code>smpte</code> with mode <code>continuous</code>, then time
+expressions must be interpreted as equivalent to offset clock values
+related to the associated media time line.</p></li><li><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 <a href="#smil21">[SMIL 2.1]</a>.</p></li><li><p>If the governing time mode is <code>clock</code>, then time
+expressions must be interpreted as equivalent to wallclock time
+expressions in <a href="#smil21">[SMIL 2.1]</a>, where the applicable wallclock
+used is determined by the clock mode parameter.</p></li></ul></div></div><div class="div1">
+<h2><a name="animation" id="animation"/>11 Animation</h2><p>This section specifies the <em>animation</em> matter of the
+core vocabulary catalog, where
+animation is to be understood as a separable layer of information that combines
+timing and styling in order to denote authorial intention about (temporally) dynamic
+styling of content.</p><div class="div2">
+<h3><a name="animation-element-vocabulary" id="animation-element-vocabulary"/>11.1 Element Vocabulary</h3><p>The following elements specify the structure and principal animation aspects of a
+document instance:</p><ul><li><p><a href="#animation-vocabulary-set"><b>11.1.1 set</b></a></p></li></ul><div class="div3">
+<h4><a name="animation-vocabulary-set" id="animation-vocabulary-set"/>11.1.1 set</h4><p>The <code>set</code> element is used as a child element of a content
+element in order to express a discrete change of some style parameter value
+that applies over some time interval.</p><p>The <code>set</code> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group.</p><table summary="HTML Table" id="elt-syntax-set" class="syntax"><caption>XML Representation – Element Information Item: set</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;set
+  <a href="#timing-attribute-begin">begin</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-dur">dur</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#timing-attribute-end">end</a> = <a href="#timing-value-timeExpression">&lt;timeExpression&gt;</a>
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>a single attribute in TT Style or TT Style Extension namespace</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#element-vocab-group-table">Metadata.class</a>*
+&lt;/set&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The use of multiple <code>set</code> element children may be used to effect fade and
+position transitions.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of the <code>set</code> element
+are based upon that defined by <a href="#smil21">[SMIL 2.1]</a>,
+§ 3.5.2.</p></div></div></div><div class="div2">
+<h3><a name="animation-attribute-vocabulary" id="animation-attribute-vocabulary"/>11.2 Attribute Vocabulary</h3><p>No animation related attribute vocabulary is defined for use in the
+core vocabulary catalog.</p></div></div><div class="div1">
+<h2><a name="metadata" id="metadata"/>12 Metadata</h2><p>This section specifies the <em>metadata</em> matter of the core
+vocabulary catalog, where
+metadata is to be understood as a separable layer of information that applies to
+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 TT AF content.</p><div class="div2">
+<h3><a name="metadata-element-vocabulary" id="metadata-element-vocabulary"/>12.1 Element Vocabulary</h3><p>The <a href="#metadata-vocabulary-metadata"><b>12.1.1 metadata</b></a> element serves as
+a generic container element for grouping metadata information.</p><p>In addition, the following elements, all defined in the TT Metadata Namespace,
+provide standard representations for common metadata that is expected to be commonly
+used in a document instances:
+</p><ul><li><p><a href="#metadata-vocabulary-title"><b>12.1.2 ttm:title</b></a></p></li><li><p><a href="#metadata-vocabulary-desc"><b>12.1.3 ttm:desc</b></a></p></li><li><p><a href="#metadata-vocabulary-copyright"><b>12.1.4 ttm:copyright</b></a></p></li><li><p><a href="#metadata-vocabulary-agent"><b>12.1.5 ttm:agent</b></a></p></li><li><p><a href="#metadata-vocabulary-name"><b>12.1.6 ttm:name</b></a></p></li><li><p><a href="#metadata-vocabulary-actor"><b>12.1.7 ttm:actor</b></a></p></li></ul><div class="div3">
+<h4><a name="metadata-vocabulary-metadata" id="metadata-vocabulary-metadata"/>12.1.1 metadata</h4><p>The <code>metadata</code> element functions as a generic container for metadata
+information.</p><p>Metadata information may be expressed by a <code>metadata</code> element
+in one of two (non-mutually exclusive) manners: (1) by specifying one
+or more metadata attributes on the element, and (2) by specifying one
+or more <code>metadata</code> child elements that express metadata. Both types of metadata
+are referred to in this document as <em>metadata items</em>.</p><table summary="HTML Table" id="elt-syntax-metadata" class="syntax"><caption>XML Representation – Element Information Item: metadata</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;metadata
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute in TT Metadata namespace ...</em>}
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> {<em>any element not in TT namespace</em>}*
+&lt;/metadata&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>The meaning of a specific metadata item must be evaluated in the
+context of where it appears. The core vocabulary catalog permits an arbitrary number of
+<code>metadata</code> element children of any non-empty element type except
+for the <code>body</code> element. See specific element vocabulary
+definitions for any constraints that apply to such usage.</p></div></div><div class="div3">
+<h4><a name="metadata-vocabulary-title" id="metadata-vocabulary-title"/>12.1.2 ttm:title</h4><p>The <code>ttm:title</code> element is used to express a human-readable title of
+a specific element instance.</p><table summary="HTML Table" id="elt-syntax-metadata-title" class="syntax"><caption>XML Representation – Element Information Item: ttm:title</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:title
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> #PCDATA
+&lt;/ttm:title&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>No specific use of the <code>ttm:title</code> element is defined by this specification.</p></div></div><div class="div3">
+<h4><a name="metadata-vocabulary-desc" id="metadata-vocabulary-desc"/>12.1.3 ttm:desc</h4><p>The <code>ttm:desc</code> element is used to express a human-readable description of
+a specific element instance.</p><table summary="HTML Table" id="elt-syntax-metadata-desc" class="syntax"><caption>XML Representation – Element Information Item: ttm:desc</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:desc
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> #PCDATA
+&lt;/ttm:desc&gt;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>No specific use of the <code>ttm:desc</code> element is defined by this specification.</p></div></div><div class="div3">
+<h4><a name="metadata-vocabulary-copyright" id="metadata-vocabulary-copyright"/>12.1.4 ttm:copyright</h4><p>The <code>ttm:copyright</code> element is used to express a human-readable copyright that
+applies to some scoping level.</p><p>A copyright statement that applies to a document as a whole should appear as a
+child of the <code>head</code> element.</p><table summary="HTML Table" id="elt-syntax-metadata-copyright" class="syntax"><caption>XML Representation – Element Information Item: ttm:copyright</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:copyright
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> #PCDATA
+&lt;/ttm:copyright&gt;
+&l