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;
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>No specific use of the <code>ttm:copyright</code> element is defined by this specification.</p></div></div><div class="div3">
+<h4><a name="metadata-vocabulary-agent" id="metadata-vocabulary-agent"/>12.1.5 ttm:agent</h4><p>The <code>ttm:agent</code> element is used to define an agent for the purpose of associating
+content information with an agent who is involved in the production or expression of that content.</p><p>The <code>ttm:agent</code> element accepts as its children zero or more <code>ttm:name</code> elements followed by
+zero or one <code>ttm:actor</code> element.</p><p>At least one <code>ttm:name</code> element child should be specified that expresses a name for the
+agent, whether it be the name of a person, character, group, or organization.</p><table summary="HTML Table" id="elt-syntax-metadata-agent" class="syntax"><caption>XML Representation – Element Information Item: ttm:agent</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:agent
+  <span class="reqattr">type</span> = (<em>person</em>|<em>character</em>|<em>group</em>|<em>organization</em>|<em>other</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> <a href="#metadata-vocabulary-name">ttm:name</a>*, <a href="#metadata-vocabulary-actor">ttm:actor</a>?
+&lt;/ttm:agent&gt;
+</pre></div>
+</td></tr></tbody></table><p>A <code>type</code> attribute must be specified on each <code>ttm:agent</code> element, and,
+if specified, must have one of the following values:</p><ul><li><p><code>person</code></p></li><li><p><code>character</code></p></li><li><p><code>group</code></p></li><li><p><code>organization</code></p></li><li><p><code>other</code></p></li></ul><p>If the value of the <code>type</code> attribute is <code>character</code>, then the
+<code>ttm:agent</code> element instance should specify a <code>ttm:actor</code> child that
+specifies the agent that plays the role of the actor.</p><p>A <code>ttm:agent</code> metadata item is considered to be significant only
+when specified as a child of the <code>head</code> element or as a child of a
+<code>metadata</code> element child of the <code>head</code> element.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>A <code>ttm:agent</code> element instance is typically referenced using a <code>ttm:agent</code>
+attribute on a content element.</p></div><div class="note"><p class="prefix"><b>Note:</b></p><p>If a character agent is played by multiple actors, then multiple character
+agents may be specified (and referenced) wherein different definitions of the
+character specify different actors.</p></div></div><div class="div3">
+<h4><a name="metadata-vocabulary-name" id="metadata-vocabulary-name"/>12.1.6 ttm:name</h4><p>The <code>ttm:name</code> element is used to specify a name of a person, character,
+group, or organization.</p><table summary="HTML Table" id="elt-syntax-metadata-name" class="syntax"><caption>XML Representation – Element Information Item: ttm:name</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:name
+  <span class="reqattr">type</span> = (<em>full</em>|<em>family</em>|<em>given</em>|<em>alias</em>|<em>other</em>)
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> #PCDATA
+&lt;/ttm:name&gt;
+</pre></div>
+</td></tr></tbody></table><p>A <code>type</code> attribute must be specified on each <code>ttm:name</code> element, and,
+if specified, must have one of the following values:</p><ul><li><p><code>full</code></p></li><li><p><code>family</code></p></li><li><p><code>given</code></p></li><li><p><code>alias</code></p></li><li><p><code>other</code></p></li></ul><p>The relationship between the type of a name and the syntactic expression of the name
+is not defined by this specification.</p></div><div class="div3">
+<h4><a name="metadata-vocabulary-actor" id="metadata-vocabulary-actor"/>12.1.7 ttm:actor</h4><p>The <code>ttm:actor</code> element is used to link the definition of a (role-based) character
+agent with another agent that portrays the character.</p><table summary="HTML Table" id="elt-syntax-metadata-actor" class="syntax"><caption>XML Representation – Element Information Item: ttm:actor</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+&lt;ttm:actor
+  <span class="reqattr">agent</span> = IDREF
+  <a href="#content-attribute-id">xml:id</a> = ID
+  <a href="#content-attribute-lang">xml:lang</a> = string
+  <a href="#content-attribute-space">xml:space</a> = (<em>default</em>|<em>preserve</em>)
+  {<em>any attribute not in default or any TT namespace ...</em>}&gt;
+  <em>Content:</em> EMPTY
+&lt;/ttm:actor&gt;
+</pre></div>
+</td></tr></tbody></table><p>The <code>agent</code> attribute of a <code>ttm:actor</code> element must
+reference a <code>ttm:agent</code> element that denotes the person,
+group, or organization acting the part of a character.</p></div></div><div class="div2">
+<h3><a name="metadata-attribute-vocabulary" id="metadata-attribute-vocabulary"/>12.2 Attribute Vocabulary</h3><p>This section specifies the following attributes in the TT Metadata Namespace
+for use with the <code>metadata</code> element and with certain content elements:</p><ul><li><p><a href="#metadata-attribute-agent"><b>12.2.1 ttm:agent</b></a></p></li><li><p><a href="#metadata-attribute-role"><b>12.2.2 ttm:role</b></a></p></li></ul><div class="note"><p class="prefix"><b>Note:</b></p><p>Only certain metadata item attributes may be used with content elements. See
+the definitions of content elements to determine permissible usage.</p></div><div class="div3">
+<h4><a name="metadata-attribute-agent" id="metadata-attribute-agent"/>12.2.1 ttm:agent</h4><p>The <code>ttm:agent</code> attribute takes an <code>IDREFS</code>
+value, and is used with certain content elements to designate the agent that performs
+or is involved in the performance of the content.</p><p>If specified, a <code>ttm:agent</code> attribute must reference a <code>ttm:agent</code> element
+instance that appears as a descendent of the same document instance as
+that of the referring element.</p></div><div class="div3">
+<h4><a name="metadata-attribute-role" id="metadata-attribute-role"/>12.2.2 ttm:role</h4><p>The <code>ttm:role</code> attribute may be used by a content author
+to express a role, function, or characteristic of some content element that is so labeled.</p><p>If specified, the value of this attribute must adhere to the following syntax:</p><table summary="HTML Table" id="metadata-attribute-role-syntax" class="syntax"><caption>Syntax Representation – ttm:role</caption><tbody><tr><td>
+<div class="exampleInner"><pre>
+ttm:role
+  : "action"
+  | "caption"
+  | "dialog"
+  | "expletive"
+  | "kinesic"
+  | "lyrics"
+  | "music"
+  | "narration"
+  | "quality"
+  | "sound"
+  | "source"
+  | "suppressed"
+  | "reproduction"
+  | "thought"
+  | "title"
+  | "transcription"
+  | extension-role
+
+extension-role
+  : "x-" token-char+
+
+token-char
+  : { XML NameChar }    // XML 1.1 Production [4a]
+</pre></div>
+</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>All values of <code>ttm:role</code> that do not start with the prefix
+<code>x-</code> are reserved for future standardization.</p></div></div></div></div></div><div class="back"><div class="div1">
+<h2><a name="reduced-infoset" id="reduced-infoset"/>A Reduced XML Infoset</h2><p><em>This appendix is normative.</em></p><p>For the purposes of this specification, a Reduced XML Infoset is
+an XML Information Set <a href="#infoset">[XML InfoSet]</a> that consists of only the following information items
+and information item properties:</p><div class="div2">
+<h3><a name="reduced-infoset-document" id="reduced-infoset-document"/>A.1 Document Information Item</h3><ul><li><p><code>[document element]</code></p></li></ul></div><div class="div2">
+<h3><a name="reduced-infoset-element" id="reduced-infoset-element"/>A.2 Element Information Item</h3><ul><li><p><code>[namespace URI]</code></p></li><li><p><code>[local name]</code></p></li><li><p><code>[children]</code></p></li><li><p><code>[attributes]</code></p></li></ul><p>Child information items <code>[children]</code> are reduced to 
+only element and character information items.</p></div><div class="div2">
+<h3><a name="reduced-infoset-attribute" id="reduced-infoset-attribute"/>A.3 Attribute Information Item</h3><ul><li><p><code>[namespace URI]</code></p></li><li><p><code>[local name]</code></p></li><li><p><code>[normalized value]</code></p></li></ul></div><div class="div2">
+<h3><a name="reduced-infoset-character" id="reduced-infoset-character"/>A.4 Character Information Item</h3><ul><li><p><code>[character code]</code></p></li></ul><p>Contiguous character information items are not required to be represented distinctly,
+but may be aggregated (chunked) into a sequence of character codes (i.e., a character string).</p></div></div><div class="div1">
+<h2><a name="dynamicFlowModel" id="dynamicFlowModel"/>B Dynamic Flow Processing Model</h2><p><em>This appendix is normative.</em></p><p>This appendix specifies a dynamic flow processing model that is
+used to present content in a region whose <code>tts:overflow</code>
+property is assigned a value of <code>scroll</code>.</p><div class="div2">
+<h3><a name="dynamicFlowIntroduction" id="dynamicFlowIntroduction"/>B.1 Introduction</h3><p><em>This sub-section is non-normative.</em></p><p>Dynamic flow provides a mechanism by means of which content may be
+flowed through a presentation region over time where the rate of
+presentation is dynamically determined by a presentation processor
+based upon the region's extent, the textual content to be presented in
+the region, the formatting styles applied to this content, and a set
+of parameters that control in-flow and out-flow rates of content.</p><p>It is expected that this mechanism will be used by authors in a
+variety of circumstances in order to specify behavior that would
+otherwise be impossible or impractical to pre-compute at authoring time, since, for
+example, a region's absolute size or the font metrics used to present
+content may not be known at authoring time. In certain real-time
+streaming contexts, even the content is not known at authoring time,
+but is only known at time of streaming.</p><p>In describing dynamic flow, the flow process is logically divided
+into three types of flow operations:</p><ul><li><p><em>fill into</em> – causes new content
+to consume extent in the designated presentation region;</p></li><li><p><em>reflow within</em> – causes content
+presently consuming extent to be moved, possibly entailing new line break
+positions, within its designated
+presentation region;</p></li><li><p><em>clear out</em> – causes content
+presently consuming extent in the designated presentation region to no
+longer consume extent.</p></li></ul><p>Each region subject to dynamic flow processing may be modeled in terms of:</p><ol class="enumar"><li><p>the region with a definite extent, into which content is to be
+flowed;</p></li><li><p>a content buffer consisting of a sequence of content blocks,
+each of which consists of a sequence of content inlines (spans), where
+each block and inline has a computed style set, and where an inline
+has a (possibly empty) sequence of characters that express the textual
+content of the inline;</p></li><li><p>two independent flow operation single-shot timers: a fill timer and a clear
+timer;</p></li><li><p>a set of state parameters that includes:</p><ol class="enumla"><li><p><em>fill unit</em>, as specified by the <code>flowUnit</code> argument
+of the <code>in()</code> flow function;</p></li><li><p><em>fill style</em>, as specified by the <code>flowStyle</code> argument
+of the <code>in()</code> flow function;</p></li><li><p><em>fill transition</em>, as specified by the <code>flowTransition</code> argument
+of the <code>in()</code> flow function;</p></li><li><p><em>fill transition style</em>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>in()</code> flow function;</p></li><li><p><em>reflow unit</em>, as specified by the <code>flowUnit</code> argument
+of the <code>within()</code> flow function;</p></li><li><p><em>reflow style</em>, as specified by the <code>flowStyle</code> argument
+of the <code>within()</code> flow function;</p></li><li><p><em>reflow transition</em>, as specified by the <code>flowTransition</code> argument
+of the <code>within()</code> flow function;</p></li><li><p><em>reflow transition style</em>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>within()</code> flow function;</p></li><li><p><em>clear unit</em>, as specified by the <code>flowUnit</code> argument
+of the <code>out()</code> flow function;</p></li><li><p><em>clear style</em>, as specified by the <code>flowStyle</code> argument
+of the <code>out()</code> flow function;</p></li><li><p><em>clear transition</em>, as specified by the <code>flowTransition</code> argument
+of the <code>out()</code> flow function;</p></li><li><p><em>clear transition style</em>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>out()</code> flow function;</p></li><li><p><em>fill interval</em>, as specified by the <code>intra()</code>
+flow interval function;</p></li><li><p><em>clear interval</em>, as specified by the <code>inter()</code>
+flow interval function;</p></li><li><p><em>computed fill interval, as determined by the flow
+interval timing calculation below;</em></p></li><li><p><em>computed clear interval, as determined by the flow
+interval timing calculation below;</em></p></li></ol></li></ol><p>Except for the computed fill and clear intervals, the flow interval
+state parameters enumerated above are static and specified at authoring time.</p></div><div class="div2">
+<h3><a name="dynamicFlowEvents" id="dynamicFlowEvents"/>B.2 Flow Buffer</h3><p>Each region which is assigned a <code>tts:overflow</code> property
+with the value <code>scroll</code> is associated with a <em>flow
+buffer</em>, whose implementation is not defined by this
+specification.</p><p>The content of a flow buffer is defined to be equivalent (in form) to the
+content of an <code>fo:block-container</code> element produced by
+<a href="#semantics-region-layout-step-2"><b>9.3.2 Synchronic Flow Processing</b></a>, and represents
+content that is awaiting, but has not yet been flowed into (made
+visible in) the
+presentation region with which the flow buffer is associated.</p><p>The temporal content of a flow buffer is related to the performance
+of <a href="#semantics-region-layout"><b>9.3 Region Layout and Presentation</b></a> as follows:</p><ol class="enumar"><li><p>At the time a dynamically flowed presentation region becomes
+temporally active, its flow buffer is reset to the empty state;</p></li><li><p>If times <code>T<sub>k</sub></code> and
+<code>T<sub>k+1</sub></code> are two immediately adjacent time
+coordinates at which synchronic region construction occurs, with
+<code>T<sub>k</sub>≤T<sub>k+1</sub></code>, then compute the
+difference between the content produced for use in the region between 
+time <code>T<sub>k</sub></code> and time <code>T<sub>k+1</sub></code>,
+characterizing the difference as one of the following:</p><ol class="enumla"><li><p>no difference present;</p></li><li><p>difference present, but only before the logical content
+position that corresponds with the most logically prior content presently
+visible in the region;</p></li><li><p>difference present, but only between the logical content
+positions that correspond with the most logically prior and subsequent
+content presently visible in the region;</p></li><li><p>difference present, but only after the logical content
+position that corresponds with the most logically subsequent content presently
+visible in the region;</p></li><li><p>difference present, but not limited to before, between, or after
+the positions that correspond with the most logically prior
+and subsequent content presently visible in the region;</p></li></ol></li><li><p>If any one of the conditions 2a, 2b, and 2c applies, then do not
+change the flow buffer.</p></li><li><p>If condition 2d applies, then instantaneously replace the
+content of the flow buffer with the new content (in part or in whole) that corresponds with
+time <code>T<sub>k+1</sub></code> such that the position of the content that
+corresponds with the start of the flow buffer does not change with
+respect to the corresponding position of the previous content.</p></li><li><p>If condition 2e applies, then subdivide the new content that
+corresponds with time <code>T<sub>k+1</sub></code> into two parts: (1)
+that part that wholly precedes the position that corresponds with the
+most logically subsequent content presently visible in the region, and
+(2) that part that corresponds with or wholly follows the position
+that corresponds with the most logically subsequent content presently
+visible in the region, then ignore the first part and process the second part 
+in the same manner as if condition 2d had originally applied.</p></li><li><p>If after performing the above steps the flow buffer is
+non-empty, then perform the following steps:</p><ol class="enumla"><li><p>If using automatic flow interval timing, then re-perform the process
+described in <a href="#dynamicFlowIntervalTimingCalculation"><b>B.3 Flow Interval Timing Calculation</b></a>.</p></li><li><p>If the fill timer is not active, then restart the
+timer.</p></li></ol></li></ol></div><div class="div2">
+<h3><a name="dynamicFlowIntervalTimingCalculation" id="dynamicFlowIntervalTimingCalculation"/>B.3 Flow Interval Timing Calculation</h3><p>Flow interval timing is either statically specified at authoring
+time or is dependent upon the content of the flow buffer or the
+presentation region or both, in which case timing is recomputed
+dynamically upon changes to the content of the flow buffer or the
+presentation region or both.</p><div class="div3">
+<h4><a name="flowIntervalFillTiming" id="flowIntervalFillTiming"/>B.3.1 Computed Fill Timing Interval</h4><p>The computed fill timing interval is determined as follows:</p><ol class="enumar"><li><p>If the value of the <em>fill interval</em> parameter is a
+definite duration, then use this duration as the computed fill
+interval;</p></li><li><p>otherwise, if the value of the <em>fill interval</em> parameter is a
+definite rate, then the computed fill interval is equal to the number of fill units currently
+available in the <em>flow buffer</em> divided by specified rate
+(in fill units per second);</p></li><li><p>otherwise, if the value of the <em>fill interval</em> is
+<code>auto</code>, then the computed fill interval is equal to the
+difference between the time coordinate associated with the most
+temporally prior beginning point of an active duration of some
+content unit present in the flow buffer and the most temporally
+subsequent ending point of an active duration of some content unit
+present in the flow buffer divided by the number of fill units
+currently available in the flow buffer.</p></li></ol></div><div class="div3">
+<h4><a name="flowIntervalClearTiming" id="flowIntervalClearTiming"/>B.3.2 Computed Clear Timing Interval</h4><p>The computed clear timing interval is determined as follows:</p><ol class="enumar"><li><p>If the value of the <em>clear interval</em> parameter is a
+definite duration, then use this duration as the computed clear
+interval;</p></li><li><p>otherwise, if the value of the <em>clear interval</em> parameter is a
+definite rate, then the computed clear interval is equal to the number of clear units currently
+available in the <em>presentation region</em> divided by specified rate
+(in clear units per second);</p></li><li><p>otherwise, if the value of the <em>clear interval</em> is
+<code>auto</code>, then the computed clear interval is equal to the
+difference between the time coordinate associated with the most
+temporally prior beginning point of an active duration of some
+content unit present in the presentation region and the most temporally
+subsequent ending point of an active duration of some content unit
+present in the presentation region divided by the number of clear units
+currently available in the presentation region.</p></li></ol></div></div><div class="div2">
+<h3><a name="dynamicFlowOperations" id="dynamicFlowOperations"/>B.4 Flow Operations</h3><p>Flow operations perform the filling, reflowing, and clearing of
+formatted content into, within, and from a presentation undergoing dynamic flow processing.</p><div class="div3">
+<h4><a name="flowOperationFill" id="flowOperationFill"/>B.4.1 Fill Operation</h4><p>A <em>fill operation</em> causes the following ordered steps
+to be performed:</p><ol class="enumar"><li><p>remove sufficient content from the beginning of the
+<em>flow buffer</em> to constitute a <em>fill
+unit</em>;</p></li><li><p>format the content removed from the
+<em>flow buffer</em> in the previous step in order to
+create a sequence of glyph areas or a sequence of (full or
+partial measure) line areas each containing a sequence of glyph
+areas;</p></li><li><p>append the sequence of areas produced in the previous step to
+the sequence of areas currently associated with the presentation
+region, where new glyph areas are appended to the current line area
+and new line areas are appended to the sequence of line areas;</p></li><li><p>cause the newly appended areas to be made visible according
+to the <em>fill style</em>, <em>fill transition</em>, and <em>fill transition
+style</em> state parameters in force.</p></li></ol></div><div class="div3">
+<h4><a name="flowOperationReflow" id="flowOperationReflow"/>B.4.2 Reflow Operation</h4><p>A <em>reflow operation</em> causes the following ordered steps
+to be performed:</p><ol class="enumar"><li><p>translate glyph areas or (full or partial measure) line areas
+that correspond with a <em>reflow unit</em> of formatted content
+that follows (in inline or block progression dimension order) the space
+cleared by the immediately preceding <em>clear operation</em> to a
+new position such that the glyph area that corresponds to the most
+logically prior content is aligned with the before and start edges of
+the presentation region, and where the translation adheres to
+the <em>reflow style</em>, <em>reflow transition</em>, and <em>reflow transition
+style</em> state parameters in force.</p></li></ol></div><div class="div3">
+<h4><a name="flowOperationClear" id="flowOperationClear"/>B.4.3 Clear Operation</h4><p>A <em>clear operation</em> causes the following ordered steps
+to be performed:</p><ol class="enumar"><li><p>remove glyph areas or (full or partial measure) line areas
+that correspond with a <em>clear unit</em> of formatted content
+from the starting edge or the before edge of the presentation region
+in inline or block progression direction, respectively, applying
+the <em>clear style</em>, <em>clear transition</em>, and <em>clear transition
+style</em> state parameters in force.</p></li></ol></div></div><div class="div2">
+<h3><a name="dynamicFlowTimers" id="dynamicFlowTimers"/>B.5 Flow Timers</h3><p>Flow timers control the filling and clearing of formatted content
+from a presentation undergoing dynamic flow processing.</p><div class="note"><p class="prefix"><b>Note:</b></p><p>The semantics of flow timer initiated processing expressed
+below reflects the intent that clear and reflow
+operations or clear, reflow, and flow operations are performed
+simultaneously if the (logically, but not necesesarily temporally)
+prior operation would create sufficient space in the presentation
+region to accept the subsequent unit of formatted content.</p></div><div class="div3">
+<h4><a name="flowTimerFill" id="flowTimerFill"/>B.5.1 Fill Timer</h4><p>The fill timer is used to pace the addition of formatted content to the
+presentation region undergoing dynamic flow processing.</p><p>Each time the fill timer expires, the following ordered steps are
+performed:</p><ol class="enumar"><li><p>
+If the <em>fill buffer</em> is non-empty and contains sufficient
+content to compose a <em>fill unit</em> and if
+sufficient space is present in the presentation region to accept a
+unit of formatted content that corresponds to a <em>fill unit</em>, then
+perform the processing described in <a href="#flowOperationFill"><b>B.4.1 Fill Operation</b></a>, where, if the fill timer was expired or
+simulated as a result of performing a prior reflow operation, this operation commences at the same
+time as the reflow operation;</p></li><li><p>If the <em>fill buffer</em> is non-empty, then
+reset the fill timer to the current value of the computed fill
+interval;</p></li><li><p>
+If the <em>presentation region</em> is non-empty and if the clear
+timer is not active, then
+reset the clear timer to the current value of the computed clear
+interval.</p></li></ol></div><div class="div3">
+<h4><a name="flowTimerClear" id="flowTimerClear"/>B.5.2 Clear Timer</h4><p>The clear timer is used to pace the removal of formatted content from the
+presentation region undergoing dynamic flow processing.</p><ol class="enumar"><li><p>
+If the <em>presentation region</em> is non-empty and contains sufficient
+formatted content to compose a <em>clear unit</em>, then
+perform the processing described in <a href="#flowOperationClear"><b>B.4.3 Clear Operation</b></a>;</p></li><li><p>If the space created by performing the clear operation
+indicated by the above step would be sufficient to accept a unit of
+formatted content that corresponds to a <em>reflow unit</em> and
+if sufficient formatted content remains after this point in the
+presentation region, then perform the processing described in <a href="#flowOperationReflow"><b>B.4.2 Reflow Operation</b></a>, where this operation commences at the
+same time as the clear operation;</p></li><li><p>If a reflow operation would be performed as indicated by the above
+step and if the space created by performing this reflow operation
+would be sufficient to accept a unit of formatted content that
+corresponds to a <em>fill unit</em> and if the fill buffer is
+non-empty, then, if active, cause the fill timer to immediately expire
+or, if not active, simulate fill timer expiration, such that the
+expiration permits a fill operation to commence simultaneously with
+the reflow operation;</p></li><li><p> If the previous step did not cause the fill timer to expire
+and if the <em>presentation region</em> is non-empty, then reset
+the clear timer to the current value of the computed clear
+interval.</p></li></ol></div></div></div><div class="div1">
+<h2><a name="schemas" id="schemas"/>C Schemas</h2><p><em>This appendix is normative.</em></p><p>This appendix specifies the following schemas for use with
+DFXP document instances:</p><ul><li><p>Relax NG, Compact Syntax (RNC) Schema</p></li><li><p>XML Schema Definition (XSD) Schema</p></li></ul><p>In any case where a schema specified by this appendix differs from the
+normative definitions of document type, element type, or attribute type
+as defined by the body of this specification, then the body of this
+specification takes precedence.</p><div class="div2">
+<h3><a name="dfxp-schema-rnc" id="dfxp-schema-rnc"/>C.1 Relax NG Schema</h3><p>This section specifies a Relax NG Compact Syntax (RNC) <a href="#rng">[RELAX NG]</a> based schema
+for DFXP, also available in a <a href="rnc/schema.zip">ZIP
+Archive</a>.</p><div class="div3">
+<h4><a name="rnc-dfxp-driver-schema" id="rnc-dfxp-driver-schema"/>C.1.1 Driver</h4><div class="exampleInner"><pre># .......................................................................
+# 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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div3">
+<h4><a name="rnc-dfxp-modules" id="rnc-dfxp-modules"/>C.1.2 Modules</h4><div class="div4">
+<h5><a name="rnc-dfxp-animation-module" id="rnc-dfxp-animation-module"/>C.1.2.1 Animation Module</h5><div class="exampleInner"><pre># .......................................................................
+# TT-AF 1.0 DFXP Animation Module .......................................
+# .......................................................................
+
+# set - discrete animation
+TTAF.set =
+  element set {
+    TTAF.set.attlist,
+    TTAF.set.content
+  }
+
+TTAF.set.attlist &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-classes-module" id="rnc-dfxp-classes-module"/>C.1.2.2 Classes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-content-module" id="rnc-dfxp-content-module"/>C.1.2.3 Content Module</h5><div class="exampleInner"><pre># .......................................................................
+# TT-AF 1.0 DFXP Content Module .........................................
+# .......................................................................
+
+# body - content body
+TTAF.body =
+  element body {
+    TTAF.body.attlist,
+    TTAF.body.content
+  }
+
+TTAF.body.attlist &amp;=
+  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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-core-attribs-module" id="rnc-dfxp-core-attribs-module"/>C.1.2.4 Core Attributes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  TTAF.id.attrib,
+  TTAF.lang.attrib,
+  TTAF.space.attrib,
+  TTAF.Core.extra.attrib
+
+TTAF.Core.required.attrib.class &amp;=
+  TTAF.id.attrib,
+  TTAF.lang.required.attrib,
+  TTAF.space.attrib,
+  TTAF.Core.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-datatypes-module" id="rnc-dfxp-datatypes-module"/>C.1.2.5 Data Types Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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
+  
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-document-module" id="rnc-dfxp-document-module"/>C.1.2.6 Document Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  TTAF.Core.required.attrib.class,
+  TTAF.Parameter.attrib.class
+
+TTAF.tt.content =
+  (TTAF.head?, TTAF.body?)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-head-module" id="rnc-dfxp-head-module"/>C.1.2.7 Header Module</h5><div class="exampleInner"><pre># .......................................................................
+# TT-AF 1.0 DFXP Header Module ..........................................
+# .......................................................................
+
+# head - generic header
+TTAF.head =
+  element head {
+    TTAF.head.attlist,
+    TTAF.head.content
+  }
+
+TTAF.head.attlist &amp;=
+  TTAF.Core.attrib.class
+
+TTAF.head.content.extra = empty
+TTAF.head.content =
+  (TTAF.Metadata.class*,
+   TTAF.styling?,
+   TTAF.layout?,
+   TTAF.head.content.extra*)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-layout-module" id="rnc-dfxp-layout-module"/>C.1.2.8 Layout Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  TTAF.region.attrib
+
+# layout - generic layout container
+TTAF.layout =
+  element layout {
+    TTAF.layout.attlist,
+    TTAF.layout.content
+  }
+
+TTAF.layout.attlist &amp;=
+  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 &amp;=
+  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*)
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-metdata-module" id="rnc-dfxp-metdata-module"/>C.1.2.9 Metadata Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-metdata-items-module" id="rnc-dfxp-metdata-items-module"/>C.1.2.10 Metadata Items Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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 &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-metadata-attribs-module" id="rnc-dfxp-metadata-attribs-module"/>C.1.2.11 Metadata Attributes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  TTAF.agent.attrib,
+  TTAF.role.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-parameter-attribs-module" id="rnc-dfxp-parameter-attribs-module"/>C.1.2.12 Parameter Attributes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-styling-attribs-module" id="rnc-dfxp-styling-attribs-module"/>C.1.2.13 Styling Attributes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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 &amp;=
+  TTAF.style.attrib
+
+# Styled Content Attribute Class
+
+TTAF.Styled.extra.attrib = empty
+TTAF.Styled.attrib.class &amp;=
+  TTAF.Styling.attrib.class,
+  TTAF.StyleBinding.attrib.class,
+  TTAF.Styled.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-styling-module" id="rnc-dfxp-styling-module"/>C.1.2.14 Styling Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div><div class="div4">
+<h5><a name="rnc-dfxp-timing-attribs-module" id="rnc-dfxp-timing-attribs-module"/>C.1.2.15 Timing Attributes Module</h5><div class="exampleInner"><pre># .......................................................................
+# 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 &amp;=
+  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 &amp;=
+  TTAF.timing.timeContainer.attrib,
+  TTAF.TimingContainer.extra.attrib
+
+# Timed Content Attribute Class
+
+TTAF.Timed.extra.attrib = empty
+TTAF.Timed.attrib.class &amp;=
+  TTAF.TimingInterval.attrib.class,
+  TTAF.Timed.extra.attrib
+
+# Timed Content Container Attribute Class
+
+TTAF.TimedContainer.extra.attrib = empty
+TTAF.TimedContainer.attrib.class &amp;=
+  TTAF.Timed.attrib.class,
+  TTAF.TimingContainer.attrib.class,
+  TTAF.TimedContainer.extra.attrib
+
+# .......................................................................
+# .......................................................................
+# .......................................................................
+</pre></div></div></div></div><div class="div2">
+<h3><a name="dfxp-schema-xsd" id="dfxp-schema-xsd"/>C.2 XML Schema Definition (XSD) Schema</h3><p>This section specifies a W3C XML Schema Definition (XSD) <a href="#xsd-1">[XML Schema Part 1]</a> based schema
+for DFXP, also available in a <a href="xsd/schema.zip">ZIP
+Archive</a>.</p><div class="div3">
+<h4><a name="xsd-dfxp-driver-schema" id="xsd-dfxp-driver-schema"/>C.2.1 Driver</h4><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-document.xsd"/&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div3">
+<h4><a name="xsd-dfxp-modules" id="xsd-dfxp-modules"/>C.2.2 Modules</h4><div class="div4">
+<h5><a name="xsd-dfxp-animation-module" id="xsd-dfxp-animation-module"/>C.2.2.1 Animation Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/&gt;
+  &lt;xs:attributeGroup name="set.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class" /&gt;
+    &lt;xs:attributeGroup ref="tt:Timed.attrib.class" /&gt;
+    &lt;xs:attributeGroup ref="tts:Styling.attrib.class" /&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="set.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:set.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="set" type="tt:set.eltype"/&gt;
+  &lt;xs:group name="Animation.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:element ref="tt:set"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-content-module" id="xsd-dfxp-content-module"/>C.2.2.2 Content Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-animation.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-layout.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-attribs.xsd"/&gt;
+  &lt;xs:attributeGroup name="body.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimedContainer.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:RegionBinding.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttm:Metadata.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="div.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimedContainer.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:RegionBinding.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttm:Metadata.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="p.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimedContainer.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:RegionBinding.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttm:Metadata.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="span.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimedContainer.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:RegionBinding.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttm:Metadata.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="br.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttm:Metadata.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="body.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="tt:div" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:body.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="div.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Block.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:div.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="p.eltype" mixed="true"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Inline.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:p.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="span.eltype" mixed="true"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Inline.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:span.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="br.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:br.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="body" type="tt:body.eltype"/&gt;
+  &lt;xs:element name="div" type="tt:div.eltype"/&gt;
+  &lt;xs:element name="p" type="tt:p.eltype"/&gt;
+  &lt;xs:element name="span" type="tt:span.eltype"/&gt;
+  &lt;xs:element name="br" type="tt:br.eltype"/&gt;
+  &lt;xs:group name="BlockNoDiv.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:element ref="tt:p"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+  &lt;xs:group name="Block.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:group ref="tt:BlockNoDiv.class"/&gt;
+      &lt;xs:element ref="tt:div"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+  &lt;xs:group name="InlineNoSpan.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:element ref="tt:br"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+  &lt;xs:group name="Inline.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:group ref="tt:InlineNoSpan.class"/&gt;
+      &lt;xs:element ref="tt:span"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-core-attribs-module" id="xsd-dfxp-core-attribs-module"/>C.2.2.3 Core Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:xml="http://www.w3.org/XML/1998/namespace"&gt;
+  &lt;xs:import namespace="http://www.w3.org/XML/1998/namespace"
+    schemaLocation="xml.xsd"/&gt;
+  &lt;xs:attributeGroup name="Core.attrib.class"&gt;
+    &lt;xs:attribute ref="xml:id"/&gt;
+    &lt;xs:attribute ref="xml:lang"/&gt;
+    &lt;xs:attribute ref="xml:space"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="Core.required.attrib.class"&gt;
+    &lt;xs:attribute ref="xml:id"/&gt;
+    &lt;xs:attribute ref="xml:lang" use="required"/&gt;
+    &lt;xs:attribute ref="xml:space"/&gt;
+  &lt;/xs:attributeGroup&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-datatypes-module" id="xsd-dfxp-datatypes-module"/>C.2.2.4 Data Types Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#datatype"
+	xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"&gt;
+  &lt;xs:simpleType name="alpha"&gt;
+    &lt;xs:restriction base="xs:float"&gt;
+      &lt;xs:minInclusive value="0"/&gt;
+      &lt;xs:maxInclusive value="1"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="agent"&gt;
+    &lt;xs:restriction base="xs:IDREFS"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="cellResolution"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;positiveInteger positiveInteger&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="clockMode"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="local"/&gt;
+      &lt;xs:enumeration value="gps"/&gt;
+      &lt;xs:enumeration value="utc"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="color"&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="direction"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="ltr"/&gt;
+      &lt;xs:enumeration value="rtl"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="display"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="auto"/&gt;
+      &lt;xs:enumeration value="none"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="displayAlign"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="before"/&gt;
+      &lt;xs:enumeration value="center"/&gt;
+      &lt;xs:enumeration value="after"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="dynamicFlow"&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="extent"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;auto | inherit | length length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="fontFamily"&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="fontSize"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;inherit | length | length length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="fontStyle"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="normal"/&gt;
+      &lt;xs:enumeration value="italic"/&gt;
+      &lt;xs:enumeration value="oblique"/&gt;
+      &lt;xs:enumeration value="reverseOblique"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="fontWeight"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="normal"/&gt;
+      &lt;xs:enumeration value="bold"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="frameRate"&gt;
+    &lt;xs:restriction base="xs:nonNegativeInteger"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="frameRateMultiplier"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;positiveInteger:positiveInteger&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"&gt;
+      &lt;xs:pattern value="\p{Nd}+(\s*:\s*\p{Nd}+)?"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="lineHeight"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;normal | inherit | length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="markerMode"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="continuous"/&gt;
+      &lt;xs:enumeration value="discontinuous"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="metadataAgentType"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="person"/&gt;
+      &lt;xs:enumeration value="character"/&gt;
+      &lt;xs:enumeration value="group"/&gt;
+      &lt;xs:enumeration value="organization"/&gt;
+      &lt;xs:enumeration value="other"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="metadataNameType"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="full"/&gt;
+      &lt;xs:enumeration value="family"/&gt;
+      &lt;xs:enumeration value="given"/&gt;
+      &lt;xs:enumeration value="alias"/&gt;
+      &lt;xs:enumeration value="other"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="metadataRoleBaseType"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;orphan simpleType retained in hope it can be used for role&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="action"/&gt;
+      &lt;xs:enumeration value="caption"/&gt;
+      &lt;xs:enumeration value="dialog"/&gt;
+      &lt;xs:enumeration value="expletive"/&gt;
+      &lt;xs:enumeration value="kinesic"/&gt;
+      &lt;xs:enumeration value="lyrics"/&gt;
+      &lt;xs:enumeration value="music"/&gt;
+      &lt;xs:enumeration value="narration"/&gt;
+      &lt;xs:enumeration value="quality"/&gt;
+      &lt;xs:enumeration value="sound"/&gt;
+      &lt;xs:enumeration value="source"/&gt;
+      &lt;xs:enumeration value="suppressed"/&gt;
+      &lt;xs:enumeration value="reproduction"/&gt;
+      &lt;xs:enumeration value="thought"/&gt;
+      &lt;xs:enumeration value="title"/&gt;
+      &lt;xs:enumeration value="transcription"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="opacity"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;inherit | alpha&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="origin"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;auto | inherit | length length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="overflow"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="visible"/&gt;
+      &lt;xs:enumeration value="hidden"/&gt;
+      &lt;xs:enumeration value="scroll"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="padding"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;inherit | length length | length length length | length length length length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="pixelAspectRatio"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;positiveInteger:positiveInteger&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"&gt;
+      &lt;xs:pattern value="\p{Nd}+\s*:\s*\p{Nd}+"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="profile"&gt;
+    &lt;xs:restriction base="xs:anyURI"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="role"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;metadataRoleBaseType | "x-"string&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:NMTOKEN"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="showBackground"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="always"/&gt;
+      &lt;xs:enumeration value="whenActive"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="smpteMode"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="dropNTSC"/&gt;
+      &lt;xs:enumeration value="dropPAL"/&gt;
+      &lt;xs:enumeration value="nonDrop"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="subFrameRate"&gt;
+    &lt;xs:restriction base="xs:positiveInteger"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="textAlign"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="left"/&gt;
+      &lt;xs:enumeration value="center"/&gt;
+      &lt;xs:enumeration value="right"/&gt;
+      &lt;xs:enumeration value="start"/&gt;
+      &lt;xs:enumeration value="end"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="textDecoration"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="none"/&gt;
+      &lt;xs:enumeration value="underline"/&gt;
+      &lt;xs:enumeration value="noUnderline"/&gt;
+      &lt;xs:enumeration value="overline"/&gt;
+      &lt;xs:enumeration value="noOverline"/&gt;
+      &lt;xs:enumeration value="lineThrough"/&gt;
+      &lt;xs:enumeration value="noLineThrough"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="textOutline"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;none | inherit | length | length length | color length | color length length&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="tickRate"&gt;
+    &lt;xs:restriction base="xs:positiveInteger"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="timeBase"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="media"/&gt;
+      &lt;xs:enumeration value="smpte"/&gt;
+      &lt;xs:enumeration value="clock"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="timeContainer"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="par"/&gt;
+      &lt;xs:enumeration value="seq"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="timeCoordinate"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;timeExpression&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="timeDuration"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;timeExpression&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="unicodeBidi"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="normal"/&gt;
+      &lt;xs:enumeration value="embed"/&gt;
+      &lt;xs:enumeration value="bidiOverride"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="visibility"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="hidden"/&gt;
+      &lt;xs:enumeration value="visible"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="wrapOption"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="wrap"/&gt;
+      &lt;xs:enumeration value="noWrap"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="writingMode"&gt;
+    &lt;xs:restriction base="xs:token"&gt;
+      &lt;xs:enumeration value="lrtb"/&gt;
+      &lt;xs:enumeration value="rltb"/&gt;
+      &lt;xs:enumeration value="tbrl"/&gt;
+      &lt;xs:enumeration value="tblr"/&gt;
+      &lt;xs:enumeration value="lr"/&gt;
+      &lt;xs:enumeration value="rl"/&gt;
+      &lt;xs:enumeration value="tb"/&gt;
+      &lt;xs:enumeration value="inherit"/&gt;
+    &lt;/xs:restriction&gt;
+  &lt;/xs:simpleType&gt;
+  &lt;xs:simpleType name="zIndex"&gt;
+    &lt;xs:annotation&gt;
+      &lt;xs:documentation&gt;auto | inherit | integer&lt;/xs:documentation&gt;
+    &lt;/xs:annotation&gt;
+    &lt;xs:restriction base="xs:string"/&gt;
+  &lt;/xs:simpleType&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-document-module" id="xsd-dfxp-document-module"/>C.2.2.5 Document Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-items.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#parameter"
+    schemaLocation="ttaf1-dfxp-parameter-attribs.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-head.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-content.xsd"/&gt;
+  &lt;xs:attributeGroup name="tt.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.required.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="ttp:Parameter.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="tt.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element ref="tt:head" minOccurs="0" maxOccurs="1"/&gt;
+      &lt;xs:element ref="tt:body" minOccurs="0" maxOccurs="1"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:tt.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="tt" type="tt:tt.eltype"/&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-head-module" id="xsd-dfxp-head-module"/>C.2.2.6 Header Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-layout.xsd"/&gt;
+  &lt;xs:attributeGroup name="head.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="head.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="tt:styling" minOccurs="0" maxOccurs="1"/&gt;
+      &lt;xs:element ref="tt:layout" minOccurs="0" maxOccurs="1"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:head.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="head" type="tt:head.eltype"/&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-layout-module" id="xsd-dfxp-layout-module"/>C.2.2.7 Layout Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-animation.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/&gt;
+  &lt;xs:attributeGroup name="RegionBinding.attrib.class"&gt;
+    &lt;xs:attribute name="region" type="xs:IDREF"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="layout.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="region.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimedContainer.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="layout.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="tt:region" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:layout.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="region.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="tt:style" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:region.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="layout" type="tt:layout.eltype"/&gt;
+  &lt;xs:element name="region" type="tt:region.eltype"/&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-metdata-module" id="xsd-dfxp-metdata-module"/>C.2.2.8 Metadata Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-items.xsd"/&gt;
+  &lt;xs:attributeGroup name="metadata.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="metadata.eltype" mixed="true"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:any namespace="##other" processContents="lax" minOccurs="0"
+        maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:metadata.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="metadata" type="tt:metadata.eltype"/&gt;
+  &lt;xs:group name="MetadataNoAgent.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:group ref="ttm:MetadataItems.class"/&gt;
+      &lt;xs:element ref="tt:metadata"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+  &lt;xs:group name="Metadata.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:group ref="tt:MetadataNoAgent.class"/&gt;
+      &lt;xs:element ref="ttm:agent"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-metdata-items-module" id="xsd-dfxp-metdata-items-module"/>C.2.2.9 Metadata Items Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#metadata"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1"
+    schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata-attribs.xsd"/&gt;
+  &lt;xs:attributeGroup name="actor.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attribute name="agent" type="xs:IDREF"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="agent.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attribute name="type" type="ttd:metadataAgentType"
+    use="required"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="copyright.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="desc.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="name.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attribute name="type" type="ttd:metadataNameType"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="title.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="actor.eltype"&gt;
+    &lt;xs:attributeGroup ref="ttm:actor.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="agent.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:element ref="ttm:name" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="ttm:actor" minOccurs="0" maxOccurs="1"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="ttm:agent.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="copyright.eltype" mixed="true"&gt;
+    &lt;xs:attributeGroup ref="ttm:copyright.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="desc.eltype" mixed="true"&gt;
+    &lt;xs:attributeGroup ref="ttm:desc.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="name.eltype" mixed="true"&gt;
+    &lt;xs:attributeGroup ref="ttm:name.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="title.eltype" mixed="true"&gt;
+    &lt;xs:attributeGroup ref="ttm:title.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="actor" type="ttm:actor.eltype"/&gt;
+  &lt;xs:element name="agent" type="ttm:agent.eltype"/&gt;
+  &lt;xs:element name="copyright" type="ttm:copyright.eltype"/&gt;
+  &lt;xs:element name="desc" type="ttm:desc.eltype"/&gt;
+  &lt;xs:element name="name" type="ttm:name.eltype"/&gt;
+  &lt;xs:element name="title" type="ttm:title.eltype"/&gt;
+  &lt;xs:group name="MetadataItems.class"&gt;
+    &lt;xs:choice&gt;
+      &lt;xs:element ref="ttm:title"/&gt;
+      &lt;xs:element ref="ttm:desc"/&gt;
+      &lt;xs:element ref="ttm:copyright"/&gt;
+    &lt;/xs:choice&gt;
+  &lt;/xs:group&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-metadata-attribs-module" id="xsd-dfxp-metadata-attribs-module"/>C.2.2.10 Metadata Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#metadata"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/&gt;
+  &lt;xs:attribute name="agent" type="ttd:agent"/&gt;
+  &lt;xs:attribute name="role" type="ttd:role"/&gt;
+  &lt;xs:attributeGroup name="Metadata.attrib.class"&gt;
+    &lt;xs:attribute ref="ttm:agent"/&gt;
+    &lt;xs:attribute ref="ttm:role"/&gt;
+  &lt;/xs:attributeGroup&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-parameter-attribs-module" id="xsd-dfxp-parameter-attribs-module"/>C.2.2.11 Parameter Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#parameter"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/&gt;
+  &lt;xs:attribute name="cellResolution" type="ttd:cellResolution"/&gt;
+  &lt;xs:attribute name="clockMode" type="ttd:clockMode"/&gt;
+  &lt;xs:attribute name="frameRate" type="ttd:frameRate"/&gt;
+  &lt;xs:attribute name="frameRateMultiplier" type="ttd:frameRateMultiplier"/&gt;
+  &lt;xs:attribute name="markerMode" type="ttd:markerMode"/&gt;
+  &lt;xs:attribute name="profile" type="ttd:profile"/&gt;
+  &lt;xs:attribute name="pixelAspectRatio" type="ttd:pixelAspectRatio"/&gt;
+  &lt;xs:attribute name="smpteMode" type="ttd:smpteMode"/&gt;
+  &lt;xs:attribute name="subFrameRate" type="ttd:subFrameRate"/&gt;
+  &lt;xs:attribute name="tickRate" type="ttd:tickRate"/&gt;
+  &lt;xs:attribute name="timeBase" type="ttd:timeBase"/&gt;
+  &lt;xs:attributeGroup name="Parameter.attrib.class"&gt;
+    &lt;xs:attribute ref="ttp:cellResolution"/&gt;
+    &lt;xs:attribute ref="ttp:clockMode"/&gt;
+    &lt;xs:attribute ref="ttp:frameRate"/&gt;
+    &lt;xs:attribute ref="ttp:frameRateMultiplier"/&gt;
+    &lt;xs:attribute ref="ttp:markerMode"/&gt;
+    &lt;xs:attribute ref="ttp:profile"/&gt;
+    &lt;xs:attribute ref="ttp:pixelAspectRatio"/&gt;
+    &lt;xs:attribute ref="ttp:smpteMode"/&gt;
+    &lt;xs:attribute ref="ttp:subFrameRate"/&gt;
+    &lt;xs:attribute ref="ttp:tickRate"/&gt;
+    &lt;xs:attribute ref="ttp:timeBase"/&gt;
+  &lt;/xs:attributeGroup&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-styling-attribs-module" id="xsd-dfxp-styling-attribs-module"/>C.2.2.12 Styling Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#style" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/&gt;
+  &lt;xs:attribute name="backgroundColor" type="ttd:color"/&gt;
+  &lt;xs:attribute name="color" type="ttd:color"/&gt;
+  &lt;xs:attribute name="direction" type="ttd:direction"/&gt;
+  &lt;xs:attribute name="display" type="ttd:display"/&gt;
+  &lt;xs:attribute name="displayAlign" type="ttd:displayAlign"/&gt;
+  &lt;xs:attribute name="dynamicFlow" type="ttd:dynamicFlow"/&gt;
+  &lt;xs:attribute name="extent" type="ttd:extent"/&gt;
+  &lt;xs:attribute name="fontFamily" type="ttd:fontFamily"/&gt;
+  &lt;xs:attribute name="fontSize" type="ttd:fontSize"/&gt;
+  &lt;xs:attribute name="fontStyle" type="ttd:fontStyle"/&gt;
+  &lt;xs:attribute name="fontWeight" type="ttd:fontWeight"/&gt;
+  &lt;xs:attribute name="lineHeight" type="ttd:lineHeight"/&gt;
+  &lt;xs:attribute name="opacity" type="ttd:opacity"/&gt;
+  &lt;xs:attribute name="origin" type="ttd:origin"/&gt;
+  &lt;xs:attribute name="overflow" type="ttd:overflow"/&gt;
+  &lt;xs:attribute name="padding" type="ttd:padding"/&gt;
+  &lt;xs:attribute name="showBackground" type="ttd:showBackground"/&gt;
+  &lt;xs:attribute name="textAlign" type="ttd:textAlign"/&gt;
+  &lt;xs:attribute name="textDecoration" type="ttd:textDecoration"/&gt;
+  &lt;xs:attribute name="textOutline" type="ttd:textOutline"/&gt;
+  &lt;xs:attribute name="unicodeBidi" type="ttd:unicodeBidi"/&gt;
+  &lt;xs:attribute name="visibility" type="ttd:visibility"/&gt;
+  &lt;xs:attribute name="wrapOption" type="ttd:wrapOption"/&gt;
+  &lt;xs:attribute name="writingMode" type="ttd:writingMode"/&gt;
+  &lt;xs:attribute name="zIndex" type="ttd:zIndex"/&gt;
+  &lt;xs:attributeGroup name="Styling.attrib.class"&gt;
+    &lt;xs:attribute ref="tts:backgroundColor"/&gt;
+    &lt;xs:attribute ref="tts:color"/&gt;
+    &lt;xs:attribute ref="tts:direction"/&gt;
+    &lt;xs:attribute ref="tts:display"/&gt;
+    &lt;xs:attribute ref="tts:displayAlign"/&gt;
+    &lt;xs:attribute ref="tts:dynamicFlow"/&gt;
+    &lt;xs:attribute ref="tts:extent"/&gt;
+    &lt;xs:attribute ref="tts:fontFamily"/&gt;
+    &lt;xs:attribute ref="tts:fontSize"/&gt;
+    &lt;xs:attribute ref="tts:fontStyle"/&gt;
+    &lt;xs:attribute ref="tts:fontWeight"/&gt;
+    &lt;xs:attribute ref="tts:lineHeight"/&gt;
+    &lt;xs:attribute ref="tts:opacity"/&gt;
+    &lt;xs:attribute ref="tts:origin"/&gt;
+    &lt;xs:attribute ref="tts:overflow"/&gt;
+    &lt;xs:attribute ref="tts:padding"/&gt;
+    &lt;xs:attribute ref="tts:showBackground"/&gt;
+    &lt;xs:attribute ref="tts:textAlign"/&gt;
+    &lt;xs:attribute ref="tts:textDecoration"/&gt;
+    &lt;xs:attribute ref="tts:textOutline"/&gt;
+    &lt;xs:attribute ref="tts:unicodeBidi"/&gt;
+    &lt;xs:attribute ref="tts:visibility"/&gt;
+    &lt;xs:attribute ref="tts:wrapOption"/&gt;
+    &lt;xs:attribute ref="tts:writingMode"/&gt;
+    &lt;xs:attribute ref="tts:zIndex"/&gt;
+  &lt;/xs:attributeGroup&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-styling-module" id="xsd-dfxp-styling-module"/>C.2.2.13 Styling Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/&gt;
+  &lt;xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/&gt;
+  &lt;xs:attributeGroup name="StyleBinding.attrib.class"&gt;
+    &lt;xs:attribute name="style" type="xs:IDREFS"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="Styled.attrib.class"&gt;
+    &lt;xs:attributeGroup ref="tt:StyleBinding.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tts:Styling.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="styling.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="style.attlist"&gt;
+    &lt;xs:attributeGroup ref="tt:Core.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:Styled.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:complexType name="styling.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+      &lt;xs:element ref="tt:style" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:styling.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:complexType name="style.eltype"&gt;
+    &lt;xs:sequence&gt;
+      &lt;xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/&gt;
+    &lt;/xs:sequence&gt;
+    &lt;xs:attributeGroup ref="tt:style.attlist"/&gt;
+  &lt;/xs:complexType&gt;
+  &lt;xs:element name="styling" type="tt:styling.eltype"/&gt;
+  &lt;xs:element name="style" type="tt:style.eltype"/&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-timing-attribs-module" id="xsd-dfxp-timing-attribs-module"/>C.2.2.14 Timing Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"&gt;
+  &lt;xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/&gt;
+  &lt;xs:attributeGroup name="TimingInterval.attrib.class"&gt;
+    &lt;xs:attribute name="begin" type="ttd:timeCoordinate"/&gt;
+    &lt;xs:attribute name="dur" type="ttd:timeDuration"/&gt;
+    &lt;xs:attribute name="end" type="ttd:timeCoordinate"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="TimingContainer.attrib.class"&gt;
+    &lt;xs:attribute name="timeContainer" type="ttd:timeContainer"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="Timed.attrib.class"&gt;
+    &lt;xs:attributeGroup ref="tt:TimingInterval.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+  &lt;xs:attributeGroup name="TimedContainer.attrib.class"&gt;
+    &lt;xs:attributeGroup ref="tt:Timed.attrib.class"/&gt;
+    &lt;xs:attributeGroup ref="tt:TimingContainer.attrib.class"/&gt;
+  &lt;/xs:attributeGroup&gt;
+&lt;/xs:schema&gt;
+</pre></div></div><div class="div4">
+<h5><a name="xsd-dfxp-xml-attrs-module" id="xsd-dfxp-xml-attrs-module"/>C.2.2.15 XML Attributes Module</h5><div class="exampleInner"><pre>&lt;xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"&gt;
+  &lt;xs:attribute name="id" type="xs:ID"/&gt;
+  &lt;xs:attribute name="lang" type="xs:language"/&gt;
+  &lt;xs:attribute name="space"&gt;
+    &lt;xs:simpleType&gt;
+      &lt;xs:restriction base="xs:NCName"&gt;
+        &lt;xs:enumeration value="default"/&gt;
+        &lt;xs:enumeration value="preserve"/&gt;
+      &lt;/xs:restriction&gt;
+    &lt;/xs:simpleType&gt;
+  &lt;/xs:attribute&gt;
+&lt;/xs:schema&gt;
+</pre></div></div></div></div></div><div class="div1">
+<h2><a name="media-type-registration" id="media-type-registration"/>D Media Type Registration</h2><p><em>This appendix is normative.</em></p><p>This appendix registers a new MIME media type,
+"application/ttaf+xml" in conformance with
+<a href="http://www.ietf.org/rfc/rfc4288.txt">BCP 13</a> and
+<a href="http://www.w3.org/2002/06/registering-mediatype.html">W3CRegMedia</a>.
+The information in this appendix is being submitted to the Internet
+Engineering Steering Group (IESG) for review, approval, and
+registration with the Internet Assigned Numbers Authority (IANA).</p><dl><dt class="label">MIME media type name:</dt><dd><p>application</p></dd><dt class="label">MIME subtype name:</dt><dd><p>ttaf+xml</p></dd><dt class="label">Required parameters:</dt><dd><p>None.</p></dd><dt class="label">Optional parameters:</dt><dd><p>The encoding of a TT AF document must be determined by the XML
+encoding declaration. This has identical semantics to the
+application/xml media type in the case where the charset parameter is
+omitted, as specified in <a href="#xml-media">[XML Media]</a>, Sections 8.9,
+8.10 and 8.11.</p><p>The document profile of a TT AF document may be specified using
+an optional <code>profile</code> parameter, which, if specified,
+the value of which must adhere to the syntax and semantics of
+<code>ttp:profile</code> parameter defined by
+Section
+<a href="#parameter-attribute-profile"><b>6.2.7 ttp:profile</b></a>
+of the published specification.</p></dd><dt class="label">Encoding considerations:</dt><dd><p>Same for application/xml. See <a href="#xml-media">[XML Media]</a>, Section
+3.2.</p></dd><dt class="label">Restrictions on usage:</dt><dd><p>None.</p></dd><dt class="label">Security considerations:</dt><dd><p>As with other XML types and as noted in
+<a href="#xml-media">[XML Media]</a>
+Section 10, repeated expansion of maliciously constructed XML entities
+can be used to consume large amounts of memory, which may cause XML
+processors in constrained environments to fail.</p><p>In addition, because of the extensibility features for TT AF and of XML
+in general, it is possible that "application/ttaf+xml" may describe content
+that has security implications beyond those described here. However,
+if the processor follows only the normative semantics of the published
+specification, this content will be outside TT AF namespaces and
+may be ignored. Only in the case where the processor recognizes and
+processes the additional content, or where further processing of that
+content is dispatched to other processors, would security issues
+potentially arise. And in that case, they would fall outside the
+domain of this registration document.</p></dd><dt class="label">Interoperability considerations:</dt><dd><p>The published specification describes processing semantics that dictate
+behavior that must be followed when dealing with, among other things,
+unrecognized elements and attributes, both in TT AF namespaces and in
+other namespaces.</p><p>Because TT AF is extensible, conformant "application/ttaf+xml" processors must
+expect that content received is well-formed XML, but it cannot be
+guaranteed that the content is valid to a particular DTD or Schema or
+that the processor will recognize all of the elements and attributes
+in the document.</p></dd><dt class="label">Published specification:</dt><dd><p>This media type registration is extracted from Appendix <a href="#media-type-registration"><b>D Media Type Registration</b></a> of the <a href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text (TT) Authoring
+Format 1.0 - Distribution Format Exchange Profile (DFXP)</a>
+specification.</p></dd><dt class="label">Additional information:</dt><dd><p>None.</p></dd><dt class="label">Person &amp; email address to contact for further information:</dt><dd><p>Glenn Adams (public-tt@w3.org)</p></dd><dt class="label">Intended usage:</dt><dd><p>COMMON</p></dd><dt class="label">Author/Change controller:</dt><dd><p>The published specification is a work product of the World Wide Web
+Consortium's Timed Text (TT) Working Group. The W3C has change control
+over this specification.</p></dd></dl></div><div class="div1">
+<h2><a name="references" id="references"/>E References</h2><p><em>This appendix is normative.</em></p><dl><dt class="label"><a name="css2" id="css2"/>CSS2</dt><dd>Bert Bos et al.,
+<a href="http://www.w3.org/TR/1998/REC-CSS2-19980512/"><cite>Cascading
+Style Sheets, Level 2</cite></a>, W3C Recommendation, 12
+May 1998. (See
+<a href="http://www.w3.org/TR/1998/REC-CSS2-19980512/">http://www.w3.org/TR/1998/REC-CSS2-19980512/</a>.)
+</dd><dt class="label"><a name="gps" id="gps"/>GPS</dt><dd>
+<a href="http://tycho.usno.navy.mil/gpsinfo.html"><cite>Global
+Positioning System</cite></a>, US Naval Observatory.
+(See
+<a href="http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</a>.)
+</dd><dt class="label"><a name="mime-media" id="mime-media"/>MIME</dt><dd>Ned Freed and Nathaniel Borenstein,  
+<a href="http://www.rfc-editor.org/rfc/rfc2046.txt"><cite>Multipurpose Internet
+Mail Extensions (MIME) Part Two: Media Types</cite></a>,
+RFC 2046, November 1996, IETF.(See
+<a href="http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</a>.)
+</dd><dt class="label"><a name="rng" id="rng"/>RELAX NG</dt><dd>ISO/IEC 19757-2,
+<a href="http://www.iso.org/"><cite>Information technology – Document
+Schema Definition Language (DSDL) – Part 2: Regular-grammar-based validation – RELAX NG</cite></a>,
+International Organization for Standardization (ISO).
+</dd><dt class="label"><a name="smil21" id="smil21"/>SMIL 2.1</dt><dd>Dick Bultermann, et al.,
+<a href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/"><cite>Synchronized
+Multimedia Integration Language (SMIL 2.1)</cite></a>,
+W3C Recommendation, 13 December 2005. (See
+<a href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</a>.)
+</dd><dt class="label"><a name="smpte12m" id="smpte12m"/>SMPTE 12M</dt><dd>ANSI/SMPTE 12M,
+<a href="http://www.smpte.org/"><cite>Television, Audio and Film –
+Time and Control Code</cite></a>, SMPTE Standard.
+</dd><dt class="label"><a name="srgb" id="srgb"/>SRGB</dt><dd>IEC 61966-2-1,
+<a href="http://www.iec.ch/"><cite>Multimedia
+systems and equipment – Colour measurement and management
+– Part 2-1: Colour management – Default RGB colour space
+– sRGB</cite></a>, International Electrotechnical
+Commission (IEC).
+</dd><dt class="label"><a name="uaag" id="uaag"/>UAAG</dt><dd>Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds.,
+<a href="http://www.w3.org/TR/2002/REC-UAAG10-20021217/"><cite>User
+Agent Accessibility Guidelines 1.0</cite></a>, W3C Recommendation, 17
+December 2002. (See
+<a href="http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</a>.)
+</dd><dt class="label"><a name="utc" id="utc"/>UTC</dt><dd>
+Recommendation TF.460,
+<a href="http://www.itu.int/rec/"><cite>Standard-Frequency and Time-Signal
+Emissions</cite></a>, International
+Telecommunciations Union, Radio Sector (ITU-R).
+</dd><dt class="label"><a name="wcag" id="wcag"/>WCAG</dt><dd>Wendy Chisholm, Gregg Vanderheiden, and Ian Jacobs, Eds.,
+<a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/"><cite>Web
+Content Accessibility Guidelines 1.0</cite></a>, W3C Recommendation, 05
+May 1999. (See
+<a href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/">http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/</a>.)
+</dd><dt class="label"><a name="xml11" id="xml11"/>XML 1.1</dt><dd>Tim Bray, et al.
+<a href="http://www.w3.org/TR/2004/REC-xml11-20040204/"><cite>Extensible Markup Language (XML)
+1.1</cite></a>, W3C Recommendation, 04 February 2004, updated 15 Apr 2004. (See
+<a href="http://www.w3.org/TR/2004/REC-xml11-20040204/">http://www.w3.org/TR/2004/REC-xml11-20040204/</a>.)
+</dd><dt class="label"><a name="xmlid" id="xmlid"/>XML ID</dt><dd>Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds.,
+<a href="http://www.w3.org/TR/2005/REC-xml-id-20050909/"><cite>xml:id Version 1.0</cite></a>,
+W3C Recommendation, 09 September 2005. (See
+<a href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</a>.)
+</dd><dt class="label"><a name="xml-media" id="xml-media"/>XML Media</dt><dd>Makato Murata, Simon St. Laurent,
+Kan Khon, <a href="http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>,
+RFC 3023, January 2001, IETF.(See
+<a href="http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)
+</dd><dt class="label"><a name="infoset" id="infoset"/>XML InfoSet</dt><dd>John Cowan and Richard Tobin,
+<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/"><cite>XML Information Set (Second Edition)</cite></a>,
+W3C Recommendation, 04 February 2004. (See
+<a href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</a>.)
+</dd><dt class="label"><a name="rfc3023" id="rfc3023"/>XML Media Types</dt><dd>Makato Murata, et al.,
+<a href="http://www.rfc-editor.org/rfc/rfc3023.txt"><cite>XML Media Types</cite></a>,
+RFC 3023, January 2001, IETF.(See
+<a href="http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</a>.)
+</dd><dt class="label"><a name="xmlns11" id="xmlns11"/>XML Namespaces 1.1</dt><dd>Tim Bray, et al.
+<a href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/"><cite>Namespaces
+in XML 1.1</cite></a>, W3C Recommendation, 04 February 2004. (See
+<a href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/">http://www.w3.org/TR/2004/REC-xml-names11-20040204/</a>.)
+</dd><dt class="label"><a name="xsd-1" id="xsd-1"/>XML Schema Part 1</dt><dd>Henry S. Thompson, David Beech,
+Murray Maloney, Noah Mendelsohn, Eds.,
+<a href="http://www.w3.org/TR/xmlschema-1/"><cite>XML Schema Part 1: Structures</cite></a>,
+W3C Recommendation, 28 October 2004. (See
+<a href="http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</a>.)
+</dd><dt class="label"><a name="xsd-2" id="xsd-2"/>XML Schema Part 2</dt><dd>Paul Biron and Ashok Malhotra,
+<a href="http://www.w3.org/TR/xmlschema-2/"><cite>XML Schema Part 2: Datatypes</cite></a>,
+W3C Recommendation, 28 October 2004. (See
+<a href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</a>.)
+</dd><dt class="label"><a name="xsl10" id="xsl10"/>XSL 1.0</dt><dd>Sharon Adler, Anders Berglund, et al., Eds.,
+<a href="http://www.w3.org/TR/2001/REC-xsl-20011015/"><cite>Extensible Stylesheet Language, Version 1.0</cite></a>,
+W3C Recommendation, 15 October 2001. (See
+<a href="http://www.w3.org/TR/2001/REC-xsl-20011015/">http://www.w3.org/TR/2001/REC-xsl-20011015/</a>.)
+</dd></dl></div><div class="div1">
+<h2><a name="other-references" id="other-references"/>F Other References (Non-Normative)</h2><dl><dt class="label"><a name="cea608c" id="cea608c"/>CEA-608-C</dt><dd>
+EIA/CEA-608-C,
+<a href="http://members.ce.org/standards/StandardDetails.aspx?Id=1506"><cite>Line 21 Data
+Services</cite></a>, EIA/CEA Standard,
+Consumer Electronics Association (CEA).
+</dd><dt class="label"><a name="css3-color" id="css3-color"/>CSS3 Color</dt><dd>Tantek Çelik and Chris Lilley,
+<a href="http://www.w3.org/TR/2003/CR-css3-color-20030514/"><cite>CSS3 Color
+Module</cite></a>, W3C Candidate Recommendation, 14 May 2003. (See
+<a href="http://www.w3.org/TR/2003/CR-css3-color-20030514/">http://www.w3.org/TR/2003/CR-css3-color-20030514/</a>.)
+</dd><dt class="label"><a name="dcmes" id="dcmes"/>DCMES 1.1</dt><dd>Dublin Core Metadata Initiative,
+<a href="http://dublincore.org/documents/dces/"><cite>Dublin Core Metadata Element Set, Version 1.1: Reference Description</cite></a>. (See
+<a href="http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</a>.)
+</dd><dt class="label"><a name="mpeg7-5" id="mpeg7-5"/>MPEG7-5</dt><dd>
+ISO/IEC 15938-5,
+<a href="http://www.iso.org/"><cite>Information technology – Multimedia content description
+interface – Part 5: Multimedia description schemes</cite></a>,
+International Organization for Standardization (ISO).
+</dd><dt class="label"><a name="qaf-sg" id="qaf-sg"/>QAF SG</dt><dd>Karl Dubost, et al.,
+<a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/"><cite>QA
+Framework: Specifications Guidelines</cite></a>, W3C Recommendation, 17
+August 2005. (See
+<a href="http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</a>.)
+</dd><dt class="label"><a name="scheme" id="scheme"/>SCHEME</dt><dd>Guy Steele and Gerald Sussman,
+<a href="http://swiss.csail.mit.edu/projects/scheme/"><cite>Scheme Programming
+Environment</cite></a>,
+Massachusetts Institute of Technology. (See 
+<a href="http://swiss.csail.mit.edu/projects/scheme/">http://swiss.csail.mit.edu/projects/scheme/</a>.)
+</dd><dt class="label"><a name="smpte170m" id="smpte170m"/>SMPTE 170M</dt><dd>ANSI/SMPTE 170M, 
+<a href="http://www.smpte.org/"><cite>Television – Composite Analog Video
+Signal – NTSC for Studio Applications</cite></a>, SMPTE Standard.
+</dd><dt class="label"><a name="svg11" id="svg11"/>SVG 1.1</dt><dd>Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds.,
+<a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/"><cite>Scalable
+Vector Graphics (SVG) 1.1 Specification</cite></a>, W3C Recommendation, 14
+January 2003. (See
+<a href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</a>.)
+</dd><dt class="label"><a name="ttaf1-req" id="ttaf1-req"/>TTAF1-REQ</dt><dd>Glenn Adams, Editor,
+<a href="http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/"><cite>Timed Text (TT) Authoring Format 1.0 Use
+Cases and Requirements</cite></a>,
+W3C Working Group Note, 27 April 2006. (See
+<a href="http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</a>.)
+</dd><dt class="label"><a name="xhtml10" id="xhtml10"/>XHTML 1.0</dt><dd>Steven Pemberton, et al.,
+<a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/"><cite>XHTMLâ„¢ 1.0,
+The Extensible Hypertext Markup Language (Second Edition)</cite></a>,
+W3C Recommendation, 01
+August 2002. (See
+<a href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</a>.)
+</dd></dl></div><div class="div1">
+<h2><a name="sample-code" id="sample-code"/>G Sample Code (Non-Normative)</h2><p>This appendix contains sample code, also available in
+a <a href="scm/code.zip">ZIP Archive</a> along with related files, that implements
+certain algorithms described by this specification. This code makes
+use of the MIT Scheme <a href="#scheme">[SCHEME]</a> dialect of the Lisp Programming Language.</p><p>The following algorithms are implemented by this code:</p><ul><li><p>Reduced XML Infoset (RXI)</p></li><li><p>Abstract Document Instance (ADI)</p></li><li><p>Time Interval Resolver (TIR)</p></li><li><p>Flow Object Transformer (FOX)</p></li><li><p>Dynamic Text Flow Processor (DTF)</p></li></ul><p>Subsequent to the sample code listings, a transcript of a sample
+compile, load, and run session is provided.</p><div class="div2">
+<h3><a name="code-rxi" id="code-rxi"/>G.1 Reduced XML Infoset (RXI) – <code>RXI.SCM</code></h3><div class="exampleInner"><pre>;;; -*-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 (&gt; (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-&gt;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-&gt;list attribute)
+  (list (rxi-name-&gt;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-&gt;list element)
+  (list (rxi-name-&gt;list (rxi-element/name element))
+        (map
+          rxi-attribute-&gt;list
+          (rxi-element/attributes element))
+        (map
+          (lambda (c)
+            (if (string? c)
+                c
+                (rxi-element-&gt;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 (&gt;= (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-&gt;list document)
+  (list (rxi-document/annotations document)
+        (rxi-element-&gt;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-&gt;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&lt;? (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-&gt;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)))))
+</pre></div></div><div class="div2">
+<h3><a name="code-adi" id="code-adi"/>G.2 Abstract Document Instance (ADI) – <code>ADI.SCM</code></h3><div class="exampleInner"><pre>;;; -*-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*))))
+</pre></div></div><div class="div2">
+<h3><a name="code-tir" id="code-tir"/>G.3 Time Interval Resolver (TIR) – <code>TIR.SCM</code></h3><div class="exampleInner"><pre>;;; -*-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)
+</pre></div></div><div class="div2">
+<h3><a name="code-fox" id="code-fox"/>G.4 Flow Object Transformer (FOX) – <code>FOX.SCM</code></h3><div class="exampleInner"><pre>;;; -*-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)
+</pre></div></div><div class="div2">
+<h3><a name="code-dtf" id="code-dtf"/>G.5 Dynamic Text Flow Processor (DTF) – <code>DTF.SCM</code></h3><div class="exampleInner"><pre>;;; -*-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)
+</pre></div></div><div class="div2">
+<h3><a name="code-run" id="code-run"/>G.6 Sample Compile, Load, and Run Session</h3><p>The following transcript shows a sample compile, load, and run
+session of the sample code, where the following steps are
+performed:</p><ol class="enumar"><li><p>Start scheme using Edwin editor (included with MIT Scheme).</p></li><li><p>Change working directory to sample code directory.</p></li><li><p>Compile DFXP optional package by loading <code>compile.scm</code>.</p></li><li><p>Load DFXP optional package by loading <code>load.scm</code>.</p></li><li><p>Dump world identity to show that the just compiled, DFXP optional
+package has been loaded (MIT Scheme SOS, CREF, and XML optional packages are also
+loaded a side effect.)</p></li><li><p>Load DFXP document instance using <code>ADI-DOCUMENT/LOAD</code>
+function and save resulting <code>ADI-DOCUMENT</code> instance into variable
+<code>D</code>.</p></li><li><p>Convert loaded <code>ADI-DOCUMENT</code> into a list structure and pretty print
+this structure using <code>PP</code> environment function.</p></li><li><p>Serialize loaded <code>ADI-DOCUMENT</code> to file
+<code>out.xml</code>.</p></li><li><p>Exit scheme interpreter.</p></li></ol><p>The forms to be entered to accomplish the above tasks are depicted in boldface.</p><div class="exampleInner"><pre>
+Scheme saved on Tuesday June 18, 2002 at 12:25:05 AM
+  Release 7.7.1
+  Microcode 14.9
+  Runtime 15.1
+  Win32 1.6
+  SF 4.40
+  Liar (Intel i386) 4.115
+  Edwin 3.112
+
+;You are in an interaction window of the Edwin editor.
+;Type C-h for help.  C-h m will describe some commands.
+;Package: (user)
+
+<span class="strong">(cd "/work/dfxp/scm")</span>
+;Value 12: #[pathname 12 "c:\\work\\dfxp\\scm\\"]
+
+<span class="strong">(load "compile")</span>
+;Loading "compile.scm"
+;Loading "load.scm"
+;Loading "load.scm"
+;Loading "sos-w32.pkd" -- done
+;Loading "slot.com" -- done
+;Loading "class.com" -- done
+;Loading "instance.com" -- done
+;Loading "method.com" -- done
+;Loading "printer.com" -- done
+;Loading "macros.com" -- done
+ -- done
+;Loading "xml-w32.pkd" -- done
+;Loading "xml-struct.com" -- done
+;Loading "xml-chars.com" -- done
+;Loading "xml-parser.com" -- done
+;Loading "xml-output.com" -- done
+ -- done
+;Loading "make.com" -- done
+;Loading "cref-w32.pkd" -- done
+;Loading "mset.com" -- done
+;Loading "object.com" -- done
+;Loading "toplev.com" -- done
+;Loading "anfile.com" -- done
+;Loading "conpkg.com" -- done
+;Loading "forpkg.com" -- done
+;Loading "redpkg.com" -- done
+;Generating "rxi.bin" because of: "rxi.scm"
+Syntax file: "rxi.scm" "rxi.bin"
+    Read...
+      Time taken: .031 (process time); .031 (real time)
+    Syntax...
+      Time taken: .032 (process time); .031 (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+;Warning: Unreferenced bound variable: is-attribute? (rxi-name/transform-to-xml)
+      Time taken: .015 (process time); .016 (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "rxi.ext" -- done
+;Dumping "rxi.bin" -- done
+;Generating "rxi.com" because of: "rxi.bin"
+Compile File: "rxi.bin" =&gt; "rxi.com"
+;Loading "rxi.bin" -- done
+    Compiling procedure: rxi-bindings/bindings...
+    Compiling procedure: set-rxi-bindings/bindings!...
+    Compiling procedure: rxi-bindings/push!...
+    Compiling procedure: rxi-bindings/pop!...
+    Compiling procedure: rxi-bindings/lookup...
+    Compiling procedure: rxi-bindings/resolve...
+    Compiling procedure: rxi-name/local...
+    Compiling procedure: rxi-name/namespace...
+    Compiling procedure: rxi-name-&gt;list...
+    Compiling procedure: rxi-name/transform-from-xml...
+    Compiling procedure: rxi-attribute/name...
+    Compiling procedure: rxi-attribute/value...
+    Compiling procedure: rxi-attribute-&gt;list...
+    Compiling procedure: rxi-attribute/transform-from-xml...
+    Compiling procedure: rxi-element/name...
+    Compiling procedure: rxi-element/attributes...
+    Compiling procedure: rxi-element/children...
+    Compiling procedure: set-rxi-element/attributes!...
+    Compiling procedure: set-rxi-element/children!...
+    Compiling procedure: rxi-element-&gt;list...
+    Compiling procedure: namespace-attribute?...
+    Compiling procedure: extract-namespace-bindings...
+    Compiling procedure: rxi-element/transform-from-xml...
+    Compiling procedure: rxi-document/annotations...
+    Compiling procedure: rxi-document/root...
+    Compiling procedure: set-rxi-document/annotations!...
+    Compiling procedure: set-rxi-document/root!...
+    Compiling procedure: rxi-document/annotation...
+    Compiling procedure: set-rxi-document/annotation!...
+    Compiling procedure: rxi-document/remove-annotation!...
+    Compiling procedure: rxi-document-&gt;list...
+    Compiling procedure: rxi-document/transform-from-xml...
+    Compiling procedure: rxi-document/load...
+    Compiling procedure: rxi-reverse-bindings/reverse-bindings...
+    Compiling procedure: set-rxi-reverse-bindings/reverse-bindings!...
+    Compiling procedure: rxi-reverse-bindings/lookup...
+    Compiling procedure: rxi-reverse-bindings/generate-prefix...
+    Compiling procedure: rxi-reverse-bindings/add!...
+    Compiling procedure: rxi-reverse-bindings/sort!...
+    Compiling procedure: rxi-reverse-bindings/normalize-preferred...
+    Compiling procedure: rxi-name/transform-to-xml...
+    Compiling procedure: rxi-attribute/transform-to-xml...
+    Compiling procedure: maybe-add-reverse-binding!...
+    Compiling procedure: rxi-element/collect-reverse-bindings...
+    Compiling procedure: rxi-element/transform-to-xml...
+    Compiling procedure: xml-document-add-bindings!...
+    Compiling procedure: rxi-document/collect-reverse-bindings...
+    Compiling procedure: rxi-document/transform-to-xml...
+    Compiling procedure: rxi-document/save...
+;"rxi.bci" dumped 
+;Dumping "rxi.com" -- done
+;Generating "adi.bin" because of: "adi.scm"
+Syntax file: "adi.scm" "adi.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: .016 (process time); .015 (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "adi.bin" -- done
+;Generating "adi.com" because of: "adi.bin"
+Compile File: "adi.bin" =&gt; "adi.com"
+;Loading "adi.bin" -- done
+    Compiling procedure: in-per-element-namespace?...
+    Compiling procedure: in-dfxp-namespace?...
+    Compiling procedure: in-xml-namespace?...
+    Compiling procedure: in-dfxp-or-xml-namespace?...
+    Compiling procedure: empty-dfxp-element-type?...
+    Compiling procedure: only-whitespace-children?...
+    Compiling procedure: rxi-document/adi-transform-element...
+    Compiling procedure: rxi-document/adi-transform...
+    Compiling procedure: adi-document/load...
+    Compiling procedure: adi-document/save...
+;"adi.bci" dumped 
+;Dumping "adi.com" -- done
+;Generating "tir.bin" because of: "tir.scm"
+Syntax file: "tir.scm" "tir.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "tir.bin" -- done
+;Generating "tir.com" because of: "tir.bin"
+Compile File: "tir.bin" =&gt; "tir.com"
+;Loading "tir.bin" -- done
+    Compiling procedure: adi-document/tir-transform...
+;"tir.bci" dumped 
+;Dumping "tir.com" -- done
+;Generating "fox.bin" because of: "fox.scm"
+Syntax file: "fox.scm" "fox.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "fox.bin" -- done
+;Generating "fox.com" because of: "fox.bin"
+Compile File: "fox.bin" =&gt; "fox.com"
+;Loading "fox.bin" -- done
+    Compiling procedure: adi-document/fox-transform...
+;"fox.bci" dumped 
+;Dumping "fox.com" -- done
+;Generating "dtf.bin" because of: "dtf.scm"
+Syntax file: "dtf.scm" "dtf.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "dtf.bin" -- done
+;Generating "dtf.com" because of: "dtf.bin"
+Compile File: "dtf.bin" =&gt; "dtf.com"
+;Loading "dtf.bin" -- done
+    Compiling procedure: adi-document/dtf-process...
+;"dtf.bci" dumped 
+;Dumping "dtf.com" -- done
+;Loading "dtf.bin" -- done
+;Loading "fox.bin" -- done
+;Loading "tir.bin" -- done
+;Loading "adi.bin" -- done
+;Loading "rxi.bin" -- done
+;Dumping "dfxp-w32.fre" -- done
+;Dumping "dfxp-w32.pkd" -- done
+ -- done
+;Unspecified return value
+
+<span class="strong">(load "load")</span>
+;Loading "load.scm"
+;Loading "dfxp-w32.pkd" -- done
+;Loading "rxi.com" -- done
+;Loading "adi.com" -- done
+;Loading "tir.com" -- done
+;Loading "fox.com" -- done
+;Loading "dtf.com" -- done
+ -- done
+;Unspecified return value
+
+<span class="strong">(identify-world)</span>
+Scheme saved on Tuesday June 18, 2002 at 12:25:05 AM
+  Release 7.7.1
+  Microcode 14.9
+  Runtime 15.1
+  Win32 1.6
+  SF 4.40
+  Liar (Intel i386) 4.115
+  Edwin 3.112
+  SOS 1.7
+  XML 0.2
+  CREF 2.3
+  DFXP 0.8
+;Unspecified return value
+
+<span class="strong">(define d (adi-document/load "test.xml"))</span>
+;Value: d
+
+<span class="strong">(pp (rxi-document-&gt;list d))</span>
+(((adi-transform . #t))
+ (("tt" "http://www.w3.org/2006/10/ttaf1")
+  ((("profile" "http://www.w3.org/2006/10/ttaf1#parameter")
+    "http://www.w3.org/2006/10/ttaf1#profile-dfxp")
+   (("lang" "http://www.w3.org/XML/1998/namespace") "en"))
+  ("\n  "
+   (("head" "http://www.w3.org/2006/10/ttaf1")
+    ()
+    ("\n    "
+     (("metadata" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("title" "http://www.w3.org/2006/10/ttaf1#metadata") () ("Timed Text DFXP Example"))
+       "\n      "
+       (("copyright" "http://www.w3.org/2006/10/ttaf1#metadata") () ("The Authors (c) 2006"))
+       "\n    "))
+     "\n    "
+     (("styling" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s1")
+         (("color" "http://www.w3.org/2006/10/ttaf1#style") "white")
+         (("fontFamily" "http://www.w3.org/2006/10/ttaf1#style") "proportionalSansSerif")
+         (("fontSize" "http://www.w3.org/2006/10/ttaf1#style") "22px")
+         (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "center"))
+        ())
+       "\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s2") (("style" ()) "s1")
+                          (("color" "http://www.w3.org/2006/10/ttaf1#style") "yellow"))
+        ())
+       "\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s1Right") (("style" ()) "s1")
+                               (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "end"))
+        ())
+       "     \n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s2Left") (("style" ()) "s2")
+                              (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "start"))
+        ())
+       "\n    "))
+     "\n    "
+     (("layout" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("region" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitleArea")
+         (("style" ()) "s1")
+         (("extent" "http://www.w3.org/2006/10/ttaf1#style") "560px 62px")
+         (("padding" "http://www.w3.org/2006/10/ttaf1#style") "5px 3px")
+         (("backgroundColor" "http://www.w3.org/2006/10/ttaf1#style") "black")
+         (("displayAlign" "http://www.w3.org/2006/10/ttaf1#style") "after"))
+        ())
+       "\n    "))
+     "  \n  "))
+   "\n  "
+   (("body" "http://www.w3.org/2006/10/ttaf1")
+    ((("region" ()) "subtitleArea"))
+    ("\n    "
+     (("div" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle1") (("begin" ()) "0.76s") (("end" ()) "3.45s"))
+        ("\n        It seems a paradox, does it not,\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle2") (("begin" ()) "5.0s") (("end" ()) "10.0s"))
+        ("\n        that the image formed on" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                              "\n        the Retina should be inverted?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle3") (("begin" ()) "10.0s") (("end" ()) "16.0s") (("style" ()) "s2"))
+        ("\n        It is puzzling, why is it" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                               "\n        we do not see things upside-down?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle4") (("begin" ()) "17.2s") (("end" ()) "23.0s"))
+        ("\n        You have never heard the Theory,"
+         (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+         "\n        then, that the Brain also is inverted?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle5") (("begin" ()) "23.0s") (("end" ()) "27.0s") (("style" ()) "s2"))
+        ("\n        No indeed! What a beautiful fact!\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle6a") (("begin" ()) "28.0s") (("end" ()) "34.6s") (("style" ()) "s2Left"))
+        ("\n        But how is it proved?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle6b") (("begin" ()) "28.0s") (("end" ()) "34.6s") (("style" ()) "s1Right"))
+        ("\n        Thus: what we call\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle7") (("begin" ()) "34.6s") (("end" ()) "45.0s") (("style" ()) "s1Right"))
+        ("\n        the vertex of the Brain" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                             "\n        is really its base\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle8") (("begin" ()) "45.0s") (("end" ()) "52.0s") (("style" ()) "s1Right"))
+        ("\n        and what we call its base" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                               "\n        is really its vertex,\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle9a") (("begin" ()) "53.5s") (("end" ()) "58.7s"))
+        ("\n        it is simply a question of nomenclature.\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle9b") (("begin" ()) "53.5s") (("end" ()) "58.7s") (("style" ()) "s2"))
+        ("\n        How truly delightful!\n      "))
+       "\n    "))
+     "    \n  "))
+   "\n")))
+;Unspecified return value
+
+<span class="strong">(adi-document/save d "out.xml")</span>
+;Unspecified return value
+
+<span class="strong">(exit)</span>
+</pre></div></div></div><div class="div1">
+<h2><a name="requirements" id="requirements"/>H Requirements (Non-Normative)</h2><p>The Distribution Format Exchange Profile (DFXP) of the Timed Text Authoring
+Format (TT AF) satisfies a subset of the requirements established by
+<a href="#ttaf1-req">[TTAF1-REQ]</a>. The following table enumerates these requirements and
+indicates the extent to which they are satisfied by this specification, where
+<em>S</em> denotes a requirement is satisfied, <em>P</em> denotes
+a requirement is partially satisfied, and <em>N</em> denotes a
+requirement is not satisfied.</p><table summary="HTML Table" id="requirements-table" class="common"><caption>Table H-1 – Requirement Satisfaction</caption><col width="10%" span="1"/><col width="40%" span="1"/><col width="10%" span="1"/><tbody><tr><th>ID</th><th>Name</th><th>Status</th><th>Comments</th></tr><tr><td>R100</td><td>Specification Format</td><td>S</td><td/></tr><tr><td>R101</td><td>Specification Modularity</td><td>S</td><td/></tr><tr><td>R102</td><td>Specification Organization</td><td>S</td><td/></tr><tr><td>R103</td><td>Core and Periphery</td><td>S</td><td>TT extension namespaces</td></tr><tr><td>R104</td><td>Evolution of Core</td><td>S</td><td>TT extension namespaces</td></tr><tr><td>R105</td><td>Ownership of Core</td><td>S</td><td>TT namespaces</td></tr><tr><td>R106</td><td>Surjection of Core</td><td>S</td><td/></tr><tr><td>R107</td><td>Evolution of Periphery</td><td>S</td><td>TT extension namespaces</td></tr><tr><td>R108</td><td>Ownership of Periphery</td><td>S</td><td>Non-TT namespaces</td></tr><tr><td>R109</td><td>Transformation</td><td>S</td><td>Supports 3GPP, QText, RealText, SAMI</td></tr><tr><td>R110</td><td>Streamable Transformation</td><td>S</td><td>Progressive decoding</td></tr><tr><td>R111</td><td>Accessibility – Content</td><td>S</td><td>Alternative document instances</td></tr><tr><td>R112</td><td>Accessibility – Authoring System</td><td>S</td><td/></tr><tr><td>R200</td><td>Authorability</td><td>S</td><td/></tr><tr><td>R201</td><td>Multiple Natural Languages</td><td>S</td><td>Alternative document instances</td></tr><tr><td>R202</td><td>Natural Language Coverage</td><td>S</td><td>Unicode 4.0</td></tr><tr><td>R203</td><td>Natural Language Association Granularity</td><td>S</td><td>See <code>xml:lang</code></td></tr><tr><td>R204</td><td>Minimum Character Representability</td><td>S</td><td>Unicode 4.0</td></tr><tr><td>R205</td><td>Intrinsic and Extrinsic Text Content</td><td>P</td><td>Intrinsic only</td></tr><tr><td>R206</td><td>Markup Association</td><td>P</td><td>Intrinsic only</td></tr><tr><td>R207</td><td>Conditional Content</td><td>N</td><td/></tr><tr><td>R208</td><td>Flowed Text</td><td>S</td><td/></tr><tr><td>R209</td><td>Logical Flowed Text Vocabulary</td><td>S</td><td/></tr><tr><td>R210</td><td>Presentational Flowed Text Vocabulary</td><td>S</td><td>Implied mapping from logical flowed text.</td></tr><tr><td>R211</td><td>Flowed Text Vocabulary Relationship</td><td>S</td><td/></tr><tr><td>R212</td><td>Flowed Text Vocabulary Separation</td><td>N</td><td/></tr><tr><td>R213</td><td>Non-Flowed Text</td><td>N</td><td/></tr><tr><td>R214</td><td>Non-Flowed Text Vocabulary</td><td>N</td><td/></tr><tr><td>R215</td><td>Hybrid Flowed and Non-Flowed Text</td><td>N</td><td/></tr><tr><td>R216</td><td>Hyperlinking</td><td>N</td><td>Can support via XLink</td></tr><tr><td>R217</td><td>Embedded Graphics</td><td>N</td><td/></tr><tr><td>R218</td><td>Non-Embedded Graphics</td><td>N</td><td/></tr><tr><td>R219</td><td>Embedded Fonts</td><td>N</td><td/></tr><tr><td>R220</td><td>Non-Embedded Fonts</td><td>N</td><td/></tr><tr><td>R221</td><td>Descriptive Vocabulary</td><td>S</td><td>See <code>ttm:agent</code>, <code>ttm:role</code></td></tr><tr><td>R222</td><td>Embedded Audio</td><td>N</td><td/></tr><tr><td>R223</td><td>Non-Embedded Audio</td><td>N</td><td/></tr><tr><td>R290</td><td>Markup Format</td><td>S</td><td/></tr><tr><td>R291</td><td>Markup Format and Unicode Interaction</td><td>S</td><td/></tr><tr><td>R292</td><td>Extrinsic Resource References</td><td>N</td><td>No extrinsic references</td></tr><tr><td>R293</td><td>Schema Validity Specification</td><td>S</td><td/></tr><tr><td>R300</td><td>Inline Styling</td><td>S</td><td/></tr><tr><td>R301</td><td>Inline Styling Form</td><td>P</td><td>Inline and referential styling</td></tr><tr><td>R301</td><td>Out-of-Line Styling</td><td>N</td><td/></tr><tr><td>R301</td><td>Out-of-Line Styling Form</td><td>N</td><td/></tr><tr><td>R304</td><td>Styling Prioritization</td><td>S</td><td/></tr><tr><td>R305</td><td>Style Parameters – Aural</td><td>N</td><td/></tr><tr><td>R306</td><td>Style Parameters – Visual</td><td>P</td><td>Supports absolute position, background color, color, display none, display alignment,
+font family, font size, font style, font weight, height, line height, origin,
+opacity, overflow, padding (before, after, start, end), text alignment,
+text shadow (as outline), visibility, width, writing mode, z-index</td></tr><tr><td>R307</td><td>Style Parameters – Temporal Fill Mode</td><td>S</td><td>See <code>tts:dynamicFlow</code></td></tr><tr><td>R390</td><td>Style Parameter Symmetry</td><td>S</td><td/></tr><tr><td>R391</td><td>Style Parameter Definitions</td><td>S</td><td/></tr><tr><td>R392</td><td>Style Parameter Shorthands</td><td>S</td><td/></tr><tr><td>R401</td><td>Inline Timing</td><td>S</td><td/></tr><tr><td>R402</td><td>Out-of-Line Timing</td><td>N</td><td/></tr><tr><td>R403</td><td>Synchronization Parameters</td><td>P</td><td>Supports begin, end, dur</td></tr><tr><td>R404</td><td>Synchronization Parameter Value Spaces</td><td>P</td><td>Supports offset values, media marker values (SMPTE 12M), wallclock values</td></tr><tr><td>R405</td><td>Time Containment Semantics</td><td>P</td><td>Supports sequential, parallel</td></tr><tr><td>R500</td><td>Animation Modes</td><td>P</td><td>Supports discrete</td></tr><tr><td>R501</td><td>Scroll Animation</td><td>S</td><td>See <code>tts:dynamicFlow</code></td></tr><tr><td>R502</td><td>Highlight Animation</td><td>S</td><td><code>&lt;set tts:backgroundColor="..."/&gt;</code></td></tr><tr><td>R503</td><td>Fade Transition Animation</td><td>S</td><td><code>&lt;set tts:opacity="..."/&gt;</code></td></tr><tr><td>R504</td><td>Animated Style Parameters – Aural</td><td>N</td><td/></tr><tr><td>R505</td><td>Animated Style Parameters – Visual</td><td>P</td><td>Supports animating background color, color, display, opacity, origin, visibility</td></tr><tr><td>N506</td><td>Animated Content</td><td>S</td><td/></tr><tr><td>R600</td><td>Metadata Item Association</td><td>S</td><td>See <code>metadata</code>, <code>Metadata.class</code></td></tr><tr><td>R601</td><td>Metadata Item Constituents</td><td>P</td><td>Supports name, value</td></tr><tr><td>R602</td><td>Metadata Item Value Representation</td><td>P</td><td>See <code>metadata</code></td></tr><tr><td>R603</td><td>Metadata Item Extensibility</td><td>S</td><td>See <code>metadata</code></td></tr><tr><td>R604</td><td>Metadata Item Validation</td><td>S</td><td>See <code>metadata</code></td></tr><tr><td>R690</td><td>Dublin Core Preference</td><td>N</td><td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>, <code>ttm:title</code></td></tr></tbody></table></div><div class="div1">
+<h2><a name="derivation" id="derivation"/>I Vocabulary Derivation (Non-Normative)</h2><p>This appendix provides information about the derivation of TT AF
+vocabulary, separately describing derivation of elements and
+attributes.</p><div class="div2">
+<h3><a name="d3e11619" id="d3e11619"/>I.1 Element Derivation</h3><p>The first column of <a href="#element-vocab-derivation-table"><b>Table I-1 – Elements</b></a>
+specifies a TT AF element vocabulary item; the second column specifies the
+syntactic and/or semantic model on which the vocabulary item is based;
+the third column specifies the reference that defines
+the model (if a model is indicated);
+the fourth column specifies details about the derivation; the last
+column refers to additional notes describing the nature of the
+derivation.</p><p>In the fourth column, which describes details of derivation, a
+notation is use to indicate the addition or removal of an attribute.
+For example, in the derivation of the <code>tt:div</code> element, the
+details column includes "-@class", which denotes that the
+<code>class</code> attribute that is specified for use with the
+<code>xhtml:div</code> model element is not specified for use with the
+corresponding TT AF element; in contrast, the details column includes
+"+@begin", which denotes that a <code>begin</code> attribute is added
+that is not specified for use with the <code>xhtml:div</code> model
+element.</p><table summary="HTML Table" id="element-vocab-derivation-table" class="common"><caption>Table I-1 – Elements</caption><col width="20%" span="1"/><col width="17%" span="1"/><col width="13%" align="center" span="1"/><col width="40%" span="1"/><col width="10%" align="center" span="1"/><tbody><tr><td><span class="strong">Element</span></td><td><span class="strong">Model</span></td><td><span class="strong">Reference</span></td><td><span class="strong">Details</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="#document-structure-vocabulary-body"><code>tt:body</code></a></td><td><code>xhtml:body</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*; content model
+subsetted to zero or more division (div) children, and supersetted by
+optional metadata and animation children</td><td>1,2</td></tr><tr><td><a href="#content-vocabulary-br"><code>tt:br</code></a></td><td><code>xhtml:br</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space;
+content model supersetted by
+optional metadata and animation children for congruity with other
+content vocabulary</td><td>1,2</td></tr><tr><td><a href="#content-vocabulary-div"><code>tt:div</code></a></td><td><code>xhtml:div</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more paragraph (p) children, and supersetted by
+optional metadata and animation children</td><td>1,2,3</td></tr><tr><td><a href="#document-structure-vocabulary-head"><code>tt:head</code></a></td><td><code>xhtml:head</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model changed to
+optional metadata children, followed by optional styling child,
+followed by optional layout child</td><td>1,3</td></tr><tr><td><a href="#layout-vocabulary-layout"><code>tt:layout</code></a></td><td><code>fo:simple-page-master</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#metadata-vocabulary-metadata"><code>tt:metadata</code></a></td><td><code>svg:metadata</code></td><td><a href="#svg11">[SVG 1.1]</a></td><td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model
+subsetted to foreign namespace element content only (no #PCDATA)</td><td>3,5</td></tr><tr><td><a href="#content-vocabulary-p"><code>tt:p</code></a></td><td><code>xhtml:p</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more span children, and supersetted by optional
+metadata and animation children</td><td>1,2,3</td></tr><tr><td><a href="#layout-vocabulary-region"><code>tt:region</code></a></td><td><code>fo:region-*</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#animation-vocabulary-set"><code>tt:set</code></a></td><td><code>svg:set</code></td><td><a href="#svg11">[SVG 1.1]</a></td><td>-@* except begin, dur, end; +@tts:*, +@xml:lang, +@xml:space</td><td>3,6</td></tr><tr><td><a href="#content-vocabulary-span"><code>tt:span</code></a></td><td><code>xhtml:span</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more #PCDATA or break (br) children, and
+supersetted by optional metadata and animation children</td><td>1,2,3</td></tr><tr><td><a href="#styling-vocabulary-style"><code>tt:style</code></a></td><td><em>style specification</em></td><td><a href="#css2">[CSS2]</a></td><td>XML representation of identified set of pairs of style property
+name and value, with optional inclusion of other styles by reference
+to other style elements</td><td>7</td></tr><tr><td><a href="#styling-vocabulary-styling"><code>tt:styling</code></a></td><td><code>xhtml:style</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>XML representation of a set of style specifications sets, each
+represented by a style child element</td><td>1,7</td></tr><tr><td><a href="#document-structure-vocabulary-tt"><code>tt:tt</code></a></td><td><code>xhtml:html</code></td><td><a href="#xhtml10">[XHTML 1.0]</a></td><td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model subsetted by
+permitting body and/or head to be optional</td><td>1,8</td></tr><tr><td><a href="#metadata-vocabulary-actor"><code>ttm:actor</code></a></td><td><code>mpeg7:Creator</code></td><td><a href="#mpeg7-5">[MPEG7-5]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#metadata-vocabulary-agent"><code>ttm:agent</code></a></td><td><code>mpeg7:Agent</code></td><td><a href="#mpeg7-5">[MPEG7-5]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#metadata-vocabulary-copyright"><code>ttm:copyright</code></a></td><td><code>mpeg7:CopyrightString</code></td><td><a href="#mpeg7-5">[MPEG7-5]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#metadata-vocabulary-desc"><code>ttm:desc</code></a></td><td><code>svg:desc</code></td><td><a href="#svg11">[SVG 1.1]</a></td><td>-@class, -@style, -@xml:base</td><td>2,5,9</td></tr><tr><td><a href="#metadata-vocabulary-name"><code>ttm:name</code></a></td><td><code>mpeg7:Name</code></td><td><a href="#mpeg7-5">[MPEG7-5]</a></td><td>conceptual derivation</td><td>4</td></tr><tr><td><a href="#metadata-vocabulary-title"><code>ttm:title</code></a></td><td><code>svg:title</code></td><td><a href="#svg11">[SVG 1.1]</a></td><td>-@class, -@style, -@xml:base</td><td>2,5,9</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>Derivation is indicated with respect to the strict DTD defined
+by <a href="#xhtml10">[XHTML 1.0]</a>, §A.1.</p></li><li><p>The <code>class</code> attribute is effectively replaced by the
+<code>style</code>
+attribute, which, instead of specifying an inline style,
+refers indirectly to one or more <a href="#styling-vocabulary-style"><code>style</code></a>
+elements that define a set of style specification sets.</p></li><li><p>The <code>xml:lang</code> and <code>xml:space</code> attributes are defined for all element
+types in order to support their inheritance semantics to operate in
+the context of foreign namespace elements.</p></li><li><p>Derivation is conceptual (notional) only.</p></li><li><p>The <code>xml:base</code> attribute is not used since there are no external
+references from core vocabulary.</p></li><li><p>The <code>attributeName</code> and <code>to</code> attributes of
+<code>svg:set</code> are replaced by the
+direct expression of the target attribute name and value by use of a
+<code>tts:*</code> attribute.</p></li><li><p>CSS style specification syntax is mapped to XML by use of
+attributes defined in the TT Style Namespace.</p></li><li><p>The <code>xml:id</code> attribute is defined for use on all element types.</p></li><li><p>The <code>style</code> attribute is supported only on content
+elements.</p></li></ol></div></div><div class="div2">
+<h3><a name="d3e12003" id="d3e12003"/>I.2 Attribute Derivation</h3><p>The first column of <a href="#attribute-vocab-derivation-table"><b>Table I-2 – Attributes</b></a>
+specifies a TT AF attribute vocabulary item; the second column specifies the
+syntactic and/or semantic model on which the vocabulary item is based;
+the third column specifies the reference that defines
+the model (if a model is indicated);
+the fourth column specifies details about the derivation; the last
+column refers to additional notes describing the nature of the
+derivation.</p><p>In the fourth column, which describes details of derivation, a
+notation is use to indicate the addition or removal of an attribute
+value.  For example, in the derivation of the <code>timeContainer</code>
+attribute,
+the details column includes "-excl", which denotes that the
+<code>excl</code> value that is specified for use with the
+<code>timeContainer</code> model attribute is not specified for use with the
+corresponding TT AF attribute; similarly, an "+<em>value</em>"
+in the details column indicates that the attribute's values have been
+extended to include <em>value</em>.</p><p>Only those attributes that are specified for use on more than one TT AF
+element type are listed below. Those per-element namespace attributes
+that are uniquely defined for a specific TT AF element type are not
+listed below, but are considered to be part of the specific element
+type's derivation described in <a href="#element-vocab-derivation-table"><b>Table I-1 – Elements</b></a>
+above.</p><table summary="HTML Table" id="attribute-vocab-derivation-table" class="common"><caption>Table I-2 – Attributes</caption><col width="20%" span="1"/><col width="17%" span="1"/><col width="13%" align="center" span="1"/><col width="40%" span="1"/><col width="10%" align="center" span="1"/><tbody><tr><td><span class="strong">Attribute</span></td><td><span class="strong">Model</span></td><td><span class="strong">Reference</span></td><td><span class="strong">Details</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="#timing-attribute-begin"><code>begin</code></a></td><td><code>begin</code></td><td><a href="#smil21">[SMIL 2.1]</a></td><td>see notes</td><td>2,3,4</td></tr><tr><td><a href="#timing-attribute-dur"><code>dur</code></a></td><td><code>dur</code></td><td><a href="#smil21">[SMIL 2.1]</a></td><td>see notes</td><td>2,3,4</td></tr><tr><td><a href="#timing-attribute-end"><code>end</code></a></td><td><code>end</code></td><td><a href="#smil21">[SMIL 2.1]</a></td><td>see notes</td><td>2,3,4</td></tr><tr><td><a href="#layout-attribute-region"><code>region</code></a></td><td><code>master-reference</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>conceptual derivation</td><td/></tr><tr><td><a href="#style-attribute-style"><code>style</code></a></td><td><code>class</code></td><td><a href="#css2">[CSS2]</a></td><td>dereferences style specification(s) directly</td><td/></tr><tr><td><a href="#timing-attribute-timeContainer"><code>timeContainer</code></a></td><td><code>timeContainer</code></td><td><a href="#smil21">[SMIL 2.1]</a></td><td>-excl, -none; no default attribute value</td><td>5</td></tr><tr><td><a href="#metadata-attribute-agent"><code>ttm:agent</code></a></td><td><em>none</em></td><td/><td>used to attribute agent of content</td><td/></tr><tr><td><a href="#metadata-attribute-role"><code>ttm:role</code></a></td><td><em>none</em></td><td/><td>used to attribute role of content</td><td/></tr><tr><td><a href="#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></a></td><td><em>none</em></td><td/><td>expresses uniform grid resolution for cell based coordinates</td><td/></tr><tr><td><a href="#parameter-attribute-clockMode"><code>ttp:clockMode</code></a></td><td><em>none</em></td><td/><td>determines how to interpret time expressions</td><td/></tr><tr><td><a href="#parameter-attribute-frameRate"><code>ttp:frameRate</code></a></td><td><em>none</em></td><td/><td>expresses integral frame rate</td><td/></tr><tr><td><a href="#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></a></td><td><em>none</em></td><td/><td>used to express non-integral, rational frame rates</td><td/></tr><tr><td><a href="#parameter-attribute-markerMode"><code>ttp:markerMode</code></a></td><td><em>none</em></td><td/><td>expresses marker continuity semantics</td><td/></tr><tr><td><a href="#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></a></td><td><em>none</em></td><td/><td>expresses pixel aspect ratio of related media</td><td/></tr><tr><td><a href="#parameter-attribute-profile"><code>ttp:profile</code></a></td><td><em>none</em></td><td/><td>expresses profile of TT AF used by document instance</td><td/></tr><tr><td><a href="#parameter-attribute-smpteMode"><code>ttp:smpteMode</code></a></td><td><em>none</em></td><td/><td>expresses frame counting (drop) modes</td><td/></tr><tr><td><a href="#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></a></td><td><em>none</em></td><td/><td>expresses sub-frame rate</td><td/></tr><tr><td><a href="#parameter-attribute-tickRate"><code>ttp:tickRate</code></a></td><td><em>none</em></td><td/><td>used to interpret tick based time expressions</td><td/></tr><tr><td><a href="#parameter-attribute-timeBase"><code>ttp:timeBase</code></a></td><td><em>none</em></td><td/><td>used to interpret semantics of time expressions</td><td/></tr><tr><td><a href="#style-attribute-backgroundColor"><code>tts:backgroundColor</code></a></td><td><code>background-color</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>see notes</td><td>1,6</td></tr><tr><td><a href="#style-attribute-color"><code>tts:color</code></a></td><td><code>color</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>initial value specified as <code>transparent</code></td><td>6</td></tr><tr><td><a href="#style-attribute-direction"><code>tts:direction</code></a></td><td><code>direction</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>complies with model</td><td/></tr><tr><td><a href="#style-attribute-display"><code>tts:display</code></a></td><td><code>display</code></td><td><a href="#css2">[CSS2]</a></td><td>only auto, none, inherit</td><td/></tr><tr><td><a href="#style-attribute-displayAlign"><code>tts:displayAlign</code></a></td><td><code>display-align</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1</td></tr><tr><td><a href="#style-attribute-dynamicFlow"><code>tts:dynamicFlow</code></a></td><td><em>none</em></td><td/><td>defines scroll overflow behavior</td><td/></tr><tr><td><a href="#style-attribute-extent"><code>tts:extent</code></a></td><td><code>width</code>, <code>height</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>shorthand property</td><td/></tr><tr><td><a href="#style-attribute-fontFamily"><code>tts:fontFamily</code></a></td><td><code>font-family</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>extends generic family names</td><td>1</td></tr><tr><td><a href="#style-attribute-fontSize"><code>tts:fontSize</code></a></td><td><code>font-size</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>see notes</td><td>1,7</td></tr><tr><td><a href="#style-attribute-fontStyle"><code>tts:fontStyle</code></a></td><td><code>font-style</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>uses alias <code>reverseOblique</code> for <code>backslant</code></td><td>1</td></tr><tr><td><a href="#style-attribute-fontWeight"><code>tts:fontWeight</code></a></td><td><code>font-weight</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>-bolder, -lighter, -&lt;number&gt;</td><td>1</td></tr><tr><td><a href="#style-attribute-lineHeight"><code>tts:lineHeight</code></a></td><td><code>line-height</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>-&lt;number&gt;, -&lt;space&gt;</td><td>1</td></tr><tr><td><a href="#style-attribute-opacity"><code>tts:opacity</code></a></td><td><code>opacity</code></td><td><a href="#css3-color">[CSS3 Color]</a></td><td>complies with model</td><td/></tr><tr><td><a href="#style-attribute-origin"><code>tts:origin</code></a></td><td><code>top</code>, <code>left</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>shorthand property</td><td/></tr><tr><td><a href="#style-attribute-overflow"><code>tts:overflow</code></a></td><td><code>overflow</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>-auto, -error-if-overflow; scroll redefined</td><td>8</td></tr><tr><td><a href="#style-attribute-padding"><code>tts:padding</code></a></td><td><code>padding</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>see notes</td><td>9</td></tr><tr><td><a href="#style-attribute-showBackground"><code>tts:showBackground</code></a></td><td><code>showBackground</code></td><td><a href="#smil21">[SMIL 2.1]</a></td><td>complies with model</td></tr><tr><td><a href="#style-attribute-textAlign"><code>tts:textAlign</code></a></td><td><code>text-align</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1</td></tr><tr><td><a href="#style-attribute-textDecoration"><code>tts:textDecoration</code></a></td><td><code>text-decoration</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1,10</td></tr><tr><td><a href="#style-attribute-textOutline"><code>tts:textOutline</code></a></td><td><code>text-shadow</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>see notes</td><td>11</td></tr><tr><td><a href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></a></td><td><code>unicode-bidi</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1</td></tr><tr><td><a href="#style-attribute-visibility"><code>tts:visibility</code></a></td><td><code>visibility</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>-collapse</td><td/></tr><tr><td><a href="#style-attribute-wrapOption"><code>tts:wrapOption</code></a></td><td><code>wrap-option</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1</td></tr><tr><td><a href="#style-attribute-writingMode"><code>tts:writingMode</code></a></td><td><code>writing-mode</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>+tblr</td><td>1</td></tr><tr><td><a href="#style-attribute-zIndex"><code>tts:zIndex</code></a></td><td><code>z-index</code></td><td><a href="#xsl10">[XSL 1.0]</a></td><td>except for name normalization, complies with model</td><td>1</td></tr><tr><td><a href="#content-attribute-id"><code>xml:id</code></a></td><td><code>xml:id</code></td><td><a href="#xmlid">[XML ID]</a></td><td>complies with model</td><td/></tr><tr><td><a href="#content-attribute-lang"><code>xml:lang</code></a></td><td><code>xml:lang</code></td><td><a href="#xml11">[XML 1.1]</a></td><td>complies with model</td><td/></tr><tr><td><a href="#content-attribute-space"><code>xml:space</code></a></td><td><code>xml:space</code></td><td><a href="#xml11">[XML 1.1]</a></td><td>see notes</td><td>12</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>Attribute name and/or value(s) are normalized to use
+<em>lowerCamelCase</em> naming convention.</p></li><li><p>Restricted to expressing a clock value that denotes one of the
+following in accordance to whether the parameter expressed by the
+<code>ttp:timeBase</code> attribute is <code>media</code>, <code>smpte</code>,
+or <code>clock</code>, respectively:
+(1) an offset from an implicit syncbase that is linked to a media time
+line, (2) an event time
+that represents the occurrence of an implicit media marker, or (3) a wallclock
+time.</p></li><li><p>Syntactically subsets and supersets the <a href="#smil21">[SMIL 2.1]</a> <code>Clock-value</code> syntax as follows:
+(1) requires non-negative <code>Full-clock-value</code> or
+<code>Timecount-value</code>;
+(2) if <code>Full-clock-value</code>
+then <em>hours</em> must be two or more digits;
+(3) if <code>Timecount-value</code>, then <em>metric</em> must be
+specified;
+(4) uses <code>m</code> as alias for <code>min</code> metric to denote
+minutes;
+(5) adds <code>f</code> and <code>t</code> metrics denoting frames and
+ticks, respectively;
+(6) adds alternative expression of optional <code>Fraction</code> in
+<code>Full-clock-value</code> by specifying frame count or frame
+count with subframe count.
+</p></li><li><p>
+Interpretation of time expression is further constrained by
+parameters expressed by
+<code>ttp:clockMode</code>,
+<code>ttp:frameRate</code>,
+<code>ttp:frameRateMultiplier</code>,
+<code>ttp:markerMode</code>,
+<code>ttp:smpteMode</code>,
+<code>ttp:subFrameRate</code>,
+<code>ttp:tickRate</code>, and
+<code>ttp:timeBase</code> attributes.</p></li><li><p>Uses subset of named colors from model to which two aliases are
+added as follows: <code>magenta</code> as <code>fuchsia</code>, and <code>cyan</code>
+as <code>aqua</code>.</p></li><li><p>If not specified, then parallel (par) container semantics apply to
+the element types specified by <a href="#timing-attribute-timeContainer"><b>10.2.4 timeContainer</b></a>.</p></li><li><p>Restricts size to length specification which can be a percentage;
+adds optional second length (or percentage) for
+specifying separate horizontal and vertical scaling of glyph's EM
+square.</p></li><li><p>The value <code>scroll</code> is defined in terms of the <a href="#style-attribute-dynamicFlow"><code>tts:dynamicFlow</code></a>
+style property.</p></li><li><p>Expressed in terms of writing mode relative padding properties
+rather than absolute padding properties.</p></li><li><p>Excludes <code>blink</code> and <code>no-blink</code> values.</p></li><li><p>Uses only one length specification instead of two, where one length
+defines distance of outline effect from nominal edge of glyph contour
+outline perpendicular to point of glyph contour. Percentage lengths
+are also added to express outline effect in relative to font size.
+Outline effects are intended to be drawn both outside of outer closed
+contours and inside of inner closed contours.</p></li><li><p>On root element, default attribute value specified as
+<code>default</code>, which is defined in terms of whitespace
+normalization. Semantics of preservation and default normalization are
+defined in terms of presentation semantics by <a href="#content-attribute-space"><b>7.2.3 xml:space</b></a>.</p></li></ol></div></div></div><div class="div1">
+<h2><a name="qa" id="qa"/>J QA Framework Compliance (Non-Normative)</h2><p>This appendix specifies the compliance of this specification with the
+requirements and guidelines defined by <a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
+Framework Specifications Guidelines</a> <a href="#qaf-sg">[QAF SG]</a>.</p><div class="div2">
+<h3><a name="d3e12855" id="d3e12855"/>J.1 Requirements</h3><table summary="HTML Table" id="qa-framework-requirements-table" class="common"><caption>Table J-1 – QA Framework Requirements Checklist</caption><col width="76%" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><tbody><tr><td><span class="strong">Requirement</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+clause</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">Requirement 02: Define the scope.</a></td><td><a href="#intro">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement 03: Identify who or what will implement the specification.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement 04: Make a list of normative references.</a></td><td><a href="#references">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">Requirement 05: Define the terms used in the normative parts of the specification.</a></td><td><a href="#definitions">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">Requirement 06: Create conformance labels for each part of the conformance model.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">Requirement 07: Use a consistent style for conformance requirements and explain how to distinguish them.</a></td><td><a href="#conventions">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">Requirement 08: Indicate which conformance requirements are mandatory, which are recommended, and which are optional.</a></td><td><a href="#conventions">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">Requirement 09: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">Requirement 10: If the technology is subdivided, then address subdivision constraints.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">Requirement 11: Address Extensibility.</a></td><td><a href="#doctypes">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">Requirement 12: Identify deprecated features.</a></td><td/><td/><td>N/A</td><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">Requirement 13: Define how each class of product handles each deprecated feature.</a></td><td/><td/><td>N/A</td><td>1</td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>No feature is deprecated by this version of this specification.</p></li></ol></div></div><div class="div2">
+<h3><a name="d3e13019" id="d3e13019"/>J.2 Guidelines</h3><table summary="HTML Table" id="qa-framework-guidelines-table" class="common"><caption>Table J-2 – QA Framework Guidelines Checklist</caption><col width="76%" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><col width="6%" align="center" span="1"/><tbody><tr><td><span class="strong">Guideline</span></td><td><span class="strong">YES</span></td><td><span class="strong">NO</span></td><td><span class="strong">N/A</span></td><td><span class="strong">Notes</span></td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</a></td><td><a href="#conventions">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</a></td><td><a href="#claims">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</a></td><td/><td>NO</td><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</a></td><td><a href="#claims">YES</a></td><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</a></td><td><a href="#example">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</a></td><td><a href="#sample-code">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</a></td><td><a href="#references">YES</a></td><td/><td/><td>1</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</a></td><td><a href="#definitions">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</a></td><td><a href="#definitions">YES</a></td><td/><td/><td>2</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</a></td><td><a href="#schemas">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</a></td><td/><td>NO</td><td/><td>3</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</a></td><td><a href="#conformance">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</a></td><td><a href="#vocabulary-profiles">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</a></td><td>YES</td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</a></td><td>YES</td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</a></td><td>YES</td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</a></td><td><a href="#extension-vocabulary-overview">YES</a></td><td/><td/><td/></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</a></td><td><a href="#conformance-processor">YES</a></td><td/><td/><td>4</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</a></td><td/><td/><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</a></td><td/><td/><td>N/A</td><td>5</td></tr><tr><td><a href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</a></td><td><a href="#reduced-infoset">YES</a></td><td/><td/><td/></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><ol class="enumar"><li><p>When making normative references to external specifications,
+specific clauses or sections are cited.</p></li><li><p>See also <a href="#derivation"><b>I Vocabulary Derivation</b></a>.</p></li><li><p>Test assertions and test suites will be provided prior to entering
+Proposed Recommendation (PR) phase.</p></li><li><p>See criterion #3 in <a href="#conformance-processor"><b>3.2 Processor Conformance</b></a> and definition of
+<a href="#doctypes">TT AF Abstract Document Instance</a>.</p></li><li><p>No feature is deprecated or obsoleted by this version of this specification.</p></li></ol></div></div></div><div class="div1">
+<h2><a name="streaming" id="streaming"/>K Streaming DFXP Content (Non-Normative)</h2><p>DFXP Content is designed to support streamability by implementing the
+following properties:</p><ul><li><p>can be progressively encoded (i.e., does not require computing
+subsequent data prior to sending current data);</p></li><li><p>can be progressively decoded (i.e., does not require forward
+references, but uses only reverse references when necessary);</p></li><li><p>does not require dereferencing (and subsequent loading) of any
+resources other than DFXP content (i.e., no embedded URIs);</p></li><li><p>does not support alternative content forms (e.g., different
+language, graphics formats, time bases) in a single document;</p></li><li><p>has timing structure compiled into inline format that makes
+possible a temporal ordering of content that follows temporal
+presentation order;</p></li><li><p>constrains content models to prevent arbitrary nested content
+structures;</p></li></ul><p>One possible means by which DFXP Content may be streamed is to
+partition a DFXP document instance's information set into
+non-overlapping fragments, where one particular fragment, call it the
+<em>root fragment</em>, represents the front matter (head) of the
+document instance as well as its top level structural elements, and
+other fragments represent content whose time intervals are expected to
+be active in parallel.</p><p>In applications that require arbitrary (random) entry into a
+stream, i.e., the property of being able to start reading data at an
+arbitrary data access unit, the root fragment will be repetitively
+transmitted (inserted) into the stream in order to permit a decoder to
+resynchronize and acquire sufficient structural information in the
+information set in order to interpret subsequent content
+fragments.</p><p>An example of such a fragmentation of a DFXP document instance is
+shown in <a href="#fragment-streaming-graphic"><b>Figure 2 – Fragment Streaming</b></a>.</p><table summary="HTML Table" id="fragment-streaming-graphic" class="example-images"><caption>Figure 2 – Fragment Streaming</caption><tbody><tr><td><img src="images/streaming.png" alt="Fragment Streaming"/></td></tr></tbody></table><div class="note"><p class="prefix"><b>Note:</b></p><p>This specification does not define a transport buffer model or a decoder
+capabilities model.</p></div></div><div class="div1">
+<h2><a name="acknowledgments" id="acknowledgments"/>L Acknowledgements (Non-Normative)</h2><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:
+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.
+
+</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ü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></div><div class="div1">
+<h2><a name="change-history" id="change-history"/>M Change History (Non-Normative)</h2><div class="div2">
+<h3><a name="change-history-lc1-to-lc2" id="change-history-lc1-to-lc2"/>M.1 Changes from First to Second Last Call Working Draft</h3><div class="exampleInner"><pre>
+<span class="strong">Technical Changes</span>
+
+The following changes result in a technical change of the conformance
+criteria, the normative abstract document type that is defined
+for use with DFXP, or the defined value space of an attribute or
+property:
+
+* Update namespace URIs to use 2006/04 instead of 2004/11;
+* Remove ttp:defaultLengthUnit definition and all references;
+  + change initial (default) value definition of tts:fontSize to
+    be 1/24th of the height of the root container in all cases;
+  + change syntax of scalar form of &lt;length&gt; to require units
+* Remove ttp:defaultTimeMetric definition and all references;
+  + change syntax of &lt;duration&gt; to require a metric
+* Add "transcription" to ttm:role enumeration in section 12.2.2;
+* In section 8.2.16, change "dynamic" value to read "scroll" instead,
+  which is already defined by CSS/XSL and given UA dependent
+  semantics; here we will specify fixed semantics and map to dynamic
+  flow; change also usage in 8.1.7 to refer to "scroll";
+* In section 6.2.1, change implied default value of ttp:cellResolution
+  from 1col/1row to 32cols/15rows, based on CEA/EIA-608-C maximum values;
+* In 8.3.12, add "cyan" and "magenta" as aliases for "aqua" and
+  "fucshia", since it turns out these are defined by SVG1.0;
+* Add following new values for ttm:role to support EIA/CEA-708 caption
+  text functions: dialog, expletive, narration, quality, source,
+  suppressed; remove associated editorial note;
+* In 3.1, add new conformance criteria item 1 that specifies the use
+  of application/ttaf+xml as MIME media type with optional "profile"
+  parameter; use new references to MIME and XML Media Types;
+* Remove begin, dur, and end attributes and descriptions thereof from
+  &lt;tt/&gt; and &lt;layout/&gt;;
+* Move description of tts:extent attribute from &lt;tt/&gt; to
+  &lt;body/&gt;;
+* Change "meta" element name to "metadata" to match SVG usage, on
+  which this vocabulary item is modeled;
+* Remove name attribute from &lt;metadata/&gt; element;
+* Change initial (default) value definition of tts:fontSize to
+  be 1c (one grid cell) in order to match implied default value for
+  ttp:cellResolution row count;
+* For sake of symmetry, add Metadata.class and Animation.class children to
+  content model of &lt;br/&gt;;
+* Add style, ttm:*, tts:* and foreign namespace attributes to
+  &lt;br/&gt;;
+* Add usage of tts:padding property that takes three length specifications;
+* Add left and right values to textAlign;
+* Add monospace, serif, and sansSerif to generic font family names;
+* Add missing "auto" value to zIndex, and make "auto" initial value
+  in order to comply with XSL/CSS usage;
+* Add means to specify rate (in units per second) to definition of
+  flowIntervalArguments in section 8.3.8;
+* Populate Appendix B on Dynamic Flow Processing which defines normative
+  semantics (previously unspecified);
+
+<span class="strong">Editorial Changes</span>
+
+The following changes are editorial in nature or entail semantic
+clarifications that do not affect the abstract document type or defined
+schemas for DFXP:
+
+* Add "Contributing Authors" to preamble, listing contributors;
+* Merge current and former members description in Appendix H (now
+  Appendix K);
+* Remove references to AFXP as follows:
+  + remove 1st note in section 1
+  + remove 1st note in section 1.1
+  + remove definition of AFXP from glossary
+  + remove section 4.2
+  + remove AFXP profile entry from Table 2 - Profiles
+  + remove reference to 2nd catalog in section 5.3 preamble
+  + remove last clause of 2nd para of section 5.3
+  + change "AFXP" to "future profiles" in 1st para of section 5.3.1
+  + remove section 5.3.2
+  + remove last sentence of 2nd note in section 7.1.4
+  + remove last sentence of 1st note in section 7.1.6
+  + change "AFXP" to "advanced profiles" in 3rd para of Appendix H (now
+  Appendix K);
+* Add clarifying language in the last para of section 8.3.6;
+* Clarify definition of "Valid Abstract Document Instance" in section 4
+  to account for the pruning of attributes in other namespaces and
+  residual requirements on the presence and value type of attributes;
+  + remove redundant definition in glossary to prevent competing
+    definitions
+* Add informative reference to SMPTE170M (for NTSC); add a
+  reference to this bibliographic entry from the 1st note under
+  section 6.2.4; add new sentence to this same note indicating
+  that other frame rate multipliers apply in other regions and
+  with other video formats;
+* Add normative reference to UAAG; add recommendation in
+  conformance clause 3.2 item (5) that a presentation processor
+  should satisfy UAAG defined guidelines;
+* Add note in introduction expressing that a related sign language
+  representation may be appropriate in some circumstances, but that
+  this is not addressed explicitly by DFXP;
+* Add note in section 6.2.11 indicating that control over state of
+  external media time base is outside the scope of DFXP;
+* Add note in section 5.2 indicating possible uses of profile
+  information;
+* Fix typos:
+  + section 6.2.1: s/express number/express the number/
+  + section 6.2.5 (now 6.2.3): s/in document/in a document/
+  + section 6.2.6 (now 6.2.4): s/MHz/Hz/
+* Add note to 6.2.2 referring to section 10.3 Time Value Expressions;
+* Add normative reference to UTC, using reference in section 6.2.2;
+* Add normative reference to GPS, using reference in section 6.2.2;
+* Add note to 6.2.2 summarizing difference between GPS and UTC;
+* Add para to 6.2.2 clarifying that ttp:clockMode is significant
+  only on &lt;tt/&gt; element;
+* In section 8.3.11, add or refer to definitions of "px", "em", and
+  "c";
+* In section 7.2.3, replace definition of semantics of xml:space
+  values with a new definition that maps to XSL-FO properties;
+* In section 9.3.2, add new item (8) that specifies mapping for
+  &lt;br/&gt; elements to &lt;fo:character/&gt;;
+* In section 4, add new step 2 to definition of Abstract Document
+  Instance, which is needed to remove certain XML whitespace that
+  remains after pruning elements; e.g., a &lt;br/&gt; element may have
+  children from another namespace, that, after pruning, would result
+  in a non-empty &lt;br/&gt; element; this new step ensures that the
+  element is emptied prior to validation against its abstract
+  document type;
+* In section 8 preamble, add new para indicating that no normative
+  use of a stylesheet PI is defined;
+* In section 8.2.16, add condition tts:wrapOption="noWrap" in note;
+* In section 8.2.22, move visibility="hidden" from &lt;p/&gt; to &lt;span/&gt;s;
+  otherwise, content would remain hidden due to &lt;p/&gt; being hidden;
+* Add informative reference to CEA/EIA-608-C; use this reference
+  in a new note in 6.2.1;
+* Add note in 6.2.1 explaining that it is not expected that glyph
+  areas align with uniform grid defined by ttp:cellResolution,
+  indicate that such alignment would occur only when using monospace
+  font whose EM square exactly matches grid's cell size;
+* Add normative reference to SRGB definition;
+* Add normative use of SRGB in section 8.3.2 &lt;color&gt; and 8.3.12 &lt;namedColor&gt;
+* In 8.3.2, add para indicating that SRGB is used for both input and
+  output of notional composition functions; add note indicating that
+  a presentation processor may actually use another color space for
+  internal or external purposes;
+* In 8.2.14, specify that opacity applies on a linear scale;
+* Add informative reference to SVG 1.0;
+* Add note in 8.3.12 indicating that named color set is a strict
+  subset of SVG 1.0 named color set;
+* Add empty informative Appendices H, I, and L, to document Vocabulary
+  Derivation, QA Framework Compliance, and Change History,
+  respectively; renumber former appendices G and H as Appendices J
+  and K, respectively;
+* Add normative reference to RFC2046, MIME Media Types;
+* Add normative reference to RFC3023, XML Media Types;
+* Change description of implied begin/end on &lt;tt/&gt; to refer to
+  external context temporal interval;
+* Change description of implied begin/end on &lt;body/&gt; to refer to
+  external time interval;
+* In 7.1.2, 8.1.1, and 9.1.1, specify that implied time intervals of
+  head, styling, and layout are coterminous with external time
+  interval;
+* In 9.1.2, indicate that begin/end points specified on &lt;region/&gt;
+  are relative to the time interval of the nearest ancestor associated
+  with a time interval;
+* In 9.1.2, remove constraint that if no tts:extent is specified in
+  computed style set then no content is flowed into region; this
+  constraint is redundant since the initial value of tts:extent is
+  "auto" which is defined to be extent of root container;
+* Fix typos:
+  + section 9.1.2, s/layout/region/ in para describing dur attribute;
+* Add note at end of the preamble to section 8.2, [Styling] Attribute
+  Vocabulary, indicating that (to support inheritance) any style
+  property may be specified on any content element independently of
+  whether it applies to that element;
+* Remove note in 7.1.7 that indicated that &lt;br/&gt; is empty in
+  the reduced XML infoset, which no longer holds as both metadata and
+  animation children may be present;
+* In Appendix I, add table I-1 with element vocabulary derivation;
+* Define monospace to be either serifed or not; define serif and
+  sansSerif to be equivalent to proportionalSerif and proportionalSansSerif,
+  respectively;
+* Add time metric to time expressions in example content;
+* Add definition of implicit duration of document instance in section 7.1.1;
+* In definition of &lt;time-expression&gt; syntax in section 10.3.1,
+  remove paragraph referring to default time metric, which no longer
+  applies now that time metric must be specified;
+* In Appendix I, add table I-2 with attribute vocabulary derivation;
+* Add definition of percentage lengths to each style property
+  definition. Percentages apply to the following styles: extent,
+  fontSize, lineHeight, origin, padding, and textOutline;
+* Fill in Appendix I with QA Framework compliance information;
+* Add section 5.3.2 defining a presently empty "Extension Catalog"
+  that serves as a placeholder for future standardized extensions and
+  additionally specifies that document instance may contain arbitrary
+  namespace qualified elements and attributes from other namespaces;
+* Add section 3.3 defining conformance claims and requirements
+  regarding for providing an implementation compliance statement;
+* Add hyperlinks throughout document for references to elements,
+  attributes, and value expressions;
+* Add new Appendix F containing sample code and sample compile,
+  load, run session transcript;
+* Change IDREF to IDREFS as value of ttm:agent as found in prose in
+  section 12.2.1;
+</pre></div></div><div class="div2">
+<h3><a name="change-history-lc2-to-cr" id="change-history-lc2-to-cr"/>M.2 Changes from Second Last Call Working Draft to Candidate
+Recommendation</h3><div class="exampleInner"><pre>
+<span class="strong">Technical Changes</span>
+
+The following changes result in a technical change of the conformance
+criteria, the normative abstract document type that is defined
+for use with DFXP, or the defined value space of an attribute or
+property:
+
+* Restore support for nested div and span elements [that had
+  been removed in an early working draft].
+* Change "id" attribute to "xml:id".
+* Add tts:textDecoration style property.
+* Update namespace URIs to use 2006/10 instead of 2006/04.
+* Update profile URIs to use 2006/10 instead of 2006/04.
+
+<span class="strong">Editorial Changes</span>
+
+The following changes are editorial in nature or entail semantic
+clarifications that do not affect the abstract document type, defined
+schemas, or conformance criteria for DFXP:
+
+* Update "status of this document" (SOTD) section to
+  reflect CR transition.
+* Add normative reference to xml:id recommendation.
+* Add note in section 9.3.3 indicating that intermediate document
+  examples are internal processing states and do not represent
+  valid DFXP documents.
+* Add "Except for transparent, " to note in section 8.3.12.
+* Add recommendation, in section 3.1 item 5, that conformant
+  reduced infoset "should" adhere to WCAG1.0.
+* Add normative reference to WCAG1.0.
+* Update informative reference to SVG1.0 to reference SVG1.1
+  instead.
+* Insert new (normative) Appendix D that specifies the
+  MIME Media Type registration information for application/ttaf+xml.
+* Add normative reference to RFC3023 tagged as [XML Media Types],
+  for use by new Appendix D.
+* Normalize and add missing dates of W3C Recs cited in
+  Appendices E (References) and F (Other References).
+* In Table 4, express groups as choice lists instead of
+  sequences (which might have been confusing).
+* Revise content models of XML Representation of div, p,
+  and span element information items in order to make
+  reference to Block.class and Inline.class element
+  groups.
+* Add "This appendix is normative" to beginning of each
+  normative appendix.
+* Add clarifications in sections 8.3.13 and 8.3.14 that
+  syntactic element "char" adheres to production [2] of
+  XML1.1, while syntactic element "S" adheres to
+  production [3] of XML1.1.
+* Add note to section 7.1.7 (and rearrange paragraph ordering)
+  to indicate that two &lt;br&gt; elements are intended to
+  produce two forced line breaks in a sequence.
+* Add note to section 6.2.4 that indicates that PAL
+  formatted video nominally uses a 1:1 frame rate multiplier
+  (except for PAL/M).
+* Add note to end of section 9.3.2 that indicates that a
+  compliant XSL1.0 presentation processor may be insufficient
+  to satisfy the presentation semantics of DFXP.
+* Clarify syntax of &lt;alpha&gt; style value expression to
+  use XML Scheme Datatype lexical representation of xs:float,
+  which was the intended syntactic value space for this
+  expression.
+* Clarify that ttp:cellResolution columns or rows must not be zero
+  if present.
+* Clarify that ttp:frameRate must be greater than zero if present.
+* Clarify that ttp:frameRateMultipler denominator must not be zero
+  if present. Correct misspelling "demoninator".
+* Clarify that ttp:pixelAspectRatio width or height must not be zero
+  if present.
+* Clarify that ttp:subFrameRate must not be zero if present.
+* Clarify that ttp:tickRate must not be zero if present.
+* Remove superfluous end tag close (&gt;) in XML representation of
+  metadata element information item in section 12.1.1.
+* Add clarification that the declared value of an inline style
+  attribute on body, region, and style elements must not be "inherit".
+* Add clarification in section 8.5.1 item 2 that use of value
+  "inherit" does not apply if element is body element.
+* Clarify that tt element establishes the root stacking context
+  for the purpose of interpreting the tts:zIndex style property;
+  this corresponds with the prescribed mapping of tt:tt to fo:root
+  as described in section 9.3.2 item 3.
+* Clarify that ttp:{markerMode,smpteMode,tickRate,timeBase} are
+  significant only when specified on tt element.
+* Add note at end of section 8.2.17 that padding style attribute
+  is based on XSL 1.0 shorthand "padding" property except that
+  the individual values map to writing mode relative padding
+  properties, i.e., padding-before, padding-after, etc.
+* Update attribute derivation table (Appendix I.2) to reflect
+  addition of tts:textDecoration and change from id to xml:id.
+* Update publishing date and dates in SOTD CR publication.
+* Update SOTD to remove use of sample code as satisfying 2
+  implementation convention for exit criteria. Note that sample
+  code can still serve as 1 implementation of 2 required.
+* Add paragraph to SOTD describing unsatisfied comments during
+  first LC.
+* Change "reference code" to read "sample code".
+</pre></div></div></div></div></body></html>
\ No newline at end of file
--- a/spec/ttaf1-dfxp.xml	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/ttaf1-dfxp.xml	Sat Dec 13 16:37:44 2008 +0000
@@ -1,147 +1,10120 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <!-- $Id$ -->
-<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec.dtd" [
-<!ENTITY prefix "tt">
+<!DOCTYPE spec PUBLIC "-//W3C//DTD Specification V2.10//EN" "xmlspec-ttaf1-dfxp.dtd" [
 <!ENTITY % entities SYSTEM "entities.dtd" >
 %entities;
 <!ENTITY status SYSTEM "status.xml">
 <!ENTITY document.status "Editors' copy $Date$">
 <!ENTITY title "&title;">
-<!ENTITY prevloc "@@@">
-<!ENTITY hellip "&#8230;">
+<!ENTITY prevloc "http://www.w3.org/TR/2006/WD-ttaf1-dfxp-20060427/">
+<!ENTITY versionOfTT "1.0">
+<!ENTITY tbd "<phrase role='tbd'>To Be Defined</phrase>">
+<!ENTITY sp "&#x0020;">
+<!ENTITY sect "&#x00a7;">
+<!ENTITY aring "&#x00e5;">
+<!ENTITY ccedil "&#x00e7;">
+<!ENTITY Ccedil "&#x00c7;">
+<!ENTITY mult "&#x00d7;">
+<!ENTITY uuml "&#x00fc;">
+<!ENTITY nbsp "&#x00a0;">
+<!ENTITY ndash "&#x2013;">
+<!ENTITY mdash "&#x2014;">
+<!ENTITY hArr "&#x21d4;">
 <!ENTITY trade "&#x2122;">
-<!ENTITY mdash "&#x2014;">
+<!ENTITY hellip "&#x2026;">
+<!ENTITY isin "&#x2208;">
+<!ENTITY minus "&#x2212;">
+<!ENTITY le "&#x2264;">
+<!ENTITY ge "&#x2265;">
+<!ENTITY plusmn "&#x00B1;">
+<!ENTITY dfxp-ex1 SYSTEM "./examples/ex1.xml.esc">
+<!ENTITY dfxp-ex1-x-0 SYSTEM "./examples/ex1-x-0.xml.esc">
+<!ENTITY dfxp-ex1-p-0 SYSTEM "./examples/ex1-p-0.xml.esc">
+<!ENTITY dfxp-ex1-x-1 SYSTEM "./examples/ex1-x-1.xml.esc">
+<!ENTITY dfxp-ex1-x-2 SYSTEM "./examples/ex1-x-2.xml.esc">
+<!ENTITY rnc-dfxp-driver SYSTEM "./rnc/ttaf1-dfxp.rnc.esc">
+<!ENTITY rnc-dfxp-animation-module SYSTEM "./rnc/ttaf1-dfxp-animation.rnc.esc">
+<!ENTITY rnc-dfxp-classes-module SYSTEM "./rnc/ttaf1-dfxp-classes.rnc.esc">
+<!ENTITY rnc-dfxp-content-module SYSTEM "./rnc/ttaf1-dfxp-content.rnc.esc">
+<!ENTITY rnc-dfxp-core-attribs-module SYSTEM "./rnc/ttaf1-dfxp-core-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-datatypes-module SYSTEM "./rnc/ttaf1-dfxp-datatypes.rnc.esc">
+<!ENTITY rnc-dfxp-document-module SYSTEM "./rnc/ttaf1-dfxp-document.rnc.esc">
+<!ENTITY rnc-dfxp-head-module SYSTEM "./rnc/ttaf1-dfxp-head.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-module SYSTEM "./rnc/ttaf1-dfxp-metadata.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-items-module SYSTEM "./rnc/ttaf1-dfxp-metadata-items.rnc.esc">
+<!ENTITY rnc-dfxp-metadata-attribs-module SYSTEM "./rnc/ttaf1-dfxp-metadata-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-parameter-attribs-module SYSTEM "./rnc/ttaf1-dfxp-parameter-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-styling-attribs-module SYSTEM "./rnc/ttaf1-dfxp-styling-attribs.rnc.esc">
+<!ENTITY rnc-dfxp-styling-module SYSTEM "./rnc/ttaf1-dfxp-styling.rnc.esc">
+<!ENTITY rnc-dfxp-layout-module SYSTEM "./rnc/ttaf1-dfxp-layout.rnc.esc">
+<!ENTITY rnc-dfxp-timing-attribs-module SYSTEM "./rnc/ttaf1-dfxp-timing-attribs.rnc.esc">
+<!ENTITY xsd-dfxp-driver SYSTEM "./xsd/ttaf1-dfxp.xsd.esc">
+<!ENTITY xsd-dfxp-animation-module SYSTEM "./xsd/ttaf1-dfxp-animation.xsd.esc">
+<!ENTITY xsd-dfxp-content-module SYSTEM "./xsd/ttaf1-dfxp-content.xsd.esc">
+<!ENTITY xsd-dfxp-core-attribs-module SYSTEM "./xsd/ttaf1-dfxp-core-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-datatypes-module SYSTEM "./xsd/ttaf1-dfxp-datatypes.xsd.esc">
+<!ENTITY xsd-dfxp-document-module SYSTEM "./xsd/ttaf1-dfxp-document.xsd.esc">
+<!ENTITY xsd-dfxp-head-module SYSTEM "./xsd/ttaf1-dfxp-head.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-module SYSTEM "./xsd/ttaf1-dfxp-metadata.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-items-module SYSTEM "./xsd/ttaf1-dfxp-metadata-items.xsd.esc">
+<!ENTITY xsd-dfxp-metadata-attribs-module SYSTEM "./xsd/ttaf1-dfxp-metadata-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-parameter-attribs-module SYSTEM "./xsd/ttaf1-dfxp-parameter-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-styling-attribs-module SYSTEM "./xsd/ttaf1-dfxp-styling-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-styling-module SYSTEM "./xsd/ttaf1-dfxp-styling.xsd.esc">
+<!ENTITY xsd-dfxp-layout-module SYSTEM "./xsd/ttaf1-dfxp-layout.xsd.esc">
+<!ENTITY xsd-dfxp-timing-attribs-module SYSTEM "./xsd/ttaf1-dfxp-timing-attribs.xsd.esc">
+<!ENTITY xsd-dfxp-xml-attrs-module SYSTEM "./xsd/xml.xsd.esc">
+<!ENTITY code-rxi SYSTEM "./scm/rxi.scm.esc">
+<!ENTITY code-adi SYSTEM "./scm/adi.scm.esc">
+<!ENTITY code-tir SYSTEM "./scm/tir.scm.esc">
+<!ENTITY code-fox SYSTEM "./scm/fox.scm.esc">
+<!ENTITY code-dtf SYSTEM "./scm/dtf.scm.esc">
 ]>
 <?xml-stylesheet type='text/xsl' href='xmlspec-ttaf1-dfxp.xsl'?>
 <spec w3c-doctype="&doctype;" role="&document.role;">
-  <header>
-    <title>&title;</title>
-    <w3c-designation>&w3c-designation;</w3c-designation>
-    <w3c-doctype>&document.status;</w3c-doctype>
-    <pubdate>
-      <day>&draft.day;</day>
-      <month>&draft.month;</month>
-      <year>&draft.year;</year>
-    </pubdate>
-    <publoc>
-      <loc href="&w3c-designation;">&w3c-designation;</loc>
-    </publoc>
-<!--
-	<prevlocs>
-	  <loc href="&prevloc;">&prevloc;</loc>
-        </prevlocs>
+<header>
+<title>&title;</title>
+<w3c-designation>&w3c-designation;</w3c-designation>
+<w3c-doctype>&document.status;</w3c-doctype>
+<pubdate>
+<day>&draft.day;</day>
+<month>&draft.month;</month>
+<year>&draft.year;</year>
+</pubdate>
+<publoc>
+<loc href="&w3c-designation;">&w3c-designation;</loc>
+</publoc>
+<prevlocs>
+<loc href="&prevloc;">&prevloc;</loc>
+</prevlocs>
+<latestloc>
+<loc href="&latest;">&latest;</loc>
+</latestloc>
+<authlist id="editors" role="editor">
+<author>
+<name>Glenn Adams</name>
+<affiliation>Extensible Formatting Systems, Inc. (XFSI)</affiliation>
+</author>
+</authlist>
+<authlist id="contributors" role="contributor">
+<author>
+<name>Mike Dolan</name>
+<affiliation>Invited Expert</affiliation>
+</author>
+<author>
+<name>Geoff Freed</name>
+<affiliation>WGBH National Center for Accessible Media</affiliation>
+</author>
+<author>
+<name>Sean Hayes</name>
+<affiliation>Microsoft</affiliation>
+</author>
+<author>
+<name>Erik Hodge</name>
+<affiliation>RealNetworks</affiliation>
+</author>
+<author>
+<name>David Kirby</name>
+<affiliation>British Broadcasting Corporation (BBC)</affiliation>
+</author>
+<author>
+<name>Thierry Michel</name>
+<affiliation>W3C</affiliation>
+</author>
+<author>
+<name>Dave Singer</name>
+<affiliation>Apple Computer</affiliation>
+</author>
+</authlist>
+<abstract id="abstract">
+<p>This document specifies the 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 <el>&lt;text&gt;</el> or 
+<el>&lt;textstream&gt;</el> media object element in a <bibref
+ref="smil21"/> document.</p>
+</abstract>
+&status;
+<langusage><language id='en-us'>English</language></langusage>
+<revisiondesc><p>Last Modified: $Date$</p></revisiondesc>
+</header>
+<body>
+<div1 id="intro">
+<head>Introduction</head>
+<p><emph>Unless specified otherwise, this section and its sub-sections are non-normative.</emph></p>
+<p>The Timed Text 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 <bibref ref="ttaf1-req"/>, and summarized in <specref
+ref="requirements"/>. In particular, only those requirements which service the
+need of performing interchange with existing, legacy distribution systems are
+satisfied.</p>
+<p>In addition to being used for interchange among legacy distribution content
+formats, DFXP content may be used directly as a distribution format, providing, for
+example, a standard content format to reference from a <el>&lt;text&gt;</el> or 
+<el>&lt;textstream&gt;</el> media object element in a <bibref
+ref="smil21"/> document. Certain properties of DFXP support
+streamability of content, as described in <specref ref="streaming"/>.</p>
+<note>
+<p>While DFXP was not expressly designed for direct (embedded) integration into a
+SMIL document instance, such integration is not precluded.</p>
+</note>
+<note>
+<p>In some contexts of use, it may be appropriate to employ
+animated content to depict sign language representations of the same content
+as expressed by a Timed Text document instance. This use case is not
+explicitly addressed by DFXP mechanisms, but may be addressed by some
+external multimedia integration technology, such as SMIL.</p>
+</note>
+<div2 id="model">
+<head>System Model</head>
+<p>Use of 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 <specref ref="model-graphic"/>, 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 id="model-graphic" role="example-images">
+<caption>Figure 1 &ndash; System Model</caption>
+<tbody>
+<tr>
+<td><graphic id="graphic-model" source="images/model.png" alt="System Model"/></td>
+</tr>
+</tbody>
+</table>
+</div2>
+<div2 id="example">
+<head>Document Example</head>
+<p>A DFXP document instance consists of a <el>tt</el> document element that contains
+a header and a body, where the header specifies document level metadata, styling
+definitions and layout definitions, and the body specifies text content intermixed
+with references to style and layout information and inline timing information.</p>
+<table id="dfxp-example-document-structure" role="example">
+<caption>Example Fragment &ndash; DFXP Document Structure</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td></tr>
+</tbody>
+</table>
+<p>Document level metadata may specify a document title, description,
+and copyright information. In addition, arbitrary metadata drawn from
+other namespaces may be specified.</p>
+<table id="dfxp-example-metadata" role="example">
+<caption>Example Fragment &ndash; DFXP Metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Styling information may be specified in the form of style specification
+definitions that are referenced by layout and content information.</p>
+<p>In <specref ref="dfxp-example-styling"/>, four style sets of specifications
+are defined, with one set serving as a collection of default styles.</p>
+<table id="dfxp-example-styling" role="example">
+<caption>Example Fragment &ndash; DFXP Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Layout information defines one or more regions into which content
+is intended to be presented. A region definition may reference one or
+more sets of style specifications in order to permit content flowed in the
+region to inherit from these styles.
+In <specref ref="dfxp-example-layout"/>, the region definition makes
+reference to style specification <code>s1</code> which allows all content
+flowed into the region to inherit from the region's styles (in the case
+that a style is not already explicitly specified on content or inherited
+via the content hierarchy.)</p>
+<table id="dfxp-example-layout" role="example">
+<caption>Example Fragment &ndash; DFXP Layout</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;  
+</eg>
+</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
+<specref ref="dfxp-example-body"/>, each paragraph (<el>p</el> element)
+is flowed into its target region in the specified lexical order; furthermore,
+the active time interval of each paragraph is timed in accordance to its
+parent or sibling according to the applicable time containment semantics &mdash;
+in this case, the division parent is interpreted as a parallel time
+container.</p>
+<table id="dfxp-example-body" role="example">
+<caption>Example Fragment &ndash; DFXP Body</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The first subtitle <specref ref="dfxp-example-subtitle-1"/> is
+presented during the time interval 0.76 to 3.45 seconds. 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>
+<note role="explanation">
+<p>The notation "[<emph>X</emph>,<emph>Y</emph>]" denotes a closed
+interval from <emph>X</emph> to <emph>Y</emph>, including
+<emph>X</emph> and <emph>Y</emph>;
+"[<emph>X</emph>,<emph>Y</emph>)" denotes a right half-open
+interval from <emph>X</emph> to <emph>Y</emph>, including
+<emph>X</emph> but not including <emph>Y</emph>;
+"(<emph>X</emph>,<emph>Y</emph>]" denotes a left half-open
+interval from <emph>X</emph> to <emph>Y</emph>, not including
+<emph>X</emph> but including <emph>Y</emph>;
+"(<emph>X</emph>,<emph>Y</emph>)" denotes an open
+interval from <emph>X</emph> to <emph>Y</emph>, not including
+<emph>X</emph> or <emph>Y</emph>.
+</p>
+</note>
+<table id="dfxp-example-subtitle-1" role="example-images">
+<caption>Subtitle 1 &ndash; Time Interval [0.76, 3.45)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle1.png" alt="Subtitle 1"/></td>
+</tr>
+</tbody>
+</table>
+<p>The second subtitle continues with the default style, except that it contains
+two lines of text with an intervening author-specified line break. Note the effects of
+the use of <code>tts:textAlign="center"</code> to specify the paragraph's alignment
+in the inline progression direction.</p>
+<table id="dfxp-example-subtitle-2" role="example-images">
+<caption>Subtitle 2 &ndash; Time Interval [5.0, 10.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle2.png" alt="Subtitle 2"/></td>
+</tr>
+</tbody>
+</table>
+<p>The third subtitle continues, using a variant style which overrides the default style's
+foreground color with a different color.</p>
+<table id="dfxp-example-subtitle-3" role="example-images">
+<caption>Subtitle 3 &ndash; Time Interval [10.0, 16.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle3.png" alt="Subtitle 3"/></td>
+</tr>
+</tbody>
+</table>
+<p>The fourth subtitle reverts to the default style.</p>
+<table id="dfxp-example-subtitle-4" role="example-images">
+<caption>Subtitle 4 &ndash; Time Interval [17.2, 23.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle4.png" alt="Subtitle 4"/></td>
+</tr>
+</tbody>
+</table>
+<p>The fifth subtitle continues, again using a variant style which
+overrides the default style's foreground color with a different color.</p>
+<table id="dfxp-example-subtitle-5" role="example-images">
+<caption>Subtitle 5 &ndash; Time Interval [23.0, 27.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle5.png" alt="Subtitle 5"/></td>
+</tr>
+</tbody>
+</table>
+<p>During the next active time interval, two distinct subtitles are simultaneously active, with
+the paragraph expressing each subtitle using a different style that overrides color and paragraph
+text alignment of the default style. Note that the flow order is determined by the lexical
+order of elements as they appear in the content hierarchy.</p>
+<table id="dfxp-example-subtitle-6" role="example-images">
+<caption>Subtitles 6a and 6b &ndash; Time Interval [28.0, 34.6)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle6.png" alt="Subtitles 6a and 6b"/></td>
+</tr>
+</tbody>
+</table>
+<p>The next subtitle is specified in a similar manner using
+a style override to give a paragraph right (end) justified in the
+inline progression direction.</p>
+<table id="dfxp-example-subtitle-7" role="example-images">
+<caption>Subtitle 7 &ndash; Time Interval [34.6, 45.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle7.png" alt="Subtitles 7a and 7b"/></td>
+</tr>
+</tbody>
+</table>
+<p>The eighth subtitle uses the same style override as the previous
+subtitle in order to maintain the right (end) justification of the
+paragraph.</p>
+<table id="dfxp-example-subtitle-8" role="example-images">
+<caption>Subtitle 8 &ndash; Time Interval [47.3, 49.0)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle8.png" alt="Subtitle 8"/></td>
+</tr>
+</tbody>
+</table>
+<p>During the final (ninth) active time interval, two distinct
+subtitles are again simultaneously active, but with a different
+style applied to the second paragraph to override the default color.
+Note that the flow order is determined by the lexical order of
+elements as they appear in the content hierarchy.</p>
+<table id="dfxp-example-subtitle-9" role="example-images">
+<caption>Subtitles 9a and 9b &ndash; Time Interval [53.5, 58.7)</caption>
+<tbody>
+<tr>
+<td><graphic source="images/subtitle9.png" alt="Subtitles 9a and 9b"/></td>
+</tr>
+</tbody>
+</table>
+<p>The examples shown above demonstrate the primary types of information that may
+be authored using 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>
+</div2>
+</div1>
+<div1 id="definitions">
+<head>Definitions</head>
+<div2 id="acronyms">
+<head>Acronyms</head>
+<glist role="acronyms">
+<gitem>
+<label>DFXP</label>
+<def>
+<p>Distribution Format Exchange Profile</p>
+</def>
+</gitem>
+<gitem>
+<label>TT</label>
+<def>
+<p>Timed Text</p>
+</def>
+</gitem>
+<gitem>
+<label>TT AS</label>
+<def>
+<p>Timed Text Authoring System</p>
+</def>
+</gitem>
+<gitem>
+<label>TT AF</label>
+<def>
+<p>Timed Text Authoring Format</p>
+</def>
+</gitem>
+<gitem>
+<label>TT WG</label>
+<def>
+<p>Timed Text Working Group</p>
+</def>
+</gitem>
+</glist>
+</div2>
+<div2 id="terms">
+<head>Terminology</head>
+<glist>
+<gitem>
+<label>Abstract Document Instance</label>
+<def>
+<p>An instance of an abstract data set as represented by a
+<emph>Reduced XML Infoset</emph>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Abstract Document Type</label>
+<def>
+<p>A set of constraints that defines a class of <emph>XML Information
+Set</emph>s <bibref ref="infoset"/>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Attribute Information Item</label>
+<def>
+<p>Each specified or defaulted attribute  of an XML document corresponds with an attribute information
+item as defined by <bibref ref="infoset"/>, &sect;2.3.</p>
+</def>
+</gitem>
+<gitem>
+<label>Character Information Item</label>
+<def>
+<p>Each data character appearing in an XML document corresponds with a character information
+item as defined by <bibref ref="infoset"/>, &sect;2.6.</p>
+</def>
+</gitem>
+<gitem>
+<label>Content Region</label>
+<def>
+<p>A logical region into which rendered content is placed when modeling or
+performing presentation processing.</p>
+</def>
+</gitem>
+<gitem>
+<label>Element Information Item</label>
+<def>
+<p>Each element appearing in an XML document corresponds with an element information
+item as defined by <bibref ref="infoset"/>, &sect;2.2.</p>
+</def>
+</gitem>
+<gitem>
+<label>Exchange Profile</label>
+<def>
+<p>A profile (subset) of the TT AF that serves a set of needs for content exchange.</p>
+</def>
+</gitem>
+<gitem>
+<label>Region</label>
+<def>
+<p>A logical construct that models authorial intention regarding
+desired or potential presentation processing, and which is represented as
+a rectangular area of a presentation surface into which content
+is composed and rendered during presentation processing.</p>
+</def>
+</gitem>
+<gitem>
+<label>Reduced XML Infoset</label>
+<def>
+<p>An XML Information Set <bibref ref="infoset"/> that satisfieds the
+constraints specify by <specref ref="reduced-infoset"/>.</p>
+</def>
+</gitem>
+<gitem>
+<label>Root Container Region</label>
+<def>
+<p>A logical region that establishes a coordinate system into which
+content regions are placed and optionally clipped.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text</label>
+<def>
+<p>Textual information that is intrinsically or extrinsically
+associated with timing information.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text Authoring Format</label>
+<def>
+<p>A content type that represents timed text media for the purpose of
+interchange among authoring systems.</p>
+</def>
+</gitem>
+<gitem>
+<label>Timed Text Authoring System</label>
+<def>
+<p>A content authoring system capable of importing and exporting
+timed text authoring format content.</p>
+</def>
+</gitem>
+</glist>
+</div2>
+<div2 id="conventions">
+<head>Documentation Conventions</head>
+<p>Within normative prose in this specification, the words
+<emph>may</emph>, <emph>should</emph>, and <emph>must</emph> are
+defined as follows:</p>
+<glist role="conformance-keywords">
+<gitem>
+<label>may</label>
+<def>
+<p>Conforming documents and/or TT AF processors are permitted to,
+but need not behave as described. </p>
+</def>
+</gitem>
+<gitem>
+<label>should</label>
+<def>
+<p>Conforming documents and/or TT AF processors are strongly
+recommended to, but need not behave as described.</p>
+</def>
+</gitem>
+<gitem>
+<label>must</label>
+<def>
+<p>Conforming documents and/or TT AF processors are required
+to behave as described; otherwise, they are in error. </p>
+</def>
+</gitem>
+</glist>
+<p>All normative syntactic definitions of XML representations and
+other related terms are depicted with a light orange background color
+and labeled as "XML Representation" or "Syntax Representation", such
+as in the following:</p>
+<table id="elt-syntax-example" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: example</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;example
+  <phrase role="reqattr">count</phrase> = integer
+  size = (<emph>large</emph>|<emph>medium</emph>|<emph>small</emph>) : medium&gt;
+  <emph>Content:</emph> (all | any*)
+&lt;/example&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In an XML representation, bold-face attribute names (e.g. <phrase
+role="strong">count</phrase> above) indicate a required attribute
+information item, and the rest are optional. Where an attribute
+information item has an enumerated type definition, the values are
+shown separated by vertical bars, as for <code>size</code> above; if
+there is a default value, it is shown following a colon. Where an
+attribute information item has a built-in simple type definition
+defined in <bibref ref="xsd-2"/>, a hyperlink to its definition
+therein is given.</p>
+<p>The allowed content of the information item is shown as a grammar
+fragment, using the Kleene operators <code>?</code>, <code>*</code>
+and <code>+</code>. Each element name therein is a hyperlink to its
+own illustration.</p>
+<p>All content of this specification that is not explicitly marked as
+non-normative is considered to be normative. If a section or appendix
+header contains the the expression "Non-Normative", then the entirety
+of the section or appendix is considered non-normative.</p>
+<p>All paragraphs marked as a <phrase role="strong">Note</phrase> are considered non-normative.</p>
+<p>Example code fragments are depicted with a light blue-green
+background color and labeled as "Example Fragment", such as in
+the following:</p>
+<table id="example-fragment-1" role="example">
+<caption>Example Fragment &ndash; Sample</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div2>
+</div1>
+<div1 id="conformance">
+<head>Conformance</head>
+<p>This section specifies the general conformance requirements for
+TT AF content and processors.</p>
+<div2 id="conformance-content">
+<head>Content Conformance</head>
+<p>A TT AF document instance conforms to this specification if the following criteria are
+satisfied:</p>
+<olist>
+<item>
+<p>When transporting a document instance in a context in which a MIME
+Media Type <bibref ref="mime-media"/> identifies the content type of the interchanged document
+instance, then the specified media type is
+<code>application/ttaf+xml</code> in conformance with <bibref
+ref="rfc3023"/> &sect; 7, with which an optional
+<code>profile</code> parameter may appear, the value of which
+conforms to the values defined by
+<specref ref="vocabulary-profiles"/>.</p>
+</item>
+<item>
+<p>The document instance is or can be represented as a Reduced XML
+Infoset as defined by <specref ref="reduced-infoset"/>.</p>
+</item>
+<item>
+<p>The Reduced XML
+Infoset that corresponds to the document instance is or can
+be associated with one of the TT AF Abstract
+Document Types defined by
+<specref ref="doctypes"/>.</p>
+</item>
+<item>
+<p>The Reduced XML Infoset that corresponds to the document instance is a
+Valid Abstract Document Instance of the associated
+Abstract Document Type.</p>
+</item>
+<item>
+<p>The Reduced XML Infoset satisfies all additional mandatory syntactic and
+semantic constraints defined by this specification. In addition, this Infoset
+should satisfy the web content accessibility guidelines specified by
+<bibref ref="wcag"/>.</p>
+</item>
+</olist>
+</div2>
+<div2 id="conformance-processor">
+<head>Processor Conformance</head>
+<p>A TT AF processor conforms to this specification if the following criteria are
+satisfied:</p>
+<olist>
+<item>
+<p>The processor provides at least one mechanism for notionally
+instantiating a Reduced XML
+Infoset representation of a conformant TT AF document
+instance.</p>
+</item>
+<item>
+<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
+<specref ref="doctypes"/>.</p>
+</item>
+<item>
+<p>The processor does not <emph>a priori</emph> reject or abort the
+processing of a conformant TT AF document instance.</p>
+</item>
+<item>
+<p>The processor supports all mandatory processing semantics defined by this specification.</p>
+</item>
+<item>
+<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 <specref ref="semantics-region-layout"/> and
+<specref ref="semantics-line-layout"/>, respectively. In addition, the
+processor should satisfy the user agent accessibility guidelines specified by
+<bibref ref="uaag"/>.
+</p>
+</item>
+<item>
+<p>If the processor supports some optional processing semantics defined by this specification,
+then it does so in a manner consistent with the defined semantics.</p>
+</item>
+</olist>
+</div2>
+<div2 id="claims">
+<head>Claims</head>
+<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 <specref ref="vocabulary-profiles"/>, and, if a subset or
+superset profile is used or supported, then what features are excluded
+or included in the subset or superset profile.</p>
+<p>A TT AF document instance for which a compliance claim is made
+must specify a <att>ttp:profile</att> attribute on its root element
+as defined by <specref ref="parameter-attribute-profile"/>.</p>
+</div2>
+</div1>
+<div1 id="doctypes">
+<head>Document Types</head>
+<p>This section defines the following TT AF Abstract Document Types:</p>
+<ulist>
+<item><p><specref ref="dfxp-content-doctype"/></p></item>
+</ulist>
+<p>Each abstract document type consists of the following constraints:</p>
+<ulist>
+<item><p>a non-empty collection of element types, where each element type consists of a name,
+a (possibly empty) collection of attributes, and a content specification</p></item>
+<item><p>a non-empty collection of element types that may appear as the document element</p></item>
+</ulist>
+<p>An Abstract Document Instance may be assessed in terms of validity,
+and is considered to be a Valid Abstract Document Instance if it
+satisfies the following condition: if after</p>
+<olist>
+<item>
+<p>pruning all element information
+items whose names are not members of the collection of element types defined
+by the associated abstract document type, then</p>
+</item>
+<item>
+<p>pruning character
+information item children from any remaining element in case that all
+character children of the element denote XML whitespace characters and the element's type
+is defined as empty in the associated Abstract Document Type, and then</p>
+</item>
+<item>
+<p>pruning all attribute
+information items having expanded names such that the namespace URI of the
+expanded names are not listed in <specref
+ref="namespace-vocab-table"/>,</p>
+</item>
+</olist>
+<p>then the document element is one of the document
+element types permitted by the associated abstract document type,
+the descendants of the document
+element satisfy their respective element type's content
+specifications, all required attributes are present, and the declared
+value of each attribute satisfies the type declared by the
+associated abstract document type.</p>
+<note>
+<p>While a conformant processor may not <emph>a priori</emph> reject a conformant document
+instance, a given document instance may be constrained by the author or authoring tool
+to satisfy a more restrictive definition of validity.</p>
+</note>
+<div2 id="dfxp-content-doctype">
+<head>DFXP Content</head>
+<p>DFXP Content is an abstract document type of 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 <specref ref="vocabulary"/>.</p>
+<p>This specification defines two types of normative schemas that may be used to validate a subset of
+conformant DFXP document instances:</p>
+<ulist>
+<item><p><specref ref="dfxp-schema-rnc"/></p></item>
+<item><p><specref ref="dfxp-schema-xsd"/></p></item>
+</ulist>
+<p>The (root) document element of a DFXP document instance must be a
+<el>tt</el> element, as defined by <specref
+ref="document-structure-vocabulary-tt"/>.</p>
+</div2>
+</div1>
+<div1 id="vocabulary">
+<head>Vocabulary</head>
+<p>This section defines the
+namespaces, profiles, and vocabulary (as an element an attribute
+catalog) of the Timed Text Authoring Format (TT AF) as follows:</p>
+<ulist>
+<item><p><specref ref="vocabulary-namespaces"/></p></item>
+<item><p><specref ref="vocabulary-profiles"/></p></item>
+<item><p><specref ref="vocabulary-overview"/></p></item>
+</ulist>
+<div2 id="vocabulary-namespaces">
+<head>Namespaces</head>
+<p>The Timed Text 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>
+<note role="explanation">
+<p>In a specific document instance, it is not required that the default
+prefixes shown below are used. Any prefix or namespace binding that satisfies the constraints
+of XML Namespaces may be used that is associated with the specified namespace URI.</p>
+</note>
+<table id="namespace-vocab-table" role="common">
+<caption>Table 1 &ndash; Namespaces</caption>
+<col width="25%"/>
+<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>
+<note role="clarification">
+<p>If a reference to an element type is used in this specification and the name
+of the element type is not namespace qualified, then the TT Namespace applies.</p>
+</note>
+</div2>
+<div2 id="vocabulary-profiles">
+<head>Profiles</head>
+<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 id="profile-vocab-table" role="common">
+<caption>Table 2 &ndash; Profiles</caption>
+<col width="25%"/>
+<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 <emph>sub-profile</emph> suffix of a profile URI: if a sub-profile
+is subtractive (results in a proper subset), then the <emph>sub-profile</emph>
+is expressed as "-token"; if additive (results in a proper superset), then it is
+expressed as "+token", where <emph>token</emph> expresses an author determined
+sub-profile that adheres to the <code>xsd:NCName</code> data type
+defined in <bibref ref="xsd-2"/>, &sect;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
+<att>ttp:profile</att> attribute as defined by <specref
+ref="parameter-attribute-profile"/>.</p>
+<note role="explanation">
+<p>A TT AF authoring system may indicate the profile of TT AF used in
+a document instance by
+specifying a <att>ttp:profile</att> 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>
+</note>
+<p>An example of an author defined "tiny" subtractive sub-profile of DFXP is shown
+below in <specref ref="dfxp-example-sub-profile"/>.</p>
+<table id="dfxp-example-sub-profile" role="example">
+<caption>Example Fragment &ndash; DFXP Subtractive Profile</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</td></tr>
+</tbody>
+</table>
+<note role="explanation">
+<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>
+</note>
+</div2>
+<div2 id="vocabulary-overview">
+<head>Catalog</head>
+<p>The vocabulary of the Timed Text Authoring Format (TT AF) is
+defined in the following major catalogs (divisions of vocabulary):</p>
+<ulist>
+<item><p><specref ref="core-vocabulary-overview"/></p></item>
+<item><p><specref ref="extension-vocabulary-overview"/></p></item>
+</ulist>
+<p>The core catalog defines the baseline, core vocabulary of 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>
+<div3 id="core-vocabulary-overview">
+<head>Core Catalog</head>
+<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>
+<ulist>
+<item><p><specref ref="parameters"/></p></item>
+<item><p><specref ref="content"/></p></item>
+<item><p><specref ref="styling"/></p></item>
+<item><p><specref ref="layout"/></p></item>
+<item><p><specref ref="timing"/></p></item>
+<item><p><specref ref="animation"/></p></item>
+<item><p><specref ref="metadata"/></p></item>
+</ulist>
+<p>The core element vocabulary specified for use with a TT AF document
+instance is enumerated in
+<specref ref="element-vocab-table"/>.</p>
+<table id="element-vocab-table" role="common">
+<caption>Table 3 &ndash; Element Vocabulary</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Module</th>
+<th>Elements</th>
+</tr>
+<tr>
+<td>
+Animation
+</td>
+<td>
+<loc href="#animation-vocabulary-set">set</loc>
+</td>
+</tr>
+<tr>
+<td>
+Content
+</td>
+<td>
+<loc href="#document-structure-vocabulary-body">body</loc>,
+<loc href="#content-vocabulary-div">div</loc>,
+<loc href="#content-vocabulary-p">p</loc>,
+<loc href="#content-vocabulary-span">span</loc>,
+<loc href="#content-vocabulary-br">br</loc>
+</td>
+</tr>
+<tr>
+<td>
+Document
+</td>
+<td>
+<loc href="#document-structure-vocabulary-tt">tt</loc>
+</td>
+</tr>
+<tr>
+<td>
+Head
+</td>
+<td>
+<loc href="#document-structure-vocabulary-head">head</loc>
+</td>
+</tr>
+<tr>
+<td>
+Layout
+</td>
+<td>
+<loc href="#layout-vocabulary-layout">layout</loc>,
+<loc href="#layout-vocabulary-region">region</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata
+</td>
+<td>
+<loc href="#metadata-vocabulary-metadata">metadata</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata Items
+</td>
+<td>
+<loc href="#metadata-vocabulary-actor">ttm:actor</loc>,
+<loc href="#metadata-vocabulary-agent">ttm:agent</loc>,
+<loc href="#metadata-vocabulary-copyright">ttm:copyright</loc>,
+<loc href="#metadata-vocabulary-desc">ttm:desc</loc>,
+<loc href="#metadata-vocabulary-name">ttm:name</loc>,
+<loc href="#metadata-vocabulary-title">ttm:title</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling
+</td>
+<td>
+<loc href="#styling-vocabulary-styling">styling</loc>,
+<loc href="#styling-vocabulary-style">style</loc>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>Element vocabulary groups that are used in defining content models
+for TT AF element types are enumerated in <specref ref="element-vocab-group-table"/>.</p>
+<table id="element-vocab-group-table" role="common">
+<caption>Table 4 &ndash; Element Vocabulary Groups</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Group</th>
+<th>Elements</th>
+</tr>
+<tr>
+<td>
+Animation.class
+</td>
+<td>
+<loc href="#animation-vocabulary-set">set</loc>
+</td>
+</tr>
+<tr>
+<td>
+Block.class
+</td>
+<td>
+<loc href="#content-vocabulary-div">div</loc> |
+<loc href="#content-vocabulary-p">p</loc>
+</td>
+</tr>
+<tr>
+<td>
+Inline.class
+</td>
+<td>
+<loc href="#content-vocabulary-span">span</loc> |
+<loc href="#content-vocabulary-span">br</loc> |
+<code>#PCDATA</code>
+</td>
+</tr>
+<tr>
+<td>
+Metadata.class
+</td>
+<td>
+<loc href="#metadata-vocabulary-metadata">metadata</loc> |
+<loc href="#metadata-vocabulary-copyright">ttm:agent</loc> |
+<loc href="#metadata-vocabulary-copyright">ttm:copyright</loc> |
+<loc href="#metadata-vocabulary-desc">ttm:desc</loc> |
+<loc href="#metadata-vocabulary-title">ttm:title</loc>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The attribute vocabulary specified for use with the core vocabulary
+catalog is enumerated in
+<specref ref="attribute-vocab-table"/>.</p>
+<table id="attribute-vocab-table" role="common">
+<caption>Table 5 &ndash; Attribute Vocabulary</caption>
+<col width="25%"/>
+<tbody>
+<tr>
+<th>Module</th>
+<th>Attributes</th>
+</tr>
+<tr>
+<td>
+Core Attributes
+</td>
+<td>
+<!-- FIXME - not yet defined
+<loc href="#content-attribute-requiredExtensions">requiredExtensions</loc>,
+<loc href="#content-attribute-requiredFeatures">requiredFeatures</loc>,
+<loc href="#content-attribute-requiredFonts">requiredFonts</loc>,
 -->
-    <latestloc>
-      <loc href="&latest;">&latest;</loc>
-    </latestloc>
-    <authlist id="authors">
-      <author>
-      	<name>Glenn Adams</name>
-      	<affiliation>Samsung</affiliation>
-      </author>
-    </authlist>
-    
-    <abstract>
-      <p>
-	This is the abstract.
-    </p>
-    
-    </abstract>
-    
-    &status;
-    
-    <langusage>
-      <language id='en-us'>English</language>
-    </langusage>
-    <revisiondesc>
-      <p>Last Modified: $Date$</p>
-    </revisiondesc>
-  </header>
-  
-  <body>
-    
-    <div1 id="introduction">
-      <head>Introduction</head>
-      
-      <p>This is a test.</p>
-
-  </div1>
-
-</body>
-
-<back>
-
-
-
-  <div1 id="references">
-  <head>References</head>
-
-  <blist>
+<loc href="#content-attribute-id">xml:id</loc>,
+<loc href="#content-attribute-lang">xml:lang</loc>,
+<loc href="#content-attribute-space">xml:space</loc>
+</td>
+</tr>
+<tr>
+<td>
+Layout
+</td>
+<td>
+<loc href="#layout-attribute-region">region</loc>
+</td>
+</tr>
+<tr>
+<td>
+Metadata Attributes
+</td>
+<td>
+<loc href="#metadata-attribute-agent">ttm:agent</loc>,
+<loc href="#metadata-attribute-role">ttm:role</loc>
+</td>
+</tr>
+<tr>
+<td>
+Parameter Attributes
+</td>
+<td>
+<loc href="#parameter-attribute-cellResolution">ttp:cellResolution</loc>,
+<loc href="#parameter-attribute-clockMode">ttp:clockMode</loc>,
+<loc href="#parameter-attribute-frameRate">ttp:frameRate</loc>,
+<loc href="#parameter-attribute-frameRateMultiplier">ttp:frameRateMultipler</loc>,
+<loc href="#parameter-attribute-markerMode">ttp:markerMode</loc>,
+<loc href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</loc>,
+<loc href="#parameter-attribute-profile">ttp:profile</loc>,
+<loc href="#parameter-attribute-smpteMode">ttp:smpteMode</loc>,
+<loc href="#parameter-attribute-subFrameRate">ttp:subFrameRate</loc>,
+<loc href="#parameter-attribute-tickRate">ttp:tickRate</loc>,
+<loc href="#parameter-attribute-timeBase">ttp:timeBase</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling
+</td>
+<td>
+<loc href="#style-attribute-style">style</loc>
+</td>
+</tr>
+<tr>
+<td>
+Styling Attributes
+</td>
+<td>
+<loc href="#style-attribute-backgroundColor">tts:backgroundColor</loc>,
+<loc href="#style-attribute-color">tts:color</loc>,
+<loc href="#style-attribute-direction">tts:direction</loc>,
+<loc href="#style-attribute-display">tts:display</loc>,
+<loc href="#style-attribute-displayAlign">tts:displayAlign</loc>,
+<loc href="#style-attribute-dynamicFlow">tts:dynamicFlow</loc>,
+<loc href="#style-attribute-extent">tts:extent</loc>,
+<loc href="#style-attribute-fontFamily">tts:fontFamily</loc>,
+<loc href="#style-attribute-fontSize">tts:fontSize</loc>,
+<loc href="#style-attribute-fontStyle">tts:fontStyle</loc>,
+<loc href="#style-attribute-fontWeight">tts:fontWeight</loc>,
+<loc href="#style-attribute-lineHeight">tts:lineHeight</loc>,
+<loc href="#style-attribute-opacity">tts:opacity</loc>,
+<loc href="#style-attribute-origin">tts:origin</loc>,
+<loc href="#style-attribute-overflow">tts:overflow</loc>,
+<loc href="#style-attribute-padding">tts:padding</loc>,
+<loc href="#style-attribute-showBackground">tts:showBackground</loc>,
+<loc href="#style-attribute-textAlign">tts:textAlign</loc>,
+<loc href="#style-attribute-textDecoration">tts:textDecoration</loc>,
+<loc href="#style-attribute-textOutline">tts:textOutline</loc>,
+<loc href="#style-attribute-unicodeBidi">tts:unicodeBidi</loc>,
+<loc href="#style-attribute-visibility">tts:visibility</loc>,
+<loc href="#style-attribute-wrapOption">tts:wrapOption</loc>,
+<loc href="#style-attribute-writingMode">tts:writingMode</loc>,
+<loc href="#style-attribute-zIndex">tts:zIndex</loc>
+</td>
+</tr>
+<tr>
+<td>
+Timing Attributes
+</td>
+<td>
+<loc href="#timing-attribute-begin">begin</loc>,
+<loc href="#timing-attribute-dur">dur</loc>,
+<loc href="#timing-attribute-end">end</loc>,
+<loc href="#timing-attribute-timeContainer">timeContainer</loc>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>All vocabulary defined by the TT AF consistently makes use of
+the so-called <emph>lowerCamelCase</emph> naming convention. In some cases, this results in the
+change of a name when the name was based upon another specification
+that used a different naming convention.</p>
+</note>
+</div3>
+<div3 id="extension-vocabulary-overview">
+<head>Extension Catalog</head>
+<p>The extension vocabulary catalog is intended for use by future
+profiles of the TT AF.</p>
+<p>In this version of this specification, no
+standardized extension vocabulary is defined. Two namespaces are
+specifically reserved by <specref ref="namespace-vocab-table"/>
+for metadata and style extension vocabulary:</p>
+<ulist>
+<item>
+<p>TT Style Extensions</p>
+</item>
+<item>
+<p>TT Metadata Extensions</p>
+</item>
+</ulist>
+<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>
+</div3>
+</div2>
+</div1>
+<div1 id="parameters">
+<head>Parameters</head>
+<p>This section specifies the <emph>parameters</emph> matter of the
+core vocabulary catalog, where
+parameters are to be understood as information that is either (1)
+essential or (2) of significant importance for the purpose of
+interpreting the semantics of other types of information expressed by
+core vocabulary items or for establishing a processing context by means
+of which TT AF content can be related to an external environment.</p>
+<div2 id="parameters-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>No parameters related element vocabulary is defined for use in the
+core vocabulary catalog.</p>
+</div2>
+<div2 id="parameters-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>The following attributes are defined in the TT Parameter Namespace.</p>
+<ulist>
+<item><p><specref ref="parameter-attribute-cellResolution"/></p></item>
+<item><p><specref ref="parameter-attribute-clockMode"/></p></item>
+<item><p><specref ref="parameter-attribute-frameRate"/></p></item>
+<item><p><specref ref="parameter-attribute-frameRateMultiplier"/></p></item>
+<item><p><specref ref="parameter-attribute-markerMode"/></p></item>
+<item><p><specref ref="parameter-attribute-pixelAspectRatio"/></p></item>
+<item><p><specref ref="parameter-attribute-profile"/></p></item>
+<item><p><specref ref="parameter-attribute-smpteMode"/></p></item>
+<item><p><specref ref="parameter-attribute-subFrameRate"/></p></item>
+<item><p><specref ref="parameter-attribute-tickRate"/></p></item>
+<item><p><specref ref="parameter-attribute-timeBase"/></p></item>
+</ulist>
+<p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT Parameter.</p>
+<div3 id="parameter-attribute-cellResolution">
+<head>ttp:cellResolution</head>
+<p>The <att>ttp:cellResolution</att> attribute may be used by an author
+to express the number of horizontal and vertical cells into which the root container region
+area is divided for the purpose of expressing presentation semantics in terms of
+a uniform grid.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-cellResolution-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:cellResolution</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:cellResolution
+  : columns rows                            // <emph>columns</emph> != 0; <emph>rows</emph> != 0
 
-  <bibl key="IETF RFC 2119" href="http://www.ietf.org/rfc/rfc2119.txt"
-	id="rfc2119">
-    <titleref>Key words for use in RFCs to Indicate Requirement
-    Levels</titleref>, S. Bradner, Author. Internet Engineering Task
-    Force, March 1997.  Available at
-    http://www.ietf.org/rfc/rfc2119.txt.
-  </bibl>
-      
-  <bibl key="IETF RFC 3987" href="http://www.ietf.org/rfc/rfc3987.txt"
-	id="rfc3987">
-    <titleref>Internationalized Resource Identifiers (IRIs)
-    </titleref>, M.  Duerst and M. Suignard, Authors. Internet
-    Engineering Task Force, January 2005. Available at
-    http://www.ietf.org/rfc/rfc3987.txt.
-  </bibl>
-  
-  <bibl id="xml" key="XML 1.0" href="http://www.w3.org/TR/2006/REC-xml-20060816">
-    <titleref>Extensible Markup Language (XML) 1.0 (Fourth
-    Edition)</titleref>, 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
-    <loc href="http://www.w3.org/TR/REC-xml/">latest version of XML
-    1.0</loc> is available at http://www.w3.org/TR/REC-xml.
-  </bibl>
+columns | rows
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If not specified, the number of columns and rows must be considered
+to be 32 and 15, respectively. If specified, then columns or rows must not be zero (0).</p>
+<note role="motivation">
+<p>The choice of values 32 and 15 are based on this being the
+maximum number of columns and rows defined by <bibref
+ref="cea608c"/>.</p>
+</note>
+<p>A <att>ttp:cellResolution</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<p>The use of a uniform grid is employed only for the purpose of
+measuring lengths and expressing coordinates. In particular, it is not
+assumed that the presentation of text or the alignment of individual
+glyph areas is
+coordinated with this grid. Such alignment is possible, but
+requires the use of a monospaced font and a font size whose EM square exactly
+matches the cell size.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-clockMode">
+<head>ttp:clockMode</head>
+<p>The <att>ttp:clockMode</att> attribute is used to specify the
+interpretation of time expressions as real-time time coordinates when
+operating with time base of <code>clock</code> as defined by <specref
+ref="parameter-attribute-timeBase"/>.</p>
+<note role="explanation">
+<p>See <specref ref="timing-time-value-expressions"/> for the
+specification of time expression syntax.</p>
+</note>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-clockMode-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:clockMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:clockMode
+  : "local"
+  | "gps"
+  | "utc"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, is designated as
+<code>clock</code>, then this parameter applies as follows: if the
+parameter's value is <code>local</code>, then time expressions are
+interpreted as local wall-clock time coordinates;
+if <code>utc</code>, then time expressions are
+interpreted as UTC time coordinates
+<bibref ref="utc"/>;
+if <code>gps</code>, then time expressions are
+interpreted as GPS time coordinates
+<bibref ref="gps"/>.</p>
+<note role="explanation">
+<p>The primary difference between GPS time and UTC time is that GPS
+time is not adjusted for leap seconds, while UTC time is adjusted as
+follows: UTC = TAI (<emph>Temp Atomique International</emph>) + <emph>leap seconds
+accumulated since 1972</emph>. TAI is maintained by the <emph>Bureau
+International des Poids et Mesures</emph> (BIPM) in Sevres, France.
+The GPS system time is steered to a Master Clock (MC) at the US Naval
+Observatory which is kept within a close but unspecified
+tolerance of TAI.</p>
+</note>
+<p>If not specified, the value of this parameter must be considered
+to be <code>utc</code>.</p>
+<p>A <att>ttp:clockMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-frameRate">
+<head>ttp:frameRate</head>
+<p>The <att>ttp:frameRate</att> attribute is used to specify the frame rate of a related
+media object or the intrinsic frame rate of a document instance in case it is intended
+to function as an independent media object.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-frameRate-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:frameRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:frameRate
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+                                // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The frame rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>frames</emph>
+as defined by <specref ref="timing-value-timeExpression"/>.</p>
+<p>A frame is interpreted as a division of a second of media
+time, such that if the frame rate is specified as <emph>F</emph>, then
+a second of media time is divided into <emph>F</emph> intervals of
+equal duration, where each interval is labeled as frame <emph>f</emph>,
+with <emph>f</emph> &isin; [0&hellip;<emph>F&minus;1</emph>].</p>
+<p>If not specified, the frame rate must be considered to be equal to some
+application defined frame rate, or if no application defined frame rate applies,
+then thirty (30) frames per second. If specified, then the frame rate must
+be greater than zero (0).</p>
+<p>A <att>ttp:frameRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-frameRateMultiplier">
+<head>ttp:frameRateMultiplier</head>
+<p>The <att>ttp:frameRateMultiplier</att> attribute is used to
+specify a multiplier to be applied to the frame rate specified by a
+<att>ttp:frameRate</att> attribute in order to compute the effective
+frame rate.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-frameRateMultiplier-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:frameRateMultiplier</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:frameRateMultiplier
+  : numerator ( ":" denominator )?          // <emph>denominator</emph> != 0
 
-  <bibl id="XML-NS" key="XML Namespaces"
-	href="http://www.w3.org/TR/2006/REC-xml-names-20060816/">
-    <titleref>Namespaces in XML 1.0</titleref>, 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
-    <loc href="http://www.w3.org/TR/REC-xml-names/">latest version of
-    Namespaces in XML</loc> is available at
-  http://www.w3.org/TR/REC-xml-names. </bibl>
+numerator | denominator
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A frame rate multiplier is used when the desired frame rate cannot
+be expressed as an integral number of frames per second.</p>
+<p>If not specified, the frame rate multiplier must be considered to
+be equal to one (1:1). If a denominator is specified, then it must not be zero (0).</p>
+<p>A <att>ttp:frameRateMultiplier</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="example">
+<p>The frame rate multiplier used for synchronizing with NTSC <bibref
+ref="smpte170m"/>
+formatted video objects at 30 frames per second is nominally
+1000:1001. The nominal frame rate of NTSC video is defined as the chrominance
+sub-carrier frequency of 3,579,545.45&hellip;Hz (= 5.0MHz &mult; 63/88) times the ratio 2/455 divided by
+the number of horizontal lines per frame of 525, which yields a frame
+rate of 29.970029970029&hellip; (= 30 &mult; 1000/1001) frames per
+second. Other frame rate multipliers apply to different regions of
+usage and video format standards.</p>
+</note>
+<note role="example">
+<p>Except in the case of PAL/M, the frame rate multiplier used for synchronizing with PAL
+formatted video objects at 25 frames per second is nominally 1:1.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-markerMode">
+<head>ttp:markerMode</head>
+<p>The <att>ttp:markerMode</att> attribute is used to specify
+constraints on the interpretation and use of time expressions
+that correspond with <bibref ref="smpte12m"/> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<specref ref="parameter-attribute-timeBase"/>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-markerMode-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:markerMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:markerMode
+  : "continuous"
+  | "discontinuous"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, is designated as
+<code>smpte</code>, then this parameter applies as follows: if the
+parameter's value is <code>continuous</code>, then <bibref ref="smpte12m"/> time coordinates
+may be assumed to be linear and either monotonically increasing or
+decreasing; however, if <code>discontinuous</code>, then any assumption
+must not be made regarding linearity or monotonicity of time coordinates.</p>
+<p>If not specified, the value of this parameter must be considered
+to be <code>continuous</code>.</p>
+<p>A <att>ttp:markerMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<p>If a value of <code>discontinuous</code> applies, then time
+expressions must not be converted to either media time or real time
+coordinates, arithmetical operators (addition, multiplication) are not
+defined on time expressions, and, consequently, any expression of a
+duration must be ignored.</p>
+<note role="explanation">
+<p>When operating with <code>smpte</code> time base and
+<code>discontinuous</code> marker mode, there is no effective time coordinate
+space; rather, all time expressions are interpreted as labeled
+synchronization events (markers), where some external synchronization
+context emits these events, which, when they correspond with time
+expressions that denote the same label, cause a temporal interval to
+begin or end accordingly.</p>
+<p>An additional side-effect of operating in <code>discontinuous</code>
+mode is that time expressions of children have no necessary
+relationship with time expressions of their temporal container; that
+is, temporal containers and children of these containers are
+temporally activated and inactivated independently based on the
+occurrence of a labeled synchronization (marker) event.</p>
+</note>
+<note role="explanation">
+<p>The notion of marker discontinuity as captured by this parameter
+is logically independent from the method used to count frames as
+expressed by the <att>ttp:smpteMode</att> parameter. In particular,
+even if the <att>ttp:smpteMode</att> parameter is specified as
+<code>dropNTSC</code> or <code>dropPAL</code>, the marker mode may be
+specified as <code>continuous</code>, even in the presence of frame count
+discontinuities induced by the frame counting method, unless there
+were some other non-linearity or discontinuity in marker labeling, for
+example, two consecutive frames labeled as <code>10:00:00:00</code>
+and <code>10:00:01:00</code>.
+</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-pixelAspectRatio">
+<head>ttp:pixelAspectRatio</head>
+<p>The <att>ttp:pixelAspectRatio</att> attribute may be used by a content author
+to express the aspect ratio of non-square pixels in the production of content that
+makes use of pixel coordinates.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-pixelAspectRatio-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:pixelAspectRatio</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:pixelAspectRatio
+  : width ":" height                        // <emph>width</emph> != 0; <emph>height</emph> != 0
 
-  <bibl id="XMLSchemaPart1" key="XML Schema Structures"
-	href="http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/">
-    <titleref>XML Schema Part 1: Structures Second Edition</titleref>, 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 <loc
-    href="http://www.w3.org/TR/xmlschema-1/">latest version of XML Schema
-  Part 1</loc> is available at http://www.w3.org/TR/xmlschema-1. </bibl>
-  <bibl key="XML Schema Datatypes" id="XMLSchemaPart2"
-	href="http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/">
-    <titleref>XML Schema Part 2: Datatypes Second Edition</titleref>, 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 <loc
-    href="http://www.w3.org/TR/xmlschema-2/">latest version of XML Schema
-  Part 2</loc> is available at http://www.w3.org/TR/xmlschema-2. </bibl>
-  </blist>
+width | height
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be assumed to apply.
+If specified, then width or height must not be zero.</p>
+<p>A <att>ttp:pixelAspectRatio</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="explanation">
+<p>This parameter may be used by a content transcoder or translator in
+order to convert pixel measurements between different pixel aspect
+ratios while still maintaining authorial layout intentions.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-profile">
+<head>ttp:profile</head>
+<p>The <att>ttp:profile</att> attribute may be used by a content author
+to express the profile of the Timed Text 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 <bibref ref="xsd-2"/>,
+&sect;3.2.17, and, further, must specify a profile URI as defined
+by <specref ref="vocabulary-profiles"/>.</p>
+<p>If not specified, then the Distribution Format Exchange Profile
+(DFXP) must be assumed to apply.</p> <p>A <att>ttp:profile</att>
+attribute is considered to be significant only when specified on the
+<el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-smpteMode">
+<head>ttp:smpteMode</head>
+<p>The <att>ttp:smpteMode</att> attribute is used to specify
+constraints on the interpretation and use of frame counts
+that correspond with <bibref ref="smpte12m"/> time coordinates when operating
+with time base of <code>smpte</code> as defined by
+<specref ref="parameter-attribute-timeBase"/>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-smpteMode-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:smpteMode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:smpteMode
+  : "dropNTSC"
+  | "dropPAL"
+  | "nonDrop"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base, defined by <specref
+ref="parameter-attribute-timeBase"/>, is designated as
+<code>smpte</code>, then this parameter applies as follows: if the
+parameter's value is <code>nonDrop</code>, then, within any given
+second of a time expression, frames count from 0 to
+<emph>N&minus;1</emph>, where <emph>N</emph> is the value specified by
+the <att>ttp:frameRate</att> parameter, but while ignoring any value
+specified by the <att>ttp:frameRateMultiplier</att> parameter.</p>
+<note role="clarification"> <p>When operating in <code>nonDrop</code>
+mode, a second of a time expression may or may not be equal to a
+second of real time during normal (1x speed) forward playback. If the
+<att>ttp:frameRateMultiplier</att> parameter is specified and is not
+equal to 1:1, then a second of a time expression will either be
+shorter or longer than a second of elapsed play in real
+time.</p></note>
+<p>If this parameter's value is <code>dropNTSC</code>, then, within any
+given second of a time expression except the second <code>00</code>,
+frames count from 0 to <emph>N&minus;1</emph>, where <emph>N</emph> is
+the value specified by the <att>ttp:frameRate</att> parameter, but
+while ignoring any value specified by the
+<att>ttp:frameRateMultiplier</att> parameter. If the second of a time
+expression is <code>00</code> and the minute of the time expression is
+not <code>00</code>, <code>10</code>, <code>20</code>, <code>30</code>,
+<code>40</code>, or <code>50</code>, then frame codes <code>00</code>
+and <code>01</code> are dropped during that second; otherwise, these
+frame codes are not dropped.</p>
+<note role="example"> <p>For example, when operating in <code>dropNTSC</code>
+mode with <att>ttp:frameRate</att> of <code>30</code>, a discontinuity
+in frame count occurs between consecutive frames as shown in the
+following sequence of time expressions: <code>01:08:59:28</code>,
+<code>01:08:59:29</code>, <code>01:09:00:02</code>,
+<code>01:09:00:03</code>.</p></note>
+<p>If this parameter's value is <code>dropPAL</code>, then, within any
+given second of a time expression except the second <code>00</code>,
+frames count from 0 to <emph>N&minus;1</emph>, where <emph>N</emph> is
+the value specified by the <att>ttp:frameRate</att> parameter, but
+while ignoring any value specified by the
+<att>ttp:frameRateMultiplier</att> parameter. If the second of a time
+expression is <code>00</code> and the minute of the time expression is
+even but not <code>00</code>, <code>20</code>, or <code>40</code>,
+then frame codes <code>00</code> through <code>03</code> are dropped
+during that second; otherwise, these frame codes are not dropped.</p>
+<note role="example"><p>For example, when operating in <code>dropPAL</code>
+mode with <att>ttp:frameRate</att> of <code>30</code>, a discontinuity
+in frame count occurs between consecutive frames as shown in the
+following sequence of time expressions: <code>01:09:59:28</code>,
+<code>01:09:59:29</code>, <code>01:10:00:04</code>,
+<code>01:10:00:04</code>.</p></note>
+<note role="explanation">
+<p>The <code>dropPAL</code> mode is also known as the
+<emph>M/PAL</emph> or <emph>PAL (M)</emph> drop-frame
+code, which uses PAL modulation with the NTSC frame rate of ~29.97
+frames/second. The M/PAL system is used primarily in Brazil.</p>
+</note>
+<p>If not specified, then <code>nonDrop</code> must be assumed to apply.</p>
+<p>A <att>ttp:smpteMode</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-subFrameRate">
+<head>ttp:subFrameRate</head>
+<p>The <att>ttp:subFrameRate</att> attribute is used to specify the sub-frame rate of a related
+media object or the intrinsic sub-frame rate of a document instance in case it is intended
+to function as an independent media object.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-subFrameRate-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:subFrameRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:subFrameRate
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+                                // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The sub-frame rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>sub-frames</emph>
+as defined by <specref ref="timing-value-timeExpression"/>.</p>
+<p>A sub-frame is interpreted as a division of a frame of media
+time, such that if the sub-frame rate is specified as <emph>S</emph>, then
+a frame of media time is divided into <emph>S</emph> intervals of
+equal duration, where each interval is labeled as sub-frame <emph>s</emph>,
+with <emph>s</emph> &isin; [0&hellip;<emph>S&minus;1</emph>].</p>
+<p>If not specified, the sub-frame rate must be considered to be
+equal to one (1). If specified, then the sub-frame rate must be greater than zero (0).</p>
+<p>A <att>ttp:subFrameRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<note role="clarification">
+<p>The sub-frame is sometimes referred to as a <emph>field</emph> in
+the context of synchronization with an interlaced video media object.</p>
+</note>
+</div3>
+<div3 id="parameter-attribute-tickRate">
+<head>ttp:tickRate</head>
+<p>The <att>ttp:tickRate</att> attribute is used to specify the tick rate of a related
+media object or the intrinsic tick rate of content of a document instance in case it is intended
+to function as an independent media object.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-tickRate-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:tickRate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:tickRate
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+                                // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The tick rate that applies to a document instance is used to
+interpret time expressions that are expressed in <emph>ticks</emph> by
+using the <code>t</code> metric as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<p>A tick is interpreted as an integral division of a second of media
+time, such that if the tick rate is specified as <emph>T</emph>, then
+a second of media time is divided into <emph>T</emph> intervals of
+equal duration, where each interval is labeled as tick <emph>t</emph>,
+with <emph>t</emph> &isin; [0&hellip;<emph>T&minus;1</emph>].</p>
+<p>If not specified, then if a frame rate is specified, the tick rate
+must be considered to be the effective frame rate multiplied by the
+sub-frame rate (i.e., ticks are interpreted as sub-frames); or, if no
+frame rate is specified, the tick rate must be considered to be one (1)
+tick per second of media time. If specified, then the tick rate
+must not be zero (0).</p>
+<note role="clarification">
+<p>There is no predefined relationship between ticks and frames or
+sub-frames. Ticks are an arbitrary division of seconds that permit
+use of fixed point arithmetic rather than fractional (and potentially
+inexact) expressions of seconds.</p>
+</note>
+<p>A <att>ttp:tickRate</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+</div3>
+<div3 id="parameter-attribute-timeBase">
+<head>ttp:timeBase</head>
+<p>The <att>ttp:timeBase</att> attribute is used to specify the
+temporal coordinate system by means of which time expressions are
+interpreted in a document instance.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-timeBase-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttp:timeBase</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:timeBase
+  : "media"
+  | "smpte"
+  | "clock"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If the time base is designated as <code>media</code>, then a time
+expression denotes a coordinate in some media object's time line,
+where the media object may be an external media object with which the
+content of a document instance is to be synchronized, or it may
+be the content of a document instance itself in a case where
+the timed text content is intended to establish an independent time
+line.</p>
+<note role="explanation">
+<p>When using a media time base, if that time base is paused or
+scaled positively or negatively, then it is expected that the
+presentation of associated Timed Text content will be similarly
+paused, accelerated, or decelerated, respectively. The means for
+controlling an external
+media time base is outside the scope of this specification.</p>
+</note>
+<p>If the time base is designated as <code>smpte</code>,
+then a time expression denotes a <bibref ref="smpte12m"/> time
+coordinate with which the content of a document instance is to
+be synchronized.  In this case, the value of the <att>ttp:markerMode</att> 
+and <att>ttp:smpteMode</att> parameters apply, as defined by <specref
+ref="parameter-attribute-markerMode"/> and <specref
+ref="parameter-attribute-smpteMode"/>, respectively</p>
+<p>If the time base is designated as <code>clock</code>, then the time
+expression denotes a coordinate in some real-world time line as
+established by some real-time clock, such as the local wall-clock time
+or UTC (Coordinated Universal Time) or GPS (Global Positioning System)
+time lines.</p>
+<p>If not specified, the default time base must be considered to be
+<code>media</code>.</p>
+<p>A <att>ttp:timeBase</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
+<p>When operating with either <code>media</code> or <code>smpte</code>
+time bases, a diachronic presentation of a document instance may
+be subject to transformations of the controlling time line, such as
+temporal reversal, dilation (expansion), or constriction
+(compression); however, when operating with the <code>clock</code>
+time base, no transformations are permitted, and diacrhonic
+presentation proceeds on a linear, monotonically increasing time line
+based on the passage of real time.</p>
+<note role="example">
+<p>Due to there being only one time base parameter that applies to a
+given document instance, the interpretation of time expressions
+is uniform throughout the document instance.</p>
+</note>
+</div3>
+</div2>
+</div1>
+<div1 id="content">
+<head>Content</head>
+<p>This section specifies the <emph>content</emph> matter of the core
+vocabulary catalog.</p>
+<div2 id="content-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>The following elements specify the structure and principal content aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="document-structure-vocabulary-tt"/></p></item>
+<item><p><specref ref="document-structure-vocabulary-head"/></p></item>
+<item><p><specref ref="document-structure-vocabulary-body"/></p></item>
+<item><p><specref ref="content-vocabulary-div"/></p></item>
+<item><p><specref ref="content-vocabulary-p"/></p></item>
+<item><p><specref ref="content-vocabulary-span"/></p></item>
+<item><p><specref ref="content-vocabulary-br"/></p></item>
+</ulist>
+<div3 id="document-structure-vocabulary-tt">
+<head>tt</head>
+<p>The <el>tt</el> element serves as the root, document element of a document
+instance.</p>
+<p>The <el>tt</el> element accepts as its children zero or one <el>head</el> element followed by
+zero or one <el>body</el> element.</p>
+<table id="elt-syntax-tt" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: tt</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;tt
+<!-- FIXME - not yet defined
+  <loc href="#content-attribute-requiredExtensions">requiredExtensions</loc> = string
+  <loc href="#content-attribute-requiredFeatures">requiredFeatures</loc> = string
+  <loc href="#content-attribute-requiredFonts">requiredFonts</loc> = string
+-->
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang"><phrase role="reqattr">xml:lang</phrase></loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>) : default
+  {<emph>any attribute in TT Parameter namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#document-structure-vocabulary-head">head</loc>?, <loc href="#document-structure-vocabulary-body">body</loc>?
+&lt;/tt&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The temporal beginning and ending of a document instance represented by a
+<el>tt</el> element is defined in relationship with some external
+application or presentation context. The temporal interval defined by
+these points is referred to subsequently as the <emph>external time interval</emph>.
+</p>
+<p>A document instance has an implicit duration that is equal to the
+implicit duration of the <el>body</el> element of the document, if present, or zero,
+if not present.</p>
+<p>An <att>xml:lang</att> attribute must be specified on the <el>tt</el> element.
+If the attribute value is empty, it signifies that there is no default language that applies
+to the text contained within the document instance.</p>
+<p>If no <att>xml:space</att> attribute is specified upon the <el>tt</el> element, then it must
+be considered as if the attribute had been specified with a value of <code>default</code>.</p>
+</div3>
+<div3 id="document-structure-vocabulary-head">
+<head>head</head>
+<p>The <el>head</el> element is a container element used to group
+header matter, including metadata, styling, and layout information.</p>
+<p>The <el>head</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by
+zero or one <el>styling</el> element, followed by zero or one
+<el>layout</el> element.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the document instance as a
+whole, and not just the <el>head</el> element.</p>
+<p>A <el>styling</el> child element is used to specify style constructs
+that are referenced from other style constructs, by layout constructs, and by
+content elements.</p>
+<p>A <el>layout</el> child element is used to specify layout constructs that
+are referenced by content elements.</p>
+<table id="elt-syntax-head" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: head</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;head
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#styling-vocabulary-styling">styling</loc>?, <loc href="#layout-vocabulary-layout">layout</loc>?
+&lt;/head&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>head</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="document-structure-vocabulary-body">
+<head>body</head>
+<p>The <el>body</el> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units represented as
+logical divisions.</p>
+<p>The <el>body</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <el>div</el> elements.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>body</el> element and its descendants as a whole.</p>
+<p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <el>body</el> element.</p>
+<table id="elt-syntax-body" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: body</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;body
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#layout-attribute-region">region</loc> = IDREF
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*, <loc href="#content-vocabulary-div">div</loc>*
+&lt;/body&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>An author may specify a temporal interval for a <el>body</el> element using
+the <att>begin</att>, <att>dur</att>, and <att>end</att> attributes. If the begin point
+of this interval remains unspecified, then the begin point is interpreted as the begin
+point of the external time interval. Similarly, if the end point of this interval remains unspecified, then the
+end point is interpreted as the end point of the external time interval.</p>
+<note role="explanation">
+<p>A 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>
+</note>
+<p>If relative begin or end times are specified on the <el>body</el> element, then
+these times are resolved by reference to the begin and end time of the external time interval.</p>
+<p>If the external time interval is shorter than the computed duration of the
+<el>body</el> element, then the active time interval of a document instance is
+truncated to the active end point of the external time interval.</p>
+<p>If no <att>timeContainer</att> attribute is specified, then a <el>body</el> element must be
+interpreted as having <emph>sequential</emph> time containment semantics.</p>
+<p>If the <att>tts:extent</att> attribute is specified on the <el>body</el>
+element, then it specifies the spatial extent of the root container region in
+which content regions are located and presented. If no <att>tts:extent</att>
+attribute is specified, then the spatial extent of the root container region is
+considered to be determined by the external authoring or presentation
+context.</p>
+<p>An author may associate a set of style properties with a <el>body</el> element by means of either
+the <att>style</att> attribute or inline style attributes or a
+combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated with a <el>body</el> element in a document instance
+are available for style inheritance by descendant content elements such as <el>div</el>, 
+<el>p</el>, and <el>span</el>.</p>
+</note>
+<p>The declared value of an inline style attribute on a <el>body</el>
+element must not be <code>inherit</code>.</p>
+</div3>
+<div3 id="content-vocabulary-div">
+<head>div</head>
+<p>The <el>div</el> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units represented as
+logical paragraphs.</p>
+<note role="explanation">
+<p>When rendered on a continuous (non-paged) visual presentation medium,
+a <el>div</el> element is expected to generate a single block area that
+contains zero or more child block areas generated by the <el>div</el>
+element's child <el>p</el> elements.
+</p>
+<p>If the single block area generated by a <el>div</el> element does
+not contain any child areas, then it is not expected to be presented.</p>
+</note>
+<p>The <el>div</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <el>p</el> elements.</p>
+<note role="motivation">
+<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>
+</note>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>div</el> element and its descendants as a whole.</p>
+<p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <el>div</el> element.</p>
+<table id="elt-syntax-div" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: div</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;div
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#layout-attribute-region">region</loc> = IDREF
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc
+  href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+  href="#element-vocab-group-table">Animation.class</loc>*, <loc
+  href="#element-vocab-group-table">Block.class</loc>*
+&lt;/div&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If no <att>timeContainer</att> attribute is specified, then a <el>div</el> element must be
+interpreted as having <emph>parallel</emph> time containment semantics.</p>
+<p>An author may associate a set of style properties with a <el>div</el> element by means of either
+the <att>style</att> attribute or inline style attributes or a combination thereof.</p>
+<note role="explanation">
+<p>Style properties that are associated to a <el>div</el> element in a document instance
+are available for style inheritance by descendant content elements such as
+<el>p</el> and <el>span</el>.</p>
+</note>
+</div3>
+<div3 id="content-vocabulary-p">
+<head>p</head>
+<p>A <el>p</el> element represents a logical paragraph, serving as
+a transition between block level and inline level formatting semantics.</p>
+<p>The <el>p</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more
+<code>span</code> element,
+<code>br</code> element,
+or text nodes interpreted as anonymous spans.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>p</el> element and its descendants as a whole.</p>
+<p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <el>p</el> element.</p>
+<table id="elt-syntax-p" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: p</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;p
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#layout-attribute-region">region</loc> = IDREF
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc
+  href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+  href="#element-vocab-group-table">Animation.class</loc>*, <loc
+  href="#element-vocab-group-table">Inline.class</loc>*
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If a sequence of children of a <el>p</el> element
+consists solely of character information items, then that sequence must
+be considered to be an <emph>anonymous span</emph> for the purpose of
+applying style properties that apply to <el>span</el> elements.</p>
+</div3>
+<div3 id="content-vocabulary-span">
+<head>span</head>
+<p>The <el>span</el> element functions as a logical container and a temporal
+structuring element for a sequence of textual content units having inline
+level formatting semantics.</p>
+<p>When presented on a visual medium, a <el>span</el> element is intended to
+generate a sequence of inline areas, each containing one or more glyph areas.</p>
+<p>The <el>span</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more
+<code>br</code> element
+or text nodes interpreted as anonymous spans.</p>
+<note role="motivation">
+<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>
+</note>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>span</el> element and its descendants as a whole.</p>
+<p>Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <el>span</el> element.</p>
+<table id="elt-syntax-span" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: span</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;span
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#layout-attribute-region">region</loc> = IDREF
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc
+  href="#element-vocab-group-table">Metadata.class</loc>*, <loc
+  href="#element-vocab-group-table">Animation.class</loc>*, <loc
+  href="#element-vocab-group-table">Inline.class</loc>*
+&lt;/span&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="content-vocabulary-br">
+<head>br</head>
+<p>The <el>br</el> element denotes an explicit line break.</p>
+<table id="elt-syntax-br" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: br</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;br
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*
+&lt;/br&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>When presented on a visual medium, the presence of a <el>br</el> element must be
+interpreted as a forced line break.</p>
+<note>
+<p>The visual presentation of a <el>br</el> element is
+intended to produce the same effect as the ASCII control code
+<code>CR</code>
+followed by the control code <code>NL</code> when presented on a teletype device.
+Therefore, two <el>br</el> elements in sequence will produce a
+different effect than a single <el>br</el> element.</p>
+</note>
+</div3>
+</div2>
+<div2 id="content-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>This section defines the following common attributes used with many or all element types
+in the core vocabulary catalog:</p>
+<ulist>
+<!-- FIXME - not yet defined
+<item><p><specref ref="content-attribute-requiredExtensions"/></p></item>
+<item><p><specref ref="content-attribute-requiredFeatures"/></p></item>
+<item><p><specref ref="content-attribute-requiredFonts"/></p></item>
+-->
+<item><p><specref ref="content-attribute-id"/></p></item>
+<item><p><specref ref="content-attribute-lang"/></p></item>
+<item><p><specref ref="content-attribute-space"/></p></item>
+</ulist>
+<!-- FIXME - not yet defined
+<div3 id="content-attribute-requiredExtensions">
+<head>requiredExtensions</head>
+<p>The <att>requiredExtensions</att> attribute is used as &tbd;.</p>
+<p>The <att>requiredExtensions</att> attribute may be used with any element in the
+core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-requiredFeatures">
+<head>requiredFeatures</head>
+<p>The <att>requiredFeatures</att> attribute is used as &tbd;.</p>
+<p>The <att>requiredFeatures</att> attribute may be used with any element in the
+core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-requiredFonts">
+<head>requiredFonts</head>
+<p>The <att>requiredFonts</att> attribute is used as &tbd;.</p>
+<p>The <att>requiredFonts</att> attribute may be used with any element in the
+core vocabulary catalog.</p>
+</div3>
+-->
+<div3 id="content-attribute-id">
+<head>xml:id</head>
+<p>The <att>xml:id</att> attribute is used as defined by
+<bibref ref="xmlid"/>.</p>
+<p>The <att>xml:id</att> attribute may be used with any element in the
+core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-lang">
+<head>xml:lang</head>
+<p>The <att>xml:lang</att> attribute is used as defined by
+<bibref ref="xml11"/>, &sect;2.12, <emph>Language Identification</emph>.</p>
+<p>The <att>xml:lang</att> attribute must be specified on the <el>tt</el>
+element and may be specified by an instance of any other element type
+in the core vocabulary catalog.</p>
+</div3>
+<div3 id="content-attribute-space">
+<head>xml:space</head>
+<p>The <att>xml:space</att> attribute is used as defined by
+<bibref ref="xml11"/>, &sect;2.10, <emph>White Space Handling</emph>.</p>
+<p>The <att>xml:space</att> attribute may be used with any element in
+the core vocabulary catalog.</p>
+<!-- OLD DEFINITION
+<p>The semantics of the value <code>default</code> are fixed to mean that
+white space that appears in element content as defined by <bibref
+ref="xml11"/>, &sect;3.2.1, must be normalized at the
+application layer during subsequent processing, such as presentation or
+transformation processing, as follows:</p>
+<olist>
+<item><p>replace each TAB character (<code>&amp;#x0009;</code>) and NEWLINE character (<code>&amp;#x000A;</code>) with a SPACE
+character (<code>&amp;#x0020;</code>);</p></item>
+<item><p>replace each sequence of two or more SPACE characters with a
+single SPACE character;</p></item>
+<item><p>for every maximum sequence of sibling character information
+items, if there is a leading or trailing SPACE character in the
+sequence, then remove the character.</p></item>
+</olist>
+-->
+<!-- NEW DEFINITION -->
+<p>The semantics of the value <code>default</code> are fixed to mean that
+when performing presentation processing of a document instance as
+described by <specref ref="semantics-region-layout-step-2"/>,
+processing must occur as
+if the following properties were specified on the affected
+elements of the intermediate XSL-FO document:</p>
+<ulist>
+<item>
+<p><code>suppress-at-line-break="auto"</code></p>
+</item>
+<item>
+<p><code>linefeed-treatment="treat-as-space"</code></p>
+</item>
+<item>
+<p><code>white-space-collapse="true"</code></p>
+</item>
+<item>
+<p><code>white-space-treatment="ignore-if-surrounding-linefeed"</code></p>
+</item>
+</ulist>
+<p>Similarly, the semantics of the value <code>preserve</code> are fixed to mean that
+when performing presentation processing, processing must occur as
+if the following properties were specified on the affected
+elements of the intermediate XSL-FO document:</p>
+<ulist>
+<item>
+<p><code>suppress-at-line-break="retain"</code></p>
+</item>
+<item>
+<p><code>linefeed-treatment="preserve"</code></p>
+</item>
+<item>
+<p><code>white-space-collapse="false"</code></p>
+</item>
+<item>
+<p><code>white-space-treatment="preserve"</code></p>
+</item>
+</ulist>
+<p>When performing other types of processing intended to eventually
+result in a visual presentation by means other than those described
+in this specification, the semantics of space collapsing and
+preservation as described above should be respected. For other types
+of processing, the treatment of the <att>xml:space</att> attribute
+is processor dependent, but should respect the semantics described
+above if possible.</p>
+</div3>
+</div2>
+</div1>
+<div1 id="styling">
+<head>Styling</head>
+<p>This section specifies the <emph>styling</emph> matter of the core
+vocabulary catalog, where
+styling is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the presentation of
+that content.</p>
+<p>No normative use of an
+<code>&lt;?xml-stylesheet ... ?&gt;</code> processing instruction is defined
+by this specification.</p>
+<div2 id="styling-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>The following elements specify the structure and principal styling aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="styling-vocabulary-styling"/></p></item>
+<item><p><specref ref="styling-vocabulary-style"/></p></item>
+</ulist>
+<div3 id="styling-vocabulary-styling">
+<head>styling</head>
+<p>The <el>styling</el> element is a container element used to group
+styling matter, including metadata that applies to styling matter.</p>
+<p>The <el>styling</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>style</el> elements.</p>
+<table id="elt-syntax-styling" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;styling
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
+&lt;/styling&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>styling</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="styling-vocabulary-style">
+<head>style</head>
+<p>The <el>style</el> element is used to define a single style specification or a set
+of style specifications.</p>
+<p>The <el>style</el> element accepts as its children zero or more <el>metadata</el> elements.</p>
+<table id="elt-syntax-style" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: style</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;style
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute in TT Style Extension namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+&lt;/style&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The declared value of an inline style attribute on a <el>style</el>
+element must not be <code>inherit</code>.</p>
+<p>A <el>style</el> element is considered to define a
+<emph>computed style specification set</emph>, where the set is determined using the
+following ordered rules:</p>
+<olist>
+<item>
+<p>If a <att>style</att> attribute is specified on the <el>style</el> element,
+then the set must be initialized so as to include each style specification contained in
+the <emph>computed style specification set</emph> of each element referenced by
+the <att>style</att> 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 <att>style</att>
+attribute.</p>
+</item>
+<item>
+<p>If the <el>style</el> 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>
+</item>
+</olist>
+<p>Two named style properties are considered to match if their expanded names match,
+where <emph>expanded name</emph> is defined by <bibref ref="xmlns11"/>, &sect;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 <el>style</el> element appears as a descendant of a
+<el>region</el> element, then the <el>style</el> element must be
+ignored for the purpose of computing referential styles as defined by
+<specref ref="semantics-style-association-referential"/> and <specref
+ref="semantics-style-association-chained-referential"/>.  </p>
+</div3>
+</div2>
+<div2 id="styling-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>This section defines the <specref ref="style-attribute-style"/> attribute used
+with both style definition elements as well as content elements.</p>
+<p>In addition, this section specifies the following attributes in the TT Style Namespace
+for use with style definition elements, certain layout elements, and content elements
+that support inline style specifications:</p>
+<ulist>
+<item><p><specref ref="style-attribute-backgroundColor"/></p></item>
+<item><p><specref ref="style-attribute-color"/></p></item>
+<item><p><specref ref="style-attribute-direction"/></p></item>
+<item><p><specref ref="style-attribute-display"/></p></item>
+<item><p><specref ref="style-attribute-displayAlign"/></p></item>
+<item><p><specref ref="style-attribute-dynamicFlow"/></p></item>
+<item><p><specref ref="style-attribute-extent"/></p></item>
+<item><p><specref ref="style-attribute-fontFamily"/></p></item>
+<item><p><specref ref="style-attribute-fontSize"/></p></item>
+<item><p><specref ref="style-attribute-fontStyle"/></p></item>
+<item><p><specref ref="style-attribute-fontWeight"/></p></item>
+<item><p><specref ref="style-attribute-lineHeight"/></p></item>
+<item><p><specref ref="style-attribute-opacity"/></p></item>
+<item><p><specref ref="style-attribute-origin"/></p></item>
+<item><p><specref ref="style-attribute-overflow"/></p></item>
+<item><p><specref ref="style-attribute-padding"/></p></item>
+<item><p><specref ref="style-attribute-showBackground"/></p></item>
+<item><p><specref ref="style-attribute-textAlign"/></p></item>
+<item><p><specref ref="style-attribute-textDecoration"/></p></item>
+<item><p><specref ref="style-attribute-textOutline"/></p></item>
+<item><p><specref ref="style-attribute-unicodeBidi"/></p></item>
+<item><p><specref ref="style-attribute-visibility"/></p></item>
+<item><p><specref ref="style-attribute-wrapOption"/></p></item>
+<item><p><specref ref="style-attribute-writingMode"/></p></item>
+<item><p><specref ref="style-attribute-zIndex"/></p></item>
+</ulist>
+<p>Unless explicitly stated otherwise, linear white-space (LWSP) may
+appear between tokens of a value of a TT Style Property.</p>
+<note role="explanation">
+<p>This specification makes use of <emph>lowerCamelCased</emph> local
+names for style attributes that
+are based upon like-named properties defined by <bibref ref="xsl10"/>.
+This convention is likewise extended to token values of such
+properties.</p>
+</note>
+<note role="clarification">
+<p>A style property may be expressed as a specified attribute on any content
+element type independently of whether the property applies to that
+element type. This capability permits the expression of an inheritable
+style property on ancestor elements to which the property property
+does not apply.</p>
+</note>
+<div3 id="style-attribute-style">
+<head>style</head>
+<p>The <att>style</att> attribute is used to reference one or more <el>style</el>
+elements each of which define a computed style specification set.</p>
+<p>The <att>style</att> attribute may be specified by an instance of the following
+element types:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#layout-vocabulary-region"><el>region</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+<item><p><loc href="#styling-vocabulary-style"><el>style</el></loc></p></item>
+</ulist>
+<note role="usage">
+<p>See the specific element type definitions that permit use of the <att>style</att>
+attribute for further information on its semantics.</p>
+</note>
+</div3>
+<div3 id="style-attribute-backgroundColor">
+<head>tts:backgroundColor</head>
+<p>The <att>tts:backgroundColor</att> attribute is used to specify a style property that
+defines the background color of a region or an area generated by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-backgroundColor" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-color">&lt;color&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>transparent</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>tts:backgroundColor</att> style is illustrated by the following example.</p>
+<table id="style-attribute-backgroundColor-example-1" role="example">
+<caption>Example Fragment &ndash; Background Color</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:extent="306px 114px"/&gt;
+  &lt;style <phrase role="strong">tts:backgroundColor="red"</phrase>/&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" <phrase role="strong">tts:backgroundColor="purple"</phrase> tts:textAlign="center"&gt;
+  Twinkle, twinkle, little bat!&lt;br/&gt;
+  How &lt;span <phrase role="strong">tts:backgroundColor="green"</phrase>&gt;I wonder&lt;/span&gt; where you're at!
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-backgroundColor-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Background Color</caption>
+<tbody>
+<tr>
+<td><graphic source="images/backgroundColor.png" alt="TT AF backgroundColor style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.7.2.</p>
+</note>
+</div3>
+<div3 id="style-attribute-color">
+<head>tts:color</head>
+<p>The <att>tts:color</att> attribute is used to specify a style property that
+defines the foreground color of marks associated with an area generated by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-color" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-color">&lt;color&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>transparent</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<p>The <att>tts:color</att> style is illustrated by the following example.</p>
+<table id="style-attribute-color-example-1" role="example">
+<caption>Example Fragment &ndash; Color</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:backgroundColor="black"/&gt;
+  &lt;style <phrase role="strong">tts:color="white"</phrase>/&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 <phrase role="strong">tts:color="green"</phrase>&gt;getting green&lt;/span&gt;,&lt;br/&gt;
+  I'll try and tell you what I mean.
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-color-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Color</caption>
+<tbody>
+<tr>
+<td><graphic source="images/color.png" alt="DFXP color style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.17.1.</p>
+</note>
+</div3>
+<div3 id="style-attribute-direction">
+<head>tts:direction</head>
+<p>The <att>tts:direction</att> attribute is used to specify a style property that
+defines the directionality of an embedding or override according to
+the Unicode bidirectional algorithm.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-direction" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>ltr</code> |
+<code>rtl</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>ltr</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The <att>tts:direction</att> style is illustrated by the following example.</p>
+<table id="style-attribute-direction-example-1" role="example">
+<caption>Example Fragment &ndash; Direction</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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" <phrase role="strong">tts:direction="rtl"</phrase>&gt;where the tourists snore.&lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-direction-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Direction</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/direction.png" alt="DFXP direction style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.27.1.</p>
+</note>
+</div3>
+<div3 id="style-attribute-display">
+<head>tts:display</head>
+<p>The <att>tts:display</att> attribute is used to specify a style property that
+defines whether an element is a candidate for layout and composition
+in a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-display" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<code>none</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>auto</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute is <code>auto</code>,
+then the affected element is a candidate for region layout and
+presentation; however, if the value is <code>none</code>, then the
+affected element and its descendants must be considered ineligible for region
+layout and presentation.</p>
+<p>The <att>tts:display</att> style is illustrated by the following example.</p>
+<table id="style-attribute-display-example-1" role="example">
+<caption>Example Fragment &ndash; Display</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:display="none"</phrase>&gt;
+      &lt;set begin="1s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/&gt;
+      Beautiful soup,
+    &lt;/span&gt;
+    &lt;span <phrase role="strong">tts:display="none"</phrase>&gt;
+      &lt;set begin="2s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/&gt;
+      so rich and green,
+    &lt;/span&gt;
+    &lt;span <phrase role="strong">tts:display="none"</phrase>&gt;
+      &lt;set begin="3s" dur="1s" <phrase role="strong">tts:display="auto"</phrase>/&gt;
+      waiting in a hot tureen!
+    &lt;/span&gt;
+    ]]]
+  &lt;/p&gt;
+&lt;/div&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-display-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Display</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/display_0.png" alt="DFXP display style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_1.png" alt="DFXP display style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_2.png" alt="DFXP display style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_3.png" alt="DFXP display style property - [3,4)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/display_4.png" alt="DFXP display style property - [4,5)"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref
+ref="css2"/>,
+&sect; 9.2.5.</p>
+</note>
+</div3>
+<div3 id="style-attribute-displayAlign">
+<head>tts:displayAlign</head>
+<p>The <att>tts:displayAlign</att> attribute is used to specify a style property that
+defines the alignment of block areas in the block progression direction.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-displayAlign" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>before</code> |
+<code>center</code> |
+<code>after</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>before</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The <att>tts:displayAlign</att> style is illustrated by the following example.</p>
+<table id="style-attribute-displayAlign-example-1" role="example">
+<caption>Example Fragment &ndash; Display Align</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:displayAlign="before"</phrase>/&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 <phrase role="strong">tts:displayAlign="after"</phrase>/&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 <phrase role="strong">tts:displayAlign="before"</phrase>/&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 <phrase role="strong">tts:displayAlign="after"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-displayAlign-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Display Align</caption>
+<tbody>
+<tr>
+<td><graphic source="images/displayAlign.png" alt="DFXP displayAlign style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.13.4.</p>
+</note>
+</div3>
+<div3 id="style-attribute-dynamicFlow">
+<head>tts:dynamicFlow</head>
+<p>The <att>tts:dynamicFlow</att> 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 <att>tts:overflow</att>
+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 id="style-property-details-dynamicFlow" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>none</code> |
+<loc href="#style-value-flowFunction">&lt;flowFunction&gt;</loc>+ <loc href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>* 
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>none</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>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
+<loc href="#style-value-flowFunction">&lt;flowFunction&gt;</loc>, then that flow function applies equally to
+<emph>fill into</emph>, <emph>reflow within</emph>, and <emph>clear
+from</emph> 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 <emph>reflow within</emph>
+and <emph>clear from</emph> dynamic flow operations.</p>
+<p>If either <code>intra()</code> or <code>inter()</code>
+<loc href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc> is not specified, then the
+<code>auto</code> value for the missing <loc href="#style-value-flowIntervalFunction">&lt;flowIntervalFunction&gt;</loc>
+applies.</p>
+<p>The normative processing model for dynamic flow behavior is
+specified in <specref ref="dynamicFlowModel"/>.</p>
+<p>The <att>tts:dynamicFlow</att> style is illustrated by the
+following example, and depicted in an <loc href="images/dynamicFlow_RU_animated.svg">SVG Animation</loc>.</p>
+<table id="style-attribute-dynamicFlow-example-1" role="example">
+<caption>Example Fragment &ndash; Dynamic Flow</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:overflow="scroll"</phrase>/&gt;
+  &lt;style <phrase role="strong">tts:dynamicFlow="in(word,jump) out(line,smooth) inter(3s)"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-dynamicFlow-example-2-images" role="example-images-bordered">
+<caption>Example Rendition &ndash; Dynamic Flow &ndash; Discrete Frames</caption>
+<col width="136px"/>
+<col width="136px"/>
+<col width="136px"/>
+<col width="136px"/>
+<tbody>
+<tr>
+<td><graphic source="images/dynamicFlow_snake_0.png" alt="DFXP dynamic flow style property - frame 0"/></td>
+<td><graphic source="images/dynamicFlow_snake_1.png" alt="DFXP dynamic flow style property - frame 1"/></td>
+<td><graphic source="images/dynamicFlow_snake_2.png" alt="DFXP dynamic flow style property - frame 2"/></td>
+<td><graphic source="images/dynamicFlow_snake_3.png" alt="DFXP dynamic flow style property - frame 3"/></td>
+</tr>
+<tr>
+<td><graphic source="images/dynamicFlow_snake_4.png" alt="DFXP dynamic flow style property - frame 4"/></td>
+<td><graphic source="images/dynamicFlow_snake_5.png" alt="DFXP dynamic flow style property - frame 5"/></td>
+<td><graphic source="images/dynamicFlow_snake_6.png" alt="DFXP dynamic flow style property - frame 6"/></td>
+<td><graphic source="images/dynamicFlow_snake_7.png" alt="DFXP dynamic flow style property - frame 7"/></td>
+</tr>
+<tr>
+<td><graphic source="images/dynamicFlow_snake_8.png" alt="DFXP dynamic flow style property - frame 8"/></td>
+<td><graphic source="images/dynamicFlow_snake_9.png" alt="DFXP dynamic flow style property - frame 9"/></td>
+<td><graphic source="images/dynamicFlow_snake_10.png" alt="DFXP dynamic flow style property - frame 10"/></td>
+<td><graphic source="images/dynamicFlow_snake_11.png" alt="DFXP dynamic flow style property - frame 11"/></td>
+</tr>
+<tr>
+<td><graphic source="images/dynamicFlow_snake_12.png" alt="DFXP dynamic flow style property - frame 12"/></td>
+<td><graphic source="images/dynamicFlow_snake_13.png" alt="DFXP dynamic flow style property - frame 13"/></td>
+<td><graphic source="images/dynamicFlow_snake_14.png" alt="DFXP dynamic flow style property - frame 14"/></td>
+<td><graphic source="images/dynamicFlow_snake_15.png" alt="DFXP dynamic flow style property - frame 15"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-extent">
+<head>tts:extent</head>
+<p>The <att>tts:extent</att> attribute is used to specify the
+<emph>width</emph> and <emph>height</emph> of a region area
+(which may be the root container region).</p>
+<p>This attribute may be specified by any 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 id="style-property-details-extent" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of root container region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of two <loc href="#style-value-length">&lt;length&gt;</loc>
+specifications, then they must be interpreted as <emph>width</emph>
+and <emph>height</emph>, where the first specification is the
+<emph>width</emph>, and the second specification is the
+<emph>height</emph>.</p>
+<p>If the value of this attribute is <code>auto</code>, then the initial value
+of the style property must be considered to be the same as the root container extent.
+The root container extent is determined either by a
+<att>tts:extent</att> specified on the <el>body</el> 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
+<loc href="#style-value-length">&lt;length&gt;</loc> specifications,
+then these specifications must be expressed as non-percentage,
+definite lengths using pixel units.</p>
+<p>The <att>tts:extent</att> style is illustrated by the following example.</p>
+<table id="style-attribute-extent-example-1" role="example">
+<caption>Example Fragment &ndash; Extent</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1"&gt;
+  &lt;style <phrase role="strong">tts:extent="330px 122px"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-extent-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Extent</caption>
+<tbody>
+<tr>
+<td><graphic source="images/extent.png" alt="DFXP extent style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-fontFamily">
+<head>tts:fontFamily</head>
+<p>The <att>tts:fontFamily</att> attribute is used to specify a style property that
+defines the font family from which glyphs are selected for glyph areas generated
+by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-fontFamily" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+(<loc href="#style-value-familyName">&lt;familyName&gt;</loc> | <loc href="#style-value-genericFamilyName">&lt;genericFamilyName&gt;</loc>)
+(<code>","</code>
+&nbsp;(<loc href="#style-value-familyName">&lt;familyName&gt;</loc> | <loc href="#style-value-genericFamilyName">&lt;genericFamilyName&gt;</loc>))* |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>default</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<note role="clarification">
+<p>The initial value, <code>default</code>, is a generic font family name, and is
+further described in <specref ref="style-value-genericFamilyName"/> below.</p>
+</note>
+<p>The <att>tts:fontFamily</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontFamily-example-1" role="example">
+<caption>Example Fragment &ndash; Font Family</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:fontFamily="proportionalSansSerif"</phrase>/&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" <phrase role="strong">tts:fontFamily="monospaceSerif"</phrase>&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontFamily-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Font Family</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontFamily.png" alt="DFXP fontFamily style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.8.2.</p>
+</note>
+</div3>
+<div3 id="style-attribute-fontSize">
+<head>tts:fontSize</head>
+<p>The <att>tts:fontSize</att> attribute is used to specify a style property
+that defines the font size for glyphs that are selected for glyph areas
+generated by content flowed into a region, where font size is interpreted as a
+scaling transform to the font's design EM square.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-fontSize" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc>? |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>1c</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to parent element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If a single <loc href="#style-value-length">&lt;length&gt;</loc> value is specified, then this length applies
+equally to horizontal and vertical scaling of a glyph's EM square; if two
+<loc href="#style-value-length">&lt;length&gt;</loc> values are specified, then the first expresses the horizontal
+scaling and the second expresses vertical scaling.</p>
+<note role="example">
+<p>Use of independent horizontal and vertical font sizes is expected to be used
+with cell based metrics in order to denote fonts that are two rows in height and
+one column in width.</p>
+</note>
+<p>If horizontal and vertical sizes are expressed independently, then the
+metrics of the <loc href="#style-value-length">&lt;length&gt;</loc> values must be the same.</p>
+<p>The <loc href="#style-value-length">&lt;length&gt;</loc> value(s) used to express font size must be non-negative.</p>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<p>The <att>tts:fontSize</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontSize-example-1" role="example">
+<caption>Example Fragment &ndash; Font Size</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:fontSize="18px"</phrase>/&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 <phrase role="strong">tts:fontSize="24px"</phrase>&gt;pleasant&lt;/span&gt; to drink.
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontSize-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Font Size</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontSize.png" alt="DFXP fontSize style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.8.4.</p>
+</note>
+</div3>
+<div3 id="style-attribute-fontStyle">
+<head>tts:fontStyle</head>
+<p>The <att>tts:fontStyle</att> attribute is used to specify a style property that
+defines the font style to apply to glyphs that are selected for glyph areas generated
+by content flowed into a region, where the mapping from font
+style value to specific font face or style parameterization is not determined
+by this specification.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-fontStyle" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>italic</code> |
+<code>oblique</code> |
+<code>reverseOblique</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<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 <att>tts:fontStyle</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontStyle-example-1" role="example">
+<caption>Example Fragment &ndash; Font Style</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:fontStyle="italic"</phrase>&gt;write it down.&lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontStyle-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Font Style</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontStyle.png" alt="DFXP fontStyle style property"/></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.8.7.</p>
+</note>
+</div3>
+<div3 id="style-attribute-fontWeight">
+<head>tts:fontWeight</head>
+<p>The <att>tts:fontWeight</att> attribute is used to specify a style property
+that defines the font weight to apply to glyphs that are selected for glyph
+areas generated by content flowed into a region, where the mapping from font
+weight value to specific font face or weight parameterization is not determined
+by this specification.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-fontWeight" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>bold</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<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 <att>tts:fontWeight</att> style is illustrated by the following example.</p>
+<table id="style-attribute-fontWeight-example-1" role="example">
+<caption>Example Fragment &ndash; Font Weight</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:fontWeight="bold"</phrase>&gt;and mentioned me to him:&lt;/span&gt;&lt;br/&gt;
+  She gave me a good character&lt;br/&gt;
+  &lt;span <phrase role="strong">tts:fontWeight="bold"</phrase>&gt;but said I could not swim.&lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-fontWeight-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Font Weight</caption>
+<tbody>
+<tr>
+<td><graphic source="images/fontWeight.png" alt="DFXP fontWeight style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.8.9.</p>
+</note>
+</div3>
+<div3 id="style-attribute-lineHeight">
+<head>tts:lineHeight</head>
+<p>The <att>tts:lineHeight</att> attribute is used to specify a style property that
+defines the inter-baseline separation between line areas generated by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-lineHeight" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<loc href="#style-value-length">&lt;length&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>normal</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to this element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute is <code>normal</code>, then the initial value
+of the style property must be considered to be the same as the largest font size
+that applies to any child element.</p>
+<p>If specified as a <loc href="#style-value-length">&lt;length&gt;</loc>, then the length must be non-negative.</p>
+<p>The <att>tts:lineHeight</att> style is illustrated by the following example.</p>
+<table id="style-attribute-lineHeight-example-1" role="example">
+<caption>Example Fragment &ndash; Line Height</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:lineHeight="32px"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-lineHeight-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Line Height</caption>
+<tbody>
+<tr>
+<td><graphic source="images/lineHeight.png" alt="DFXP lineHeight style property"/></td>
+</tr>
+</tbody>
+</table>
+<p/>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.15.4.</p>
+</note>
+</div3>
+<div3 id="style-attribute-opacity">
+<head>tts:opacity</head>
+<p>The <att>tts:opacity</att> attribute is used to specify a style property that
+defines the opacity (or 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 id="style-property-details-opacity" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-alpha">&lt;alpha&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>1.0</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>An <loc href="#style-value-alpha">&lt;alpha&gt;</loc> value greater than 1.0 must be considered equivalent
+to an <loc href="#style-value-alpha">&lt;alpha&gt;</loc> value of 1.0.</p>
+<p>The <att>tts:opacity</att> style is illustrated by the following example.</p>
+<table id="style-attribute-opacity-example-1" role="example">
+<caption>Example Fragment &ndash; Opacity</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1" dur="5s"&gt;
+  &lt;set begin="0s" dur="1s" <phrase role="strong">tts:opacity="1.00"</phrase>/&gt;
+  &lt;set begin="1s" dur="1s" <phrase role="strong">tts:opacity="0.75"</phrase>/&gt;
+  &lt;set begin="2s" dur="1s" <phrase role="strong">tts:opacity="0.50"</phrase>/&gt;
+  &lt;set begin="3s" dur="1s" <phrase role="strong">tts:opacity="0.25"</phrase>/&gt;
+  &lt;set begin="4s" dur="1s" <phrase role="strong">tts:opacity="0.00"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-opacity-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Opacity</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/opacity_0.png" alt="DFXP opacity style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_1.png" alt="DFXP opacity style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_2.png" alt="DFXP opacity style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_3.png" alt="DFXP opacity style property - [3,4)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/opacity_4.png" alt="DFXP opacity style property - [4,5)"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="css3-color"/>,
+&sect; 3.2.</p>
+</note>
+</div3>
+<div3 id="style-attribute-origin">
+<head>tts:origin</head>
+<p>The <att>tts:origin</att> attribute is used to specify the
+<emph>x</emph> and <emph>y</emph> coordinates of the origin of a
+region area with respect to the origin of the root container extent,
+if specified, or the external authoring context, if not specified.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-origin" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of root container region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of two <loc href="#style-value-length">&lt;length&gt;</loc> specifications,
+then they must be interpreted as <emph>x</emph> and <emph>y</emph> coordinates, where the first specification
+is the <emph>x</emph> coordinate, and the second specification is the <emph>y</emph> coordinate.</p>
+<p>If the value of this attribute is <code>auto</code>, then the initial value
+of the style property must be considered to be the same as the root container origin.
+The root container origin is determined by the external authoring context.</p>
+<p>The <att>tts:origin</att> style is illustrated by the following example.</p>
+<table id="style-attribute-origin-example-1" role="example">
+<caption>Example Fragment &ndash; Origin</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1"&gt;
+  &lt;style <phrase role="strong">tts:origin="40px 40px"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-origin-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Origin</caption>
+<tbody>
+<tr>
+<td><graphic source="images/origin.png" alt="DFXP origin style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-overflow">
+<head>tts:overflow</head>
+<p>The <att>tts:overflow</att> attribute is used to specify a style property that
+defines whether a region area is clipped or not if the descendant areas of the region overflow
+its extent.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-overflow" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>visible</code> |
+<code>hidden</code> |
+<code>scroll</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>hidden</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>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>
+<note role="explanation">
+<p>Unless a manual line break element <el>br</el> is used by the content author,
+a paragraph of a given region will generate no more than one line area in that
+region if the value of the <att>tts:overflow</att> style that applies to the
+region is <code>visible</code> and if the applicable <att>tts:wrapOption</att>
+style is <code>noWrap</code>.</p>
+</note>
+<p>If 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 <att>tts:dynamicFlow</att> style property; in this case, the
+semantics of the <att>tts:dynamicFlow</att> apply whether or not the
+affected region has overflowed.</p>
+<p>The <att>tts:overflow</att> style is illustrated by the following example.</p>
+<table id="style-attribute-overflow-example-1" role="example">
+<caption>Example Fragment &ndash; Overflow</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:overflow="visible"</phrase>/&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 <phrase role="strong">tts:overflow="hidden"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-overflow-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Overflow</caption>
+<tbody>
+<tr>
+<td><graphic source="images/overflow.png" alt="DFXP overflow style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the <att>tts:noWrap</att> is set to
+<code>noWrap</code> to prevent automatic line wrapping (breaking);
+if this were not specified, then overflow would occur in the block
+progression direction as opposed to the inline progression direction.</p>
+</note>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.20.2.</p>
+</note>
+</div3>
+<div3 id="style-attribute-padding">
+<head>tts:padding</head>
+<p>The <att>tts:padding</att> attribute is used to specify padding (or inset)
+space on all sides of a region area 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 id="style-property-details-padding" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<loc href="#style-value-length">&lt;length&gt;</loc> |
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> |
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> |
+<loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> <loc href="#style-value-length">&lt;length&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>0</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to width and height of region</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute consists of one <loc href="#style-value-length">&lt;length&gt;</loc> specification,
+then that length applies to all edges of the affected areas. If the value
+consists of two <loc href="#style-value-length">&lt;length&gt;</loc> specifications, then the first applies to the
+before and after edges, and the second applies to the start and end edges.
+If three <loc href="#style-value-length">&lt;length&gt;</loc> specifications are provided, then the first applies to the
+before edge, the second applies to the start and end edges, and the third applies
+to the after edge.
+If four <loc href="#style-value-length">&lt;length&gt;</loc> specifications are provided, then they apply to before, end,
+after, and start edges, respectively.</p>
+<p>The <att>tts:padding</att> style is illustrated by the following example.</p>
+<table id="style-attribute-padding-example-1" role="example">
+<caption>Example Fragment &ndash; Padding</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:padding="10px 40px"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>When rendering an area to which padding applies, the background color that
+applies to the area is rendered into the padded portion of the area.</p>
+<table id="style-attribute-padding-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Padding</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/padding.png" alt="DFXP padding style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.29.15, except that individual shorthand values map to writing
+mode relative padding values as defined by <bibref ref="xsl10"/>,
+&sect; 7.7.31, 7.7.32, 7.7.33, and 7.7.34.</p>
+</note>
+</div3>
+<div3 id="style-attribute-showBackground">
+<head>tts:showBackground</head>
+<p>The <att>tts:showBackground</att> attribute is used to specify
+constraints on when the background color of a region is intended to be
+presented.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-showBackground" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>always</code> |
+<code>whenActive</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>always</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If the value of this attribute is <code>always</code>, then the
+background color of a region is always rendered when performing presentation
+processing on a visual medium; if the value is <code>whenActive</code>,
+then the background color of a region is rendered only when some
+content is selected into the region.</p>
+<p>The <att>tts:showBackground</att> style is illustrated by the following example.</p>
+<table id="style-attribute-showBackground-example-1" role="example">
+<caption>Example Fragment &ndash; Show Background</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:showBackground="always"</phrase>/&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 <phrase role="strong">tts:showBackground="whenActive"</phrase>/&gt;
+&lt;/region&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<!--
+<table id="style-attribute-showBackground-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Show Background</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/showBackground.png" alt="DFXP showBackground style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+-->
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="smil21"/>,
+&sect; 5.3.1.</p>
+</note>
+</div3>
+<div3 id="style-attribute-textAlign">
+<head>tts:textAlign</head>
+<p>The <att>tts:textAlign</att> attribute is used to specify a style property that
+defines how inline areas are aligned within a containing block area in the inline progression
+direction.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-textAlign" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>left</code> |
+<code>center</code> |
+<code>right</code> |
+<code>start</code> |
+<code>end</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>start</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>tts:textAlign</att> style is illustrated by the following example.</p>
+<table id="style-attribute-textAlign-example-1" role="example">
+<caption>Example Fragment &ndash; Text Align</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:textAlign="start"</phrase>/&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 <phrase role="strong">tts:textAlign="end"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textAlign-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Text Align</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textAlign.png" alt="DFXP textAlign style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.15.9.</p>
+</note>
+</div3>
+<div3 id="style-attribute-textDecoration">
+<head>tts:textDecoration</head>
+<p>The <att>tts:textDecoration</att> attribute is used to specify a style property that
+defines a text decoration effect to apply to glyph areas or other inline
+areas that are generated by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-textDecoration" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>none</code> |
+[ [
+<code>underline</code> |
+<code>noUnderline</code>
+] || [
+<code>throughline</code> |
+<code>noThroughline</code>
+] || [
+<code>overline</code> |
+<code>noOverline</code>
+] ] | 
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>none</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no, but see prose of <bibref ref="xsl10"/>, &sect; 7.16.4</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>tts:textDecoration</att> style is illustrated by the following example.</p>
+<table id="style-attribute-textDecoration-example-1" role="example">
+<caption>Example Fragment &ndash; Text Decoration</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:textDecoration="underline"</phrase>/&gt;
+&lt;/region&gt;
+...
+&lt;p region="r1"&gt;
+  The sea was wet&lt;span <phrase role="strong">tts:textDecoration="noUnderline"</phrase>&gt; as &lt;/span&gt;wet&lt;span 
+  <phrase role="strong">tts:textDecoration="noUnderline"</phrase>&gt;
+	could be,&lt;br/&gt;
+	The sand was dry as dry.&lt;br/&gt;
+	&lt;span <phrase role="strong">tts:textDecoration="lineThrough"</phrase>&gt;There weren't any&lt;/span&gt;
+	You
+	&lt;span <phrase role="strong">tts:textDecoration="lineThrough"</phrase>&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textDecoration-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Text Decoration</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textDecoration.png" alt="DFXP textDecoration style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.16.4.</p>
+</note>
+</div3>
+<div3 id="style-attribute-textOutline">
+<head>tts:textOutline</head>
+<p>The <att>tts:textOutline</att> attribute is used to specify a style property that
+defines a text outline effect to apply to glyphs that are selected for glyph areas generated
+by content flowed into a region.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-textOutline" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>none</code> |
+<loc href="#style-value-color">&lt;color&gt;</loc>?
+<loc href="#style-value-length">&lt;length&gt;</loc>
+<loc href="#style-value-length">&lt;length&gt;</loc>? |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>none</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>relative to this element's font size</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+</note>
+<p>The value of this attribute consists of an optional <loc href="#style-value-color">&lt;color&gt;</loc> term
+followed by one or two <loc href="#style-value-length">&lt;length&gt;</loc> terms.  If a <emph>color</emph> term is
+present, then it denotes the outline color; if no <emph>color</emph> term is
+present, the computed value of the <att>tts:color</att> applies.  The first
+<emph>length</emph> term denotes the outline thickness and the second length
+term, if present, indicates the blur radius.</p>
+<p>The <att>tts:textOutline</att> style is illustrated by the following
+example.</p>
+<table id="style-attribute-textOutline-example-1" role="example">
+<caption>Example Fragment &ndash; Text Outline</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region xml:id="r1"&gt;
+  &lt;style tts:backgroundColor="transparent"/&gt;
+  &lt;style tts:color="yellow"/&gt;
+  &lt;style <phrase role="strong">tts:textOutline="black 2px 0px"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-textOutline-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Text Outline</caption>
+<tbody>
+<tr>
+<td><graphic source="images/textOutline.png" alt="backgroundColor style property"/></td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-attribute-unicodeBidi">
+<head>tts:unicodeBidi</head>
+<p>The <att>tts:unicodeBidi</att> attribute is used to specify a style property that
+defines a directional embedding or override according to
+the Unicode bidirectional algorithm.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-unicodeBidi" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>normal</code> |
+<code>embed</code> |
+<code>bidiOverride</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>normal</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>The <att>tts:unicodeBidi</att> style is illustrated by the following example.</p>
+<table id="style-attribute-unicodeBidi-example-1" role="example">
+<caption>Example Fragment &ndash; Unicode Bidirectionality</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:unicodeBidi="bidiOverride"</phrase> tts:direction="rtl"&gt;where the tourists snore.&lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-unicodeBidi-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Unicode Bidirectionality</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/unicodeBidi.png" alt="DFXP unicodeBidi style property"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.27.6.</p>
+</note>
+</div3>
+<div3 id="style-attribute-visibility">
+<head>tts:visibility</head>
+<p>The <att>tts:visibility</att> attribute is used to specify a style property that
+defines whether generated areas are visible or not when rendered on a visual
+presentation medium.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-visibility" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>visible</code> |
+<code>hidden</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td>
+<code>visible</code>
+</td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#document-structure-vocabulary-body"><el>body</el></loc>,
+<loc href="#content-vocabulary-div"><el>div</el></loc>,
+<loc href="#content-vocabulary-p"><el>p</el></loc>,
+<loc href="#layout-vocabulary-region"><el>region</el></loc>,
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>tts:visibility</att> style has no affect on content layout or
+composition, but merely determines whether composed content is visible or not.</p>
+<p>The <att>tts:visibility</att> style is illustrated by the following example.</p>
+<table id="style-attribute-visibility-example-1" role="example">
+<caption>Example Fragment &ndash; Visibility</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:visibility="hidden"</phrase>&gt;
+    &lt;set begin="1s" <phrase role="strong">tts:visibility="visible"</phrase>/&gt;
+    Curiouser
+  &lt;/span&gt;
+  &lt;span <phrase role="strong">tts:visibility="hidden"</phrase>&gt;
+    &lt;set begin="2s" <phrase role="strong">tts:visibility="visible"</phrase>/&gt;
+    and
+  &lt;/span&gt;
+  &lt;span <phrase role="strong">tts:visibility="hidden"</phrase>&gt;
+    &lt;set begin="3s" <phrase role="strong">tts:visibility="visible"</phrase>/&gt;
+    curiouser!
+  &lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-visibility-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Visibility</caption>
+<tbody>
+<tr>
+<td>
+<graphic source="images/visibility_0.png" alt="DFXP visibility style property - [0,1)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_1.png" alt="DFXP visibility style property - [1,2)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_2.png" alt="DFXP visibility style property - [2,3)"/>
+</td>
+</tr>
+<tr>
+<td>
+<graphic source="images/visibility_3.png" alt="DFXP visibility style property - [3,4)"/>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.28.8.</p>
+</note>
+</div3>
+<div3 id="style-attribute-wrapOption">
+<head>tts:wrapOption</head>
+<p>The <att>tts:wrapOption</att> attribute is used to specify a style property that
+defines whether or not automatic line wrapping (breaking) applies within the context of
+the affected element.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-wrapOption" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>wrap</code> |
+<code>noWrap</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>wrap</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#content-vocabulary-span"><el>span</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>yes</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>For the purpose of determining applicability of this style property,
+each character child of a <el>p</el> element is considered to be enclosed in an anonymous
+span.</p>
+<p>The <att>tts:wrapOption</att> style is illustrated by the following example.</p>
+<table id="style-attribute-wrapOption-example-1" role="example">
+<caption>Example Fragment &ndash; Wrap Option</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:wrapOption="noWrap"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-wrapOption-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Wrap Option</caption>
+<tbody>
+<tr>
+<td><graphic source="images/wrapOption.png" alt="DFXP wrapOption style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.15.13.</p>
+</note>
+</div3>
+<div3 id="style-attribute-writingMode">
+<head>tts:writingMode</head>
+<p>The <att>tts:writingMode</att> attribute is used to specify a style property that
+defines the block and inline progression directions to be used for the purpose of
+stacking block and inline areas within a region area.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-writingMode" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>lrtb</code> |
+<code>rltb</code> |
+<code>tbrl</code> |
+<code>tblr</code> |
+<code>lr</code> |
+<code>rl</code> |
+<code>tb</code> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>lrtb</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>none</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>tts:writingMode</att> style is illustrated by the following example.</p>
+<table id="style-attribute-writingMode-example-1" role="example">
+<caption>Example Fragment &ndash; Writing Mode</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:writingMode="tbrl"</phrase>/&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 <phrase role="strong">tts:writingMode="rltb"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<table id="style-attribute-writingMode-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Writing Mode</caption>
+<tbody>
+<tr>
+<td><graphic source="images/writingMode.png" alt="DFXP writingMode style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the second paragraph in the above example that targets region
+<code>r2</code>, the <att>tts:unicodeBidi</att> and
+<att>tts:direction</att> properties are set to
+<code>bidiOverride</code> and <code>rtl</code>, respectively, in order
+to override the normally left-to-right directionality of characters in
+the Latin script.</p>
+</note>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.27.7.</p>
+</note>
+</div3>
+<div3 id="style-attribute-zIndex">
+<head>tts:zIndex</head>
+<p>The <att>tts:zIndex</att> attribute is used to specify a style property that
+defines the front-to-back ordering of region areas in the case that they overlap.</p>
+<p>This attribute may be specified by any 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 id="style-property-details-zIndex" role="common">
+<col width="25%"/>
+<tbody>
+<tr>
+<td><emph>Values:</emph></td>
+<td>
+<code>auto</code> |
+<loc href="#style-value-integer">&lt;integer&gt;</loc> |
+<code>inherit</code>
+</td>
+</tr>
+<tr>
+<td><emph>Initial:</emph></td>
+<td><code>auto</code></td>
+</tr>
+<tr>
+<td><emph>Applies to:</emph></td>
+<td>
+<loc href="#layout-vocabulary-region"><el>region</el></loc>
+</td>
+</tr>
+<tr>
+<td><emph>Inherited:</emph></td>
+<td>no</td>
+</tr>
+<tr>
+<td><emph>Percentages:</emph></td>
+<td>N/A</td>
+</tr>
+<tr>
+<td><emph>Animatable:</emph></td>
+<td>discrete</td>
+</tr>
+</tbody>
+</table>
+<p>If two areas are associated with the same Z-index value, then, if those areas
+overlap in space, the area(s) generated by lexically subsequent elements must be
+rendered over area(s) generated by lexically prior elements, where lexical
+order is defined as the postorder traversal of a document
+instance.</p>
+<p>The semantics of the value <code>auto</code> are those defined by
+<bibref ref="xsl10"/>, &sect; 7.28.9, where the <el>tt</el> element
+is considered to establish the root stacking context.</p>
+<p>The <att>tts:zIndex</att> style is illustrated by the following example.</p>
+<table id="style-attribute-zIndex-example-1" role="example">
+<caption>Example Fragment &ndash; Z Index</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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 <phrase role="strong">tts:zIndex="0"</phrase>/&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 <phrase role="strong">tts:zIndex="1"</phrase>/&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 <phrase role="strong">tts:zIndex="2"</phrase>/&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 <phrase role="strong">tts:zIndex="3"</phrase>/&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;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p/>
+<table id="style-attribute-zIndex-example-1-images" role="example-images">
+<caption>Example Rendition &ndash; Z Index</caption>
+<tbody>
+<tr>
+<td><graphic source="images/zIndex.png" alt="DFXP zIndex style property"/></td>
+</tr>
+</tbody>
+</table>
+<note role="derivation">
+<p>The semantics of the style property
+represented by this attribute are based upon that defined by <bibref ref="xsl10"/>,
+&sect; 7.28.9.</p>
+</note>
+</div3>
+</div2>
+<div2 id="styling-style-value-expressions">
+<head>Style Value Expressions</head>
+<p>Style property values include the use of the following expressions:</p>
+<ulist>
+<item><p><specref ref="style-value-alpha"/></p></item>
+<item><p><specref ref="style-value-color"/></p></item>
+<item><p><specref ref="style-value-digit"/></p></item>
+<item><p><specref ref="style-value-duration"/></p></item>
+<item><p><specref ref="style-value-familyName"/></p></item>
+<item><p><specref ref="style-value-flowFunction"/></p></item>
+<item><p><specref ref="style-value-flowIntervalFunction"/></p></item>
+<item><p><specref ref="style-value-genericFamilyName"/></p></item>
+<item><p><specref ref="style-value-hexDigit"/></p></item>
+<item><p><specref ref="style-value-integer"/></p></item>
+<item><p><specref ref="style-value-namedColor"/></p></item>
+<item><p><specref ref="style-value-quotedString"/></p></item>
+<item><p><specref ref="style-value-string"/></p></item>
+</ulist>
+<div3 id="style-value-alpha">
+<head>&lt;alpha&gt;</head>
+<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 id="alpha-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;alpha&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;alpha&gt;
+  : <emph>float</emph>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element
+<emph><code>float</code></emph> must adhere to the lexical representation defined
+by <bibref ref="xsd-2"/>&nbsp;&sect;
+3.2.4.1.</p>
+</div3>
+<div3 id="style-value-color">
+<head>&lt;color&gt;</head>
+<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 <bibref ref="srgb"/>.</p>
+<table id="color-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;color&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;color&gt;
+  : "#" rrggbb
+  | "#" rrggbbaa
+  | "rgb" "(" r-value "," g-value "," b-value ")"
+  | "rgba" "(" r-value "," g-value "," b-value "," a-value ")"
+  | <loc href="#style-value-namedColor">&lt;namedColor&gt;</loc>
 
-  </div1> <!-- references -->
-
-
-  &acknowledgements;
+rrggbb
+  :  <loc href="#style-value-hexDigit">&lt;hexDigit&gt;</loc>{6}
 
-        <inform-div1 id="change-log">
-            <head>Change Log</head>
-	    <p>@@This paragraph will be replaced by the change log. DO NOT TOUCH@@</p>
-	</inform-div1>
+rrggbbaa
+  :  <loc href="#style-value-hexDigit">&lt;hexDigit&gt;</loc>{8}
+
+r-value | g-value | b-value | a-value
+  : component-value
+
+component-value
+  : non-negative-integer                    // valid range: [0,255]
+
+non-negative-integer
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>When expressing RGB component values, these values are considered
+to <phrase role="strong">not</phrase> be premultiplied by alpha.</p>
+<p>For the purpose of performing presentation processing such that
+non-opaque or non-transparent alpha or opacity values apply, then the
+semantics of compositing functions are defined with respect to the use of
+the <bibref ref="srgb"/> color space for both inputs and outputs of
+the composition function.</p>
+<note role="clarification">
+<p>The use of <bibref ref="srgb"/> for the stated semantics of
+composition is not 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>
+</note>
+</div3>
+<div3 id="style-value-digit">
+<head>&lt;digit&gt;</head>
+<p>A &lt;digit&gt; is used to express integers and other types of numbers or tokens.</p>
+<table id="digit-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;digit&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;digit&gt;
+  : "0" | "1" | "2" | "3" | "4" | "5" | "6" | "7" | "8" | "9"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-duration">
+<head>&lt;duration&gt;</head>
+<p>A &lt;duration&gt; expression is used to express a temporal duration value.</p>
+<table id="duration-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;duration&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;duration&gt;
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc> ( "." <loc href="#style-value-digit">&lt;digit&gt;</loc>+ )? metric
+
+metric
+  : "s"                 // seconds
+  | "ms"                // milliseconds
+  | "f"                 // frames
+  | "t"                 // ticks
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>It is an error to omit the metric component of a duration.</p>
+<p>When operating with <code>smpte</code> time base and
+<code>discontinuous</code> mode, a duration expression must be
+considered to denote a duration in (local) real-time, independently of the
+governing time base.</p>
+</div3>
+<div3 id="style-value-familyName">
+<head>&lt;familyName&gt;</head>
+<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 id="familyName-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;familyName&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;familyName&gt;
+  : <loc href="#style-value-string">&lt;string&gt;</loc>
+  | <loc href="#style-value-quotedString">&lt;quotedString&gt;</loc>
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-genericFamilyName">
+<head>&lt;genericFamilyName&gt;</head>
+<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 id="genericFamilyName-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;genericFamilyName&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;genericFamilyName&gt;
+  : "default"
+  | "monospace"
+  | "sansSerif"
+  | "serif"
+  | "monospaceSansSerif"
+  | "monospaceSerif"
+  | "proportionalSansSerif"
+  | "proportionalSerif"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The mapping between a generic (font) family name and an actual font is not
+determined by this specification; however, the
+distinction of monospace versus proportional and serif versus sans-serif
+should be maintained if possible when performing presentation.</p>
+<p>If a generic (font) family name of <code>monospace</code> is specified,
+then it may be interpreted as equivalent to either <code>monospaceSansSerif</code>
+or <code>monospaceSerif</code>. The generic family names <code>sansSerif</code>
+and <code>serif</code> are to be interpreted as equivalent to <code>proportionalSansSerif</code>
+and <code>proportionalSerif</code>, respectively.</p>
+</div3>
+<div3 id="style-value-flowFunction">
+<head>&lt;flowFunction&gt;</head>
+<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 id="flowFunction-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;flowFunction&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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;
+</eg>
+</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>
+<olist>
+<item><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></item>
+<item><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></item>
+</olist>
+<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 
+<bibref ref="smil21"/>, &sect; 12.8, apply.</p>
+</div3>
+<div3 id="style-value-flowIntervalFunction">
+<head>&lt;flowIntervalFunction&gt;</head>
+<p>A &lt;flowIntervalFunction&gt; expression specifies an interval or
+duration that affects dynamic flow timing behavior.</p>
+<table id="flowIntervalFunction-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;flowIntervalFunction&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;flowIntervalFunction&gt;
+  : "intra(" flowIntervalArguments ")"
+  | "inter(" flowIntervalArguments ")"
+
+flowIntervalArguments
+  : "auto"
+  | <loc href="#style-value-duration">&lt;duration&gt;</loc>
+  | flowIntervalRate
+
+flowIntervalRate
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+ ( "." <loc href="#style-value-digit">&lt;digit&gt;</loc>+ )?
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The <code>intra()</code> flow interval function is used to
+determine the <emph>computed fill interval</emph> state parameter for performing
+dynamic flow processing, which expresses the
+duration of time between fill
+timer events, as specified by <specref ref="flowTimerFill"/>, which
+in turn, limits the dynamic flowed content fill rate.</p>
+<p>The <code>inter()</code> flow interval function is used to
+determine the <emph>computed clear interval</emph> state parameter for performing
+dynamic flow processing, which expresses the
+duration of time between clear
+timer events, as specified by <specref ref="flowTimerClear"/>, which in turn,
+limits the dynamic flowed content retention period.</p>
+<p>If a <loc href="#style-value-duration">&lt;duration&gt;</loc> is
+specified as an argument to a flow interval function, then it is
+considered to represent a <emph>definite duration</emph>.
+If a flow interval rate is
+specified as an argument to a flow interval function, then it is
+considered to represent a <emph>definite rate</emph> 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
+<specref ref="dynamicFlowIntervalTimingCalculation"/>.</p>
+</div3>
+<div3 id="style-value-hexDigit">
+<head>&lt;hexDigit&gt;</head>
+<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 id="hexDigit-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;hexDigit&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;hexDigit&gt;
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>
+  | "a" | "b" | "c" | "d" | "e" | "f"
+  | "A" | "B" | "C" | "D" | "E" | "F"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-integer">
+<head>&lt;integer&gt;</head>
+<p>An &lt;integer&gt; expression is used to express an arbitrary, signed integral value.</p>
+<table id="integer-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;integer&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;integer&gt;
+  : ( "+" | "-" )? <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+<div3 id="style-value-length">
+<head>&lt;length&gt;</head>
+<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 id="length-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;length&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+non-negative-real
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>* "." <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+units
+  : "px"
+  | "em"
+  | "c"                                     // abbreviation of "cell"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>It is an error to omit the units component of a scalar length
+value.</p>
+<p>The semantics of
+the unit of measure <code>px</code> (pixel) 
+are as defined by <bibref ref="xsl10"/>, &sect; 5.9.13.</p>
+<p>When specified relative to a font whose size is expressed as a single length
+measure or as two length measures of equal length, the unit of measure <code>em</code> is considered to be
+identical to that defined by <bibref ref="xsl10"/>, &sect; 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 <specref
+ref="parameter-attribute-cellResolution"/>.</p>
+</div3>
+<div3 id="style-value-namedColor">
+<head>&lt;namedColor&gt;</head>
+<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 <bibref ref="srgb"/>.</p>
+<p>For the purpose of parsing, no distinction must be made between lower and upper case.</p>
+<table id="namedColor-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;namedColor&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&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)
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="clarification">
+<p>Except for <code>transparent</code>, the set of named colors specified above constitutes a proper
+subset of the set of named colors specified by <bibref ref="svg11"/>, &sect; 4.2.</p>
+</note>
+</div3>
+<div3 id="style-value-quotedString">
+<head>&lt;quotedString&gt;</head>
+<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 id="quotedString-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;quotedString&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;quotedString&gt;
+  : "\"" ( <emph>char</emph> - { "\"" } )* "\""
+  | "\'" ( <emph>char</emph> - { "\'" } )* "\'"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element <emph><code>char</code></emph> must adhere to production
+[2] <code>Char</code> as defined by <bibref ref="xml11"/>&nbsp;&sect;
+2.2.</p>
+</div3>
+<div3 id="style-value-string">
+<head>&lt;string&gt;</head>
+<p>A &lt;string&gt; expression consists of a sequence of characters where no character
+is a whitespace or quotation delimiter character.</p>
+<table id="string-style-expression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;string&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;string&gt;
+  : ( <emph>char</emph> - { <emph>S</emph> | "\"" | "\'" } )+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above syntax representation, the syntactic element <emph><code>char</code></emph> must adhere to production
+[2] <code>Char</code> as defined by <bibref ref="xml11"/>&nbsp;&sect;
+2.2, while the syntactic element <emph><code>S</code></emph> must adhere to production
+[3] <code>S</code> as defined by <bibref ref="xml11"/>&nbsp;&sect;
+2.3.</p>
+</div3>
+</div2>
+<div2 id="semantics-style-association">
+<head>Style Association</head>
+<p>Style matter may be associated with content matter in a number of ways:</p>
+<ulist>
+<item><p>inline styling</p></item>
+<item><p>referential styling</p></item>
+<item><p>chained referential styling</p></item>
+</ulist>
+<div3 id="semantics-style-association-inline">
+<head>Inline Styling</head>
+<p>Style properties may be expressed in an inline manner by direct specification of an
+attribute from the TT Style Namespace or TT Style Extension Namespace
+on the affected element. When expressed in this manner, the association of style information
+is referred to as <emph>inline styling</emph>.</p>
+<p>Style properties associated by inline styling are afforded a higher priority than all other
+forms of style association.</p>
+<table id="style-association-example-1" role="example">
+<caption>Example &ndash; Inline Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;p <phrase role="strong">tts:color="white"</phrase>&gt;White 1&nbsp;&lt;span <phrase role="strong">tts:color="yellow"</phrase>&gt;Yellow&lt;/span&gt;&nbsp;White 2&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the two text fragments <code>"White 1 "</code> and
+<code>" White 2"</code>, which are interpreted as anonymous spans, are not
+associated with a color style property; rather, they inherit their color style
+from their parent <el>p</el> element as described in <specref
+ref="semantics-style-inheritance-content"/> below.  </p>
+</note>
+</div3>
+<div3 id="semantics-style-association-referential">
+<head>Referential Styling</head>
+<p>Style properties may be expressed in an out-of-line manner and referenced by the
+affected element using the <att>style</att> attribute. When expressed in this manner,
+the association of style information is referred to as <emph>referential styling</emph>.</p>
+<p>If a <att>style</att> attribute specifies multiple references, then those references are
+evaluated in the specified order, and that order applies to resolution of the value of a
+style property in the case that it is specified along multiple reference paths.</p>
+<note role="explanation">
+<p>The use of referential styling encourages the reuse of style specifications while
+sacrificing locality of reference.</p>
+</note>
+<note role="explanation">
+<p>A single content element may be associated with style properties by a hybrid mixture of
+inline and referential styling, in which case inline styling is given priority as described above
+by <specref ref="semantics-style-association-inline"/>.</p>
+</note>
+<table id="style-association-example-2" role="example">
+<caption>Example &ndash; Referential Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;style <phrase role="strong">xml:id="s1"</phrase> tts:color="white"/&gt;
+&lt;style <phrase role="strong">xml:id="s2"</phrase> tts:color="yellow"/&gt;
+...
+&lt;p <phrase role="strong">style="s1"</phrase>&gt;White 1&nbsp;&lt;span <phrase role="strong">style="s2"</phrase>&gt;Yellow&lt;/span&gt;&nbsp;White 2&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the two text fragments <code>"White 1 "</code> and
+<code>" White 2"</code>, which are interpreted as anonymous spans, are not
+associated with a color style property; rather, they inherit their color style
+from their parent <el>p</el> element as described in <specref
+ref="semantics-style-inheritance-content"/> below.</p>
+</note>
+</div3>
+<div3 id="semantics-style-association-chained-referential">
+<head>Chained Referential Styling</head>
+<p>Style properties may be expressed in an out-of-line manner and may themselves reference
+other out-of-line style properties, thus creating a chain of references starting at the
+affected element. When expressed in this manner, the association of style information
+is referred to as <emph>chained referential styling</emph>.</p>
+<p>If the same style property is specified in more than one referenced 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>
+<note role="explanation">
+<p>The use of chained referential styling encourages the grouping of style specifications
+into general and specific sets, which further aids in style specification reuse.</p>
+</note>
+<note role="explanation">
+<p>A single content element may be associated with style properties by a hybrid mixture of
+inline, referential styling, and chained referential styling, in which case inline styling is
+given priority as described above by <specref ref="semantics-style-association-inline"/>.</p>
+</note>
+<table id="style-association-example-3" role="example">
+<caption>Example &ndash; Chained Referential Styling</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;style <phrase role="strong">xml:id="s1"</phrase> tts:color="white" tts:fontFamily="monospaceSerif"/&gt;
+&lt;style <phrase role="strong">xml:id="s2"</phrase> <phrase role="strong">style="s1"</phrase> tts:color="yellow"/&gt;
+...
+&lt;p <phrase role="strong">style="s1"</phrase>&gt;White Monospace&lt;/p&gt;
+&lt;p <phrase role="strong">style="s2"</phrase>&gt;Yellow Monospace&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+</div2>
+<div2 id="semantics-style-inheritance">
+<head>Style Inheritance</head>
+<p>Subsequent to the association of style matter with content matter as described above in
+<specref ref="semantics-style-association"/>, styles are further propagated to content
+matter using:
+</p>
+<ulist>
+<item><p>content style inheritance</p></item>
+<item><p>region style inheritance</p></item>
+</ulist>
+<div3 id="semantics-style-inheritance-content">
+<head>Content Style Inheritance</head>
+<p>Style properties are inherited from ancestor elements in the following case:</p>
+<olist>
+<item><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></item>
+<item><p>if a style property is associated with an element, that
+element is not the <el>body</el> element, and the associated style property value is <code>inherit</code>.</p></item>
+</olist>
+<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 id="style-inheritance-example-1" role="example">
+<caption>Example &ndash; Content Style Inheritance</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;p <phrase role="strong">tts:fontFamily="monospaceSansSerif"</phrase>&gt;
+  &lt;span tts:color="yellow"&gt;Yellow Monospace&lt;/span&gt;
+&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the <el>span</el> element that encloses the character items
+<code>Yellow Monospace</code> is not associated with a <att>tts:fontFamily</att> style
+property and this property is inheritable; therefore, the value of the <att>tts:fontFamily</att> style
+is inherited from the computed style specification set of the ancestor <el>p</el> element,
+and is added to the computed style specification set of the <el>span</el> element.</p>
+</note>
+</div3>
+<div3 id="semantics-style-inheritance-region">
+<head>Region Style Inheritance</head>
+<p>Style properties are inherited from a region element in the following case:</p>
+<olist>
+<item><p>if a style property <emph>P</emph> is not associated with an element (or an anonymous span)
+<emph>E</emph> and the style property is designated as inheritable, and</p></item>
+<item><p>if that style property <emph>P</emph> is in the computed style specification set
+of region <emph>R</emph> as defined by <specref ref="layout-vocabulary-region"/> below, and</p></item>
+<item><p>if that element <emph>E</emph> is flowed into region <emph>R</emph>.</p></item>
+</olist>
+<table id="style-inheritance-example-2" role="example">
+<caption>Example &ndash; Region Style Inheritance</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region <phrase role="strong">xml:id="r1"</phrase>&gt;
+&nbsp;&nbsp;&lt;style tts:color="yellow"/&gt;
+&nbsp;&nbsp;&lt;style tts:fontFamily="monospaceSerif"/&gt;
+&lt;/region&gt;
+...
+&lt;p <phrase role="strong">region="r1"</phrase>&gt;Yellow Monospace&lt;/p&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+</div2>
+</div1>
+<div1 id="layout">
+<head>Layout</head>
+<p>This section specifies the <emph>layout</emph> matter of the core
+vocabulary catalog, where
+layout is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the presentation of
+that content.</p>
+<note role="elaboration">
+<p>The two layers of layout and style matter are considered to be independently
+separable. Layout matter specifies one or more spaces or areas into
+which content is intended to be presented, while style matter specifies the manner in
+which presentation occurs within the layout.</p>
+<p>In certain cases, a content author may choose to embed (inline) style matter directly
+into layout or content matter. In such cases, an alternative 
+exists &ndash; use of referential styling &ndash;
+in which the style
+matter is not embedded (inlined).</p>
+</note>
+<div2 id="layout-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>The following elements specify the structure and principal layout aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="layout-vocabulary-layout"/></p></item>
+<item><p><specref ref="layout-vocabulary-region"/></p></item>
+</ulist>
+<div3 id="layout-vocabulary-layout">
+<head>layout</head>
+<p>The <el>layout</el> element is a container element used to group
+layout matter, including metadata that applies to layout matter.</p>
+<p>The <el>layout</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>region</el> elements.</p>
+<table id="elt-syntax-layout" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: layout</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;layout
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#layout-vocabulary-region">region</loc>*
+&lt;/layout&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>layout</el> element, the implied time interval of this element is
+defined to be coterminous with the external time interval.</p>
+</div3>
+<div3 id="layout-vocabulary-region">
+<head>region</head>
+<p>The <el>region</el> element is used to define a space or area into which content is
+to be flowed for the purpose of presentation.</p>
+<p>The <el>region</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group,
+followed by zero or more
+elements in the <code>Animation.class</code> element group,
+followed by
+zero or more <el>style</el> elements.</p>
+<p>Any metadata specified by children in the <code>Metadata.class</code>
+element group applies semantically to the <el>region</el> element and its descendants as a whole.
+Any animation elements specified by children in the <code>Animation.class</code>
+element group apply semantically to the <el>region</el> element.
+Any <el>style</el> child element must be considered a local style
+definition that applies only to the containing <el>region</el>
+element, i.e., does not apply for resolving referential styling.</p>
+<table id="elt-syntax-region" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: region</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;region
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  <loc href="#timing-attribute-timeContainer">timeContainer</loc> = (<emph>par</emph>|<emph>seq</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Style namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Animation.class</loc>*, <loc href="#styling-vocabulary-style">style</loc>*
+&lt;/region&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The declared value of an inline style attribute on a <el>region</el>
+element must not be <code>inherit</code>.</p>
+<p>A <el>region</el> element is considered to define a computed style
+specification set, where the set is determined using the
+following ordered rules:</p>
+<olist>
+<item>
+<p>If a <att>style</att> attribute is specified on the <el>region</el> 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 <att>style</att> 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 <att>style</att>
+attribute.</p>
+</item>
+<item>
+<p>If the <el>region</el> element has any <el>style</el> element children, then each
+style specification of the computed style specification set of each child <el>style</el>
+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 <el>style</el> elements proceeds from first
+to last such child element.</p>
+</item>
+<item>
+<p>If the <el>style</el> 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>
+</item>
+</olist>
+<p>Two named style properties are considered to match if their expanded names match,
+where <emph>expanded name</emph> is defined by <bibref ref="xmlns11"/>, &sect;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 <att>begin</att> and (or) <att>end</att> attributes are specified on a
+<el>region</el> element, then they specify the beginning and (or) ending points
+of a time interval during which the region is eligible for activation and with
+respect to which animation child elements of the region are timed.
+If specified, these begin and end points are relative to the time
+interval of the nearest ancestor element associated with a time
+interval, irregardless of whether that interval is explicit or implied.</p>
+<p>The nearest ancestor element of a <el>region</el> element that is associated
+with a time interval is the document instance's root <el>tt</el> element.</p>
+<p>If a <att>dur</att> attribute is specified on the <el>region</el> element, then it
+specifies the simple duration of the region.</p>
+<p>For the purpose of determining the semantics of presentation processing, a
+region that is temporally inactive must not produce any visible marks when
+presented on a visual medium.</p>
+<note role="motivation">
+<p>A <el>region</el> element may be associated with a time interval for two
+purposes: (1) in order to temporally bound the presentation of the region and
+its content, and (2) to provide a temporal context in which animations of region
+styles may be effected.</p>
+<p>For example, an author may wish a region that is otherwise empty, but
+may have a visible background color to be presented starting at some time and
+continuing over the region's duration.  The simple duration of the region serves
+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>
+</note>
+</div3>
+</div2>
+<div2 id="layout-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>This section defines the <specref ref="layout-attribute-region"/> attribute used with content elements.</p>
+<div3 id="layout-attribute-region">
+<head>region</head>
+<p>The <att>region</att> attribute is used to reference a <el>region</el>
+element which defines a space or area into which a content element is intended to be flowed.</p>
+<p>The <att>region</att> attribute may be specified by an instance of the following
+element types:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+</ulist>
+<note role="seealso">
+<p>See <specref ref="semantics-region-layout"/> below for further information on content
+flow in a region.</p>
+</note>
+</div3>
+</div2>
+<div2 id="semantics-region-layout">
+<head>Region Layout and Presentation</head>
+<p>This section defines the semantics of region layout and
+presentation in terms of a standard processing model. Any
+implementation is permitted provided that the externally observable
+results are consistent with the results produced by this model.
+</p>
+<div3 id="semantics-region-layout-step-1">
+<head>Synchronic Region Construction</head>
+<p>For the purposes of performing presentation processing, the active time
+duration of a document instance is divided into a sequence of time coordinates where at
+each time coordinate, some element becomes temporally active or inactive,
+then, at each such time coordinate, a document
+instance is mapped from its original, source form to an intermediate form,
+<emph>I</emph>, as follows:</p>
+<olist>
+<item>
+<p>for each temporally active region <emph>R</emph>, replicate the
+portion of the document's sub-tree headed by the <el>body</el> element;</p>
+</item>
+<item>
+<p>evaluating this sub-tree in a postorder traversal, prune elements if they
+are not a content element, if they are temporally inactive, if they are empty,
+or if they aren't associated with region <emph>R</emph>;</p>
+</item>
+<item>
+<p>if the pruned sub-tree is non-empty, then reparent it to the <emph>R</emph>
+element;</p>
+</item>
+<item>
+<p>finally, after completing the above steps, prune the original <el>body</el>
+element from the intermediate document, then prune all <att>region</att>,
+<att>begin</att>, <att>end</att>, and <att>dur</att> attributes, which are no
+longer semantically relevant;</p>
+</item>
+</olist>
+<p>The pseudo-code shown in <specref ref="content-hierarchy-region-mapping"/>
+provides one possible algorithm that implements these processing steps.</p>
+<table id="content-hierarchy-region-mapping" role="example">
+<caption>Example &ndash; Content Hierarchy Region Mapping</caption>
+<tbody>
+<tr>
+<td>
+<eg>
+PREPARE-CONTENT ( D ) := 
+  foreach R in SELECT ( D, "/tt/head/layout/region" )
+    if TEMPORALLY-ACTIVE? ( R )
+      APPEND-CHILDREN ( R, SELECT ( D, "/tt/body" ) )
+      foreach E in POSTORDER-TRAVERSE ( R )
+        if CONTENT-ELEMENT? ( E ) 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 ) )
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The result of performing the processing described above will be a sequence of
+<emph>N</emph> intermediate documents instances, <emph>I<sub>0</sub></emph> &hellip;
+<emph>I<sub>N&minus;1</sub></emph>.</p>
+</div3>
+<div3 id="semantics-region-layout-step-2">
+<head>Synchronic Flow Processing</head>
+<p>Subsequent to performing a temporal (synchronic) slice and subsequent
+remapping of regionally selected content hierarchy, the resulting intermediate 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 <bibref ref="xsl10"/>,
+and semantically extended by TT AF specific style properties that have no XSL
+FO counterpart.</p>
+<p>Each intermediate document produced by <specref
+ref="semantics-region-layout-step-1"/> is mapped to an XSL FO document instance,
+<emph>F</emph>, as follows:</p>
+<olist>
+<item>
+<p>for each significant text node in a content element that is not a child of a
+<el>span</el> element, synthesize an anonymous span to enclose the text node,
+substituting the new anonymous span for the original text node child in its
+sibling and parent hierarchy;</p>
+</item>
+<item>
+<p>for each element, determine its computed style specification set, if
+applicable;</p>
+</item>
+<item>
+<p>map the <el>tt</el> element to an <el>fo:root</el> element, populated
+initially with an <el>fo:layout-master-set</el> element that contains a valid
+<el>fo:simple-page-master</el> that, in turn, contains an
+<el>fo:region-body</el> child, where the root container extent expressed on the
+<el>tt</el> element is mapped to <att>page-width</att> and
+<att>page-height</att> attributes on the <el>fo:simple-page-master</el>
+element;</p>
+</item>
+<item>
+<p>map the <el>layout</el> element to an <el>fo:page-sequence</el> element and a
+child <el>fo:flow</el> element that reference the page master and page region
+defined by the simple page master produced above;</p>
+</item>
+<item>
+<p>map each non-empty <el>region</el> element to an <el>fo:block-container</el>
+element with an <att>absolute-position</att> attribute with value
+<code>absolute</code>, and where the region's position and extent are mapped to equivalent
+<att>top</att>, <att>left</att>, <att>width</att>, and <att>height</att>
+attributes;</p>
+</item>
+<item>
+<p>for each <el>body</el>, <el>div</el>, and <el>p</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code>, map the element to a distinct <el>fo:block</el> element,
+populating the style properties of <el>fo:block</el> by using the computed style
+specification set associated with each original TT AF content element;</p>
+</item>
+<item>
+<p>for each <el>span</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code> and for each anonymous span, map the element or
+sequence of character items to a distinct <el>fo:inline</el> element,
+populating the style properties of <el>fo:inline</el> by using the computed style
+specification set associated with each original TT AF content element
+or anonymous span;</p>
+</item>
+<item>
+<p>for each <el>br</el> element that is not
+associated with a <att>tts:display</att> style property with the value
+<code>none</code>, map the element
+to a distinct <el>fo:character</el> element having the following
+properties:</p>
+<ulist>
+<item>
+<p><code>character="&amp;#x000A;"</code></p>
+</item>
+<item>
+<p><code>suppress-at-line-break="retain"</code></p>
+</item>
+</ulist>
+</item>
+<item>
+<p>for each TT AF style property attribute in some computed style specification set that
+has no counterpart in <bibref ref="xsl10"/>, 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>
+</item>
+<item>
+<p>optionally, synthesize a unique <att>id</att> attribute on each resulting
+formatting object element that relates that element to the input element that
+resulted in that formatting object element;</p>
+</item>
+</olist>
+<p>For each resulting XSL FO document instance <emph>F</emph>, if processing
+requires presentation on a visual medium, then apply the formatting semantics
+prescribed by <bibref ref="xsl10"/> in order to produce an XSL FO area tree that
+may then be subsequently rendered onto the visual medium.</p>
+<note>
+<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 <bibref ref="xsl10"/> counterpart, the use of a compliant <bibref ref="xsl10"/> formatting processor
+is not necessarily sufficient to satisfy the presentation
+semantics defined by this specification.</p>
+</note>
+</div3>
+<div3 id="semantics-region-layout-example">
+<head>Elaborated Example</head>
+<p>An example of the processing steps described above is elaborated below, starting with <specref
+ref="region-mapping-example-1-s"/>.</p>
+<table id="region-mapping-example-1-s" role="example">
+<caption>Example &ndash; Sample Source Document</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>In the above document, the content hierarchy consists of two divisions, each
+containing two paragraphs. This content is targeted (selected into) one of two
+non-overlapping regions that are styled identically except for their position
+and their foreground colors, the latter of which is inherited by and applies to
+the (and, in this case, anonymous) spans reparented into the regions.</p>
+<p>The following, first intermediate document shows the synchronic state at time
+interval [0,1), during which time only division <code>d1</code> is temporally active,
+and where paragraphs <code>p1</code> and <code>p2</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p>
+<note>
+<p>The intermediate documents shown below are not valid DFXP document instances,
+but rather, are representations of possible internal processing states used for
+didactic purposes.</p>
+</note>
+<table id="region-mapping-example-1-i0" role="example">
+<caption>Example &ndash; Intermediate Document &ndash; [0s,1s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-0;</eg>
+</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 id="region-mapping-example-1-f0" role="example">
+<caption>Example &ndash; XSL FO Document &ndash; [0s,1s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-p-0;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The following, second intermediate document shows the synchronic state at
+time interval [1,2), at which time both divisions <code>d1</code> and
+<code>d2</code> are temporally active, and where paragraphs <code>p1</code> and
+<code>p4</code> (and their ancestors) are selected into region <code>r1</code>
+and paragraphs <code>p2</code> and <code>p3</code> (and their ancestors) are
+selected into region <code>r2</code>.</p>
+<table id="region-mapping-example-1-i1" role="example">
+<caption>Example &ndash; Intermediate Document &ndash; [1s,2s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-1;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The following, third intermediate document shows the synchronic state at time
+interval [2,3), at which time only division <code>d2</code> is temporally active,
+and where paragraphs <code>p4</code> and <code>p3</code> (and their ancestors)
+are selected into regions <code>r1</code> and <code>r2</code>, respectively.</p>
+<table id="region-mapping-example-1-i2" role="example">
+<caption>Example &ndash; Intermediate Document &ndash; [2s,3s)</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">&dfxp-ex1-x-2;</eg>
+</td>
+</tr>
+</tbody>
+</table>
+</div3>
+</div2>
+<div2 id="semantics-line-layout">
+<head>Line Layout</head>
+<p>The semantics of line layout, including line breaking, defined by 
+<bibref ref="xsl10"/> apply to the performance of the composition and layout of
+lines for presentation processing of a document instance on a visual medium.</p>
+</div2>
+</div1>
+<div1 id="timing">
+<head>Timing</head>
+<p>This section specifies the <emph>timing</emph> matter of the core
+vocabulary catalog, where
+timing is to be understood as a separable layer of information that applies to
+content and that denotes authorial intentions about the temporal presentation of
+that content.</p>
+<div2 id="timing-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>No timing related element vocabulary is defined for use in the core
+vocabulary catalog.</p>
+</div2>
+<div2 id="timing-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>This section defines the following basic timing attributes for use with timed elements:</p>
+<ulist>
+<item><p><specref ref="timing-attribute-begin"/></p></item>
+<item><p><specref ref="timing-attribute-end"/></p></item>
+<item><p><specref ref="timing-attribute-dur"/></p></item>
+</ulist>
+<p>In addition, this section defines the <specref
+ref="timing-attribute-timeContainer"/> attribute for use with timed elements
+that serve simultaneously as timing containers.</p>
+<div3 id="timing-attribute-begin">
+<head>begin</head>
+<p>The <att>begin</att> attribute is used to specify the begin
+point of a temporal interval associated with a timed element. If
+specified, the value of a <att>begin</att> attribute must adhere to
+a &lt;timeExpression&gt; specification as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<p>The begin point of a temporal interval is included in the
+interval; i.e., the interval is left-wise closed.</p>
+<note role="derivation">
+<p>The semantics of the <att>begin</att> attribute are based upon that defined
+by <bibref ref="smil21"/>, &sect; 10.3.1.</p>
+</note>
+</div3>
+<div3 id="timing-attribute-end">
+<head>end</head>
+<p>The <att>end</att> attribute is used to specify the ending point
+of a temporal interval associated with a timed element. If
+specified, the value of an <att>end</att> attribute must adhere to a
+&lt;timeExpression&gt; specification as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<p>The ending point of a temporal interval is not included in the
+interval; i.e., the interval is right-wise open.</p>
+<p>The presentation effects of a non-empty active
+temporal interval include the frame immediately prior to the frame
+(or tick) equal to or immediately following the time specified by the ending
+point, but do not extend into this latter frame (or tick).</p>
+<note role="example">
+<p>For example, if an active interval is [10s,10.33333s), and the
+frame rate is 30 frames per second, then the presentation effects of the interval
+are limited to frames 300 through 309 only (assuming that 0s corresponds
+with frame 0). The same holds if the active interval is specified
+as [300f,310f).</p>
+</note>
+<note role="derivation">
+<p>The semantics of the <att>end</att> attribute are based upon that defined
+by <bibref ref="smil21"/>, &sect; 10.3.1.</p>
+</note>
+</div3>
+<div3 id="timing-attribute-dur">
+<head>dur</head>
+<p>The <att>dur</att> attribute is used to specify the duration of a
+temporal interval associated with a timed element. If specified,
+the value of a <att>dur</att> attribute must adhere to a
+&lt;timeExpression&gt; specification as defined by <specref
+ref="timing-value-timeExpression"/>.</p>
+<note role="derivation">
+<p>The semantics of the <att>dur</att> attribute are based upon that defined
+by <bibref ref="smil21"/>, &sect; 10.3.1.</p>
+</note>
+</div3>
+<div3 id="timing-attribute-timeContainer">
+<head>timeContainer</head>
+<p>The <att>timeContainer</att> attribute is used to specify a local temporal
+context by means of which timed child elements are temporally situated.</p>
+<p>If specified, the value of a <att>timeContainer</att> attribute must be one
+of the following:</p>
+<ulist>
+<item><p><code>par</code></p></item>
+<item><p><code>seq</code></p></item>
+</ulist>
+<p>If the time container semantics of an element instance is <code>par</code>,
+then the temporal intervals of child elements are considered to apply in
+parallel, i.e., simultaneously in time. Furthermore, the specification of
+the time interval of each child element is considered to be relative to the temporal
+interval of the container element instance.</p>
+<p>If the time container semantics of an element instance is <code>seq</code>,
+then the temporal intervals of child elements are considered to apply in
+sequence, i.e., sequentially in time. Furthermore, the specification of
+the time interval of each child element is considered to be relative to the temporal
+interval of its sibling elements, unless it is the first child element, in which case
+it is considered to be relative to the temporal interval of the container
+element instance.</p>
+<p>Each time container is considered to constitute an independent time base, i.e.,
+time coordinate system.</p>
+<p>If a <att>timeContainer</att> attribute is not specified on an element that
+has time container semantics, then <code>par</code> time container semantics must apply.</p>
+<p>Time container semantics applies only to the following element types:</p>
+<ulist>
+<item><p><loc href="#document-structure-vocabulary-body"><el>body</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-div"><el>div</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-p"><el>p</el></loc></p></item>
+<item><p><loc href="#layout-vocabulary-region"><el>region</el></loc></p></item>
+<item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
+</ulist>
+<note role="derivation"> <p>The semantics of parallel and sequential time
+containment are based upon that defined by <bibref ref="smil21"/>, &sect;
+10.3.2.</p> </note>
+</div3>
+</div2>
+<div2 id="timing-time-value-expressions">
+<head>Time Value Expressions</head>
+<p>Timing attribute values include the use of the following expressions:</p>
+<ulist>
+<item><p><specref ref="timing-value-timeExpression"/></p></item>
+</ulist>
+<div3 id="timing-value-timeExpression">
+<head>&lt;timeExpression&gt;</head>
+<p>A &lt;timeExpression&gt; is used to specify a coordinate along
+some time base, where the applicable time base is determined by the
+<att>ttp:timeBase</att> parameter.</p>
+<note role="example">
+<p>See <specref ref="parameter-attribute-timeBase"/>, <specref
+ref="parameter-attribute-frameRate"/>, <specref
+ref="parameter-attribute-subFrameRate"/>, and <specref
+ref="parameter-attribute-tickRate"/> for further information on
+explicit specification of time base, frame rate, sub-frame rate, and
+tick rate.</p>
+</note>
+<table id="timeExpression-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;timeExpression&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;timeExpression&gt;
+  : clock-time
+  | offset-time
+
+clock-time
+  : hours ":" minutes ":" seconds ( fraction | ":" frames ( "." sub-frames )? )?
+
+offset-time
+  : time-count fraction? metric
+
+hours
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc>
+  | <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+minutes | seconds
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc>
+
+frames
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc>
+  | <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc> <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+sub-frames
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+fraction
+  : "." <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+time-count
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+metric
+  : "h"                 // hours
+  | "m"                 // minutes
+  | "s"                 // seconds
+  | "ms"                // milliseconds
+  | "f"                 // frames
+  | "t"                 // ticks
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<!--
+<p>If a &lt;timeExpression&gt; is expressed in terms of an
+<emph>offset-time</emph> and no <emph>metric</emph> term is specified,
+then the default metric specified by a
+<att>ttp:defaultTimeMetric</att> parameter is used. If no
+default metric is specified, then the time count must be interpreted
+as seconds.</p>
+-->
+<p>If a &lt;timeExpression&gt; is expressed in terms of a
+<emph>clock-time</emph>, then leading zeroes are used when expressing hours,
+minutes, seconds, and frames less than 10. Minutes are constrained to the range
+[0&hellip;59], while seconds are constrained to [0&hellip;60], where the value 60
+applies only to leap seconds.</p>
+<p>If a &lt;timeExpression&gt; is expressed in terms of a
+<emph>clock-time</emph> and a <emph>frames</emph> term is specified,
+then the value of this term must be constrained to the interval
+[0&hellip;<emph>F-1</emph>], where <emph>F</emph> is the frame rate
+determined by the the <att>ttp:frameRate</att> parameter as defined
+by <specref ref="parameter-attribute-frameRate"/>.</p>
+<p>If a &lt;timeExpression&gt; is expressed in terms of a
+<emph>clock-time</emph> and a <emph>sub-frames</emph> term is specified,
+then the value of this term must be constrained to the interval
+[0&hellip;<emph>S-1</emph>], where <emph>S</emph> is the sub-frame rate
+determined by the the <att>ttp:subFrameRate</att> parameter as defined
+by <specref ref="parameter-attribute-subFrameRate"/>.</p>
+</div3>
+</div2>
+<div2 id="timing-time-intervals">
+<head>Time Intervals</head>
+<p>The semantics of time containment, durations, and intervals defined by
+<bibref ref="smil21"/> apply to the interpretation of like-named timed elements and timing
+vocabulary defined by this specification, given the following
+constraints:</p>
+<ulist>
+<item>
+<p>The implicit duration of <el>body</el>, <el>div</el>, <el>p</el>,
+and <el>span</el> (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 <bibref ref="smil21"/>; if the element's
+parent time container is a sequential time container, then the
+implicit duration is equivalent to zero.</p>
+</item>
+<item>
+<p>The implicit duration of the <el>region</el> element is defined to
+be equivalent to the <code>indefinite</code>
+duration value as defined by <bibref ref="smil21"/>.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>media</code> or
+<code>smpte</code> with mode <code>continuous</code>, then time
+expressions must be interpreted as equivalent to offset clock values
+related to the associated media time line.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>smpte</code> with mode
+<code>discontinuous</code>, then time expressions must be interpreted
+as equivalent to marker values produced by an external marker event
+source, in which case all time expressions are equivalent to event
+based timing in <bibref ref="smil21"/>.</p>
+</item>
+<item>
+<p>If the governing time mode is <code>clock</code>, then time
+expressions must be interpreted as equivalent to wallclock time
+expressions in <bibref ref="smil21"/>, where the applicable wallclock
+used is determined by the clock mode parameter.</p>
+</item>
+</ulist>
+</div2>
+</div1>
+<div1 id="animation">
+<head>Animation</head>
+<p>This section specifies the <emph>animation</emph> matter of the
+core vocabulary catalog, where
+animation is to be understood as a separable layer of information that combines
+timing and styling in order to denote authorial intention about (temporally) dynamic
+styling of content.</p>
+<div2 id="animation-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>The following elements specify the structure and principal animation aspects of a
+document instance:</p>
+<ulist>
+<item><p><specref ref="animation-vocabulary-set"/></p></item>
+</ulist>
+<div3 id="animation-vocabulary-set">
+<head>set</head>
+<p>The <el>set</el> element is used as a child element of a content
+element in order to express a discrete change of some style parameter value
+that applies over some time interval.</p>
+<p>The <el>set</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group.</p>
+<table id="elt-syntax-set" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: set</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;set
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-dur">dur</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#timing-attribute-end">end</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>a single attribute in TT Style or TT Style Extension namespace</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+&lt;/set&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="example">
+<p>The use of multiple <el>set</el> element children may be used to effect fade and
+position transitions.</p>
+</note>
+<note role="derivation">
+<p>The semantics of the <el>set</el> element
+are based upon that defined by <bibref ref="smil21"/>,
+&sect; 3.5.2.</p>
+</note>
+</div3>
+</div2>
+<div2 id="animation-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>No animation related attribute vocabulary is defined for use in the
+core vocabulary catalog.</p>
+</div2>
+</div1>
+<div1 id="metadata">
+<head>Metadata</head>
+<p>This section specifies the <emph>metadata</emph> matter of the core
+vocabulary catalog, where
+metadata is to be understood as a separable layer of information that applies to
+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>
+<div2 id="metadata-element-vocabulary">
+<head>Element Vocabulary</head>
+<p>The <specref ref="metadata-vocabulary-metadata"/> element serves as
+a generic container element for grouping metadata information.</p>
+<p>In addition, the following elements, all defined in the TT Metadata Namespace,
+provide standard representations for common metadata that is expected to be commonly
+used in a document instances:
+</p>
+<ulist>
+<item><p><specref ref="metadata-vocabulary-title"/></p></item>
+<item><p><specref ref="metadata-vocabulary-desc"/></p></item>
+<item><p><specref ref="metadata-vocabulary-copyright"/></p></item>
+<item><p><specref ref="metadata-vocabulary-agent"/></p></item>
+<item><p><specref ref="metadata-vocabulary-name"/></p></item>
+<item><p><specref ref="metadata-vocabulary-actor"/></p></item>
+</ulist>
+<div3 id="metadata-vocabulary-metadata">
+<head>metadata</head>
+<p>The <el>metadata</el> element functions as a generic container for metadata
+information.</p>
+<p>Metadata information may be expressed by a <el>metadata</el> element
+in one of two (non-mutually exclusive) manners: (1) by specifying one
+or more metadata attributes on the element, and (2) by specifying one
+or more <el>metadata</el> child elements that express metadata. Both types of metadata
+are referred to in this document as <emph>metadata items</emph>.</p>
+<table id="elt-syntax-metadata" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: metadata</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;metadata
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute in TT Metadata namespace ...</emph>}
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> {<emph>any element not in TT namespace</emph>}*
+&lt;/metadata&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>The meaning of a specific metadata item must be evaluated in the
+context of where it appears. The core vocabulary catalog permits an arbitrary number of
+<el>metadata</el> element children of any non-empty element type except
+for the <el>body</el> element. See specific element vocabulary
+definitions for any constraints that apply to such usage.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-title">
+<head>ttm:title</head>
+<p>The <el>ttm:title</el> element is used to express a human-readable title of
+a specific element instance.</p>
+<table id="elt-syntax-metadata-title" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:title</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:title
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> #PCDATA
+&lt;/ttm:title&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:title</el> element is defined by this specification.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-desc">
+<head>ttm:desc</head>
+<p>The <el>ttm:desc</el> element is used to express a human-readable description of
+a specific element instance.</p>
+<table id="elt-syntax-metadata-desc" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:desc</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:desc
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> #PCDATA
+&lt;/ttm:desc&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:desc</el> element is defined by this specification.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-copyright">
+<head>ttm:copyright</head>
+<p>The <el>ttm:copyright</el> element is used to express a human-readable copyright that
+applies to some scoping level.</p>
+<p>A copyright statement that applies to a document as a whole should appear as a
+child of the <el>head</el> element.</p>
+<table id="elt-syntax-metadata-copyright" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:copyright</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:copyright
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> #PCDATA
+&lt;/ttm:copyright&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="elaboration">
+<p>No specific use of the <el>ttm:copyright</el> element is defined by this specification.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-agent">
+<head>ttm:agent</head>
+<p>The <el>ttm:agent</el> element is used to define an agent for the purpose of associating
+content information with an agent who is involved in the production or expression of that content.</p>
+<p>The <el>ttm:agent</el> element accepts as its children zero or more <el>ttm:name</el> elements followed by
+zero or one <el>ttm:actor</el> element.</p>
+<p>At least one <el>ttm:name</el> element child should be specified that expresses a name for the
+agent, whether it be the name of a person, character, group, or organization.</p>
+<table id="elt-syntax-metadata-agent" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:agent</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:agent
+  <phrase role="reqattr">type</phrase> = (<emph>person</emph>|<emph>character</emph>|<emph>group</emph>|<emph>organization</emph>|<emph>other</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> <loc href="#metadata-vocabulary-name">ttm:name</loc>*, <loc href="#metadata-vocabulary-actor">ttm:actor</loc>?
+&lt;/ttm:agent&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A <att>type</att> attribute must be specified on each <el>ttm:agent</el> element, and,
+if specified, must have one of the following values:</p>
+<ulist>
+<item><p><el>person</el></p></item>
+<item><p><el>character</el></p></item>
+<item><p><el>group</el></p></item>
+<item><p><el>organization</el></p></item>
+<item><p><el>other</el></p></item>
+</ulist>
+<p>If the value of the <att>type</att> attribute is <code>character</code>, then the
+<el>ttm:agent</el> element instance should specify a <el>ttm:actor</el> child that
+specifies the agent that plays the role of the actor.</p>
+<p>A <att>ttm:agent</att> metadata item is considered to be significant only
+when specified as a child of the <el>head</el> element or as a child of a
+<el>metadata</el> element child of the <el>head</el> element.</p>
+<note role="elaboration">
+<p>A <el>ttm:agent</el> element instance is typically referenced using a <att>ttm:agent</att>
+attribute on a content element.</p>
+</note>
+<note role="elaboration">
+<p>If a character agent is played by multiple actors, then multiple character
+agents may be specified (and referenced) wherein different definitions of the
+character specify different actors.</p>
+</note>
+</div3>
+<div3 id="metadata-vocabulary-name">
+<head>ttm:name</head>
+<p>The <el>ttm:name</el> element is used to specify a name of a person, character,
+group, or organization.</p>
+<table id="elt-syntax-metadata-name" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:name</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:name
+  <phrase role="reqattr">type</phrase> = (<emph>full</emph>|<emph>family</emph>|<emph>given</emph>|<emph>alias</emph>|<emph>other</emph>)
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> #PCDATA
+&lt;/ttm:name&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>A <att>type</att> attribute must be specified on each <el>ttm:name</el> element, and,
+if specified, must have one of the following values:</p>
+<ulist>
+<item><p><el>full</el></p></item>
+<item><p><el>family</el></p></item>
+<item><p><el>given</el></p></item>
+<item><p><el>alias</el></p></item>
+<item><p><el>other</el></p></item>
+</ulist>
+<p>The relationship between the type of a name and the syntactic expression of the name
+is not defined by this specification.</p>
+</div3>
+<div3 id="metadata-vocabulary-actor">
+<head>ttm:actor</head>
+<p>The <el>ttm:actor</el> element is used to link the definition of a (role-based) character
+agent with another agent that portrays the character.</p>
+<table id="elt-syntax-metadata-actor" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: ttm:actor</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;ttm:actor
+  <phrase role="reqattr">agent</phrase> = IDREF
+  <loc href="#content-attribute-id">xml:id</loc> = ID
+  <loc href="#content-attribute-lang">xml:lang</loc> = string
+  <loc href="#content-attribute-space">xml:space</loc> = (<emph>default</emph>|<emph>preserve</emph>)
+  {<emph>any attribute not in default or any TT namespace ...</emph>}&gt;
+  <emph>Content:</emph> EMPTY
+&lt;/ttm:actor&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The <att>agent</att> attribute of a <el>ttm:actor</el> element must
+reference a <el>ttm:agent</el> element that denotes the person,
+group, or organization acting the part of a character.</p>
+</div3>
+</div2>
+<div2 id="metadata-attribute-vocabulary">
+<head>Attribute Vocabulary</head>
+<p>This section specifies the following attributes in the TT Metadata Namespace
+for use with the <el>metadata</el> element and with certain content elements:</p>
+<ulist>
+<item><p><specref ref="metadata-attribute-agent"/></p></item>
+<item><p><specref ref="metadata-attribute-role"/></p></item>
+</ulist>
+<note role="explanation">
+<p>Only certain metadata item attributes may be used with content elements. See
+the definitions of content elements to determine permissible usage.</p>
+</note>
+<div3 id="metadata-attribute-agent">
+<head>ttm:agent</head>
+<p>The <att>ttm:agent</att> attribute takes an <code>IDREFS</code>
+value, and is used with certain content elements to designate the agent that performs
+or is involved in the performance of the content.</p>
+<p>If specified, a <att>ttm:agent</att> attribute must reference a <el>ttm:agent</el> element
+instance that appears as a descendent of the same document instance as
+that of the referring element.</p>
+</div3>
+<div3 id="metadata-attribute-role">
+<head>ttm:role</head>
+<p>The <att>ttm:role</att> attribute may be used by a content author
+to express a role, function, or characteristic of some content element that is so labeled.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="metadata-attribute-role-syntax" role="syntax">
+<caption>Syntax Representation &ndash; ttm:role</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttm:role
+  : "action"
+  | "caption"
+  | "dialog"
+  | "expletive"
+  | "kinesic"
+  | "lyrics"
+  | "music"
+  | "narration"
+  | "quality"
+  | "sound"
+  | "source"
+  | "suppressed"
+  | "reproduction"
+  | "thought"
+  | "title"
+  | "transcription"
+  | extension-role
+
+extension-role
+  : "x-" token-char+
+
+token-char
+  : { XML NameChar }    // XML 1.1 Production [4a]
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="extensibility">
+<p>All values of <att>ttm:role</att> that do not start with the prefix
+<code>x-</code> are reserved for future standardization.</p>
+</note>
+</div3>
+</div2>
+</div1>
+</body>
+<back>
+<div1 id="reduced-infoset">
+<head>Reduced XML Infoset</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>For the purposes of this specification, a Reduced XML Infoset is
+an XML Information Set <bibref ref="infoset"/> that consists of only the following information items
+and information item properties:</p>
+<div2 id="reduced-infoset-document">
+<head>Document Information Item</head>
+<ulist>
+<item><p><code>[document element]</code></p></item>
+</ulist>
+</div2>
+<div2 id="reduced-infoset-element">
+<head>Element Information Item</head>
+<ulist>
+<item><p><code>[namespace URI]</code></p></item>
+<item><p><code>[local name]</code></p></item>
+<item><p><code>[children]</code></p></item>
+<item><p><code>[attributes]</code></p></item>
+</ulist>
+<p>Child information items <code>[children]</code> are reduced to 
+only element and character information items.</p>
+</div2>
+<div2 id="reduced-infoset-attribute">
+<head>Attribute Information Item</head>
+<ulist>
+<item><p><code>[namespace URI]</code></p></item>
+<item><p><code>[local name]</code></p></item>
+<item><p><code>[normalized value]</code></p></item>
+</ulist>
+</div2>
+<div2 id="reduced-infoset-character">
+<head>Character Information Item</head>
+<ulist>
+<item><p><code>[character code]</code></p></item>
+</ulist>
+<p>Contiguous character information items are not required to be represented distinctly,
+but may be aggregated (chunked) into a sequence of character codes (i.e., a character string).</p>
+</div2>
+</div1>
+<div1 id="dynamicFlowModel">
+<head>Dynamic Flow Processing Model</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>This appendix specifies a dynamic flow processing model that is
+used to present content in a region whose <att>tts:overflow</att>
+property is assigned a value of <code>scroll</code>.</p>
+<div2 id="dynamicFlowIntroduction">
+<head>Introduction</head>
+<p><emph>This sub-section is non-normative.</emph></p>
+<p>Dynamic flow provides a mechanism by means of which content may be
+flowed through a presentation region over time where the rate of
+presentation is dynamically determined by a presentation processor
+based upon the region's extent, the textual content to be presented in
+the region, the formatting styles applied to this content, and a set
+of parameters that control in-flow and out-flow rates of content.</p>
+<p>It is expected that this mechanism will be used by authors in a
+variety of circumstances in order to specify behavior that would
+otherwise be impossible or impractical to pre-compute at authoring time, since, for
+example, a region's absolute size or the font metrics used to present
+content may not be known at authoring time. In certain real-time
+streaming contexts, even the content is not known at authoring time,
+but is only known at time of streaming.</p>
+<p>In describing dynamic flow, the flow process is logically divided
+into three types of flow operations:</p>
+<ulist>
+<item><p><emph>fill into</emph>&nbsp;&ndash; causes new content
+to consume extent in the designated presentation region;</p></item>
+<item><p><emph>reflow within</emph>&nbsp;&ndash; causes content
+presently consuming extent to be moved, possibly entailing new line break
+positions, within its designated
+presentation region;</p></item>
+<item><p><emph>clear out</emph>&nbsp;&ndash; causes content
+presently consuming extent in the designated presentation region to no
+longer consume extent.</p></item>
+</ulist>
+<p>Each region subject to dynamic flow processing may be modeled in terms of:</p>
+<olist>
+<item><p>the region with a definite extent, into which content is to be
+flowed;</p></item>
+<item><p>a content buffer consisting of a sequence of content blocks,
+each of which consists of a sequence of content inlines (spans), where
+each block and inline has a computed style set, and where an inline
+has a (possibly empty) sequence of characters that express the textual
+content of the inline;</p></item>
+<item><p>two independent flow operation single-shot timers: a fill timer and a clear
+timer;</p></item>
+<item><p>a set of state parameters that includes:</p>
+<olist>
+<item><p><emph>fill unit</emph>, as specified by the <code>flowUnit</code> argument
+of the <code>in()</code> flow function;</p></item>
+<item><p><emph>fill style</emph>, as specified by the <code>flowStyle</code> argument
+of the <code>in()</code> flow function;</p></item>
+<item><p><emph>fill transition</emph>, as specified by the <code>flowTransition</code> argument
+of the <code>in()</code> flow function;</p></item>
+<item><p><emph>fill transition style</emph>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>in()</code> flow function;</p></item>
+<item><p><emph>reflow unit</emph>, as specified by the <code>flowUnit</code> argument
+of the <code>within()</code> flow function;</p></item>
+<item><p><emph>reflow style</emph>, as specified by the <code>flowStyle</code> argument
+of the <code>within()</code> flow function;</p></item>
+<item><p><emph>reflow transition</emph>, as specified by the <code>flowTransition</code> argument
+of the <code>within()</code> flow function;</p></item>
+<item><p><emph>reflow transition style</emph>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>within()</code> flow function;</p></item>
+<item><p><emph>clear unit</emph>, as specified by the <code>flowUnit</code> argument
+of the <code>out()</code> flow function;</p></item>
+<item><p><emph>clear style</emph>, as specified by the <code>flowStyle</code> argument
+of the <code>out()</code> flow function;</p></item>
+<item><p><emph>clear transition</emph>, as specified by the <code>flowTransition</code> argument
+of the <code>out()</code> flow function;</p></item>
+<item><p><emph>clear transition style</emph>, as specified by the
+<code>flowTransitionStyle</code> argument
+of the <code>out()</code> flow function;</p></item>
+<item><p><emph>fill interval</emph>, as specified by the <code>intra()</code>
+flow interval function;</p></item>
+<item><p><emph>clear interval</emph>, as specified by the <code>inter()</code>
+flow interval function;</p></item>
+<item><p><emph>computed fill interval, as determined by the flow
+interval timing calculation below;</emph></p></item>
+<item><p><emph>computed clear interval, as determined by the flow
+interval timing calculation below;</emph></p></item>
+</olist>
+</item>
+</olist>
+<p>Except for the computed fill and clear intervals, the flow interval
+state parameters enumerated above are static and specified at authoring time.</p>
+</div2>
+<div2 id="dynamicFlowEvents">
+<head>Flow Buffer</head>
+<p>Each region which is assigned a <att>tts:overflow</att> property
+with the value <code>scroll</code> is associated with a <emph>flow
+buffer</emph>, whose implementation is not defined by this
+specification.</p>
+<p>The content of a flow buffer is defined to be equivalent (in form) to the
+content of an <el>fo:block-container</el> element produced by
+<specref ref="semantics-region-layout-step-2"/>, and represents
+content that is awaiting, but has not yet been flowed into (made
+visible in) the
+presentation region with which the flow buffer is associated.</p>
+<p>The temporal content of a flow buffer is related to the performance
+of <specref ref="semantics-region-layout"/> as follows:</p>
+<olist>
+<item><p>At the time a dynamically flowed presentation region becomes
+temporally active, its flow buffer is reset to the empty state;</p></item>
+<item><p>If times <code>T<sub>k</sub></code> and
+<code>T<sub>k+1</sub></code> are two immediately adjacent time
+coordinates at which synchronic region construction occurs, with
+<code>T<sub>k</sub>&le;T<sub>k+1</sub></code>, then compute the
+difference between the content produced for use in the region between 
+time <code>T<sub>k</sub></code> and time <code>T<sub>k+1</sub></code>,
+characterizing the difference as one of the following:</p>
+<olist>
+<item><p>no difference present;</p></item>
+<item><p>difference present, but only before the logical content
+position that corresponds with the most logically prior content presently
+visible in the region;</p></item>
+<item><p>difference present, but only between the logical content
+positions that correspond with the most logically prior and subsequent
+content presently visible in the region;</p></item>
+<item><p>difference present, but only after the logical content
+position that corresponds with the most logically subsequent content presently
+visible in the region;</p></item>
+<item><p>difference present, but not limited to before, between, or after
+the positions that correspond with the most logically prior
+and subsequent content presently visible in the region;</p></item>
+</olist>
+</item>
+<item><p>If any one of the conditions 2a, 2b, and 2c applies, then do not
+change the flow buffer.</p></item>
+<item><p>If condition 2d applies, then instantaneously replace the
+content of the flow buffer with the new content (in part or in whole) that corresponds with
+time <code>T<sub>k+1</sub></code> such that the position of the content that
+corresponds with the start of the flow buffer does not change with
+respect to the corresponding position of the previous content.</p></item>
+<item><p>If condition 2e applies, then subdivide the new content that
+corresponds with time <code>T<sub>k+1</sub></code> into two parts: (1)
+that part that wholly precedes the position that corresponds with the
+most logically subsequent content presently visible in the region, and
+(2) that part that corresponds with or wholly follows the position
+that corresponds with the most logically subsequent content presently
+visible in the region, then ignore the first part and process the second part 
+in the same manner as if condition 2d had originally applied.</p></item>
+<item><p>If after performing the above steps the flow buffer is
+non-empty, then perform the following steps:</p>
+<olist>
+<item><p>If using automatic flow interval timing, then re-perform the process
+described in <specref ref="dynamicFlowIntervalTimingCalculation"/>.</p></item>
+<item><p>If the fill timer is not active, then restart the
+timer.</p></item>
+</olist>
+</item>
+</olist>
+</div2>
+<div2 id="dynamicFlowIntervalTimingCalculation">
+<head>Flow Interval Timing Calculation</head>
+<p>Flow interval timing is either statically specified at authoring
+time or is dependent upon the content of the flow buffer or the
+presentation region or both, in which case timing is recomputed
+dynamically upon changes to the content of the flow buffer or the
+presentation region or both.</p>
+<div3 id="flowIntervalFillTiming">
+<head>Computed Fill Timing Interval</head>
+<p>The computed fill timing interval is determined as follows:</p>
+<olist>
+<item><p>If the value of the <emph>fill interval</emph> parameter is a
+definite duration, then use this duration as the computed fill
+interval;</p></item>
+<item><p>otherwise, if the value of the <emph>fill interval</emph> parameter is a
+definite rate, then the computed fill interval is equal to the number of fill units currently
+available in the <emph>flow buffer</emph> divided by specified rate
+(in fill units per second);</p></item>
+<item><p>otherwise, if the value of the <emph>fill interval</emph> is
+<code>auto</code>, then the computed fill interval is equal to the
+difference between the time coordinate associated with the most
+temporally prior beginning point of an active duration of some
+content unit present in the flow buffer and the most temporally
+subsequent ending point of an active duration of some content unit
+present in the flow buffer divided by the number of fill units
+currently available in the flow buffer.</p></item>
+</olist>
+</div3>
+<div3 id="flowIntervalClearTiming">
+<head>Computed Clear Timing Interval</head>
+<p>The computed clear timing interval is determined as follows:</p>
+<olist>
+<item><p>If the value of the <emph>clear interval</emph> parameter is a
+definite duration, then use this duration as the computed clear
+interval;</p></item>
+<item><p>otherwise, if the value of the <emph>clear interval</emph> parameter is a
+definite rate, then the computed clear interval is equal to the number of clear units currently
+available in the <emph>presentation region</emph> divided by specified rate
+(in clear units per second);</p></item>
+<item><p>otherwise, if the value of the <emph>clear interval</emph> is
+<code>auto</code>, then the computed clear interval is equal to the
+difference between the time coordinate associated with the most
+temporally prior beginning point of an active duration of some
+content unit present in the presentation region and the most temporally
+subsequent ending point of an active duration of some content unit
+present in the presentation region divided by the number of clear units
+currently available in the presentation region.</p></item>
+</olist>
+</div3>
+</div2>
+<div2 id="dynamicFlowOperations">
+<head>Flow Operations</head>
+<p>Flow operations perform the filling, reflowing, and clearing of
+formatted content into, within, and from a presentation undergoing dynamic flow processing.</p>
+<div3 id="flowOperationFill">
+<head>Fill Operation</head>
+<p>A <emph>fill operation</emph> causes the following ordered steps
+to be performed:</p>
+<olist>
+<item><p>remove sufficient content from the beginning of the
+<emph>flow buffer</emph> to constitute a <emph>fill
+unit</emph>;</p></item>
+<item><p>format the content removed from the
+<emph>flow buffer</emph> in the previous step in order to
+create a sequence of glyph areas or a sequence of (full or
+partial measure) line areas each containing a sequence of glyph
+areas;</p></item>
+<item><p>append the sequence of areas produced in the previous step to
+the sequence of areas currently associated with the presentation
+region, where new glyph areas are appended to the current line area
+and new line areas are appended to the sequence of line areas;</p></item>
+<item><p>cause the newly appended areas to be made visible according
+to the <emph>fill style</emph>, <emph>fill transition</emph>, and <emph>fill transition
+style</emph> state parameters in force.</p></item>
+</olist>
+</div3>
+<div3 id="flowOperationReflow">
+<head>Reflow Operation</head>
+<p>A <emph>reflow operation</emph> causes the following ordered steps
+to be performed:</p>
+<olist>
+<item><p>translate glyph areas or (full or partial measure) line areas
+that correspond with a <emph>reflow unit</emph> of formatted content
+that follows (in inline or block progression dimension order) the space
+cleared by the immediately preceding <emph>clear operation</emph> to a
+new position such that the glyph area that corresponds to the most
+logically prior content is aligned with the before and start edges of
+the presentation region, and where the translation adheres to
+the <emph>reflow style</emph>, <emph>reflow transition</emph>, and <emph>reflow transition
+style</emph> state parameters in force.</p></item>
+</olist>
+</div3>
+<div3 id="flowOperationClear">
+<head>Clear Operation</head>
+<p>A <emph>clear operation</emph> causes the following ordered steps
+to be performed:</p>
+<olist>
+<item><p>remove glyph areas or (full or partial measure) line areas
+that correspond with a <emph>clear unit</emph> of formatted content
+from the starting edge or the before edge of the presentation region
+in inline or block progression direction, respectively, applying
+the <emph>clear style</emph>, <emph>clear transition</emph>, and <emph>clear transition
+style</emph> state parameters in force.</p></item>
+</olist>
+</div3>
+</div2>
+<div2 id="dynamicFlowTimers">
+<head>Flow Timers</head>
+<p>Flow timers control the filling and clearing of formatted content
+from a presentation undergoing dynamic flow processing.</p>
+<note> <p>The semantics of flow timer initiated processing expressed
+below reflects the intent that clear and reflow
+operations or clear, reflow, and flow operations are performed
+simultaneously if the (logically, but not necesesarily temporally)
+prior operation would create sufficient space in the presentation
+region to accept the subsequent unit of formatted content.</p> </note>
+<div3 id="flowTimerFill">
+<head>Fill Timer</head>
+<p>The fill timer is used to pace the addition of formatted content to the
+presentation region undergoing dynamic flow processing.</p>
+<p>Each time the fill timer expires, the following ordered steps are
+performed:</p>
+<olist>
+<item><p>
+If the <emph>fill buffer</emph> is non-empty and contains sufficient
+content to compose a <emph>fill unit</emph> and if
+sufficient space is present in the presentation region to accept a
+unit of formatted content that corresponds to a <emph>fill unit</emph>, then
+perform the processing described in <specref
+ref="flowOperationFill"/>, where, if the fill timer was expired or
+simulated as a result of performing a prior reflow operation, this operation commences at the same
+time as the reflow operation;</p></item>
+<item><p>If the <emph>fill buffer</emph> is non-empty, then
+reset the fill timer to the current value of the computed fill
+interval;</p></item>
+<item><p>
+If the <emph>presentation region</emph> is non-empty and if the clear
+timer is not active, then
+reset the clear timer to the current value of the computed clear
+interval.</p></item>
+</olist>
+</div3>
+<div3 id="flowTimerClear">
+<head>Clear Timer</head>
+<p>The clear timer is used to pace the removal of formatted content from the
+presentation region undergoing dynamic flow processing.</p>
+<olist>
+<item><p>
+If the <emph>presentation region</emph> is non-empty and contains sufficient
+formatted content to compose a <emph>clear unit</emph>, then
+perform the processing described in <specref
+ref="flowOperationClear"/>;</p>
+</item>
+<item><p>If the space created by performing the clear operation
+indicated by the above step would be sufficient to accept a unit of
+formatted content that corresponds to a <emph>reflow unit</emph> and
+if sufficient formatted content remains after this point in the
+presentation region, then perform the processing described in <specref
+ref="flowOperationReflow"/>, where this operation commences at the
+same time as the clear operation;</p></item>
+<item><p>If a reflow operation would be performed as indicated by the above
+step and if the space created by performing this reflow operation
+would be sufficient to accept a unit of formatted content that
+corresponds to a <emph>fill unit</emph> and if the fill buffer is
+non-empty, then, if active, cause the fill timer to immediately expire
+or, if not active, simulate fill timer expiration, such that the
+expiration permits a fill operation to commence simultaneously with
+the reflow operation;</p></item>
+<item><p> If the previous step did not cause the fill timer to expire
+and if the <emph>presentation region</emph> is non-empty, then reset
+the clear timer to the current value of the computed clear
+interval.</p></item>
+</olist>
+</div3>
+</div2>
+</div1>
+<div1 id="schemas">
+<head>Schemas</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>This appendix specifies the following schemas for use with
+DFXP document instances:</p>
+<ulist>
+<item><p>Relax NG, Compact Syntax (RNC) Schema</p></item>
+<item><p>XML Schema Definition (XSD) Schema</p></item>
+</ulist>
+<p>In any case where a schema specified by this appendix differs from the
+normative definitions of document type, element type, or attribute type
+as defined by the body of this specification, then the body of this
+specification takes precedence.</p>
+<div2 id="dfxp-schema-rnc">
+<head>Relax NG Schema</head>
+<p>This section specifies a Relax NG Compact Syntax (RNC) <bibref ref="rng"/> based schema
+for DFXP, also available in a <loc href="rnc/schema.zip">ZIP
+Archive</loc>.</p>
+<div3 id="rnc-dfxp-driver-schema">
+<head>Driver</head>
+<eg xml:space="preserve">&rnc-dfxp-driver;</eg>
+</div3>
+<div3 id="rnc-dfxp-modules">
+<head>Modules</head>
+<div4 id="rnc-dfxp-animation-module">
+<head>Animation Module</head>
+<eg xml:space="preserve">&rnc-dfxp-animation-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-classes-module">
+<head>Classes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-classes-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-content-module">
+<head>Content Module</head>
+<eg xml:space="preserve">&rnc-dfxp-content-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-core-attribs-module">
+<head>Core Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-core-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-datatypes-module">
+<head>Data Types Module</head>
+<eg xml:space="preserve">&rnc-dfxp-datatypes-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-document-module">
+<head>Document Module</head>
+<eg xml:space="preserve">&rnc-dfxp-document-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-head-module">
+<head>Header Module</head>
+<eg xml:space="preserve">&rnc-dfxp-head-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-layout-module">
+<head>Layout Module</head>
+<eg xml:space="preserve">&rnc-dfxp-layout-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metdata-module">
+<head>Metadata Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metdata-items-module">
+<head>Metadata Items Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-items-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-metadata-attribs-module">
+<head>Metadata Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-metadata-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-parameter-attribs-module">
+<head>Parameter Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-parameter-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-styling-attribs-module">
+<head>Styling Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-styling-attribs-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-styling-module">
+<head>Styling Module</head>
+<eg xml:space="preserve">&rnc-dfxp-styling-module;</eg>
+</div4>
+<div4 id="rnc-dfxp-timing-attribs-module">
+<head>Timing Attributes Module</head>
+<eg xml:space="preserve">&rnc-dfxp-timing-attribs-module;</eg>
+</div4>
+</div3>
+</div2>
+<div2 id="dfxp-schema-xsd">
+<head>XML Schema Definition (XSD) Schema</head>
+<p>This section specifies a W3C XML Schema Definition (XSD) <bibref ref="xsd-1"/> based schema
+for DFXP, also available in a <loc href="xsd/schema.zip">ZIP
+Archive</loc>.</p>
+<div3 id="xsd-dfxp-driver-schema">
+<head>Driver</head>
+<eg xml:space="preserve">&xsd-dfxp-driver;</eg>
+</div3>
+<div3 id="xsd-dfxp-modules">
+<head>Modules</head>
+<div4 id="xsd-dfxp-animation-module">
+<head>Animation Module</head>
+<eg xml:space="preserve">&xsd-dfxp-animation-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-content-module">
+<head>Content Module</head>
+<eg xml:space="preserve">&xsd-dfxp-content-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-core-attribs-module">
+<head>Core Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-core-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-datatypes-module">
+<head>Data Types Module</head>
+<eg xml:space="preserve">&xsd-dfxp-datatypes-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-document-module">
+<head>Document Module</head>
+<eg xml:space="preserve">&xsd-dfxp-document-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-head-module">
+<head>Header Module</head>
+<eg xml:space="preserve">&xsd-dfxp-head-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-layout-module">
+<head>Layout Module</head>
+<eg xml:space="preserve">&xsd-dfxp-layout-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metdata-module">
+<head>Metadata Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metdata-items-module">
+<head>Metadata Items Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-items-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-metadata-attribs-module">
+<head>Metadata Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-metadata-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-parameter-attribs-module">
+<head>Parameter Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-parameter-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-styling-attribs-module">
+<head>Styling Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-styling-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-styling-module">
+<head>Styling Module</head>
+<eg xml:space="preserve">&xsd-dfxp-styling-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-timing-attribs-module">
+<head>Timing Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-timing-attribs-module;</eg>
+</div4>
+<div4 id="xsd-dfxp-xml-attrs-module">
+<head>XML Attributes Module</head>
+<eg xml:space="preserve">&xsd-dfxp-xml-attrs-module;</eg>
+</div4>
+</div3>
+</div2>
+</div1>
+<div1 id="media-type-registration">
+<head>Media Type Registration</head>
+<p><emph>This appendix is normative.</emph></p>
+<p>This appendix registers a new MIME media type,
+"application/ttaf+xml" in conformance with
+<loc href="http://www.ietf.org/rfc/rfc4288.txt">BCP 13</loc> and
+<loc
+href="http://www.w3.org/2002/06/registering-mediatype.html">W3CRegMedia</loc>.
+The information in this appendix is being submitted to the Internet
+Engineering Steering Group (IESG) for review, approval, and
+registration with the Internet Assigned Numbers Authority (IANA).</p>
+<glist>
+<gitem>
+<label>MIME media type name:</label>
+<def>
+<p>application</p>
+</def>
+</gitem>
+<gitem>
+<label>MIME subtype name:</label>
+<def>
+<p>ttaf+xml</p>
+</def>
+</gitem>
+<gitem>
+<label>Required parameters:</label>
+<def>
+<p>None.</p>
+</def>
+</gitem>
+<gitem>
+<label>Optional parameters:</label>
+<def>
+<p>The encoding of a TT AF document must be determined by the XML
+encoding declaration. This has identical semantics to the
+application/xml media type in the case where the charset parameter is
+omitted, as specified in <bibref ref="xml-media"/>, Sections 8.9,
+8.10 and 8.11.</p>
+<p>The document profile of a TT AF document may be specified using
+an optional <code>profile</code> parameter, which, if specified,
+the value of which must adhere to the syntax and semantics of
+<att>ttp:profile</att> parameter defined by
+Section
+<specref ref="parameter-attribute-profile"/>
+of the published specification.</p>
+</def>
+</gitem>
+<gitem>
+<label>Encoding considerations:</label>
+<def>
+<p>Same for application/xml. See <bibref ref="xml-media"/>, Section
+3.2.</p>
+</def>
+</gitem>
+<gitem>
+<label>Restrictions on usage:</label>
+<def>
+<p>None.</p>
+</def>
+</gitem>
+<gitem>
+<label>Security considerations:</label>
+<def>
+<p>As with other XML types and as noted in
+<bibref ref="xml-media"/>
+Section 10, repeated expansion of maliciously constructed XML entities
+can be used to consume large amounts of memory, which may cause XML
+processors in constrained environments to fail.</p>
+<p>In addition, because of the extensibility features for TT AF and of XML
+in general, it is possible that "application/ttaf+xml" may describe content
+that has security implications beyond those described here. However,
+if the processor follows only the normative semantics of the published
+specification, this content will be outside TT AF namespaces and
+may be ignored. Only in the case where the processor recognizes and
+processes the additional content, or where further processing of that
+content is dispatched to other processors, would security issues
+potentially arise. And in that case, they would fall outside the
+domain of this registration document.</p>
+</def>
+</gitem>
+<gitem>
+<label>Interoperability considerations:</label>
+<def>
+<p>The published specification describes processing semantics that dictate
+behavior that must be followed when dealing with, among other things,
+unrecognized elements and attributes, both in TT AF namespaces and in
+other namespaces.</p>
+<p>Because TT AF is extensible, conformant "application/ttaf+xml" processors must
+expect that content received is well-formed XML, but it cannot be
+guaranteed that the content is valid to a particular DTD or Schema or
+that the processor will recognize all of the elements and attributes
+in the document.</p>
+</def>
+</gitem>
+<gitem>
+<label>Published specification:</label>
+<def>
+<p>This media type registration is extracted from Appendix <specref
+ref="media-type-registration"/> of the <loc
+href="http://www.w3.org/TR/ttaf1-dfxp/">Timed Text (TT) Authoring
+Format 1.0 - Distribution Format Exchange Profile (DFXP)</loc>
+specification.</p>
+</def>
+</gitem>
+<gitem>
+<label>Additional information:</label>
+<def>
+<p>None.</p>
+</def>
+</gitem>
+<gitem>
+<label>Person &amp; email address to contact for further information:</label>
+<def>
+<p>Glenn Adams (public-tt@w3.org)</p>
+</def>
+</gitem>
+<gitem>
+<label>Intended usage:</label>
+<def>
+<p>COMMON</p>
+</def>
+</gitem>
+<gitem>
+<label>Author/Change controller:</label>
+<def>
+<p>The published specification is a work product of the World Wide Web
+Consortium's Timed Text (TT) Working Group. The W3C has change control
+over this specification.</p>
+</def>
+</gitem>
+</glist>
+</div1>
+<div1 id="references">
+<head>References</head>
+<p><emph>This appendix is normative.</emph></p>
+<blist>
+<bibl id="css2" key="CSS2">Bert Bos et al.,
+<titleref
+href="http://www.w3.org/TR/1998/REC-CSS2-19980512/">Cascading
+Style Sheets, Level 2</titleref>, W3C Recommendation, 12
+May 1998. (See
+<xspecref href="http://www.w3.org/TR/1998/REC-CSS2-19980512/">http://www.w3.org/TR/1998/REC-CSS2-19980512/</xspecref>.)
+</bibl>
+<bibl id="gps" key="GPS">
+<titleref href="http://tycho.usno.navy.mil/gpsinfo.html">Global
+Positioning System</titleref>, US Naval Observatory.
+(See
+<xspecref href="http://tycho.usno.navy.mil/gpsinfo.html">http://tycho.usno.navy.mil/gpsinfo.html</xspecref>.)
+</bibl>
+<bibl id="mime-media" key="MIME">Ned Freed and Nathaniel Borenstein,  
+<titleref
+href="http://www.rfc-editor.org/rfc/rfc2046.txt">Multipurpose Internet
+Mail Extensions (MIME) Part Two: Media Types</titleref>,
+RFC 2046, November 1996, IETF.(See
+<xspecref href="http://www.rfc-editor.org/rfc/rfc2046.txt">http://www.rfc-editor.org/rfc/rfc2046.txt</xspecref>.)
+</bibl>
+<bibl id="rng" key="RELAX NG">ISO/IEC 19757-2,
+<titleref href="http://www.iso.org/">Information technology &ndash; Document
+Schema Definition Language (DSDL) &ndash; Part 2: Regular-grammar-based validation &ndash; RELAX NG</titleref>,
+International Organization for Standardization (ISO).
+</bibl>
+<bibl id="smil21" key="SMIL 2.1">Dick Bultermann, et al.,
+<titleref href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/">Synchronized
+Multimedia Integration Language (SMIL 2.1)</titleref>,
+W3C Recommendation, 13 December 2005. (See
+<xspecref href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/">http://www.w3.org/TR/2005/REC-SMIL2-20051213/</xspecref>.)
+</bibl>
+<bibl id="smpte12m" key="SMPTE 12M">ANSI/SMPTE 12M,
+<titleref href="http://www.smpte.org/">Television, Audio and Film &ndash;
+Time and Control Code</titleref>, SMPTE Standard.
+</bibl>
+<bibl id="srgb" key="SRGB">IEC 61966-2-1,
+<titleref
+href="http://www.iec.ch/">Multimedia
+systems and equipment &ndash; Colour measurement and management
+&ndash; Part 2-1: Colour management &ndash; Default RGB colour space
+&ndash; sRGB</titleref>, International Electrotechnical
+Commission (IEC).
+</bibl>
+<bibl id="uaag" key="UAAG">Ian Jacobs, Jon Gunderson, and Eric Hansen, Eds.,
+<titleref href="http://www.w3.org/TR/2002/REC-UAAG10-20021217/">User
+Agent Accessibility Guidelines 1.0</titleref>, W3C Recommendation, 17
+December 2002. (See
+<xspecref href="http://www.w3.org/TR/2002/REC-UAAG10-20021217/">http://www.w3.org/TR/2002/REC-UAAG10-20021217/</xspecref>.)
+</bibl>
+<bibl id="utc" key="UTC">
+Recommendation TF.460,
+<titleref
+href="http://www.itu.int/rec/">Standard-Frequency and Time-Signal
+Emissions</titleref>, International
+Telecommunciations Union, Radio Sector (ITU-R).
+</bibl>
+<bibl id="wcag" key="WCAG">Wendy Chisholm, Gregg Vanderheiden, and Ian Jacobs, Eds.,
+<titleref href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/">Web
+Content Accessibility Guidelines 1.0</titleref>, W3C Recommendation, 05
+May 1999. (See
+<xspecref href="http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/">http://www.w3.org/TR/1999/WAI-WEBCONTENT-19990505/</xspecref>.)
+</bibl>
+<bibl id="xml11" key="XML 1.1">Tim Bray, et al.
+<titleref href="http://www.w3.org/TR/2004/REC-xml11-20040204/">Extensible Markup Language (XML)
+1.1</titleref>, W3C Recommendation, 04 February 2004, updated 15 Apr 2004. (See
+<xspecref href="http://www.w3.org/TR/2004/REC-xml11-20040204/">http://www.w3.org/TR/2004/REC-xml11-20040204/</xspecref>.)
+</bibl>
+<bibl id="xmlid" key="XML ID">Jonathan Marsh, Daniel Veillard, Norman Walsh, Eds.,
+<titleref href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">xml:id Version 1.0</titleref>,
+W3C Recommendation, 09 September 2005. (See
+<xspecref href="http://www.w3.org/TR/2005/REC-xml-id-20050909/">http://www.w3.org/TR/2005/REC-xml-id-20050909/</xspecref>.)
+</bibl>
+<bibl id="xml-media" key="XML Media">Makato Murata, Simon St. Laurent,
+Kan Khon, <titleref
+href="http://www.rfc-editor.org/rfc/rfc3023.txt">XML Media Types</titleref>,
+RFC 3023, January 2001, IETF.(See
+<xspecref
+href="http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</xspecref>.)
+</bibl>
+<bibl id="infoset" key="XML InfoSet">John Cowan and Richard Tobin,
+<titleref href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">XML Information Set (Second Edition)</titleref>,
+W3C Recommendation, 04 February 2004. (See
+<xspecref href="http://www.w3.org/TR/2004/REC-xml-infoset-20040204/">http://www.w3.org/TR/2004/REC-xml-infoset-20040204/</xspecref>.)
+</bibl>
+<bibl id="rfc3023" key="XML Media Types">Makato Murata, et al.,
+<titleref
+href="http://www.rfc-editor.org/rfc/rfc3023.txt">XML Media Types</titleref>,
+RFC 3023, January 2001, IETF.(See
+<xspecref
+href="http://www.rfc-editor.org/rfc/rfc3023.txt">http://www.rfc-editor.org/rfc/rfc3023.txt</xspecref>.)
+</bibl>
+<bibl id="xmlns11" key="XML Namespaces 1.1">Tim Bray, et al.
+<titleref href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/">Namespaces
+in XML 1.1</titleref>, W3C Recommendation, 04 February 2004. (See
+<xspecref href="http://www.w3.org/TR/2004/REC-xml-names11-20040204/">http://www.w3.org/TR/2004/REC-xml-names11-20040204/</xspecref>.)
+</bibl>
+<bibl id="xsd-1" key="XML Schema Part 1">Henry S. Thompson, David Beech,
+Murray Maloney, Noah Mendelsohn, Eds.,
+<titleref href="http://www.w3.org/TR/xmlschema-1/">XML Schema Part 1: Structures</titleref>,
+W3C Recommendation, 28 October 2004. (See
+<xspecref href="http://www.w3.org/TR/xmlschema-1/">http://www.w3.org/TR/xmlschema-1/</xspecref>.)
+</bibl>
+<bibl id="xsd-2" key="XML Schema Part 2">Paul Biron and Ashok Malhotra,
+<titleref href="http://www.w3.org/TR/xmlschema-2/">XML Schema Part 2: Datatypes</titleref>,
+W3C Recommendation, 28 October 2004. (See
+<xspecref href="http://www.w3.org/TR/xmlschema-2/">http://www.w3.org/TR/xmlschema-2/</xspecref>.)
+</bibl>
+<bibl id="xsl10" key="XSL 1.0">Sharon Adler, Anders Berglund, et al., Eds.,
+<titleref href="http://www.w3.org/TR/2001/REC-xsl-20011015/">Extensible Stylesheet Language, Version 1.0</titleref>,
+W3C Recommendation, 15 October 2001. (See
+<xspecref href="http://www.w3.org/TR/2001/REC-xsl-20011015/">http://www.w3.org/TR/2001/REC-xsl-20011015/</xspecref>.)
+</bibl>
+</blist>
+</div1>
+<inform-div1 id="other-references">
+<head>Other References</head>
+<blist>
+<bibl id="cea608c" key="CEA-608-C">
+EIA/CEA-608-C,
+<titleref href="http://members.ce.org/standards/StandardDetails.aspx?Id=1506">Line 21 Data
+Services</titleref>, EIA/CEA Standard,
+Consumer Electronics Association (CEA).
+</bibl>
+<bibl id="css3-color" key="CSS3 Color">Tantek &Ccedil;elik and Chris Lilley,
+<titleref href="http://www.w3.org/TR/2003/CR-css3-color-20030514/">CSS3 Color
+Module</titleref>, W3C Candidate Recommendation, 14 May 2003. (See
+<xspecref href="http://www.w3.org/TR/2003/CR-css3-color-20030514/">http://www.w3.org/TR/2003/CR-css3-color-20030514/</xspecref>.)
+</bibl>
+<bibl id="dcmes" key="DCMES 1.1">Dublin Core Metadata Initiative,
+<titleref href="http://dublincore.org/documents/dces/">Dublin Core Metadata Element Set, Version 1.1: Reference Description</titleref>. (See
+<xspecref href="http://dublincore.org/documents/dces/">http://dublincore.org/documents/dces/</xspecref>.)
+</bibl>
+<bibl id="mpeg7-5" key="MPEG7-5">
+ISO/IEC 15938-5,
+<titleref
+href="http://www.iso.org/">Information technology &ndash; Multimedia content description
+interface &ndash; Part 5: Multimedia description schemes</titleref>,
+International Organization for Standardization (ISO).
+</bibl>
+<bibl id="qaf-sg" key="QAF SG">Karl Dubost, et al.,
+<titleref
+href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
+Framework: Specifications Guidelines</titleref>, W3C Recommendation, 17
+August 2005. (See
+<xspecref href="http://www.w3.org/TR/qaframe-spec/">http://www.w3.org/TR/qaframe-spec/</xspecref>.)
+</bibl>
+<bibl id="scheme" key="SCHEME">Guy Steele and Gerald Sussman,
+<titleref
+href="http://swiss.csail.mit.edu/projects/scheme/">Scheme Programming
+Environment</titleref>,
+Massachusetts Institute of Technology. (See 
+<xspecref
+href="http://swiss.csail.mit.edu/projects/scheme/">http://swiss.csail.mit.edu/projects/scheme/</xspecref>.)
+</bibl>
+<bibl id="smpte170m" key="SMPTE 170M">ANSI/SMPTE 170M, 
+<titleref
+href="http://www.smpte.org/">Television &ndash; Composite Analog Video
+Signal &ndash; NTSC for Studio Applications</titleref>, SMPTE Standard.
+</bibl>
+<bibl id="svg11" key="SVG 1.1">Jon Ferraiolo, Jun Fujisawa, Dean Jackson, Eds.,
+<titleref
+href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">Scalable
+Vector Graphics (SVG) 1.1 Specification</titleref>, W3C Recommendation, 14
+January 2003. (See
+<xspecref href="http://www.w3.org/TR/2003/REC-SVG11-20030114/">http://www.w3.org/TR/2003/REC-SVG11-20030114/</xspecref>.)
+</bibl>
+<bibl id="ttaf1-req" key="TTAF1-REQ">Glenn Adams, Editor,
+<titleref href="http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">Timed Text (TT) Authoring Format 1.0 Use
+Cases and Requirements</titleref>,
+W3C Working Group Note, 27 April 2006. (See
+<xspecref
+href="http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/</xspecref>.)
+</bibl>
+<bibl id="xhtml10" key="XHTML 1.0">Steven Pemberton, et al.,
+<titleref
+href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/">XHTML&trade; 1.0,
+The Extensible Hypertext Markup Language (Second Edition)</titleref>,
+W3C Recommendation, 01
+August 2002. (See
+<xspecref href="http://www.w3.org/TR/2002/REC-xhtml1-20020801/">http://www.w3.org/TR/2002/REC-xhtml1-20020801/</xspecref>.)
+</bibl>
+</blist>
+</inform-div1>
+<inform-div1 id="sample-code">
+<head>Sample Code</head>
+<p>This appendix contains sample code, also available in
+a <loc href="scm/code.zip">ZIP Archive</loc> along with related files, that implements
+certain algorithms described by this specification. This code makes
+use of the MIT Scheme <bibref ref="scheme"/> dialect of the Lisp Programming Language.</p>
+<p>The following algorithms are implemented by this code:</p>
+<ulist>
+<item><p>Reduced XML Infoset (RXI)</p></item>
+<item><p>Abstract Document Instance (ADI)</p></item>
+<item><p>Time Interval Resolver (TIR)</p></item>
+<item><p>Flow Object Transformer (FOX)</p></item>
+<item><p>Dynamic Text Flow Processor (DTF)</p></item>
+</ulist>
+<p>Subsequent to the sample code listings, a transcript of a sample
+compile, load, and run session is provided.</p>
+<div2 id="code-rxi">
+<head>Reduced XML Infoset (RXI) &ndash;&nbsp;<code>RXI.SCM</code></head>
+<eg xml:space="preserve">&code-rxi;</eg>
+</div2>
+<div2 id="code-adi">
+<head>Abstract Document Instance (ADI) &ndash;&nbsp;<code>ADI.SCM</code></head>
+<eg xml:space="preserve">&code-adi;</eg>
+</div2>
+<div2 id="code-tir">
+<head>Time Interval Resolver (TIR) &ndash;&nbsp;<code>TIR.SCM</code></head>
+<eg xml:space="preserve">&code-tir;</eg>
+</div2>
+<div2 id="code-fox">
+<head>Flow Object Transformer (FOX) &ndash;&nbsp;<code>FOX.SCM</code></head>
+<eg xml:space="preserve">&code-tir;</eg>
+</div2>
+<div2 id="code-dtf">
+<head>Dynamic Text Flow Processor (DTF) &ndash;&nbsp;<code>DTF.SCM</code></head>
+<eg xml:space="preserve">&code-dtf;</eg>
+</div2>
+<div2 id="code-run">
+<head>Sample Compile, Load, and Run Session</head>
+<p>The following transcript shows a sample compile, load, and run
+session of the sample code, where the following steps are
+performed:</p>
+<olist>
+<item>
+<p>Start scheme using Edwin editor (included with MIT Scheme).</p>
+</item>
+<item>
+<p>Change working directory to sample code directory.</p>
+</item>
+<item>
+<p>Compile DFXP optional package by loading <code>compile.scm</code>.</p>
+</item>
+<item>
+<p>Load DFXP optional package by loading <code>load.scm</code>.</p>
+</item>
+<item>
+<p>Dump world identity to show that the just compiled, DFXP optional
+package has been loaded (MIT Scheme SOS, CREF, and XML optional packages are also
+loaded a side effect.)</p>	
+</item>
+<item>
+<p>Load DFXP document instance using <code>ADI-DOCUMENT/LOAD</code>
+function and save resulting <code>ADI-DOCUMENT</code> instance into variable
+<code>D</code>.</p>
+</item>
+<item>
+<p>Convert loaded <code>ADI-DOCUMENT</code> into a list structure and pretty print
+this structure using <code>PP</code> environment function.</p>
+</item>
+<item>
+<p>Serialize loaded <code>ADI-DOCUMENT</code> to file
+<code>out.xml</code>.</p>
+</item>
+<item>
+<p>Exit scheme interpreter.</p>
+</item>
+</olist>
+<p>The forms to be entered to accomplish the above tasks are depicted in boldface.</p>
+<eg xml:space="preserve">
+Scheme saved on Tuesday June 18, 2002 at 12:25:05 AM
+  Release 7.7.1
+  Microcode 14.9
+  Runtime 15.1
+  Win32 1.6
+  SF 4.40
+  Liar (Intel i386) 4.115
+  Edwin 3.112
+
+;You are in an interaction window of the Edwin editor.
+;Type C-h for help.  C-h m will describe some commands.
+;Package: (user)
+
+<phrase role="strong">(cd "/work/dfxp/scm")</phrase>
+;Value 12: #[pathname 12 "c:\\work\\dfxp\\scm\\"]
+
+<phrase role="strong">(load "compile")</phrase>
+;Loading "compile.scm"
+;Loading "load.scm"
+;Loading "load.scm"
+;Loading "sos-w32.pkd" -- done
+;Loading "slot.com" -- done
+;Loading "class.com" -- done
+;Loading "instance.com" -- done
+;Loading "method.com" -- done
+;Loading "printer.com" -- done
+;Loading "macros.com" -- done
+ -- done
+;Loading "xml-w32.pkd" -- done
+;Loading "xml-struct.com" -- done
+;Loading "xml-chars.com" -- done
+;Loading "xml-parser.com" -- done
+;Loading "xml-output.com" -- done
+ -- done
+;Loading "make.com" -- done
+;Loading "cref-w32.pkd" -- done
+;Loading "mset.com" -- done
+;Loading "object.com" -- done
+;Loading "toplev.com" -- done
+;Loading "anfile.com" -- done
+;Loading "conpkg.com" -- done
+;Loading "forpkg.com" -- done
+;Loading "redpkg.com" -- done
+;Generating "rxi.bin" because of: "rxi.scm"
+Syntax file: "rxi.scm" "rxi.bin"
+    Read...
+      Time taken: .031 (process time); .031 (real time)
+    Syntax...
+      Time taken: .032 (process time); .031 (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+;Warning: Unreferenced bound variable: is-attribute? (rxi-name/transform-to-xml)
+      Time taken: .015 (process time); .016 (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "rxi.ext" -- done
+;Dumping "rxi.bin" -- done
+;Generating "rxi.com" because of: "rxi.bin"
+Compile File: "rxi.bin" => "rxi.com"
+;Loading "rxi.bin" -- done
+    Compiling procedure: rxi-bindings/bindings...
+    Compiling procedure: set-rxi-bindings/bindings!...
+    Compiling procedure: rxi-bindings/push!...
+    Compiling procedure: rxi-bindings/pop!...
+    Compiling procedure: rxi-bindings/lookup...
+    Compiling procedure: rxi-bindings/resolve...
+    Compiling procedure: rxi-name/local...
+    Compiling procedure: rxi-name/namespace...
+    Compiling procedure: rxi-name->list...
+    Compiling procedure: rxi-name/transform-from-xml...
+    Compiling procedure: rxi-attribute/name...
+    Compiling procedure: rxi-attribute/value...
+    Compiling procedure: rxi-attribute->list...
+    Compiling procedure: rxi-attribute/transform-from-xml...
+    Compiling procedure: rxi-element/name...
+    Compiling procedure: rxi-element/attributes...
+    Compiling procedure: rxi-element/children...
+    Compiling procedure: set-rxi-element/attributes!...
+    Compiling procedure: set-rxi-element/children!...
+    Compiling procedure: rxi-element->list...
+    Compiling procedure: namespace-attribute?...
+    Compiling procedure: extract-namespace-bindings...
+    Compiling procedure: rxi-element/transform-from-xml...
+    Compiling procedure: rxi-document/annotations...
+    Compiling procedure: rxi-document/root...
+    Compiling procedure: set-rxi-document/annotations!...
+    Compiling procedure: set-rxi-document/root!...
+    Compiling procedure: rxi-document/annotation...
+    Compiling procedure: set-rxi-document/annotation!...
+    Compiling procedure: rxi-document/remove-annotation!...
+    Compiling procedure: rxi-document->list...
+    Compiling procedure: rxi-document/transform-from-xml...
+    Compiling procedure: rxi-document/load...
+    Compiling procedure: rxi-reverse-bindings/reverse-bindings...
+    Compiling procedure: set-rxi-reverse-bindings/reverse-bindings!...
+    Compiling procedure: rxi-reverse-bindings/lookup...
+    Compiling procedure: rxi-reverse-bindings/generate-prefix...
+    Compiling procedure: rxi-reverse-bindings/add!...
+    Compiling procedure: rxi-reverse-bindings/sort!...
+    Compiling procedure: rxi-reverse-bindings/normalize-preferred...
+    Compiling procedure: rxi-name/transform-to-xml...
+    Compiling procedure: rxi-attribute/transform-to-xml...
+    Compiling procedure: maybe-add-reverse-binding!...
+    Compiling procedure: rxi-element/collect-reverse-bindings...
+    Compiling procedure: rxi-element/transform-to-xml...
+    Compiling procedure: xml-document-add-bindings!...
+    Compiling procedure: rxi-document/collect-reverse-bindings...
+    Compiling procedure: rxi-document/transform-to-xml...
+    Compiling procedure: rxi-document/save...
+;"rxi.bci" dumped 
+;Dumping "rxi.com" -- done
+;Generating "adi.bin" because of: "adi.scm"
+Syntax file: "adi.scm" "adi.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: .016 (process time); .015 (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "adi.bin" -- done
+;Generating "adi.com" because of: "adi.bin"
+Compile File: "adi.bin" => "adi.com"
+;Loading "adi.bin" -- done
+    Compiling procedure: in-per-element-namespace?...
+    Compiling procedure: in-dfxp-namespace?...
+    Compiling procedure: in-xml-namespace?...
+    Compiling procedure: in-dfxp-or-xml-namespace?...
+    Compiling procedure: empty-dfxp-element-type?...
+    Compiling procedure: only-whitespace-children?...
+    Compiling procedure: rxi-document/adi-transform-element...
+    Compiling procedure: rxi-document/adi-transform...
+    Compiling procedure: adi-document/load...
+    Compiling procedure: adi-document/save...
+;"adi.bci" dumped 
+;Dumping "adi.com" -- done
+;Generating "tir.bin" because of: "tir.scm"
+Syntax file: "tir.scm" "tir.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "tir.bin" -- done
+;Generating "tir.com" because of: "tir.bin"
+Compile File: "tir.bin" => "tir.com"
+;Loading "tir.bin" -- done
+    Compiling procedure: adi-document/tir-transform...
+;"tir.bci" dumped 
+;Dumping "tir.com" -- done
+;Generating "fox.bin" because of: "fox.scm"
+Syntax file: "fox.scm" "fox.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "fox.bin" -- done
+;Generating "fox.com" because of: "fox.bin"
+Compile File: "fox.bin" => "fox.com"
+;Loading "fox.bin" -- done
+    Compiling procedure: adi-document/fox-transform...
+;"fox.bci" dumped 
+;Dumping "fox.com" -- done
+;Generating "dtf.bin" because of: "dtf.scm"
+Syntax file: "dtf.scm" "dtf.bin"
+    Read...
+      Time taken: 0. (process time); 0. (real time)
+    Syntax...
+      Time taken: 0. (process time); 0. (real time)
+    Transform...
+      Time taken: 0. (process time); 0. (real time)
+    Optimize...
+      Time taken: 0. (process time); 0. (real time)
+    Generate SCode...
+      Time taken: 0. (process time); 0. (real time)
+;Dumping "dtf.bin" -- done
+;Generating "dtf.com" because of: "dtf.bin"
+Compile File: "dtf.bin" => "dtf.com"
+;Loading "dtf.bin" -- done
+    Compiling procedure: adi-document/dtf-process...
+;"dtf.bci" dumped 
+;Dumping "dtf.com" -- done
+;Loading "dtf.bin" -- done
+;Loading "fox.bin" -- done
+;Loading "tir.bin" -- done
+;Loading "adi.bin" -- done
+;Loading "rxi.bin" -- done
+;Dumping "dfxp-w32.fre" -- done
+;Dumping "dfxp-w32.pkd" -- done
+ -- done
+;Unspecified return value
+
+<phrase role="strong">(load "load")</phrase>
+;Loading "load.scm"
+;Loading "dfxp-w32.pkd" -- done
+;Loading "rxi.com" -- done
+;Loading "adi.com" -- done
+;Loading "tir.com" -- done
+;Loading "fox.com" -- done
+;Loading "dtf.com" -- done
+ -- done
+;Unspecified return value
+
+<phrase role="strong">(identify-world)</phrase>
+Scheme saved on Tuesday June 18, 2002 at 12:25:05 AM
+  Release 7.7.1
+  Microcode 14.9
+  Runtime 15.1
+  Win32 1.6
+  SF 4.40
+  Liar (Intel i386) 4.115
+  Edwin 3.112
+  SOS 1.7
+  XML 0.2
+  CREF 2.3
+  DFXP 0.8
+;Unspecified return value
+
+<phrase role="strong">(define d (adi-document/load "test.xml"))</phrase>
+;Value: d
+
+<phrase role="strong">(pp (rxi-document->list d))</phrase>
+(((adi-transform . #t))
+ (("tt" "http://www.w3.org/2006/10/ttaf1")
+  ((("profile" "http://www.w3.org/2006/10/ttaf1#parameter")
+    "http://www.w3.org/2006/10/ttaf1#profile-dfxp")
+   (("lang" "http://www.w3.org/XML/1998/namespace") "en"))
+  ("\n  "
+   (("head" "http://www.w3.org/2006/10/ttaf1")
+    ()
+    ("\n    "
+     (("metadata" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("title" "http://www.w3.org/2006/10/ttaf1#metadata") () ("Timed Text DFXP Example"))
+       "\n      "
+       (("copyright" "http://www.w3.org/2006/10/ttaf1#metadata") () ("The Authors (c) 2006"))
+       "\n    "))
+     "\n    "
+     (("styling" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s1")
+         (("color" "http://www.w3.org/2006/10/ttaf1#style") "white")
+         (("fontFamily" "http://www.w3.org/2006/10/ttaf1#style") "proportionalSansSerif")
+         (("fontSize" "http://www.w3.org/2006/10/ttaf1#style") "22px")
+         (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "center"))
+        ())
+       "\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s2") (("style" ()) "s1")
+                          (("color" "http://www.w3.org/2006/10/ttaf1#style") "yellow"))
+        ())
+       "\n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s1Right") (("style" ()) "s1")
+                               (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "end"))
+        ())
+       "     \n      \n      "
+       (("style" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "s2Left") (("style" ()) "s2")
+                              (("textAlign" "http://www.w3.org/2006/10/ttaf1#style") "start"))
+        ())
+       "\n    "))
+     "\n    "
+     (("layout" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("region" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitleArea")
+         (("style" ()) "s1")
+         (("extent" "http://www.w3.org/2006/10/ttaf1#style") "560px 62px")
+         (("padding" "http://www.w3.org/2006/10/ttaf1#style") "5px 3px")
+         (("backgroundColor" "http://www.w3.org/2006/10/ttaf1#style") "black")
+         (("displayAlign" "http://www.w3.org/2006/10/ttaf1#style") "after"))
+        ())
+       "\n    "))
+     "  \n  "))
+   "\n  "
+   (("body" "http://www.w3.org/2006/10/ttaf1")
+    ((("region" ()) "subtitleArea"))
+    ("\n    "
+     (("div" "http://www.w3.org/2006/10/ttaf1")
+      ()
+      ("\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle1") (("begin" ()) "0.76s") (("end" ()) "3.45s"))
+        ("\n        It seems a paradox, does it not,\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle2") (("begin" ()) "5.0s") (("end" ()) "10.0s"))
+        ("\n        that the image formed on" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                              "\n        the Retina should be inverted?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle3") (("begin" ()) "10.0s") (("end" ()) "16.0s") (("style" ()) "s2"))
+        ("\n        It is puzzling, why is it" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                               "\n        we do not see things upside-down?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle4") (("begin" ()) "17.2s") (("end" ()) "23.0s"))
+        ("\n        You have never heard the Theory,"
+         (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+         "\n        then, that the Brain also is inverted?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle5") (("begin" ()) "23.0s") (("end" ()) "27.0s") (("style" ()) "s2"))
+        ("\n        No indeed! What a beautiful fact!\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle6a") (("begin" ()) "28.0s") (("end" ()) "34.6s") (("style" ()) "s2Left"))
+        ("\n        But how is it proved?\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle6b") (("begin" ()) "28.0s") (("end" ()) "34.6s") (("style" ()) "s1Right"))
+        ("\n        Thus: what we call\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle7") (("begin" ()) "34.6s") (("end" ()) "45.0s") (("style" ()) "s1Right"))
+        ("\n        the vertex of the Brain" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                             "\n        is really its base\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle8") (("begin" ()) "45.0s") (("end" ()) "52.0s") (("style" ()) "s1Right"))
+        ("\n        and what we call its base" (("br" "http://www.w3.org/2006/10/ttaf1") () ())
+                                               "\n        is really its vertex,\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle9a") (("begin" ()) "53.5s") (("end" ()) "58.7s"))
+        ("\n        it is simply a question of nomenclature.\n      "))
+       "\n      "
+       (("p" "http://www.w3.org/2006/10/ttaf1")
+        ((("xml:id" ()) "subtitle9b") (("begin" ()) "53.5s") (("end" ()) "58.7s") (("style" ()) "s2"))
+        ("\n        How truly delightful!\n      "))
+       "\n    "))
+     "    \n  "))
+   "\n")))
+;Unspecified return value
+
+<phrase role="strong">(adi-document/save d "out.xml")</phrase>
+;Unspecified return value
+
+<phrase role="strong">(exit)</phrase>
+</eg>
+</div2>
+</inform-div1>
+<inform-div1 id="requirements">
+<head>Requirements</head>
+<p>The Distribution Format Exchange Profile (DFXP) of the Timed Text Authoring
+Format (TT AF) satisfies a subset of the requirements established by
+<bibref ref="ttaf1-req"/>. The following table enumerates these requirements and
+indicates the extent to which they are satisfied by this specification, where
+<emph>S</emph> denotes a requirement is satisfied, <emph>P</emph> denotes
+a requirement is partially satisfied, and <emph>N</emph> denotes a
+requirement is not satisfied.</p>
+<table id="requirements-table" role="common">
+<caption>Table H-1 &ndash; Requirement Satisfaction</caption>
+<col width="10%"/>
+<col width="40%"/>
+<col width="10%"/>
+<tbody>
+<tr>
+<th>ID</th>
+<th>Name</th>
+<th>Status</th>
+<th>Comments</th>
+</tr>
+<tr>
+<td>R100</td>
+<td>Specification Format</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R101</td>
+<td>Specification Modularity</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R102</td>
+<td>Specification Organization</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R103</td>
+<td>Core and Periphery</td>
+<td>S</td>
+<td>TT extension namespaces</td>
+</tr>
+<tr>
+<td>R104</td>
+<td>Evolution of Core</td>
+<td>S</td>
+<td>TT extension namespaces</td>
+</tr>
+<tr>
+<td>R105</td>
+<td>Ownership of Core</td>
+<td>S</td>
+<td>TT namespaces</td>
+</tr>
+<tr>
+<td>R106</td>
+<td>Surjection of Core</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R107</td>
+<td>Evolution of Periphery</td>
+<td>S</td>
+<td>TT extension namespaces</td>
+</tr>
+<tr>
+<td>R108</td>
+<td>Ownership of Periphery</td>
+<td>S</td>
+<td>Non-TT namespaces</td>
+</tr>
+<tr>
+<td>R109</td>
+<td>Transformation</td>
+<td>S</td>
+<td>Supports 3GPP, QText, RealText, SAMI</td>
+</tr>
+<tr>
+<td>R110</td>
+<td>Streamable Transformation</td>
+<td>S</td>
+<td>Progressive decoding</td>
+</tr>
+<tr>
+<td>R111</td>
+<td>Accessibility &ndash; Content</td>
+<td>S</td>
+<td>Alternative document instances</td>
+</tr>
+<tr>
+<td>R112</td>
+<td>Accessibility &ndash; Authoring System</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R200</td>
+<td>Authorability</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R201</td>
+<td>Multiple Natural Languages</td>
+<td>S</td>
+<td>Alternative document instances</td>
+</tr>
+<tr>
+<td>R202</td>
+<td>Natural Language Coverage</td>
+<td>S</td>
+<td>Unicode 4.0</td>
+</tr>
+<tr>
+<td>R203</td>
+<td>Natural Language Association Granularity</td>
+<td>S</td>
+<td>See <code>xml:lang</code></td>
+</tr>
+<tr>
+<td>R204</td>
+<td>Minimum Character Representability</td>
+<td>S</td>
+<td>Unicode 4.0</td>
+</tr>
+<tr>
+<td>R205</td>
+<td>Intrinsic and Extrinsic Text Content</td>
+<td>P</td>
+<td>Intrinsic only</td>
+</tr>
+<tr>
+<td>R206</td>
+<td>Markup Association</td>
+<td>P</td>
+<td>Intrinsic only</td>
+</tr>
+<tr>
+<td>R207</td>
+<td>Conditional Content</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R208</td>
+<td>Flowed Text</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R209</td>
+<td>Logical Flowed Text Vocabulary</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R210</td>
+<td>Presentational Flowed Text Vocabulary</td>
+<td>S</td>
+<td>Implied mapping from logical flowed text.</td>
+</tr>
+<tr>
+<td>R211</td>
+<td>Flowed Text Vocabulary Relationship</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R212</td>
+<td>Flowed Text Vocabulary Separation</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R213</td>
+<td>Non-Flowed Text</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R214</td>
+<td>Non-Flowed Text Vocabulary</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R215</td>
+<td>Hybrid Flowed and Non-Flowed Text</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R216</td>
+<td>Hyperlinking</td>
+<td>N</td>
+<td>Can support via XLink</td>
+</tr>
+<tr>
+<td>R217</td>
+<td>Embedded Graphics</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R218</td>
+<td>Non-Embedded Graphics</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R219</td>
+<td>Embedded Fonts</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R220</td>
+<td>Non-Embedded Fonts</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R221</td>
+<td>Descriptive Vocabulary</td>
+<td>S</td>
+<td>See <code>ttm:agent</code>, <code>ttm:role</code></td>
+</tr>
+<tr>
+<td>R222</td>
+<td>Embedded Audio</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R223</td>
+<td>Non-Embedded Audio</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R290</td>
+<td>Markup Format</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R291</td>
+<td>Markup Format and Unicode Interaction</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R292</td>
+<td>Extrinsic Resource References</td>
+<td>N</td>
+<td>No extrinsic references</td>
+</tr>
+<tr>
+<td>R293</td>
+<td>Schema Validity Specification</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R300</td>
+<td>Inline Styling</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R301</td>
+<td>Inline Styling Form</td>
+<td>P</td>
+<td>Inline and referential styling</td>
+</tr>
+<tr>
+<td>R301</td>
+<td>Out-of-Line Styling</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R301</td>
+<td>Out-of-Line Styling Form</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R304</td>
+<td>Styling Prioritization</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R305</td>
+<td>Style Parameters &ndash; Aural</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R306</td>
+<td>Style Parameters &ndash; Visual</td>
+<td>P</td>
+<td>Supports absolute position, background color, color, display none, display alignment,
+font family, font size, font style, font weight, height, line height, origin,
+opacity, overflow, padding (before, after, start, end), text alignment,
+text shadow (as outline), visibility, width, writing mode, z-index</td>
+</tr>
+<tr>
+<td>R307</td>
+<td>Style Parameters &ndash; Temporal Fill Mode</td>
+<td>S</td>
+<td>See <code>tts:dynamicFlow</code></td>
+</tr>
+<tr>
+<td>R390</td>
+<td>Style Parameter Symmetry</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R391</td>
+<td>Style Parameter Definitions</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R392</td>
+<td>Style Parameter Shorthands</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R401</td>
+<td>Inline Timing</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R402</td>
+<td>Out-of-Line Timing</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+<td>R403</td>
+<td>Synchronization Parameters</td>
+<td>P</td>
+<td>Supports begin, end, dur</td>
+</tr>
+<tr>
+<td>R404</td>
+<td>Synchronization Parameter Value Spaces</td>
+<td>P</td>
+<td>Supports offset values, media marker values (SMPTE 12M), wallclock values</td>
+</tr>
+<tr>
+<td>R405</td>
+<td>Time Containment Semantics</td>
+<td>P</td>
+<td>Supports sequential, parallel</td>
+</tr>
+<tr>
+<td>R500</td>
+<td>Animation Modes</td>
+<td>P</td>
+<td>Supports discrete</td>
+</tr>
+<tr>
+<td>R501</td>
+<td>Scroll Animation</td>
+<td>S</td>
+<td>See <code>tts:dynamicFlow</code></td>
+</tr>
+<tr>
+<td>R502</td>
+<td>Highlight Animation</td>
+<td>S</td>
+<td><code>&lt;set tts:backgroundColor="..."/&gt;</code></td>
+</tr>
+<tr>
+<td>R503</td>
+<td>Fade Transition Animation</td>
+<td>S</td>
+<td><code>&lt;set tts:opacity="..."/&gt;</code></td>
+</tr>
+<tr>
+<td>R504</td>
+<td>Animated Style Parameters &ndash; Aural</td>
+<td>N</td>
+<td/>
+</tr>
+<tr>
+ <td>R505</td>
+<td>Animated Style Parameters &ndash; Visual</td>
+<td>P</td>
+<td>Supports animating background color, color, display, opacity, origin, visibility</td>
+</tr>
+<tr>
+<td>N506</td>
+<td>Animated Content</td>
+<td>S</td>
+<td/>
+</tr>
+<tr>
+<td>R600</td>
+<td>Metadata Item Association</td>
+<td>S</td>
+<td>See <code>metadata</code>, <code>Metadata.class</code></td>
+</tr>
+<tr>
+<td>R601</td>
+<td>Metadata Item Constituents</td>
+<td>P</td>
+<td>Supports name, value</td>
+</tr>
+<tr>
+<td>R602</td>
+<td>Metadata Item Value Representation</td>
+<td>P</td>
+<td>See <code>metadata</code></td>
+</tr>
+<tr>
+<td>R603</td>
+<td>Metadata Item Extensibility</td>
+<td>S</td>
+<td>See <code>metadata</code></td>
+</tr>
+<tr>
+<td>R604</td>
+<td>Metadata Item Validation</td>
+<td>S</td>
+<td>See <code>metadata</code></td>
+</tr>
+<tr>
+<td>R690</td>
+<td>Dublin Core Preference</td>
+<td>N</td>
+<td>Uses <code>ttm:copyright</code>, <code>ttm:desc</code>, <code>ttm:title</code></td>
+</tr>
+</tbody>
+</table>
+</inform-div1>
+<inform-div1 id="derivation">
+<head>Vocabulary Derivation</head>
+<p>This appendix provides information about the derivation of TT AF
+vocabulary, separately describing derivation of elements and
+attributes.</p>
+<div2>
+<head>Element Derivation</head>
+<p>The first column of <specref ref="element-vocab-derivation-table"/>
+specifies a TT AF element vocabulary item; the second column specifies the
+syntactic and/or semantic model on which the vocabulary item is based;
+the third column specifies the reference that defines
+the model (if a model is indicated);
+the fourth column specifies details about the derivation; the last
+column refers to additional notes describing the nature of the
+derivation.</p>
+<p>In the fourth column, which describes details of derivation, a
+notation is use to indicate the addition or removal of an attribute.
+For example, in the derivation of the <el>tt:div</el> element, the
+details column includes "-@class", which denotes that the
+<att>class</att> attribute that is specified for use with the
+<el>xhtml:div</el> model element is not specified for use with the
+corresponding TT AF element; in contrast, the details column includes
+"+@begin", which denotes that a <att>begin</att> attribute is added
+that is not specified for use with the <el>xhtml:div</el> model
+element.</p>
+<table id="element-vocab-derivation-table" role="common">
+<caption>Table I-1 &ndash; Elements</caption>
+<col width="20%"/>
+<col width="17%"/>
+<col width="13%" align="center"/>
+<col width="40%"/>
+<col width="10%" align="center"/>
+<tbody>
+<tr>
+<td><phrase role="strong">Element</phrase></td>
+<td><phrase role="strong">Model</phrase></td>
+<td><phrase role="strong">Reference</phrase></td>
+<td><phrase role="strong">Details</phrase></td>
+<td><phrase role="strong">Notes</phrase></td>
+</tr>
+<tr>
+<td><loc href="#document-structure-vocabulary-body"><code>tt:body</code></loc></td>
+<td><code>xhtml:body</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*; content model
+subsetted to zero or more division (div) children, and supersetted by
+optional metadata and animation children</td>
+<td>1,2</td>
+</tr>
+<tr>
+<td><loc href="#content-vocabulary-br"><code>tt:br</code></loc></td>
+<td><code>xhtml:br</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@class, -@title; +@ttm:*, +@tts:*, +@xml:lang, +@xml:space;
+content model supersetted by
+optional metadata and animation children for congruity with other
+content vocabulary</td>
+<td>1,2</td>
+</tr>
+<tr>
+<td><loc href="#content-vocabulary-div"><code>tt:div</code></loc></td>
+<td><code>xhtml:div</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more paragraph (p) children, and supersetted by
+optional metadata and animation children</td>
+<td>1,2,3</td>
+</tr>
+<tr>
+<td><loc href="#document-structure-vocabulary-head"><code>tt:head</code></loc></td>
+<td><code>xhtml:head</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@dir, -@lang, -@profile; +@id, +@xml:space; content model changed to
+optional metadata children, followed by optional styling child,
+followed by optional layout child</td>
+<td>1,3</td>
+</tr>
+<tr>
+<td><loc href="#layout-vocabulary-layout"><code>tt:layout</code></loc></td>
+<td><code>fo:simple-page-master</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-metadata"><code>tt:metadata</code></loc></td>
+<td><code>svg:metadata</code></td>
+<td><bibref ref="svg11"/></td>
+<td>-@xml:base; +@ttm:*, +@xml:lang, +@xml:space; content model
+subsetted to foreign namespace element content only (no #PCDATA)</td>
+<td>3,5</td>
+</tr>
+<tr>
+<td><loc href="#content-vocabulary-p"><code>tt:p</code></loc></td>
+<td><code>xhtml:p</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more span children, and supersetted by optional
+metadata and animation children</td>
+<td>1,2,3</td>
+</tr>
+<tr>
+<td><loc href="#layout-vocabulary-region"><code>tt:region</code></loc></td>
+<td><code>fo:region-*</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#animation-vocabulary-set"><code>tt:set</code></loc></td>
+<td><code>svg:set</code></td>
+<td><bibref ref="svg11"/></td>
+<td>-@* except begin, dur, end; +@tts:*, +@xml:lang, +@xml:space</td>
+<td>3,6</td>
+</tr>
+<tr>
+<td><loc href="#content-vocabulary-span"><code>tt:span</code></loc></td>
+<td><code>xhtml:span</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@class, -@dir, -@lang, -@on*, -@title; +@begin, +@dur, +@end, +@region,
++@timeContainer, +@ttm:*, +@tts:*, +@xml:space; content model
+subsetted to zero or more #PCDATA or break (br) children, and
+supersetted by optional metadata and animation children</td>
+<td>1,2,3</td>
+</tr>
+<tr>
+<td><loc href="#styling-vocabulary-style"><code>tt:style</code></loc></td>
+<td><emph>style specification</emph></td>
+<td><bibref ref="css2"/></td>
+<td>XML representation of identified set of pairs of style property
+name and value, with optional inclusion of other styles by reference
+to other style elements</td>
+<td>7</td>
+</tr>
+<tr>
+<td><loc href="#styling-vocabulary-styling"><code>tt:styling</code></loc></td>
+<td><code>xhtml:style</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>XML representation of a set of style specifications sets, each
+represented by a style child element</td>
+<td>1,7</td>
+</tr>
+<tr>
+<td><loc href="#document-structure-vocabulary-tt"><code>tt:tt</code></loc></td>
+<td><code>xhtml:html</code></td>
+<td><bibref ref="xhtml10"/></td>
+<td>-@dir, -@lang; +@id, +@ttp:*, +@xml:space; content model subsetted by
+permitting body and/or head to be optional</td>
+<td>1,8</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-actor"><code>ttm:actor</code></loc></td>
+<td><code>mpeg7:Creator</code></td>
+<td><bibref ref="mpeg7-5"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-agent"><code>ttm:agent</code></loc></td>
+<td><code>mpeg7:Agent</code></td>
+<td><bibref ref="mpeg7-5"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-copyright"><code>ttm:copyright</code></loc></td>
+<td><code>mpeg7:CopyrightString</code></td>
+<td><bibref ref="mpeg7-5"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-desc"><code>ttm:desc</code></loc></td>
+<td><code>svg:desc</code></td>
+<td><bibref ref="svg11"/></td>
+<td>-@class, -@style, -@xml:base</td>
+<td>2,5,9</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-name"><code>ttm:name</code></loc></td>
+<td><code>mpeg7:Name</code></td>
+<td><bibref ref="mpeg7-5"/></td>
+<td>conceptual derivation</td>
+<td>4</td>
+</tr>
+<tr>
+<td><loc href="#metadata-vocabulary-title"><code>ttm:title</code></loc></td>
+<td><code>svg:title</code></td>
+<td><bibref ref="svg11"/></td>
+<td>-@class, -@style, -@xml:base</td>
+<td>2,5,9</td>
+</tr>
+</tbody>
+</table>
+<note>
+<olist>
+<item>
+<p>Derivation is indicated with respect to the strict DTD defined
+by <bibref ref="xhtml10"/>, &sect;A.1.</p>
+</item>
+<item>
+<p>The <att>class</att> attribute is effectively replaced by the
+<att>style</att>
+attribute, which, instead of specifying an inline style,
+refers indirectly to one or more <loc
+href="#styling-vocabulary-style"><el>style</el></loc>
+elements that define a set of style specification sets.</p>
+</item>
+<item>
+<p>The <att>xml:lang</att> and <att>xml:space</att> attributes are defined for all element
+types in order to support their inheritance semantics to operate in
+the context of foreign namespace elements.</p>
+</item>
+<item>
+<p>Derivation is conceptual (notional) only.</p>
+</item>
+<item>
+<p>The <att>xml:base</att> attribute is not used since there are no external
+references from core vocabulary.</p>
+</item>
+<item>
+<p>The <att>attributeName</att> and <att>to</att> attributes of
+<el>svg:set</el> are replaced by the
+direct expression of the target attribute name and value by use of a
+<att>tts:*</att> attribute.</p>
+</item>
+<item>
+<p>CSS style specification syntax is mapped to XML by use of
+attributes defined in the TT Style Namespace.</p>
+</item>
+<item>
+<p>The <att>xml:id</att> attribute is defined for use on all element types.</p>
+</item>
+<item>
+<p>The <att>style</att> attribute is supported only on content
+elements.</p>
+</item>
+</olist>
+</note>
+</div2>
+<div2>
+<head>Attribute Derivation</head>
+<p>The first column of <specref ref="attribute-vocab-derivation-table"/>
+specifies a TT AF attribute vocabulary item; the second column specifies the
+syntactic and/or semantic model on which the vocabulary item is based;
+the third column specifies the reference that defines
+the model (if a model is indicated);
+the fourth column specifies details about the derivation; the last
+column refers to additional notes describing the nature of the
+derivation.</p>
+<p>In the fourth column, which describes details of derivation, a
+notation is use to indicate the addition or removal of an attribute
+value.  For example, in the derivation of the <att>timeContainer</att>
+attribute,
+the details column includes "-excl", which denotes that the
+<code>excl</code> value that is specified for use with the
+<att>timeContainer</att> model attribute is not specified for use with the
+corresponding TT AF attribute; similarly, an "+<emph>value</emph>"
+in the details column indicates that the attribute's values have been
+extended to include <emph>value</emph>.</p>
+<p>Only those attributes that are specified for use on more than one TT AF
+element type are listed below. Those per-element namespace attributes
+that are uniquely defined for a specific TT AF element type are not
+listed below, but are considered to be part of the specific element
+type's derivation described in <specref
+ref="element-vocab-derivation-table"/>
+above.</p>
+<table id="attribute-vocab-derivation-table" role="common">
+<caption>Table I-2 &ndash; Attributes</caption>
+<col width="20%"/>
+<col width="17%"/>
+<col width="13%" align="center"/>
+<col width="40%"/>
+<col width="10%" align="center"/>
+<tbody>
+<tr>
+<td><phrase role="strong">Attribute</phrase></td>
+<td><phrase role="strong">Model</phrase></td>
+<td><phrase role="strong">Reference</phrase></td>
+<td><phrase role="strong">Details</phrase></td>
+<td><phrase role="strong">Notes</phrase></td>
+</tr>
+<tr>
+<td><loc href="#timing-attribute-begin"><code>begin</code></loc></td>
+<td><code>begin</code></td>
+<td><bibref ref="smil21"/></td>
+<td>see notes</td>
+<td>2,3,4</td>
+</tr>
+<tr>
+<td><loc href="#timing-attribute-dur"><code>dur</code></loc></td>
+<td><code>dur</code></td>
+<td><bibref ref="smil21"/></td>
+<td>see notes</td>
+<td>2,3,4</td>
+</tr>
+<tr>
+<td><loc href="#timing-attribute-end"><code>end</code></loc></td>
+<td><code>end</code></td>
+<td><bibref ref="smil21"/></td>
+<td>see notes</td>
+<td>2,3,4</td>
+</tr>
+<tr>
+<td><loc href="#layout-attribute-region"><code>region</code></loc></td>
+<td><code>master-reference</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>conceptual derivation</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-style"><code>style</code></loc></td>
+<td><code>class</code></td>
+<td><bibref ref="css2"/></td>
+<td>dereferences style specification(s) directly</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#timing-attribute-timeContainer"><code>timeContainer</code></loc></td>
+<td><code>timeContainer</code></td>
+<td><bibref ref="smil21"/></td>
+<td>-excl, -none; no default attribute value</td>
+<td>5</td>
+</tr>
+<tr>
+<td><loc href="#metadata-attribute-agent"><code>ttm:agent</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>used to attribute agent of content</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#metadata-attribute-role"><code>ttm:role</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>used to attribute role of content</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-cellResolution"><code>ttp:cellResolution</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses uniform grid resolution for cell based coordinates</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-clockMode"><code>ttp:clockMode</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>determines how to interpret time expressions</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-frameRate"><code>ttp:frameRate</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses integral frame rate</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-frameRateMultiplier"><code>ttp:frameRateMultiplier</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>used to express non-integral, rational frame rates</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-markerMode"><code>ttp:markerMode</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses marker continuity semantics</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-pixelAspectRatio"><code>ttp:pixelAspectRatio</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses pixel aspect ratio of related media</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-profile"><code>ttp:profile</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses profile of TT AF used by document instance</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-smpteMode"><code>ttp:smpteMode</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses frame counting (drop) modes</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-subFrameRate"><code>ttp:subFrameRate</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>expresses sub-frame rate</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-tickRate"><code>ttp:tickRate</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>used to interpret tick based time expressions</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#parameter-attribute-timeBase"><code>ttp:timeBase</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>used to interpret semantics of time expressions</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-backgroundColor"><code>tts:backgroundColor</code></loc></td>
+<td><code>background-color</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>see notes</td>
+<td>1,6</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-color"><code>tts:color</code></loc></td>
+<td><code>color</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>initial value specified as <code>transparent</code></td>
+<td>6</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-direction"><code>tts:direction</code></loc></td>
+<td><code>direction</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>complies with model</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-display"><code>tts:display</code></loc></td>
+<td><code>display</code></td>
+<td><bibref ref="css2"/></td>
+<td>only auto, none, inherit</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-displayAlign"><code>tts:displayAlign</code></loc></td>
+<td><code>display-align</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-dynamicFlow"><code>tts:dynamicFlow</code></loc></td>
+<td><emph>none</emph></td>
+<td></td>
+<td>defines scroll overflow behavior</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-extent"><code>tts:extent</code></loc></td>
+<td><code>width</code>, <code>height</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>shorthand property</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-fontFamily"><code>tts:fontFamily</code></loc></td>
+<td><code>font-family</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>extends generic family names</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-fontSize"><code>tts:fontSize</code></loc></td>
+<td><code>font-size</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>see notes</td>
+<td>1,7</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-fontStyle"><code>tts:fontStyle</code></loc></td>
+<td><code>font-style</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>uses alias <code>reverseOblique</code> for <code>backslant</code></td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-fontWeight"><code>tts:fontWeight</code></loc></td>
+<td><code>font-weight</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>-bolder, -lighter, -&lt;number&gt;</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-lineHeight"><code>tts:lineHeight</code></loc></td>
+<td><code>line-height</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>-&lt;number&gt;, -&lt;space&gt;</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-opacity"><code>tts:opacity</code></loc></td>
+<td><code>opacity</code></td>
+<td><bibref ref="css3-color"/></td>
+<td>complies with model</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-origin"><code>tts:origin</code></loc></td>
+<td><code>top</code>, <code>left</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>shorthand property</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-overflow"><code>tts:overflow</code></loc></td>
+<td><code>overflow</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>-auto, -error-if-overflow; scroll redefined</td>
+<td>8</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-padding"><code>tts:padding</code></loc></td>
+<td><code>padding</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>see notes</td>
+<td>9</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-showBackground"><code>tts:showBackground</code></loc></td>
+<td><code>showBackground</code></td>
+<td><bibref ref="smil21"/></td>
+<td>complies with model</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-textAlign"><code>tts:textAlign</code></loc></td>
+<td><code>text-align</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-textDecoration"><code>tts:textDecoration</code></loc></td>
+<td><code>text-decoration</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1,10</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-textOutline"><code>tts:textOutline</code></loc></td>
+<td><code>text-shadow</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>see notes</td>
+<td>11</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-unicodeBidi"><code>tts:unicodeBidi</code></loc></td>
+<td><code>unicode-bidi</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-visibility"><code>tts:visibility</code></loc></td>
+<td><code>visibility</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>-collapse</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-wrapOption"><code>tts:wrapOption</code></loc></td>
+<td><code>wrap-option</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-writingMode"><code>tts:writingMode</code></loc></td>
+<td><code>writing-mode</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>+tblr</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#style-attribute-zIndex"><code>tts:zIndex</code></loc></td>
+<td><code>z-index</code></td>
+<td><bibref ref="xsl10"/></td>
+<td>except for name normalization, complies with model</td>
+<td>1</td>
+</tr>
+<tr>
+<td><loc href="#content-attribute-id"><code>xml:id</code></loc></td>
+<td><code>xml:id</code></td>
+<td><bibref ref="xmlid"/></td>
+<td>complies with model</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#content-attribute-lang"><code>xml:lang</code></loc></td>
+<td><code>xml:lang</code></td>
+<td><bibref ref="xml11"/></td>
+<td>complies with model</td>
+<td></td>
+</tr>
+<tr>
+<td><loc href="#content-attribute-space"><code>xml:space</code></loc></td>
+<td><code>xml:space</code></td>
+<td><bibref ref="xml11"/></td>
+<td>see notes</td>
+<td>12</td>
+</tr>
+</tbody>
+</table>
+<note>
+<olist>
+<item>
+<p>Attribute name and/or value(s) are normalized to use
+<emph>lowerCamelCase</emph> naming convention.</p>
+</item>
+<item>
+<p>Restricted to expressing a clock value that denotes one of the
+following in accordance to whether the parameter expressed by the
+<att>ttp:timeBase</att> attribute is <code>media</code>, <code>smpte</code>,
+or <code>clock</code>, respectively:
+(1) an offset from an implicit syncbase that is linked to a media time
+line, (2) an event time
+that represents the occurrence of an implicit media marker, or (3) a wallclock
+time.</p>
+</item>
+<item>
+<p>Syntactically subsets and supersets the <bibref
+ref="smil21"/>&nbsp;<code>Clock-value</code> syntax as follows:
+(1) requires non-negative <code>Full-clock-value</code> or
+<code>Timecount-value</code>;
+(2) if <code>Full-clock-value</code>
+then <emph>hours</emph> must be two or more digits;
+(3) if <code>Timecount-value</code>, then <emph>metric</emph> must be
+specified;
+(4) uses <code>m</code> as alias for <code>min</code> metric to denote
+minutes;
+(5) adds <code>f</code> and <code>t</code> metrics denoting frames and
+ticks, respectively;
+(6) adds alternative expression of optional <code>Fraction</code> in
+<code>Full-clock-value</code> by specifying frame count or frame
+count with subframe count.
+</p>
+</item>
+<item>
+<p>
+Interpretation of time expression is further constrained by
+parameters expressed by
+<att>ttp:clockMode</att>,
+<att>ttp:frameRate</att>,
+<att>ttp:frameRateMultiplier</att>,
+<att>ttp:markerMode</att>,
+<att>ttp:smpteMode</att>,
+<att>ttp:subFrameRate</att>,
+<att>ttp:tickRate</att>, and
+<att>ttp:timeBase</att> attributes.</p>
+</item>
+<item>
+<p>Uses subset of named colors from model to which two aliases are
+added as follows: <code>magenta</code> as <code>fuchsia</code>, and <code>cyan</code>
+as <code>aqua</code>.</p>
+</item>
+<item>
+<p>If not specified, then parallel (par) container semantics apply to
+the element types specified by <specref
+ref="timing-attribute-timeContainer"/>.</p>
+</item>
+<item>
+<p>Restricts size to length specification which can be a percentage;
+adds optional second length (or percentage) for
+specifying separate horizontal and vertical scaling of glyph's EM
+square.</p>
+</item>
+<item>
+<p>The value <code>scroll</code> is defined in terms of the <loc
+href="#style-attribute-dynamicFlow"><att>tts:dynamicFlow</att></loc>
+style property.</p>
+</item>
+<item>
+<p>Expressed in terms of writing mode relative padding properties
+rather than absolute padding properties.</p>
+</item>
+<item>
+<p>Excludes <code>blink</code> and <code>no-blink</code> values.</p>
+</item>
+<item>
+<p>Uses only one length specification instead of two, where one length
+defines distance of outline effect from nominal edge of glyph contour
+outline perpendicular to point of glyph contour. Percentage lengths
+are also added to express outline effect in relative to font size.
+Outline effects are intended to be drawn both outside of outer closed
+contours and inside of inner closed contours.</p>
+</item>
+<item>
+<p>On root element, default attribute value specified as
+<code>default</code>, which is defined in terms of whitespace
+normalization. Semantics of preservation and default normalization are
+defined in terms of presentation semantics by <specref
+ref="content-attribute-space"/>.</p>
+</item>
+</olist>
+</note>
+</div2>
+</inform-div1>
+<inform-div1 id="qa">
+<head>QA Framework Compliance</head>
+<p>This appendix specifies the compliance of this specification with the
+requirements and guidelines defined by <xspecref
+href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/">QA
+Framework Specifications Guidelines</xspecref>&nbsp;<bibref
+ref="qaf-sg"/>.</p>
+<div2>
+<head>Requirements</head>
+<table id="qa-framework-requirements-table" role="common">
+<caption>Table J-1 &ndash; QA Framework Requirements Checklist</caption>
+<col width="76%"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<tbody>
+<tr>
+<td><phrase role="strong">Requirement</phrase></td>
+<td><phrase role="strong">YES</phrase></td>
+<td><phrase role="strong">NO</phrase></td>
+<td><phrase role="strong">N/A</phrase></td>
+<td><phrase role="strong">Notes</phrase></td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#include-conformance-clause-principle">Requirement 01: Include a conformance
+clause</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-scope-principle">Requirement 02: Define the scope.</xspecref></td>
+<td><loc href="#intro">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#implement-principle">Requirement 03: Identify who or what will implement the specification.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-norm-principle">Requirement 04: Make a list of normative references.</xspecref></td>
+<td><loc href="#references">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-principle">Requirement 05: Define the terms used in the normative parts of the specification.</xspecref></td>
+<td><loc href="#definitions">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conf-label-principle">Requirement 06: Create conformance labels for each part of the conformance model.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#consistent-style-principle">Requirement 07: Use a consistent style for conformance requirements and explain how to distinguish them.</xspecref></td>
+<td><loc href="#conventions">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#req-opt-conf-principle">Requirement 08: Indicate which conformance requirements are mandatory, which are recommended, and which are optional.</xspecref></td>
+<td><loc href="#conventions">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-mandatory-principle">Requirement 09: If the technology is subdivided, then indicate which subdivisions are mandatory for conformance.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdiv-constraints-principle">Requirement 10: If the technology is subdivided, then address subdivision constraints.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#likehood-extension-principle">Requirement 11: Address Extensibility.</xspecref></td>
+<td><loc href="#doctypes">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#deprecated-feature-principle">Requirement 12: Identify deprecated features.</xspecref></td>
+<td/>
+<td/>
+<td>N/A</td>
+<td>1</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#degree-support-principle">Requirement 13: Define how each class of product handles each deprecated feature.</xspecref></td>
+<td/>
+<td/>
+<td>N/A</td>
+<td>1</td>
+</tr>
+</tbody>
+</table>
+<note>
+<olist>
+<item>
+<p>No feature is deprecated by this version of this specification.</p>
+</item>
+</olist>
+</note>
+</div2>
+<div2>
+<head>Guidelines</head>
+<table id="qa-framework-guidelines-table" role="common">
+<caption>Table J-2 &ndash; QA Framework Guidelines Checklist</caption>
+<col width="76%"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<col width="6%" align="center"/>
+<tbody>
+<tr>
+<td><phrase role="strong">Guideline</phrase></td>
+<td><phrase role="strong">YES</phrase></td>
+<td><phrase role="strong">NO</phrase></td>
+<td><phrase role="strong">N/A</phrase></td>
+<td><phrase role="strong">Notes</phrase></td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-model-gp">Good Practice 01: Define the specification's conformance model in the conformance clause.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#norm-informative-gp">Good Practice 02: Specify in the conformance clause how to distinguish normative from informative content.</xspecref></td>
+<td><loc href="#conventions">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#conformance-claim-gp">Good Practice 03: Provide the wording for conformance claims.</xspecref></td>
+<td><loc href="#claims">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-gp">Good Practice 04: Provide an Implementation Conformance Statement Pro Forma.</xspecref></td>
+<td/>
+<td>NO</td>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ics-claim-gp">Good Practice 05: Require an Implementation Conformance Statement as part of valid conformance claims.</xspecref></td>
+<td><loc href="#claims">YES</loc></td>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#use-example-gp">Good Practice 06: Provide examples, use cases, and graphics.</xspecref></td>
+<td><loc href="#example">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-sample-gp">Good Practice 07: Write sample code or tests.</xspecref></td>
+<td><loc href="#sample-code">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#ref-define-practice">Good Practice 08: When imposing requirements by normative references, address conformance dependencies.</xspecref></td>
+<td><loc href="#references">YES</loc></td>
+<td/>
+<td/>
+<td>1</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-terms-inline-gp">Good Practice 09: Define unfamiliar terms in-line and consolidate the definitions in a glossary section.</xspecref></td>
+<td><loc href="#definitions">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#reuse-terms-gp">Good Practice 10: Use terms already defined without changing their definition.</xspecref></td>
+<td><loc href="#definitions">YES</loc></td>
+<td/>
+<td/>
+<td>2</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#formal-language-gp">Good Practice 11: Use formal languages when possible.</xspecref></td>
+<td><loc href="#schemas">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#write-assertion-gp">Good Practice 12: Write Test Assertions.</xspecref></td>
+<td/>
+<td>NO</td>
+<td/>
+<td>3</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#subdivide-foster-gp">Good Practice 13: Create subdivisions of the technology when warranted.</xspecref></td>
+<td><loc href="#conformance">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#rules-profiles-gp">Good Practice 14: If the technology is profiled, define rules for creating new profiles.</xspecref></td>
+<td><loc href="#vocabulary-profiles">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#need-option-gp">Good Practice 15:Use optional features as warranted.</xspecref></td>
+<td>YES</td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#label-options-gp">Good Practice 16: Clearly identify optional features.</xspecref></td>
+<td>YES</td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#constraints-gp">Good Practice 17: Indicate any limitations or constraints on optional features.</xspecref></td>
+<td>YES</td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#extensions-prohibited-gp">Good Practice 18: If extensibility is allowed, define an extension mechanism.</xspecref></td>
+<td><loc href="#extension-vocabulary-overview">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#breaking-conformance-gp">Good Practice 19: Warn extension creators to create extensions that do not interfere with conformance.</xspecref></td>
+<td><loc href="#extension-vocabulary-overview">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#define-error-gp">Good Practice 20: Define error-handling for unknown extensions.</xspecref></td>
+<td><loc href="#conformance-processor">YES</loc></td>
+<td/>
+<td/>
+<td>4</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#workaround-gp">Good Practice 21: Explain how to avoid using a deprecated feature.</xspecref></td>
+<td/>
+<td/>
+<td>N/A</td>
+<td>5</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#obsolete-gp">Good Practice 22: Identify obsolete features.</xspecref></td>
+<td/>
+<td/>
+<td>N/A</td>
+<td>5</td>
+</tr>
+<tr>
+<td><xspecref href="http://www.w3.org/TR/2005/REC-qaframe-spec-20050817/#error-handling-gp">Good Practice 23: Define an error handling mechanism.</xspecref></td>
+<td><loc href="#reduced-infoset">YES</loc></td>
+<td/>
+<td/>
+<td/>
+</tr>
+</tbody>
+</table>
+<note>
+<olist>
+<item>
+<p>When making normative references to external specifications,
+specific clauses or sections are cited.</p>
+</item>
+<item>
+<p>See also <specref ref="derivation"/>.</p>
+</item>
+<item>
+<p>Test assertions and test suites will be provided prior to entering
+Proposed Recommendation (PR) phase.</p>
+</item>
+<item>
+<p>See criterion #3 in <specref
+ref="conformance-processor"/> and definition of
+<loc href="#doctypes">TT AF Abstract Document Instance</loc>.</p>
+</item>
+<item>
+<p>No feature is deprecated or obsoleted by this version of this specification.</p>
+</item>
+</olist>
+</note>
+</div2>
+</inform-div1>
+<inform-div1 id="streaming">
+<head>Streaming DFXP Content</head>
+<p>DFXP Content is designed to support streamability by implementing the
+following properties:</p>
+<ulist>
+<item>
+<p>can be progressively encoded (i.e., does not require computing
+subsequent data prior to sending current data);</p>
+</item>
+<item>
+<p>can be progressively decoded (i.e., does not require forward
+references, but uses only reverse references when necessary);</p>
+</item>
+<item>
+<p>does not require dereferencing (and subsequent loading) of any
+resources other than DFXP content (i.e., no embedded URIs);</p>
+</item>
+<item>
+<p>does not support alternative content forms (e.g., different
+language, graphics formats, time bases) in a single document;</p>
+</item>
+<item>
+<p>has timing structure compiled into inline format that makes
+possible a temporal ordering of content that follows temporal
+presentation order;</p>
+</item>
+<item>
+<p>constrains content models to prevent arbitrary nested content
+structures;</p>
+</item>
+</ulist>
+<p>One possible means by which DFXP Content may be streamed is to
+partition a DFXP document instance's information set into
+non-overlapping fragments, where one particular fragment, call it the
+<emph>root fragment</emph>, represents the front matter (head) of the
+document instance as well as its top level structural elements, and
+other fragments represent content whose time intervals are expected to
+be active in parallel.</p>
+<p>In applications that require arbitrary (random) entry into a
+stream, i.e., the property of being able to start reading data at an
+arbitrary data access unit, the root fragment will be repetitively
+transmitted (inserted) into the stream in order to permit a decoder to
+resynchronize and acquire sufficient structural information in the
+information set in order to interpret subsequent content
+fragments.</p>
+<p>An example of such a fragmentation of a DFXP document instance is
+shown in <specref ref="fragment-streaming-graphic"/>.</p>
+<table id="fragment-streaming-graphic" role="example-images">
+<caption>Figure 2 &ndash; Fragment Streaming</caption>
+<tbody>
+<tr>
+<td><graphic id="graphic-fragment-streaming" source="images/streaming.png" alt="Fragment Streaming"/></td>
+</tr>
+</tbody>
+</table>
+<note>
+<p>This specification does not define a transport buffer model or a decoder
+capabilities model.</p>
+</note>
+</inform-div1>
+&acknowledgements;
+
+<!-- new change log format - not used yet -->
+<!--
+<inform-div1 id="change-log">
+<head>Change Log</head>
+<p>@@This paragraph will be replaced by the change log. DO NOT TOUCH@@</p>
+</inform-div1>
+-->
+
+<inform-div1 id="change-history">
+<head>Change History</head>
+<div2 id="change-history-lc1-to-lc2">
+<head>Changes from First to Second Last Call Working Draft</head>
+<eg xml:space="preserve">
+<phrase role="strong">Technical Changes</phrase>
+
+The following changes result in a technical change of the conformance
+criteria, the normative abstract document type that is defined
+for use with DFXP, or the defined value space of an attribute or
+property:
+
+* Update namespace URIs to use 2006/04 instead of 2004/11;
+* Remove ttp:defaultLengthUnit definition and all references;
+  + change initial (default) value definition of tts:fontSize to
+    be 1/24th of the height of the root container in all cases;
+  + change syntax of scalar form of &lt;length&gt; to require units
+* Remove ttp:defaultTimeMetric definition and all references;
+  + change syntax of &lt;duration&gt; to require a metric
+* Add "transcription" to ttm:role enumeration in section 12.2.2;
+* In section 8.2.16, change "dynamic" value to read "scroll" instead,
+  which is already defined by CSS/XSL and given UA dependent
+  semantics; here we will specify fixed semantics and map to dynamic
+  flow; change also usage in 8.1.7 to refer to "scroll";
+* In section 6.2.1, change implied default value of ttp:cellResolution
+  from 1col/1row to 32cols/15rows, based on CEA/EIA-608-C maximum values;
+* In 8.3.12, add "cyan" and "magenta" as aliases for "aqua" and
+  "fucshia", since it turns out these are defined by SVG1.0;
+* Add following new values for ttm:role to support EIA/CEA-708 caption
+  text functions: dialog, expletive, narration, quality, source,
+  suppressed; remove associated editorial note;
+* In 3.1, add new conformance criteria item 1 that specifies the use
+  of application/ttaf+xml as MIME media type with optional "profile"
+  parameter; use new references to MIME and XML Media Types;
+* Remove begin, dur, and end attributes and descriptions thereof from
+  &lt;tt/&gt; and &lt;layout/&gt;;
+* Move description of tts:extent attribute from &lt;tt/&gt; to
+  &lt;body/&gt;;
+* Change "meta" element name to "metadata" to match SVG usage, on
+  which this vocabulary item is modeled;
+* Remove name attribute from &lt;metadata/&gt; element;
+* Change initial (default) value definition of tts:fontSize to
+  be 1c (one grid cell) in order to match implied default value for
+  ttp:cellResolution row count;
+* For sake of symmetry, add Metadata.class and Animation.class children to
+  content model of &lt;br/&gt;;
+* Add style, ttm:*, tts:* and foreign namespace attributes to
+  &lt;br/&gt;;
+* Add usage of tts:padding property that takes three length specifications;
+* Add left and right values to textAlign;
+* Add monospace, serif, and sansSerif to generic font family names;
+* Add missing "auto" value to zIndex, and make "auto" initial value
+  in order to comply with XSL/CSS usage;
+* Add means to specify rate (in units per second) to definition of
+  flowIntervalArguments in section 8.3.8;
+* Populate Appendix B on Dynamic Flow Processing which defines normative
+  semantics (previously unspecified);
+
+<phrase role="strong">Editorial Changes</phrase>
+
+The following changes are editorial in nature or entail semantic
+clarifications that do not affect the abstract document type or defined
+schemas for DFXP:
+
+* Add "Contributing Authors" to preamble, listing contributors;
+* Merge current and former members description in Appendix H (now
+  Appendix K);
+* Remove references to AFXP as follows:
+  + remove 1st note in section 1
+  + remove 1st note in section 1.1
+  + remove definition of AFXP from glossary
+  + remove section 4.2
+  + remove AFXP profile entry from Table 2 - Profiles
+  + remove reference to 2nd catalog in section 5.3 preamble
+  + remove last clause of 2nd para of section 5.3
+  + change "AFXP" to "future profiles" in 1st para of section 5.3.1
+  + remove section 5.3.2
+  + remove last sentence of 2nd note in section 7.1.4
+  + remove last sentence of 1st note in section 7.1.6
+  + change "AFXP" to "advanced profiles" in 3rd para of Appendix H (now
+  Appendix K);
+* Add clarifying language in the last para of section 8.3.6;
+* Clarify definition of "Valid Abstract Document Instance" in section 4
+  to account for the pruning of attributes in other namespaces and
+  residual requirements on the presence and value type of attributes;
+  + remove redundant definition in glossary to prevent competing
+    definitions
+* Add informative reference to SMPTE170M (for NTSC); add a
+  reference to this bibliographic entry from the 1st note under
+  section 6.2.4; add new sentence to this same note indicating
+  that other frame rate multipliers apply in other regions and
+  with other video formats;
+* Add normative reference to UAAG; add recommendation in
+  conformance clause 3.2 item (5) that a presentation processor
+  should satisfy UAAG defined guidelines;
+* Add note in introduction expressing that a related sign language
+  representation may be appropriate in some circumstances, but that
+  this is not addressed explicitly by DFXP;
+* Add note in section 6.2.11 indicating that control over state of
+  external media time base is outside the scope of DFXP;
+* Add note in section 5.2 indicating possible uses of profile
+  information;
+* Fix typos:
+  + section 6.2.1: s/express number/express the number/
+  + section 6.2.5 (now 6.2.3): s/in document/in a document/
+  + section 6.2.6 (now 6.2.4): s/MHz/Hz/
+* Add note to 6.2.2 referring to section 10.3 Time Value Expressions;
+* Add normative reference to UTC, using reference in section 6.2.2;
+* Add normative reference to GPS, using reference in section 6.2.2;
+* Add note to 6.2.2 summarizing difference between GPS and UTC;
+* Add para to 6.2.2 clarifying that ttp:clockMode is significant
+  only on &lt;tt/&gt; element;
+* In section 8.3.11, add or refer to definitions of "px", "em", and
+  "c";
+* In section 7.2.3, replace definition of semantics of xml:space
+  values with a new definition that maps to XSL-FO properties;
+* In section 9.3.2, add new item (8) that specifies mapping for
+  &lt;br/&gt; elements to &lt;fo:character/&gt;;
+* In section 4, add new step 2 to definition of Abstract Document
+  Instance, which is needed to remove certain XML whitespace that
+  remains after pruning elements; e.g., a &lt;br/&gt; element may have
+  children from another namespace, that, after pruning, would result
+  in a non-empty &lt;br/&gt; element; this new step ensures that the
+  element is emptied prior to validation against its abstract
+  document type;
+* In section 8 preamble, add new para indicating that no normative
+  use of a stylesheet PI is defined;
+* In section 8.2.16, add condition tts:wrapOption="noWrap" in note;
+* In section 8.2.22, move visibility="hidden" from &lt;p/&gt; to &lt;span/&gt;s;
+  otherwise, content would remain hidden due to &lt;p/&gt; being hidden;
+* Add informative reference to CEA/EIA-608-C; use this reference
+  in a new note in 6.2.1;
+* Add note in 6.2.1 explaining that it is not expected that glyph
+  areas align with uniform grid defined by ttp:cellResolution,
+  indicate that such alignment would occur only when using monospace
+  font whose EM square exactly matches grid's cell size;
+* Add normative reference to SRGB definition;
+* Add normative use of SRGB in section 8.3.2 &lt;color&gt; and 8.3.12 &lt;namedColor&gt;
+* In 8.3.2, add para indicating that SRGB is used for both input and
+  output of notional composition functions; add note indicating that
+  a presentation processor may actually use another color space for
+  internal or external purposes;
+* In 8.2.14, specify that opacity applies on a linear scale;
+* Add informative reference to SVG 1.0;
+* Add note in 8.3.12 indicating that named color set is a strict
+  subset of SVG 1.0 named color set;
+* Add empty informative Appendices H, I, and L, to document Vocabulary
+  Derivation, QA Framework Compliance, and Change History,
+  respectively; renumber former appendices G and H as Appendices J
+  and K, respectively;
+* Add normative reference to RFC2046, MIME Media Types;
+* Add normative reference to RFC3023, XML Media Types;
+* Change description of implied begin/end on &lt;tt/&gt; to refer to
+  external context temporal interval;
+* Change description of implied begin/end on &lt;body/&gt; to refer to
+  external time interval;
+* In 7.1.2, 8.1.1, and 9.1.1, specify that implied time intervals of
+  head, styling, and layout are coterminous with external time
+  interval;
+* In 9.1.2, indicate that begin/end points specified on &lt;region/&gt;
+  are relative to the time interval of the nearest ancestor associated
+  with a time interval;
+* In 9.1.2, remove constraint that if no tts:extent is specified in
+  computed style set then no content is flowed into region; this
+  constraint is redundant since the initial value of tts:extent is
+  "auto" which is defined to be extent of root container;
+* Fix typos:
+  + section 9.1.2, s/layout/region/ in para describing dur attribute;
+* Add note at end of the preamble to section 8.2, [Styling] Attribute
+  Vocabulary, indicating that (to support inheritance) any style
+  property may be specified on any content element independently of
+  whether it applies to that element;
+* Remove note in 7.1.7 that indicated that &lt;br/&gt; is empty in
+  the reduced XML infoset, which no longer holds as both metadata and
+  animation children may be present;
+* In Appendix I, add table I-1 with element vocabulary derivation;
+* Define monospace to be either serifed or not; define serif and
+  sansSerif to be equivalent to proportionalSerif and proportionalSansSerif,
+  respectively;
+* Add time metric to time expressions in example content;
+* Add definition of implicit duration of document instance in section 7.1.1;
+* In definition of &lt;time-expression&gt; syntax in section 10.3.1,
+  remove paragraph referring to default time metric, which no longer
+  applies now that time metric must be specified;
+* In Appendix I, add table I-2 with attribute vocabulary derivation;
+* Add definition of percentage lengths to each style property
+  definition. Percentages apply to the following styles: extent,
+  fontSize, lineHeight, origin, padding, and textOutline;
+* Fill in Appendix I with QA Framework compliance information;
+* Add section 5.3.2 defining a presently empty "Extension Catalog"
+  that serves as a placeholder for future standardized extensions and
+  additionally specifies that document instance may contain arbitrary
+  namespace qualified elements and attributes from other namespaces;
+* Add section 3.3 defining conformance claims and requirements
+  regarding for providing an implementation compliance statement;
+* Add hyperlinks throughout document for references to elements,
+  attributes, and value expressions;
+* Add new Appendix F containing sample code and sample compile,
+  load, run session transcript;
+* Change IDREF to IDREFS as value of ttm:agent as found in prose in
+  section 12.2.1;
+</eg>
+</div2>
+
+<div2 id="change-history-lc2-to-cr">
+<head>Changes from Second Last Call Working Draft to Candidate
+Recommendation</head>
+<eg xml:space="preserve">
+<phrase role="strong">Technical Changes</phrase>
+
+The following changes result in a technical change of the conformance
+criteria, the normative abstract document type that is defined
+for use with DFXP, or the defined value space of an attribute or
+property:
+
+* Restore support for nested div and span elements [that had
+  been removed in an early working draft].
+* Change "id" attribute to "xml:id".
+* Add tts:textDecoration style property.
+* Update namespace URIs to use 2006/10 instead of 2006/04.
+* Update profile URIs to use 2006/10 instead of 2006/04.
+
+<phrase role="strong">Editorial Changes</phrase>
+
+The following changes are editorial in nature or entail semantic
+clarifications that do not affect the abstract document type, defined
+schemas, or conformance criteria for DFXP:
+
+* Update "status of this document" (SOTD) section to
+  reflect CR transition.
+* Add normative reference to xml:id recommendation.
+* Add note in section 9.3.3 indicating that intermediate document
+  examples are internal processing states and do not represent
+  valid DFXP documents.
+* Add "Except for transparent, " to note in section 8.3.12.
+* Add recommendation, in section 3.1 item 5, that conformant
+  reduced infoset "should" adhere to WCAG1.0.
+* Add normative reference to WCAG1.0.
+* Update informative reference to SVG1.0 to reference SVG1.1
+  instead.
+* Insert new (normative) Appendix D that specifies the
+  MIME Media Type registration information for application/ttaf+xml.
+* Add normative reference to RFC3023 tagged as [XML Media Types],
+  for use by new Appendix D.
+* Normalize and add missing dates of W3C Recs cited in
+  Appendices E (References) and F (Other References).
+* In Table 4, express groups as choice lists instead of
+  sequences (which might have been confusing).
+* Revise content models of XML Representation of div, p,
+  and span element information items in order to make
+  reference to Block.class and Inline.class element
+  groups.
+* Add "This appendix is normative" to beginning of each
+  normative appendix.
+* Add clarifications in sections 8.3.13 and 8.3.14 that
+  syntactic element "char" adheres to production [2] of
+  XML1.1, while syntactic element "S" adheres to
+  production [3] of XML1.1.
+* Add note to section 7.1.7 (and rearrange paragraph ordering)
+  to indicate that two &lt;br&gt; elements are intended to
+  produce two forced line breaks in a sequence.
+* Add note to section 6.2.4 that indicates that PAL
+  formatted video nominally uses a 1:1 frame rate multiplier
+  (except for PAL/M).
+* Add note to end of section 9.3.2 that indicates that a
+  compliant XSL1.0 presentation processor may be insufficient
+  to satisfy the presentation semantics of DFXP.
+* Clarify syntax of &lt;alpha&gt; style value expression to
+  use XML Scheme Datatype lexical representation of xs:float,
+  which was the intended syntactic value space for this
+  expression.
+* Clarify that ttp:cellResolution columns or rows must not be zero
+  if present.
+* Clarify that ttp:frameRate must be greater than zero if present.
+* Clarify that ttp:frameRateMultipler denominator must not be zero
+  if present. Correct misspelling "demoninator".
+* Clarify that ttp:pixelAspectRatio width or height must not be zero
+  if present.
+* Clarify that ttp:subFrameRate must not be zero if present.
+* Clarify that ttp:tickRate must not be zero if present.
+* Remove superfluous end tag close (&gt;) in XML representation of
+  metadata element information item in section 12.1.1.
+* Add clarification that the declared value of an inline style
+  attribute on body, region, and style elements must not be "inherit".
+* Add clarification in section 8.5.1 item 2 that use of value
+  "inherit" does not apply if element is body element.
+* Clarify that tt element establishes the root stacking context
+  for the purpose of interpreting the tts:zIndex style property;
+  this corresponds with the prescribed mapping of tt:tt to fo:root
+  as described in section 9.3.2 item 3.
+* Clarify that ttp:{markerMode,smpteMode,tickRate,timeBase} are
+  significant only when specified on tt element.
+* Add note at end of section 8.2.17 that padding style attribute
+  is based on XSL 1.0 shorthand "padding" property except that
+  the individual values map to writing mode relative padding
+  properties, i.e., padding-before, padding-after, etc.
+* Update attribute derivation table (Appendix I.2) to reflect
+  addition of tts:textDecoration and change from id to xml:id.
+* Update publishing date and dates in SOTD CR publication.
+* Update SOTD to remove use of sample code as satisfying 2
+  implementation convention for exit criteria. Note that sample
+  code can still serve as 1 implementation of 2 required.
+* Add paragraph to SOTD describing unsatisfied comments during
+  first LC.
+* Change "reference code" to read "sample code".
+</eg>
+</div2>
+
+<!-- FIXME - not yet included
+<div2 id="change-history-cr-to-pr">
+<head>Changes from Candidate Recommendation to Proposed Recommendation</head>
+<eg xml:space="preserve">
+<phrase role="strong">Technical Changes</phrase>
+
+The following changes result in a technical change of the conformance
+criteria, the normative abstract document type that is defined
+for use with DFXP, or the defined value space of an attribute or
+property:
+
+* Add requiredExtensions, requiredFeatures, and requiredFonts attributes.
+
+<phrase role="strong">Editorial Changes</phrase>
+
+The following changes are editorial in nature or entail semantic
+clarifications that do not affect the abstract document type, defined
+schemas, or conformance criteria for DFXP:
+</eg>
+</div2>
+-->
+
+</inform-div1>
 </back>
-
 </spec>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xmlspec-ttaf1-dfxp.dtd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,38 @@
+<!-- ............................................................... -->
+<!-- Customized XML specification DTD for TTAF1-DFXP ............... -->
+<!-- ............................................................... -->
+
+<!-- $Id$ -->
+
+<!--
+PURPOSE:
+1. allow multiple authlist elts to separate editor from contribing authors;
+2. allow use of graphic rather than text email spec in author;
+3. allow use of sub|sup in code (and other similar elt types);
+4. allow use of el|att|code|emph in loc;
+-->
+
+<!-- parameter entity overrides -->
+<!ENTITY % header.mdl
+        "title, subtitle?, version?, w3c-designation, w3c-doctype,
+        pubdate, notice*, publoc, altlocs?, ((prevlocs, latestloc?) |
+        (latestloc, prevlocs?))?, authlist+, errataloc?, preverrataloc?,
+        translationloc?, copyright?,
+        ((status, abstract) | (abstract, status)), pubstmt?,
+        sourcedesc?, langusage, revisiondesc">
+<!ENTITY % tech.pcd.mix
+	"#PCDATA|loc|ednote|phrase|rfc2119|sub|sup">
+
+<!-- element definition ignores -->
+<!ENTITY % author.element "IGNORE">
+<!ENTITY % loc.element "IGNORE">
+
+<!-- xmlspec inclusion -->
+<!ENTITY % xmlspec SYSTEM "xmlspec.dtd">
+%xmlspec;
+
+<!-- element definition overrides -->
+<!ELEMENT author (name, affiliation?, (email|graphic)?)>
+<!ELEMENT loc (#PCDATA|phrase|el|att|code|emph)*>
+
+
--- a/spec/xmlspec-ttaf1-dfxp.xsl	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/xmlspec-ttaf1-dfxp.xsl	Sat Dec 13 16:37:44 2008 +0000
@@ -1,528 +1,592 @@
-<?xml version="1.0"?>
+<?xml version="1.0" encoding="utf-8"?>
 <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
-    <xsl:import href="xmlspec.xsl"/>
-    <xsl:import href="changelog.xsl"/>
-
-    <xsl:output method="xml" encoding="utf-8"
-        doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN"
-        doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" indent="no"/> 
-
-    <xsl:template match="inform-div1[head='Change Log']/p">
-        <xsl:apply-templates select="document('changelog.xml')">
-        </xsl:apply-templates>
-    </xsl:template>
-    <!-- bibref: reference to a bibliographic entry -->
-    <!-- make a link to the bibl -->
-    <!-- if the bibl has a key, put it in square brackets; otherwise use
-       the bibl's ID -->
-    <xsl:template match="bibref">
-<!--        <xsl:text>[</xsl:text> -->
-        <cite xmlns="http://www.w3.org/1999/xhtml">
-            <a xmlns="http://www.w3.org/1999/xhtml">
-                <xsl:attribute name="href">
-                    <xsl:call-template name="href.target">
-                        <xsl:with-param name="target" select="id(@ref)"/>
-                    </xsl:call-template>
-                </xsl:attribute>
-                <xsl:choose>
-                    <xsl:when test="id(@ref)/@key">
-                        <xsl:value-of select="id(@ref)/@key"/>
-                    </xsl:when>
-                    <xsl:otherwise>
-                        <xsl:value-of select="@ref"/>
-                    </xsl:otherwise>
-                </xsl:choose>
-            </a>
-        </cite>
-<!--        <xsl:text>]</xsl:text> -->
-    </xsl:template>
-    <xsl:template match="bibl">
-        <dt xmlns="http://www.w3.org/1999/xhtml" class="label">
-            <xsl:attribute name="class">
-                <xsl:choose>
-                    <xsl:when test="@diff and $show.diff.markup != 0">
-                        <xsl:text>diff-</xsl:text>
-                        <xsl:value-of select="@diff"/>
-                    </xsl:when>
-                    <xsl:otherwise>
-                        <xsl:text>label</xsl:text>
-                    </xsl:otherwise>
-                </xsl:choose>
-            </xsl:attribute>
-            <xsl:if test="@id">
-                <a xmlns="http://www.w3.org/1999/xhtml" name="{@id}"/>
-            </xsl:if>
-            <xsl:text>[</xsl:text>
-            <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:text>] </xsl:text>
-        </dt>
-        <dd xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:if test="@diff and $show.diff.markup != 0">
-                <xsl:attribute name="class">
-                    <xsl:text>diff-</xsl:text>
-                    <xsl:value-of select="@diff"/>
-                </xsl:attribute>
-            </xsl:if>
-            <xsl:apply-templates/>
-            <xsl:if test="not(titleref) and @href">
-                <xsl:text> (See </xsl:text>
-                <cite xmlns="http://www.w3.org/1999/xhtml">
-                    <a xmlns="http://www.w3.org/1999/xhtml" href="{@href}">
-                        <xsl:value-of select="@href"/>
-                    </a>
-                </cite>
-                <xsl:text>.)</xsl:text>
-            </xsl:if>
-        </dd>
-    </xsl:template>
-    <xsl:template match="titleref">
-        <xsl:choose>
-            <xsl:when test="../@href">
-                <cite xmlns="http://www.w3.org/1999/xhtml">
-                    <a xmlns="http://www.w3.org/1999/xhtml" href="{../@href}">
-                        <xsl:apply-templates/>
-                    </a>
-                </cite>
-            </xsl:when>
-            <xsl:otherwise>
-                <cite xmlns="http://www.w3.org/1999/xhtml">
-                    <xsl:apply-templates/>
-                </cite>
-            </xsl:otherwise>
-        </xsl:choose>
-    </xsl:template>
-    <!--
-    <xsl:template match="b">
-        <b xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates/>
-        </b>
-    </xsl:template>
-    <xsl:template match="u">
-        <u xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates/>
-        </u>
-    </xsl:template>
-    <xsl:template match="i">
-        <i xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates/>
-        </i>
-    </xsl:template>
--->
-    <xsl:template match="emph[@role='infoset-property']">
-        <strong xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:text>[</xsl:text>
-            <xsl:apply-templates/>
-            <xsl:text>]</xsl:text>
-        </strong>
-    </xsl:template>
-
-    <!-- Filtering term definitions in the terminology section. These are taken from the WS-Policy-Framework document and are handled separately in extract-glist.xsl .-->
-    <xsl:template match="ulist[@role='termreference']"/>
-
-    <!-- Adding numbers to examples automatically. Template taken from xmlspec.xsl and modified. -->
-    <xsl:template match="eg[@role='needs-numbering']">
-        <xsl:variable name="content">
-            <pre xmlns="http://www.w3.org/1999/xhtml">
-        <xsl:if test="@diff and $show.diff.markup='1'">
-          <xsl:attribute name="class">
-            <xsl:text>diff-</xsl:text>
-            <xsl:value-of select="@diff"/>
-          </xsl:attribute>
-        </xsl:if>
-     <xsl:call-template name="addLineNumbers"/>
-      </pre>
-        </xsl:variable>
-        <xsl:choose>
-            <xsl:when test="$tabular.examples = 0">
-                <div xmlns="http://www.w3.org/1999/xhtml" class="exampleInner">
-                    <xsl:copy-of select="$content"/>
-                </div>
-            </xsl:when>
-            <xsl:otherwise>
-                <table xmlns="http://www.w3.org/1999/xhtml" class="eg" cellpadding="5" border="1" bgcolor="#99ffff" width="100%"
-                    summary="Example">
-                    <tr xmlns="http://www.w3.org/1999/xhtml">
-                        <td xmlns="http://www.w3.org/1999/xhtml">
-                            <xsl:copy-of select="$content"/>
-                        </td>
-                    </tr>
-                </table>
-            </xsl:otherwise>
-        </xsl:choose>
-    </xsl:template>
-    <xsl:template name="addLineNumbers">
-        <xsl:variable name="egWithLb" as="item()*">
-            <egWithLb>
-                <lb/>
-                <xsl:for-each select="text()|node()">
-                    <xsl:choose>
-                        <xsl:when test="self::text()">
-                            <xsl:analyze-string select="." regex="&#xA;">
-                                <xsl:matching-substring>
-                                    <xsl:text>&#xA;</xsl:text>
-                                    <lb/>
-                                </xsl:matching-substring>
-                                <xsl:non-matching-substring>
-                                    <xsl:value-of select="."/>
-                                </xsl:non-matching-substring>
-                            </xsl:analyze-string>
-                        </xsl:when>
-                        <xsl:when test="self::emph">
-                            <b xmlns="http://www.w3.org/1999/xhtml">
-                                <xsl:copy-of select="*|text()"/>
-                            </b>
-                        </xsl:when>
-                        <xsl:otherwise>
-                            <xsl:copy-of select="."/>
-                        </xsl:otherwise>
-                    </xsl:choose>
-                </xsl:for-each>
-            </egWithLb>
-        </xsl:variable>
-        <xsl:apply-templates select="$egWithLb/node()" mode="addLineNumbers"/>
-    </xsl:template>
-    <xsl:template match="lb" mode="addLineNumbers">
-        <xsl:choose>
-            <xsl:when test="not(contains(self::lb/following-sibling::text()[1],'xmlns'))">
-                <xsl:text>(</xsl:text>
-                <xsl:number format="01"
-                    count="lb[not(contains(self::lb/following-sibling::text()[1],'xmlns'))]"/>
-                <xsl:text>) </xsl:text>
-            </xsl:when>
-        </xsl:choose>
-    </xsl:template>
-    <xsl:template match="node()" mode="addLineNumbers">
-        <xsl:copy-of select="."/>
-    </xsl:template>
-
-    <!-- Used for wsdl11elementidentifiers.xml to allow italics within 
-code -->
-    <xsl:template match="code[@role='code-emph']">
-        <code xmlns="http://www.w3.org/1999/xhtml" style="font-style: italic;">
-            <xsl:value-of select="."/>
-        </code>
-    </xsl:template>
-<!-- Template for Best practices output, used only for guidelines document.-->
-    <xsl:template match="p[@role='practice']">
-        <xsl:variable name="practicenumber">
-            <xsl:number count="p[@role='practice']" level="any"/>
-        </xsl:variable>
-        <div xmlns="http://www.w3.org/1999/xhtml" class="boxedtext">
-            <p xmlns="http://www.w3.org/1999/xhtml">
-                <a xmlns="http://www.w3.org/1999/xhtml" name="{@id}" id="{@id}"/>
-                <span xmlns="http://www.w3.org/1999/xhtml" class="practicelab">
-                    <xsl:text>Best
-Practice </xsl:text>
-                    <xsl:value-of select="$practicenumber"/>
-                    <xsl:text>: </xsl:text>
-                    <xsl:value-of select="quote[1]"/>
-                </span>
-            </p>
-            <p xmlns="http://www.w3.org/1999/xhtml" class="practice">
-                <xsl:value-of select="quote[2]"/>
-            </p>
-        </div>
-    </xsl:template>
-    <xsl:template name="css">
-     <style xmlns="http://www.w3.org/1999/xhtml" type="text/css">
-/*<![CDATA[*/
-code           { font-family: monospace; }
-
-div.constraint,
-div.issue,
-div.note,
-div.notice     { margin-left: 2em; }
-
-ol.enumar      { list-style-type: decimal; }
-ol.enumla      { list-style-type: lower-alpha; }
-ol.enumlr      { list-style-type: lower-roman; }
-ol.enumua      { list-style-type: upper-alpha; }
-ol.enumur      { list-style-type: upper-roman; }
-
-dt.label       { display: run-in; }
+<xsl:import href="xmlspec.xsl"/>
+<xsl:import href="changelog.xsl"/>
+<xsl:param name="toc.level" select="5"/>
+<xsl:param name="show.ednotes">1</xsl:param>
+<xsl:param name="show.diff.markup">1</xsl:param>
+<xsl:variable name="output.mode" select="'xhtml'"/>
+<xsl:param name="additional.css">
+<xsl:text>
+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  {}
+</xsl:text>
+</xsl:param>
+<xsl:output method="xml" encoding="utf-8" doctype-public="-//W3C//DTD XHTML 1.0 Transitional//EN" doctype-system="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" indent="no"/>
 
-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}
-div.exampleOuter {border: 4px double gray;
-                  margin: 0em; padding: 0em}
-div.exampleInner { background-color: #d5dee3;
-                   border-top-width: 4px;
-                   border-top-style: double;
-                   border-top-color: #d3d3d3;
-                   border-bottom-width: 4px;
-                   border-bottom-style: double;
-                   border-bottom-color: #d3d3d3;
-                   padding: 4px; margin: 0em }
-div.exampleWrapper { margin: 4px }
-div.exampleHeader { font-weight: bold;
-                    margin: 4px}
-
-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; }
+<!-- [GA] removed the following overrides: -->
+<!-- inform-div1[head='Change Log']/p -->
+<!-- bibref -->
+<!-- bibl -->
+<!-- titleref -->
+<!-- emph[@role='infoset-property'] -->
+<!-- ulist[@role='termreference'] -->
+<!-- eg[@role='needs-numbering'] -->
+<!-- addLineNumbers -->
+<!-- lb mode(addLineNumbers) -->
+<!-- node() mode(addLineNumbers) -->
+<!-- code[@role='code-emph'] -->
+<!-- p[@role='practice'] -->
+<!-- p[@role='practice'] mode(number) -->
+<!-- css -->
+<!-- specref -->
 
- 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;
-}
-}
-/*]]>*/
-      <xsl:value-of select="$additional.css"/>
-    </style>
-    <link xmlns="http://www.w3.org/1999/xhtml" rel="stylesheet" type="text/css">
-      <xsl:attribute name="href">
-        <xsl:text>http://www.w3.org/StyleSheets/TR/</xsl:text>
-        <xsl:choose>
-          <xsl:when test="/spec/@role='editors-copy'">base</xsl:when>
-          <xsl:otherwise>
-            <xsl:choose>
-	      <!-- Editor's review drafts are a special case. -->
-              <xsl:when test="/spec/@w3c-doctype='review'
-			      or contains(/spec/header/w3c-doctype, 'Editor')"
-			>base</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='wd'">W3C-WD</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='rec'">W3C-REC</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='pr'">W3C-PR</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='per'">W3C-PER</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='cr'">W3C-CR</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='note'">W3C-NOTE</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='wgnote'">W3C-WG-NOTE</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='memsub'">W3C-Member-SUBM</xsl:when>
-              <xsl:when test="/spec/@w3c-doctype='teamsub'">W3C-Team-SUBM</xsl:when>
-              <xsl:otherwise>base</xsl:otherwise>
-            </xsl:choose>
-          </xsl:otherwise>
-        </xsl:choose>
-        <xsl:text>.css</xsl:text>
+<!-- [GA] added the following overrides from old DFXP CR1 spec sources -->
+<!-- diff support -->
+<xsl:template name="diff-markup">
+  <xsl:param name="diff">off</xsl:param>
+  <xsl:choose>
+    <xsl:when test="self::ritem">
+	<xsl:apply-templates select="." mode="diff"/>
+    </xsl:when>
+    <xsl:when test="self::ulist or self::p or self::bibl">
+      <xsl:apply-templates/>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::phrase">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-templates/>
+      </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-templates/>
+      </span>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::affiliation">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-templates/>
+      </span>
+    </xsl:when>
+    <xsl:when test="ancestor-or-self::name">
+      <span xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-templates/>
+      </span>
+    </xsl:when>
+    <xsl:otherwise>
+      <div xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diff}">
+	<xsl:apply-templates/>
+      </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-templates/>
+    </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-templates/>
+    </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-templates/>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<!-- 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="xml:lang">
+	<xsl:value-of select="header/langusage/language/@id"/>
       </xsl:attribute>
-    </link>    
-  </xsl:template> 
-    
-    <!-- Necessary for guidelines document: BP numbering -->
-      <xsl:template mode="number" match="p[@role='practice']">
-    <xsl:number count="p[@role='practice']" level="any" format="1. "/>
-  </xsl:template>
-  <xsl:template match="specref">
-    <xsl:param name="target" select="key('ids', @ref)[1]"/>
-
+      <xsl:attribute name="lang">
+	<xsl:value-of select="header/langusage/language/@id"/>
+      </xsl:attribute>
+    </xsl:if>
+    <head>
+      <xsl:if test="$output.mode='xhtml'">
+	<meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8"/>
+      </xsl:if>
+      <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>
+	<xsl:if test="/spec/@role='editors-copy'">
+	  <xsl:text> -- (Editors' copy)</xsl:text>
+	</xsl:if>
+      </title>
+      <xsl:call-template name="css"/>
+    </head>
+    <body>
+      <xsl:if test="/spec/@role='editors-copy'">
+	<xsl:value-of select="//revisiondesc/p[1]"/>
+	<div id="revisions"/>
+      </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>
+<!-- status: the status of the spec -->
+<xsl:template match="status">
+  <div xmlns="http://www.w3.org/1999/xhtml">
+    <h2>
+      <xsl:call-template name="anchor">
+	<xsl:with-param name="conditional" select="0"/>
+	<xsl:with-param name="default.id" select="'status'"/>
+      </xsl:call-template>
+      <xsl:text>Status of this Document</xsl:text>
+    </h2>
+    <xsl:if test="/spec/@role='editors-copy'">
+      <p><strong>This document is an editor's copy that has no official standing.</strong></p>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </div>
+</xsl:template>
+<!-- specref: reference to another part of the current specification -->
+<xsl:template match="specref">
+  <xsl:variable name="target" select="key('ids', @ref)[1]"/>
+  <xsl:choose>
+    <xsl:when test="local-name($target)='issue' or starts-with(local-name($target), 'div') or starts-with(local-name($target), 'inform-div') or local-name($target) = 'vcnote' or local-name($target) = 'prod' or local-name($target) = 'label' or local-name($target) = 'ritem' or local-name($target) = 'table'">
+      <xsl:apply-templates select="$target" mode="specref"/>
+    </xsl:when>
+    <xsl:otherwise>
+      <xsl:message>
+	<xsl:text>Unsupported specref to </xsl:text>
+	<xsl:value-of select="local-name($target)"/>
+	<xsl:text> [</xsl:text>
+	<xsl:value-of select="@ref"/>
+	<xsl:text>] </xsl:text>
+	<xsl:text> (Contact stylesheet maintainer).</xsl:text>
+      </xsl:message>
+      <b xmlns="http://www.w3.org/1999/xhtml">
+	<a>
+	  <xsl:attribute name="href">
+	    <xsl:call-template name="href.target">
+	      <xsl:with-param name="target" select="key('ids', @ref)"/>
+	    </xsl:call-template>
+	  </xsl:attribute>
+	  <xsl:text>???</xsl:text>
+	</a>
+      </b>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<!-- ednote: editors' note -->
+<xsl:template match="ednote">
+  <xsl:if test="$show.ednotes != 0">
+    <table xmlns="http://www.w3.org/1999/xhtml" border="1" class="ednote" summary="Editor's Notes">
+      <xsl:attribute name="summary">
+	<xsl:text>Editorial note</xsl:text>
+	<xsl:if test="name">
+	  <xsl:text>: </xsl:text>
+	  <xsl:value-of select="name"/>
+	</xsl:if>
+      </xsl:attribute>
+      <tr class="ednote-r1">
+	<td align="left" valign="top">
+	  <b>
+	    <xsl:text>Editorial note</xsl:text>
+	    <xsl:if test="name">
+	      <xsl:text>: </xsl:text>
+	      <xsl:apply-templates select="name"/>
+	    </xsl:if>
+	  </b>
+	</td>
+	<td align="right" valign="top">
+	  <xsl:choose>
+	    <xsl:when test="date">
+	      <xsl:apply-templates select="date"/>
+	    </xsl:when>
+	    <xsl:otherwise> </xsl:otherwise>
+	  </xsl:choose>
+	</td>
+      </tr>
+      <tr class="ednote-r2">
+	<td colspan="2" align="left" valign="top">
+	  <xsl:apply-templates select="edtext"/>
+	</td>
+      </tr>
+    </table>
+  </xsl:if>
+</xsl:template>
+<!-- glist: glossary list -->
+<xsl:template match="glist">
+  <xsl:choose>
+  <xsl:when test="@role = 'acronyms'">
+    <table xmlns="http://www.w3.org/1999/xhtml" class="acronyms" summary="Glossary List">
+      <xsl:for-each select="gitem">
+        <tr>
+          <xsl:apply-templates select="label" mode="acronym"/>
+          <xsl:apply-templates select="def" mode="acronym"/>
+        </tr>
+      </xsl:for-each>
+    </table>
+  </xsl:when>
+    <xsl:otherwise>
+      <xsl:if test="$validity.hacks = 1 and local-name(..) = 'p'">
+	<xsl:text disable-output-escaping="yes">&lt;/p&gt;</xsl:text>
+      </xsl:if>
+      <dl xmlns="http://www.w3.org/1999/xhtml">
+	<xsl:if test="@role">
+	  <xsl:attribute name="class">
+	    <xsl:value-of select="@role"/>
+	  </xsl:attribute>
+	</xsl:if>
+	<xsl:apply-templates/>
+      </dl>
+      <xsl:if test="$validity.hacks = 1 and local-name(..) = 'p'">
+	<xsl:text disable-output-escaping="yes">&lt;p&gt;</xsl:text>
+      </xsl:if>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<!-- label: acronym mode -->
+<xsl:template mode="acronym" match="label">
+  <td xmlns="http://www.w3.org/1999/xhtml" class="label">
+    <xsl:call-template name="anchor">
+      <xsl:with-param name="node" select=".."/>
+    </xsl:call-template>
+    <xsl:call-template name="anchor"/>
+    <b><xsl:apply-templates/></b>
+  </td>
+</xsl:template>
+<!-- def: acronym mode -->
+<xsl:template mode="acronym" match="def">
+  <td xmlns="http://www.w3.org/1999/xhtml" class="def">
+  <xsl:apply-templates/>
+  </td>
+</xsl:template>
+<!-- loc: a Web location -->
+<xsl:template match="loc">
+  <a xmlns="http://www.w3.org/1999/xhtml" href="{@href}">
+    <xsl:if test="@role">
+      <xsl:attribute name="rel">
+	<xsl:value-of select="@role"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </a>
+</xsl:template>
+<!-- rlist: requirement list -->
+<xsl:template match="rlist">
+  <dl xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:apply-templates/>
+  </dl>
+</xsl:template>
+<!-- ritem: requirement item -->
+<xsl:template match="ritem">
+  <xsl:variable name="this-req-id">
     <xsl:choose>
-      <xsl:when test="not($target)">
-	<xsl:message>
-	  <xsl:text>specref to non-existent ID: </xsl:text>
-	  <xsl:value-of select="@ref"/>
-	</xsl:message>
-      </xsl:when>
-        <xsl:when test="$target[local-name()='p' and @role='practice']">
-            <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <b xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates select="id(@ref)" mode="number"/>
-            <xsl:apply-templates select="id(@ref)/quote[1]" mode="text"/>
-          </b>
-        </a>
-        </xsl:when>
-      <xsl:when test="local-name($target)='issue'">
-        <xsl:text>[</xsl:text>
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <b xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:text>Issue </xsl:text>
-            <xsl:apply-templates select="id(@ref)" mode="number"/>
-            <xsl:text>: </xsl:text>
-            <xsl:for-each select="id(@ref)/head">
-              <xsl:apply-templates/>
-            </xsl:for-each>
-          </b>
-        </a>
-        <xsl:text>]</xsl:text>
-      </xsl:when>
-      <xsl:when test="starts-with(local-name($target), 'div')">
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-          <b xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates select="id(@ref)" mode="divnum"/>
-            <xsl:apply-templates select="id(@ref)/head" mode="text"/>
-          </b>
-        </a>
-      </xsl:when>
-      <xsl:when test="starts-with(local-name($target), 'inform-div')">
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-	  <b xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:apply-templates select="id(@ref)" mode="divnum"/>
-            <xsl:apply-templates select="id(@ref)/head" mode="text"/>
-          </b>
-        </a>
-      </xsl:when>
-      <xsl:when test="local-name($target) = 'vcnote'">
-        <b xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:text>[VC: </xsl:text>
-          <a xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="target" select="id(@ref)"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:apply-templates select="id(@ref)/head" mode="text"/>
-          </a>
-          <xsl:text>]</xsl:text>
-        </b>
-      </xsl:when>
-      <xsl:when test="local-name($target) = 'prod'">
-        <b xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:text>[PROD: </xsl:text>
-          <a xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="target" select="id(@ref)"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:apply-templates select="$target" mode="number-simple"/>
-          </a>
-          <xsl:text>]</xsl:text>
-        </b>
-      </xsl:when>
-      <xsl:when test="local-name($target) = 'label'">
-        <b xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:text>[</xsl:text>
-          <a xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="target" select="id(@ref)"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:value-of select="$target"/>
-          </a>
-          <xsl:text>]</xsl:text>
-        </b>
-      </xsl:when>
-      <!-- MJH added table spec refs -->
-      <xsl:when test="local-name($target) = 'table'">
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-	  <xsl:text>Table </xsl:text>
-	  <xsl:apply-templates select="id(@ref)/caption" mode="divnum"/>
-	  <!-- uncomment the following two line to add table captions to references -->
-	  <!--<xsl:text>, "</xsl:text>
-	  <xsl:apply-templates select="id(@ref)/caption" mode="text"/>
-	  <xsl:text>"</xsl:text>
-	  -->
-        </a>
-      </xsl:when>
-      <xsl:when test="local-name($target) = 'example'">
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-	  <xsl:text>Example </xsl:text>
-	  <xsl:apply-templates select="id(@ref)/head" mode="divnum"/>
-        </a>
-      </xsl:when>
-      <xsl:when test="local-name($target) = 'graphic'">
-        <a xmlns="http://www.w3.org/1999/xhtml">
-          <xsl:attribute name="href">
-            <xsl:call-template name="href.target">
-              <xsl:with-param name="target" select="id(@ref)"/>
-            </xsl:call-template>
-          </xsl:attribute>
-	  <xsl:text>Figure </xsl:text>
-	  <xsl:apply-templates select="id(@ref)" mode="divnum"/>
-        </a>
+      <xsl:when test="@id">
+	<xsl:value-of select="@id"/>
       </xsl:when>
       <xsl:otherwise>
-        <xsl:message>
-          <xsl:text>Unsupported specref to </xsl:text>
-          <xsl:value-of select="local-name($target)"/>
-          <xsl:text> [</xsl:text>
-          <xsl:value-of select="@ref"/>
-          <xsl:text>] </xsl:text>
-          <xsl:text> (Contact stylesheet maintainer).</xsl:text>
-        </xsl:message>
-        <b xmlns="http://www.w3.org/1999/xhtml">
-          <a xmlns="http://www.w3.org/1999/xhtml">
-            <xsl:attribute name="href">
-              <xsl:call-template name="href.target">
-                <xsl:with-param name="target" select="key('ids', @ref)"/>
-              </xsl:call-template>
-            </xsl:attribute>
-            <xsl:text>???</xsl:text>
-          </a>
-        </b>
+	<xsl:value-of select="generate-id(.)"/>
       </xsl:otherwise>
     </xsl:choose>
-  </xsl:template>
+  </xsl:variable>
+  <dt xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:if test="@id">
+      <a name="{@id}" id="{@id}"/>
+    </xsl:if>
+    <xsl:value-of select="$this-req-id"/>
+    <xsl:text disable-output-escaping="yes"> &#38;ndash; </xsl:text>
+    <xsl:apply-templates select="head" mode="text"/>
+  </dt>
+  <dd xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:apply-templates select="req"/>
+  </dd>
+</xsl:template>
+<!-- ritem: requirement item; mode(diff) -->
+<xsl:template match="ritem" mode="diff">
+  <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+  <xsl:variable name="this-req-id">
+    <xsl:choose>
+      <xsl:when test="@id">
+	<xsl:value-of select="@id"/>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:value-of select="generate-id(.)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <xsl:choose>
+    <xsl:when test="$diffval='del' and $show.diff.markup = 0">
+      <!-- delete item -->
+    </xsl:when>
+    <xsl:otherwise>
+      <dt xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diffval}">
+	<xsl:if test="@id">
+	  <a name="{@id}" id="{@id}"/>
+	</xsl:if>
+	<xsl:value-of select="$this-req-id"/>
+	<xsl:text disable-output-escaping="yes"> &#38;ndash; </xsl:text>
+	<xsl:apply-templates select="head" mode="text"/>
+      </dt>
+      <dd xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diffval}">
+	<xsl:apply-templates select="req"/>
+      </dd>
+    </xsl:otherwise>
+  </xsl:choose>
+</xsl:template>
+<xsl:template match="ritem" mode="specref">
+  <a xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:attribute name="href">
+      <xsl:call-template name="href.target"/>
+    </xsl:attribute>
+    <b>
+      <xsl:apply-templates select="head" mode="text"/>
+    </b>
+  </a>
+</xsl:template>
+<!-- req: requirement body -->
+<xsl:template match="req">
+  <div xmlns="http://www.w3.org/1999/xhtml" class="req">
+    <xsl:apply-templates/>
+  </div>
+</xsl:template>
+<!-- uselist: use case scenario list -->
+<xsl:template match="uselist">
+  <dl xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:apply-templates/>
+  </dl>
+</xsl:template>
+<!-- useitem: use case scenario item -->
+<xsl:template match="useitem">
+  <xsl:variable name="this-use-id">
+    <xsl:choose>
+      <xsl:when test="@id">
+	<xsl:value-of select="@id"/>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:value-of select="generate-id(.)"/>
+      </xsl:otherwise>
+    </xsl:choose>
+  </xsl:variable>
+  <dt xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:if test="@id">
+      <a name="{@id}" id="{@id}"/>
+    </xsl:if>
+    <xsl:value-of select="$this-use-id"/>
+    <xsl:text disable-output-escaping="yes"> &#38;ndash; </xsl:text>
+    <xsl:apply-templates select="head" mode="text"/>
+  </dt>
+  <dd xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:apply-templates select="use"/>
+  </dd>
+</xsl:template>
+<xsl:template match="useitem" mode="specref">
+  <a xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:attribute name="href">
+      <xsl:call-template name="href.target"/>
+    </xsl:attribute>
+    <b>
+      <xsl:apply-templates select="head" mode="text"/>
+    </b>
+  </a>
+</xsl:template>
+<!-- use: use case scenario body -->
+<xsl:template match="use">
+  <div xmlns="http://www.w3.org/1999/xhtml" class="use">
+    <xsl:apply-templates/>
+  </div>
+</xsl:template>
+<!-- ulist w/diff -->
+<xsl:template match="ulist[@diff]" priority="1">
+  <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+  <ul xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diffval}">
+    <xsl:apply-templates/>
+  </ul>
+</xsl:template>
+<!-- p w/diff -->
+<xsl:template match="p[@diff]" priority="1">
+  <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+  <p xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diffval}">
+    <xsl:if test="@id">
+      <xsl:attribute name="id">
+	<xsl:value-of select="@id"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:if test="@role">
+      <xsl:attribute name="class">
+	<xsl:value-of select="@role"/>
+      </xsl:attribute>
+    </xsl:if>
+    <xsl:apply-templates/>
+  </p>
+</xsl:template>
+<!-- bibl w/diff -->
+<xsl:template match="bibl[@diff]" priority="1">
+  <xsl:variable name="diffval" select="ancestor-or-self::*/@diff"/>
+  <dt xmlns="http://www.w3.org/1999/xhtml" class="label diff-{$diffval}">
+    <xsl:if test="@id">
+      <a name="{@id}" id="{@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>
+  </dt>
+  <dd xmlns="http://www.w3.org/1999/xhtml" class="diff-{$diffval}">
+    <xsl:choose>
+      <xsl:when test="@href">
+	<a href="{@href}">
+	  <xsl:apply-templates/>
+	</a>
+      </xsl:when>
+      <xsl:otherwise>
+	<xsl:apply-templates/>
+      </xsl:otherwise>
+    </xsl:choose>
+    <xsl:if test="@href">
+      <xsl:text>  (See </xsl:text>
+      <xsl:value-of select="@href"/>
+      <xsl:text>.)</xsl:text>
+    </xsl:if>
+  </dd>
+</xsl:template>
+<!-- table -->
+<xsl:template match="table">
+  <table xmlns="http://www.w3.org/1999/xhtml" summary="HTML Table">
+    <xsl:for-each select="@*">
+      <xsl:choose>
+	<xsl:when test="local-name(.) = 'diff'"/>
+	<xsl:when test="local-name(.) = 'role'">
+	  <xsl:attribute name="class">
+	    <xsl:value-of select="."/>
+	  </xsl:attribute>
+	</xsl:when>
+	<xsl:otherwise>
+          <xsl:copy-of select="."/>
+	</xsl:otherwise>
+      </xsl:choose>
+    </xsl:for-each>
+    <xsl:apply-templates/>
+    <xsl:if test=".//footnote">
+      <tbody>
+	<tr>
+	  <td>
+	    <xsl:apply-templates select=".//footnote" mode="table.notes"/>
+	  </td>
+	</tr>
+      </tbody>
+    </xsl:if>
+  </table>
+</xsl:template>
+<!-- table specref -->
+<xsl:template match="table" mode="specref">
+  <a xmlns="http://www.w3.org/1999/xhtml">
+    <xsl:attribute name="href">
+      <xsl:call-template name="href.target"/>
+    </xsl:attribute>
+    <b>
+      <xsl:apply-templates select="caption" mode="text"/>
+    </b>
+  </a>
+</xsl:template>
+<!-- br: explicit line break -->
+<xsl:template match="br">
+  <br xmlns="http://www.w3.org/1999/xhtml" />
+</xsl:template>
+<!-- author -->
+<xsl:template match="author">
+  <dd xmlns="http://www.w3.org/1999/xhtml">
+    <table style="margin: 0em 0em">
+      <td>
+	<xsl:apply-templates select="name"/>
+	<xsl:apply-templates select="affiliation"/>
+      </td>
+      <td>
+	<xsl:apply-templates select="graphic"/>
+      </td>
+    </table>
+  </dd>
+</xsl:template>
+
 </xsl:stylesheet>
--- a/spec/xmlspec.xsl	Sat Dec 13 12:14:25 2008 +0000
+++ b/spec/xmlspec.xsl	Sat Dec 13 16:37:44 2008 +0000
@@ -1998,9 +1998,7 @@
             <!-- nop -->
           </xsl:when>
           <xsl:otherwise>
-            <xsl:copy>
-              <xsl:apply-templates/>
-            </xsl:copy>
+            <xsl:copy-of select="."/>
           </xsl:otherwise>
         </xsl:choose>
       </xsl:for-each>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/.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/xsd/ttaf1-dfxp-animation.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,28 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/>
+  <xs:attributeGroup name="set.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class" />
+    <xs:attributeGroup ref="tt:Timed.attrib.class" />
+    <xs:attributeGroup ref="tts:Styling.attrib.class" />
+  </xs:attributeGroup>
+  <xs:complexType name="set.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:set.attlist"/>
+  </xs:complexType>
+  <xs:element name="set" type="tt:set.eltype"/>
+  <xs:group name="Animation.class">
+    <xs:choice>
+      <xs:element ref="tt:set"/>
+    </xs:choice>
+  </xs:group>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-content.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,113 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-animation.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-layout.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-attribs.xsd"/>
+  <xs:attributeGroup name="body.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimedContainer.attrib.class"/>
+    <xs:attributeGroup ref="tt:RegionBinding.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="ttm:Metadata.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="div.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimedContainer.attrib.class"/>
+    <xs:attributeGroup ref="tt:RegionBinding.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="ttm:Metadata.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="p.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimedContainer.attrib.class"/>
+    <xs:attributeGroup ref="tt:RegionBinding.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="ttm:Metadata.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="span.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimedContainer.attrib.class"/>
+    <xs:attributeGroup ref="tt:RegionBinding.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="ttm:Metadata.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="br.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="ttm:Metadata.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="body.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:div" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:body.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="div.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Block.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:div.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="p.eltype" mixed="true">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Inline.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:p.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="span.eltype" mixed="true">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Inline.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:span.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="br.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:br.attlist"/>
+  </xs:complexType>
+  <xs:element name="body" type="tt:body.eltype"/>
+  <xs:element name="div" type="tt:div.eltype"/>
+  <xs:element name="p" type="tt:p.eltype"/>
+  <xs:element name="span" type="tt:span.eltype"/>
+  <xs:element name="br" type="tt:br.eltype"/>
+  <xs:group name="BlockNoDiv.class">
+    <xs:choice>
+      <xs:element ref="tt:p"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Block.class">
+    <xs:choice>
+      <xs:group ref="tt:BlockNoDiv.class"/>
+      <xs:element ref="tt:div"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="InlineNoSpan.class">
+    <xs:choice>
+      <xs:element ref="tt:br"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Inline.class">
+    <xs:choice>
+      <xs:group ref="tt:InlineNoSpan.class"/>
+      <xs:element ref="tt:span"/>
+    </xs:choice>
+  </xs:group>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-core-attribs.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,17 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:xml="http://www.w3.org/XML/1998/namespace">
+  <xs:import namespace="http://www.w3.org/XML/1998/namespace"
+    schemaLocation="xml.xsd"/>
+  <xs:attributeGroup name="Core.attrib.class">
+    <xs:attribute ref="xml:id"/>
+    <xs:attribute ref="xml:lang"/>
+    <xs:attribute ref="xml:space"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Core.required.attrib.class">
+    <xs:attribute ref="xml:id"/>
+    <xs:attribute ref="xml:lang" use="required"/>
+    <xs:attribute ref="xml:space"/>
+  </xs:attributeGroup>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-datatypes.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,305 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#datatype"
+	xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+	xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype">
+  <xs:simpleType name="alpha">
+    <xs:restriction base="xs:float">
+      <xs:minInclusive value="0"/>
+      <xs:maxInclusive value="1"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="agent">
+    <xs:restriction base="xs:IDREFS"/>
+  </xs:simpleType>
+  <xs:simpleType name="cellResolution">
+    <xs:annotation>
+      <xs:documentation>positiveInteger positiveInteger</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="clockMode">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="local"/>
+      <xs:enumeration value="gps"/>
+      <xs:enumeration value="utc"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="color">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="direction">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="ltr"/>
+      <xs:enumeration value="rtl"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="display">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="auto"/>
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="displayAlign">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="before"/>
+      <xs:enumeration value="center"/>
+      <xs:enumeration value="after"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="dynamicFlow">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="extent">
+    <xs:annotation>
+      <xs:documentation>auto | inherit | length length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="fontFamily">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="fontSize">
+    <xs:annotation>
+      <xs:documentation>inherit | length | length length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="fontStyle">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="normal"/>
+      <xs:enumeration value="italic"/>
+      <xs:enumeration value="oblique"/>
+      <xs:enumeration value="reverseOblique"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="fontWeight">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="normal"/>
+      <xs:enumeration value="bold"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="frameRate">
+    <xs:restriction base="xs:nonNegativeInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="frameRateMultiplier">
+    <xs:annotation>
+      <xs:documentation>positiveInteger:positiveInteger</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="\p{Nd}+(\s*:\s*\p{Nd}+)?"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="lineHeight">
+    <xs:annotation>
+      <xs:documentation>normal | inherit | length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="markerMode">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="continuous"/>
+      <xs:enumeration value="discontinuous"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="metadataAgentType">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="person"/>
+      <xs:enumeration value="character"/>
+      <xs:enumeration value="group"/>
+      <xs:enumeration value="organization"/>
+      <xs:enumeration value="other"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="metadataNameType">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="full"/>
+      <xs:enumeration value="family"/>
+      <xs:enumeration value="given"/>
+      <xs:enumeration value="alias"/>
+      <xs:enumeration value="other"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="metadataRoleBaseType">
+    <xs:annotation>
+      <xs:documentation>orphan simpleType retained in hope it can be used for role</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="action"/>
+      <xs:enumeration value="caption"/>
+      <xs:enumeration value="dialog"/>
+      <xs:enumeration value="expletive"/>
+      <xs:enumeration value="kinesic"/>
+      <xs:enumeration value="lyrics"/>
+      <xs:enumeration value="music"/>
+      <xs:enumeration value="narration"/>
+      <xs:enumeration value="quality"/>
+      <xs:enumeration value="sound"/>
+      <xs:enumeration value="source"/>
+      <xs:enumeration value="suppressed"/>
+      <xs:enumeration value="reproduction"/>
+      <xs:enumeration value="thought"/>
+      <xs:enumeration value="title"/>
+      <xs:enumeration value="transcription"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="opacity">
+    <xs:annotation>
+      <xs:documentation>inherit | alpha</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="origin">
+    <xs:annotation>
+      <xs:documentation>auto | inherit | length length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="overflow">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="visible"/>
+      <xs:enumeration value="hidden"/>
+      <xs:enumeration value="scroll"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="padding">
+    <xs:annotation>
+      <xs:documentation>inherit | length length | length length length | length length length length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="pixelAspectRatio">
+    <xs:annotation>
+      <xs:documentation>positiveInteger:positiveInteger</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string">
+      <xs:pattern value="\p{Nd}+\s*:\s*\p{Nd}+"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="profile">
+    <xs:restriction base="xs:anyURI"/>
+  </xs:simpleType>
+  <xs:simpleType name="role">
+    <xs:annotation>
+      <xs:documentation>metadataRoleBaseType | "x-"string</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:NMTOKEN"/>
+  </xs:simpleType>
+  <xs:simpleType name="showBackground">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="always"/>
+      <xs:enumeration value="whenActive"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="smpteMode">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="dropNTSC"/>
+      <xs:enumeration value="dropPAL"/>
+      <xs:enumeration value="nonDrop"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="subFrameRate">
+    <xs:restriction base="xs:positiveInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="textAlign">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="left"/>
+      <xs:enumeration value="center"/>
+      <xs:enumeration value="right"/>
+      <xs:enumeration value="start"/>
+      <xs:enumeration value="end"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="textDecoration">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="underline"/>
+      <xs:enumeration value="noUnderline"/>
+      <xs:enumeration value="overline"/>
+      <xs:enumeration value="noOverline"/>
+      <xs:enumeration value="lineThrough"/>
+      <xs:enumeration value="noLineThrough"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="textOutline">
+    <xs:annotation>
+      <xs:documentation>none | inherit | length | length length | color length | color length length</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="tickRate">
+    <xs:restriction base="xs:positiveInteger"/>
+  </xs:simpleType>
+  <xs:simpleType name="timeBase">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="media"/>
+      <xs:enumeration value="smpte"/>
+      <xs:enumeration value="clock"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="timeContainer">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="par"/>
+      <xs:enumeration value="seq"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="timeCoordinate">
+    <xs:annotation>
+      <xs:documentation>timeExpression</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="timeDuration">
+    <xs:annotation>
+      <xs:documentation>timeExpression</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="unicodeBidi">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="normal"/>
+      <xs:enumeration value="embed"/>
+      <xs:enumeration value="bidiOverride"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="visibility">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="hidden"/>
+      <xs:enumeration value="visible"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="wrapOption">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="wrap"/>
+      <xs:enumeration value="noWrap"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="writingMode">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="lrtb"/>
+      <xs:enumeration value="rltb"/>
+      <xs:enumeration value="tbrl"/>
+      <xs:enumeration value="tblr"/>
+      <xs:enumeration value="lr"/>
+      <xs:enumeration value="rl"/>
+      <xs:enumeration value="tb"/>
+      <xs:enumeration value="inherit"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="zIndex">
+    <xs:annotation>
+      <xs:documentation>auto | inherit | integer</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-document.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,29 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-items.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#parameter"
+    schemaLocation="ttaf1-dfxp-parameter-attribs.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-head.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-content.xsd"/>
+  <xs:attributeGroup name="tt.attlist">
+    <xs:attributeGroup ref="tt:Core.required.attrib.class"/>
+    <xs:attributeGroup ref="ttp:Parameter.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="tt.eltype">
+    <xs:sequence>
+      <xs:element ref="tt:head" minOccurs="0" maxOccurs="1"/>
+      <xs:element ref="tt:body" minOccurs="0" maxOccurs="1"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:tt.attlist"/>
+  </xs:complexType>
+  <xs:element name="tt" type="tt:tt.eltype"/>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-head.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,22 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-layout.xsd"/>
+  <xs:attributeGroup name="head.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="head.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:styling" minOccurs="0" maxOccurs="1"/>
+      <xs:element ref="tt:layout" minOccurs="0" maxOccurs="1"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:head.attlist"/>
+  </xs:complexType>
+  <xs:element name="head" type="tt:head.eltype"/>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-layout.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,41 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-timing-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-animation.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-styling.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/>
+  <xs:attributeGroup name="RegionBinding.attrib.class">
+    <xs:attribute name="region" type="xs:IDREF"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="layout.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="region.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimedContainer.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="layout.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:region" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:layout.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="region.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:group ref="tt:Animation.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:style" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:region.attlist"/>
+  </xs:complexType>
+  <xs:element name="layout" type="tt:layout.eltype"/>
+  <xs:element name="region" type="tt:region.eltype"/>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-metadata-attribs.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,13 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#metadata"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/>
+  <xs:attribute name="agent" type="ttd:agent"/>
+  <xs:attribute name="role" type="ttd:role"/>
+  <xs:attributeGroup name="Metadata.attrib.class">
+    <xs:attribute ref="ttm:agent"/>
+    <xs:attribute ref="ttm:role"/>
+  </xs:attributeGroup>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-metadata-items.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,68 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#metadata"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1"
+    schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata-attribs.xsd"/>
+  <xs:attributeGroup name="actor.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attribute name="agent" type="xs:IDREF"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="agent.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attribute name="type" type="ttd:metadataAgentType"
+    use="required"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="copyright.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="desc.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="name.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attribute name="type" type="ttd:metadataNameType"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="title.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="actor.eltype">
+    <xs:attributeGroup ref="ttm:actor.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="agent.eltype">
+    <xs:sequence>
+      <xs:element ref="ttm:name" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="ttm:actor" minOccurs="0" maxOccurs="1"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="ttm:agent.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="copyright.eltype" mixed="true">
+    <xs:attributeGroup ref="ttm:copyright.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="desc.eltype" mixed="true">
+    <xs:attributeGroup ref="ttm:desc.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="name.eltype" mixed="true">
+    <xs:attributeGroup ref="ttm:name.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="title.eltype" mixed="true">
+    <xs:attributeGroup ref="ttm:title.attlist"/>
+  </xs:complexType>
+  <xs:element name="actor" type="ttm:actor.eltype"/>
+  <xs:element name="agent" type="ttm:agent.eltype"/>
+  <xs:element name="copyright" type="ttm:copyright.eltype"/>
+  <xs:element name="desc" type="ttm:desc.eltype"/>
+  <xs:element name="name" type="ttm:name.eltype"/>
+  <xs:element name="title" type="ttm:title.eltype"/>
+  <xs:group name="MetadataItems.class">
+    <xs:choice>
+      <xs:element ref="ttm:title"/>
+      <xs:element ref="ttm:desc"/>
+      <xs:element ref="ttm:copyright"/>
+    </xs:choice>
+  </xs:group>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-metadata.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,31 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#metadata"
+    schemaLocation="ttaf1-dfxp-metadata-items.xsd"/>
+  <xs:attributeGroup name="metadata.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="metadata.eltype" mixed="true">
+    <xs:sequence>
+      <xs:any namespace="##other" processContents="lax" minOccurs="0"
+        maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:metadata.attlist"/>
+  </xs:complexType>
+  <xs:element name="metadata" type="tt:metadata.eltype"/>
+  <xs:group name="MetadataNoAgent.class">
+    <xs:choice>
+      <xs:group ref="ttm:MetadataItems.class"/>
+      <xs:element ref="tt:metadata"/>
+    </xs:choice>
+  </xs:group>
+  <xs:group name="Metadata.class">
+    <xs:choice>
+      <xs:group ref="tt:MetadataNoAgent.class"/>
+      <xs:element ref="ttm:agent"/>
+    </xs:choice>
+  </xs:group>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-parameter-attribs.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,31 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#parameter"
+  xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:ttp="http://www.w3.org/2006/10/ttaf1#parameter">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/>
+  <xs:attribute name="cellResolution" type="ttd:cellResolution"/>
+  <xs:attribute name="clockMode" type="ttd:clockMode"/>
+  <xs:attribute name="frameRate" type="ttd:frameRate"/>
+  <xs:attribute name="frameRateMultiplier" type="ttd:frameRateMultiplier"/>
+  <xs:attribute name="markerMode" type="ttd:markerMode"/>
+  <xs:attribute name="profile" type="ttd:profile"/>
+  <xs:attribute name="pixelAspectRatio" type="ttd:pixelAspectRatio"/>
+  <xs:attribute name="smpteMode" type="ttd:smpteMode"/>
+  <xs:attribute name="subFrameRate" type="ttd:subFrameRate"/>
+  <xs:attribute name="tickRate" type="ttd:tickRate"/>
+  <xs:attribute name="timeBase" type="ttd:timeBase"/>
+  <xs:attributeGroup name="Parameter.attrib.class">
+    <xs:attribute ref="ttp:cellResolution"/>
+    <xs:attribute ref="ttp:clockMode"/>
+    <xs:attribute ref="ttp:frameRate"/>
+    <xs:attribute ref="ttp:frameRateMultiplier"/>
+    <xs:attribute ref="ttp:markerMode"/>
+    <xs:attribute ref="ttp:profile"/>
+    <xs:attribute ref="ttp:pixelAspectRatio"/>
+    <xs:attribute ref="ttp:smpteMode"/>
+    <xs:attribute ref="ttp:subFrameRate"/>
+    <xs:attribute ref="ttp:tickRate"/>
+    <xs:attribute ref="ttp:timeBase"/>
+  </xs:attributeGroup>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-styling-attribs.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,59 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1#style" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/>
+  <xs:attribute name="backgroundColor" type="ttd:color"/>
+  <xs:attribute name="color" type="ttd:color"/>
+  <xs:attribute name="direction" type="ttd:direction"/>
+  <xs:attribute name="display" type="ttd:display"/>
+  <xs:attribute name="displayAlign" type="ttd:displayAlign"/>
+  <xs:attribute name="dynamicFlow" type="ttd:dynamicFlow"/>
+  <xs:attribute name="extent" type="ttd:extent"/>
+  <xs:attribute name="fontFamily" type="ttd:fontFamily"/>
+  <xs:attribute name="fontSize" type="ttd:fontSize"/>
+  <xs:attribute name="fontStyle" type="ttd:fontStyle"/>
+  <xs:attribute name="fontWeight" type="ttd:fontWeight"/>
+  <xs:attribute name="lineHeight" type="ttd:lineHeight"/>
+  <xs:attribute name="opacity" type="ttd:opacity"/>
+  <xs:attribute name="origin" type="ttd:origin"/>
+  <xs:attribute name="overflow" type="ttd:overflow"/>
+  <xs:attribute name="padding" type="ttd:padding"/>
+  <xs:attribute name="showBackground" type="ttd:showBackground"/>
+  <xs:attribute name="textAlign" type="ttd:textAlign"/>
+  <xs:attribute name="textDecoration" type="ttd:textDecoration"/>
+  <xs:attribute name="textOutline" type="ttd:textOutline"/>
+  <xs:attribute name="unicodeBidi" type="ttd:unicodeBidi"/>
+  <xs:attribute name="visibility" type="ttd:visibility"/>
+  <xs:attribute name="wrapOption" type="ttd:wrapOption"/>
+  <xs:attribute name="writingMode" type="ttd:writingMode"/>
+  <xs:attribute name="zIndex" type="ttd:zIndex"/>
+  <xs:attributeGroup name="Styling.attrib.class">
+    <xs:attribute ref="tts:backgroundColor"/>
+    <xs:attribute ref="tts:color"/>
+    <xs:attribute ref="tts:direction"/>
+    <xs:attribute ref="tts:display"/>
+    <xs:attribute ref="tts:displayAlign"/>
+    <xs:attribute ref="tts:dynamicFlow"/>
+    <xs:attribute ref="tts:extent"/>
+    <xs:attribute ref="tts:fontFamily"/>
+    <xs:attribute ref="tts:fontSize"/>
+    <xs:attribute ref="tts:fontStyle"/>
+    <xs:attribute ref="tts:fontWeight"/>
+    <xs:attribute ref="tts:lineHeight"/>
+    <xs:attribute ref="tts:opacity"/>
+    <xs:attribute ref="tts:origin"/>
+    <xs:attribute ref="tts:overflow"/>
+    <xs:attribute ref="tts:padding"/>
+    <xs:attribute ref="tts:showBackground"/>
+    <xs:attribute ref="tts:textAlign"/>
+    <xs:attribute ref="tts:textDecoration"/>
+    <xs:attribute ref="tts:textOutline"/>
+    <xs:attribute ref="tts:unicodeBidi"/>
+    <xs:attribute ref="tts:visibility"/>
+    <xs:attribute ref="tts:wrapOption"/>
+    <xs:attribute ref="tts:writingMode"/>
+    <xs:attribute ref="tts:zIndex"/>
+  </xs:attributeGroup>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-styling.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,39 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1"
+  xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata"
+  xmlns:tts="http://www.w3.org/2006/10/ttaf1#style">
+  <xs:include schemaLocation="ttaf1-dfxp-core-attribs.xsd"/>
+  <xs:include schemaLocation="ttaf1-dfxp-metadata.xsd"/>
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#style"
+    schemaLocation="ttaf1-dfxp-styling-attribs.xsd"/>
+  <xs:attributeGroup name="StyleBinding.attrib.class">
+    <xs:attribute name="style" type="xs:IDREFS"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Styled.attrib.class">
+    <xs:attributeGroup ref="tt:StyleBinding.attrib.class"/>
+    <xs:attributeGroup ref="tts:Styling.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="styling.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="style.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="styling.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:style" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:styling.attlist"/>
+  </xs:complexType>
+  <xs:complexType name="style.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:style.attlist"/>
+  </xs:complexType>
+  <xs:element name="styling" type="tt:styling.eltype"/>
+  <xs:element name="style" type="tt:style.eltype"/>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp-timing-attribs.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,22 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:ttd="http://www.w3.org/2006/10/ttaf1#datatype"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1">
+  <xs:import namespace="http://www.w3.org/2006/10/ttaf1#datatype"
+    schemaLocation="ttaf1-dfxp-datatypes.xsd"/>
+  <xs:attributeGroup name="TimingInterval.attrib.class">
+    <xs:attribute name="begin" type="ttd:timeCoordinate"/>
+    <xs:attribute name="dur" type="ttd:timeDuration"/>
+    <xs:attribute name="end" type="ttd:timeCoordinate"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="TimingContainer.attrib.class">
+    <xs:attribute name="timeContainer" type="ttd:timeContainer"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="Timed.attrib.class">
+    <xs:attributeGroup ref="tt:TimingInterval.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:attributeGroup name="TimedContainer.attrib.class">
+    <xs:attributeGroup ref="tt:Timed.attrib.class"/>
+    <xs:attributeGroup ref="tt:TimingContainer.attrib.class"/>
+  </xs:attributeGroup>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/ttaf1-dfxp.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,5 @@
+<xs:schema targetNamespace="http://www.w3.org/2006/10/ttaf1" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema"
+  xmlns:tt="http://www.w3.org/2006/10/ttaf1">
+  <xs:include schemaLocation="ttaf1-dfxp-document.xsd"/>
+</xs:schema>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/spec/xsd/xml.xsd	Sat Dec 13 16:37:44 2008 +0000
@@ -0,0 +1,13 @@
+<xs:schema targetNamespace="http://www.w3.org/XML/1998/namespace" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:attribute name="id" type="xs:ID"/>
+  <xs:attribute name="lang" type="xs:language"/>
+  <xs:attribute name="space">
+    <xs:simpleType>
+      <xs:restriction base="xs:NCName">
+        <xs:enumeration value="default"/>
+        <xs:enumeration value="preserve"/>
+      </xs:restriction>
+    </xs:simpleType>
+  </xs:attribute>
+</xs:schema>