[ttml2] add animate and animation elements (issues 22, 23, 72, 227)
authorGlenn Adams <glenn@skynav.com>
Mon, 26 Aug 2013 19:04:37 -0600
changeset 499 1d13586de640
parent 498 ff956a5437cf
child 500 c95e843b4e35
[ttml2] add animate and animation elements (issues 22, 23, 72, 227)
ttml1/spec/ttml1-changes.html
ttml1/spec/ttml1.xml
ttml2/spec/rnc/schema.zip
ttml2/spec/rnc/ttml2-animation.rnc
ttml2/spec/rnc/ttml2-datatypes.rnc
ttml2/spec/rnc/ttml2-head.rnc
ttml2/spec/ttml2-changes.html
ttml2/spec/ttml2.xml
ttml2/spec/xsd/schema.zip
ttml2/spec/xsd/ttml2-animation.xsd
ttml2/spec/xsd/ttml2-datatypes.xsd
ttml2/spec/xsd/ttml2-head.xsd
ttml2/spec/xsd/xlink.xsd
--- a/ttml1/spec/ttml1-changes.html	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml1/spec/ttml1-changes.html	Mon Aug 26 19:04:37 2013 -0600
@@ -100,6 +100,8 @@
   container region and that clipping behavior on the root container region is not
   specified.
 
+* In 11.1.1, correct note to show derivation from SVG 1.1, not SMIL 2.1.
+
 * In 12.1.7, clarify that agent attribute on ttm:actor must reference a "significant"
   ttm:agent element, i.e., a ttm:agent appearing as a child of head or a child of a
   metadata child of head.
--- a/ttml1/spec/ttml1.xml	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml1/spec/ttml1.xml	Mon Aug 26 19:04:37 2013 -0600
@@ -8070,8 +8070,8 @@
 </note>
 <note role="derivation">
 <p>The semantics of the <el>set</el> element
-are based upon that defined by <bibref ref="smil21"/>,
-&sect; 3.6.2.</p>
+are based upon that defined by <bibref ref="svg11"/>,
+&sect; 6.2.13.</p>
 </note>
 </div3>
 </div2>
Binary file ttml2/spec/rnc/schema.zip has changed
--- a/ttml2/spec/rnc/ttml2-animation.rnc	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/rnc/ttml2-animation.rnc	Mon Aug 26 19:04:37 2013 -0600
@@ -2,26 +2,76 @@
 # TT-AF 1.0 DFXP Animation Module .......................................
 # .......................................................................
 
-# set - discrete animation
-TTAF.set =
-  element set {
-    TTAF.set.attlist,
-    TTAF.set.content
+namespace xlink = "http://www.w3.org/1999/xlink"
+
+# animation - generic animation container
+TTAF.animation =
+  element animation {
+    TTAF.animation.attlist,
+    TTAF.animation.content
   }
 
-TTAF.set.attlist &=
+TTAF.animation.attlist &=
+  TTAF.Core.attrib.class
+
+TTAF.animation.content.extra = empty
+TTAF.animation.content =
+  (TTAF.Metadata.class*,
+   TTAF.animation.animate*,
+   TTAF.animation.content.extra*)
+
+# animate - general animation
+TTAF.animation.animate =
+  element animate {
+    TTAF.animation.animate.attlist,
+    TTAF.animation.animate.content
+  }
+
+TTAF.animation.animate.attlist &=
+  TTAF.Core.attrib.class,
+  TTAF.Styled.attrib.class,
+  TTAF.Timed.attrib.class,
+  attribute accumulate { TTAF.Accumulate.datatype }?,
+  attribute additive { TTAF.Accumulate.datatype }?,
+  attribute attributeName { TTAF.QualifiedName.datatype },
+  attribute by { TTAF.AnimationValue.datatype }?,
+  attribute calcMode { TTAF.CalcMode.datatype }?,
+  attribute fill { TTAF.Fill.datatype }?,
+  attribute from { TTAF.AnimationValue.datatype }?,
+  attribute keySplines { TTAF.KeySplines.datatype }?,
+  attribute keyTimes { TTAF.KeyTimes.datatype }?,
+  attribute repeatCount { TTAF.RepeatCount.datatype }?,
+  attribute repeatDur { TTAF.RepeatDur.datatype }?,
+  attribute to { TTAF.AnimationValue.datatype }?,
+  attribute values { TTAF.AnimationValueList.datatype }?,
+  attribute xlink:href { xsd:anyURI }?
+
+TTAF.animation.animate.content.extra = empty
+TTAF.animation.animate.content =
+  (TTAF.Metadata.class*,
+   TTAF.animation.animate.content.extra*)
+
+# set - discrete animation
+TTAF.animation.set =
+  element set {
+    TTAF.animation.set.attlist,
+    TTAF.animation.set.content
+  }
+
+TTAF.animation.set.attlist &=
   TTAF.Core.attrib.class,
   TTAF.Styled.attrib.class,
   TTAF.Timed.attrib.class
 
-TTAF.set.content.extra = empty
-TTAF.set.content =
+TTAF.animation.set.content.extra = empty
+TTAF.animation.set.content =
   (TTAF.Metadata.class*,
-   TTAF.set.content.extra*)
+   TTAF.animation.set.content.extra*)
 
 TTAF.Animation.extra = empty
 TTAF.Animation.class |=
-  TTAF.set |
+  TTAF.animation.animate |
+  TTAF.animation.set |
   TTAF.Animation.extra
 
 # .......................................................................
--- a/ttml2/spec/rnc/ttml2-datatypes.rnc	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/rnc/ttml2-datatypes.rnc	Mon Aug 26 19:04:37 2013 -0600
@@ -2,15 +2,35 @@
 # TT-AF 1.0 DFXP Datatypes Module .......................................
 # .......................................................................
 
-TTAF.Alpha.datatype =
-  xsd:float
+TTAF.Accumulate.datatype =
+  "none" |
+  "sum"
+
+TTAF.Additive.datatype =
+  "replace" |
+  "sum"
 
 TTAF.Agent.datatype =
   xsd:IDREFS
 
+TTAF.Alpha.datatype =
+  xsd:float
+
+TTAF.AnimationValue.datatype =
+  string
+
+TTAF.AnimationValueList.datatype =
+  string
+
 TTAF.Border.datatype =
   string
 
+TTAF.CalcMode.datatype =
+  "discrete" |
+  "linear" |
+  "displace" |
+  "spline"
+
 TTAF.CellResolution.datatype =
   string
 
@@ -61,6 +81,10 @@
  "use"      |
  "prohibited"
 
+TTAF.Fill.datatype =
+  "freeze" |
+  "remove"
+
 TTAF.FontFamily.datatype =
   string
 
@@ -76,12 +100,21 @@
   "normal" |
   "bold"
 
+TTAF.FragmentIdentifier.datatype =
+  xsd:anyURI
+
 TTAF.FrameRate.datatype =
   xsd:positiveInteger
 
 TTAF.FrameRateMultiplier.datatype =
   xsd:string { pattern = "\p{Nd}+\s+\p{Nd}+" }
 
+TTAF.KeySplines.datatype =
+  string
+
+TTAF.KeyTimes.datatype =
+  string
+
 TTAF.LanguageCode.datatype =
   "" |
   xsd:language
@@ -150,6 +183,15 @@
  "union  " |
  "intersection"
 
+TTAF.QualifiedName.datatype =
+  xsd:QName
+
+TTAF.RepeatCount.datatype =
+  string
+
+TTAF.RepeatDur.datatype =
+  string
+
 TTAF.Role.datatype =
   list { TTAF.RoleItem.datatype+ }
 
--- a/ttml2/spec/rnc/ttml2-head.rnc	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/rnc/ttml2-head.rnc	Mon Aug 26 19:04:37 2013 -0600
@@ -18,6 +18,7 @@
    TTAF.Parameters.class*,
    TTAF.styling?,
    TTAF.layout?,
+   TTAF.animation?,
    TTAF.head.content.extra*)
 
 # .......................................................................
--- a/ttml2/spec/ttml2-changes.html	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/ttml2-changes.html	Mon Aug 26 19:04:37 2013 -0600
@@ -33,6 +33,13 @@
 <pre>
 <span class="strong">Technical Changes</span>
 
+* In 5.3.1, add new animation vocabulary, 'animation' and 'animate', to Table 3.
+
+* In 5.3.1, add new animation vocabulary, 'animate' to Animation.class in Table 4.
+
+* In 5.3.1, add new attribute vocabulary, 'tts:border' and 'tts:textOrientation'
+  to Table 5.
+
 * In 6.1.1, add 'combine' attribute to ttp:profile element, including normative
   processing semantics.
 
@@ -42,6 +49,9 @@
 * In 6.1.5, add 'prohibited' value to 'value' attribute of ttp:extension element,
   including normative processing semantics.
 
+* In 7.1.2, add new 'animation' container element as optional child of 'head'
+  element.
+
 * In 7.1.7, add region attribute to 'br' element.
 
 * In 7.1.7, add timing attributes to 'br' element.
@@ -64,9 +74,15 @@
 * In 8.4.4, add semantics for determining specified style set and computed style set
   for 'set' element.
 
-* In 11.1.1, add 'style' attribute to 'set' element.
+* In 11, add new sub-section (11.3) defining animation specific value expressions.
 
-* In 11.1.1, permit multiple attributes from TT Style Namespace on 'set' element.
+* In 11.1, add 'animate' element.
+
+* In 11.1, add 'animation' element.
+
+* In 11.1.3, add 'style' attribute to 'set' element.
+
+* In 11.1.3, permit multiple attributes from TT Style Namespace on 'set' element.
 
 * In Appendix C, remove contents for mediate type registration, since registration
   has (will have) already occurred (by the time TTML2 goes to FPWD).
@@ -75,8 +91,6 @@
 
 * In Appendix F, add #border and #textOrientation feature designators in standard profiles.
 
-* In Appendix J, add derivation of tts:border and tts:textOrientation attributes.
-
 * In Appendix O, change appendix designation to normative, effectively changing
   the informative concrete encoding recommendation to a normative recommendation.
 
@@ -87,7 +101,21 @@
 
 * In 8.2, add note about the use of non-applicable style attributes.
 
+* In Appendix G, add (normative) reference to RFC2396 (URI).
+
+* In Appendix G, move SVG1.1 reference from Appendix H and update to Second Edition.
+
 * In Appendix H, add (non-normative) reference to CSS Writing Modes Level 3.
+
+* In Appendix H, add (non-normative) reference to TTML1.
+
+* In Appendix H, update SMIL reference to SMIL3.0.
+
+* In Appendix J, add derivation of tt:animate and tt:animation elements.
+
+* In Appendix J, add derivation of tts:border and tts:textOrientation attributes.
+
+* Update SMIL section number references to track SMIL3.
 </pre>
 </div>
 </div>
--- a/ttml2/spec/ttml2.xml	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/ttml2.xml	Mon Aug 26 19:04:37 2013 -0600
@@ -120,7 +120,7 @@
 for example, providing a standard content format to reference from a <el>&lt;track&gt;</el>
 element in an HTML5 document, or a <el>&lt;text&gt;</el> or 
 <el>&lt;textstream&gt;</el> media element in a <bibref
-ref="smil21"/> document.</p>
+ref="smil3"/> document.</p>
 </abstract>
 &status;
 <langusage><language id='en-us'>English</language></langusage>
@@ -144,7 +144,7 @@
 example, a standard content format to reference from a <el>&lt;track&gt;</el>
 element in an HTML5 document, or a <el>&lt;text&gt;</el> or 
 <el>&lt;textstream&gt;</el> media element in a <bibref
-ref="smil21"/> document. Certain properties of TTML support
+ref="smil3"/> document. Certain properties of TTML support
 streamability of content, as described in <specref ref="streaming"/>.</p>
 <note>
 <p>While TTML is not expressly designed for direct (embedded) integration into an
@@ -736,8 +736,8 @@
 <gitem>
 <label>Synthetic Document Syncbase</label>
 <def>
-<p>A document level <xspecref href="http://www.w3.org/TR/2005/REC-SMIL2-20051213/smil-timing.html#Timing-Syncbases">syncbase</xspecref>
-<bibref ref="smil21"/>, &sect; 10.7.1, synthesized or otherwise established by
+<p>A document level <xspecref href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil30.html#smil-timing-q158">syncbase</xspecref>
+<bibref ref="smil3"/>, &sect; 5.7.1, synthesized or otherwise established by
 the <emph>Document Processing Context</emph> in accordance with the
 <emph>Related Media Object</emph> or other processing criteria.</p>
 </def>
@@ -1447,6 +1447,8 @@
 Animation
 </td>
 <td>
+<loc href="#animation-vocabulary-animate">animate</loc>,
+<loc href="#animation-vocabulary-animation">animation</loc>,
 <loc href="#animation-vocabulary-set">set</loc>
 </td>
 </tr>
@@ -1545,6 +1547,7 @@
 Animation.class
 </td>
 <td>
+<loc href="#animation-vocabulary-animate">animate</loc> |
 <loc href="#animation-vocabulary-set">set</loc>
 </td>
 </tr>
@@ -2821,7 +2824,7 @@
 <note role="explanation">
 <p>When the time base is designated as <code>smpte</code>,
 every time expression denotes a media marker value akin to that
-defined by <bibref ref="smil21"/>, &sect; 10.4.1, except instead
+defined by <bibref ref="smil3"/>, &sect; 5.4.1, except instead
 of using an opaque marker name, a structured <bibref ref="smpte12m"/>
 time coordinate serves as the marker name.</p>
 </note>
@@ -2938,7 +2941,8 @@
 followed by zero or more elements in the
 <code>Parameters.class</code> element group,
 followed by zero or one <el>styling</el> element,
-followed by zero or one <el>layout</el> element.</p>
+followed by zero or one <el>layout</el> element,
+followed by zero or one <el>animation</el> element.</p>
 <p>Any metadata specified by children in the <code>Metadata.class</code>
 element group applies semantically to the <emph>Document Instance</emph> as a
 whole, and not just the <el>head</el> element.</p>
@@ -2950,6 +2954,9 @@
 <loc href="#element-vocab-type-content">Content</loc> elements.</p>
 <p>A <el>layout</el> child element is used to specify layout constructs that
 are referenced by <loc href="#element-vocab-type-content">Content</loc> elements.</p>
+<p>An <el>animation</el> child element is used to specify animation constructs that
+target animatable <loc href="#element-vocab-type-content">Content</loc>
+or <loc href="#element-vocab-type-layout">Layout</loc> elements.</p>
 <table id="elt-syntax-head" role="syntax">
 <caption>XML Representation &ndash; Element Information Item: head</caption>
 <tbody>
@@ -2961,7 +2968,7 @@
   <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="#element-vocab-group-table">Parameters.class</loc>*, <loc href="#styling-vocabulary-styling">styling</loc>?, <loc href="#layout-vocabulary-layout">layout</loc>?
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*, <loc href="#element-vocab-group-table">Parameters.class</loc>*, <loc href="#styling-vocabulary-styling">styling</loc>?, <loc href="#layout-vocabulary-layout">layout</loc>?, <loc href="#animation-vocabulary-animation">animation</loc>?
 &lt;/head&gt;
 </eg>
 </td>
@@ -3559,6 +3566,7 @@
 <p>The <att>style</att> attribute may be specified by an instance of the following
 element types:</p>
 <ulist>
+<item><p><loc href="#animation-vocabulary-animate"><el>animate</el></loc></p></item>
 <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>
@@ -5358,8 +5366,8 @@
 </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.3.</p>
+represented by this attribute are based upon that defined by <bibref ref="smil3"/>,
+&sect; 7.4.2.</p>
 </note>
 </div3>
 <div3 id="style-attribute-textAlign">
@@ -6603,11 +6611,9 @@
 <item><p>a &lt;familyName&gt; that takes the form of a <code>quoted-string</code> whose content (unquoted value)
 matches (by case sensitive comparison) a &lt;genericFamilyName&gt; must not be interpreted as that &lt;genericFamilyName&gt;, but as
 the actual name of a non-generic font family.</p></item>
+<item><p>The syntactic element <emph><code>char</code></emph> is to be interpreted according
+to the <code>Char</code> production defined by <bibref ref="xml10"/>&nbsp;&sect;2.2.</p></item>
 </ulist>
-<note role="notation">
-<p>The syntactic element <emph><code>char</code></emph> is to be interpreted according
-to the <code>Char</code> production defined by <bibref ref="xml10"/>&nbsp;&sect;2.2.</p>
-</note>
 <note role="elaboration">
 <p>The <code>{unicode}</code> escape mechanism defined by <bibref ref="css2"/>&nbsp;&sect;4.1.1
 is not supported by this syntax; rather, authors are expected to either (1) directly encode the character
@@ -8078,7 +8084,7 @@
 <p>The begin point of a temporal interval is included in the
 interval; i.e., the interval is left-wise closed.</p>
 <p>The semantics of the <att>begin</att> attribute are those defined
-by <bibref ref="smil21"/>, &sect; 10.4.1,
+by <bibref ref="smil3"/>, &sect; 5.4.1,
 while taking into account any overriding semantics defined by this specification.</p>
 </div3>
 <div3 id="timing-attribute-end">
@@ -8102,7 +8108,7 @@
 as [300f,310f).</p>
 </note>
 <p>The semantics of the <att>end</att> attribute are those defined
-by <bibref ref="smil21"/>, &sect; 10.4.1,
+by <bibref ref="smil3"/>, &sect; 5.4.1,
 while taking into account any overriding semantics defined by this specification.</p>
 </div3>
 <div3 id="timing-attribute-dur">
@@ -8122,10 +8128,10 @@
 mode, a (well-formed) <att>dur</att> attribute must not be specified on any
 element.</p>
 <p>The semantics of the <att>dur</att> attribute are those defined
-by <bibref ref="smil21"/>, &sect; 10.4.1,
+by <bibref ref="smil3"/>, &sect; 5.4.1,
 while taking into account any overriding semantics defined by this specification.</p>
 <note role="elaboration">
-<p>In the context of the subset of <bibref ref="smil21"/> semantics supported by
+<p>In the context of the subset of <bibref ref="smil3"/> semantics supported by
 this specification, the active duration of an element that specifies both
 <att>end</att> and <att>dur</att> attributes is equal to the lesser of the value of
 the <att>dur</att> attribute and the difference between the value of the
@@ -8147,11 +8153,11 @@
 parallel, i.e., simultaneously in time. Furthermore, the specification of
 the time interval of each child element is considered to be relative to the temporal
 interval of the container element instance. For the purpose of determining the
-<bibref ref="smil21"/> <code>endsync</code> semantics of a <code>par</code>
+<bibref ref="smil3"/> <code>endsync</code> semantics of a <code>par</code>
 time container, a default value of <code>all</code> applies.</p>
 <note role="elaboration">
 <p>The use of a default value of <code>all</code> for the <code>endsync</code>
-behavior is distinct from <bibref ref="smil21"/> which uses a default value
+behavior is distinct from <bibref ref="smil3"/> which uses a default value
 of <code>last</code>.</p>
 </note>
 <p>If the time container semantics of an element instance is <code>seq</code>,
@@ -8174,7 +8180,7 @@
 <item><p><loc href="#content-vocabulary-span"><el>span</el></loc></p></item>
 </ulist>
 <p>The semantics of parallel and sequential time
-containment are those defined by <bibref ref="smil21"/>, &sect; 10.4.2,
+containment are those defined by <bibref ref="smil3"/>, &sect; 5.4.2,
 while taking into account any overriding semantics defined by this specification.</p>
 </div3>
 </div2>
@@ -8273,7 +8279,7 @@
 <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
+<bibref ref="smil3"/> apply to the interpretation of like-named timed elements and timing
 vocabulary defined by this specification, given the following
 constraints:</p>
 <ulist>
@@ -8281,7 +8287,7 @@
 <p>The implicit duration of an anonymous span is defined as follows: if
 the anonymous span's parent time container is a parallel time container, then
 the implicit duration is equivalent to the <code>indefinite</code>
-duration value as defined by <bibref ref="smil21"/>; if the anonymous span's
+duration value as defined by <bibref ref="smil3"/>; if the anonymous span's
 parent time container is a sequential time container, then the implicit duration
 is equivalent to zero.</p>
 </item>
@@ -8290,30 +8296,30 @@
 or <el>span</el> element is determined in accordance to (1) whether
 the element is a parallel or sequential time container, (2) the default
 <code>endsync</code> semantics defined above by <specref ref="timing-attribute-timeContainer"/>,
-and (3) the semantics of <bibref ref="smil21"/> as applied to these time
+and (3) the semantics of <bibref ref="smil3"/> as applied to these time
 containers.</p>
 </item>
 <item>
 <p>The implicit duration of the <el>region</el> element is defined to
 be equivalent to the <code>indefinite</code>
-duration value as defined by <bibref ref="smil21"/>.</p>
+duration value as defined by <bibref ref="smil3"/>.</p>
 </item>
 <item>
 <p>If the governing time base is <code>clock</code>, then time
 expressions are considered to be equivalent to wall-clock
-based timing in <bibref ref="smil21"/>, where the specific semantics of
+based timing in <bibref ref="smil3"/>, where the specific semantics of
 <specref ref="time-expression-semantics-clock"/> apply.</p>
 </item>
 <item>
 <p>If the governing time base is <code>media</code>, then time
 expressions are considered to be equivalent to offset based timing
-in <bibref ref="smil21"/>, where the specific semantics of
+in <bibref ref="smil3"/>, where the specific semantics of
 <specref ref="time-expression-semantics-media"/> apply.</p>
 </item>
 <item>
 <p>If the governing time base is <code>smpte</code>, then time
 expressions are considered to be equivalent to either offset
-based timing or event based timing in <bibref ref="smil21"/>, where the specific semantics of
+based timing or event based timing in <bibref ref="smil3"/>, where the specific semantics of
 <specref ref="time-expression-semantics-smpte"/> apply.</p>
 </item>
 </ulist>
@@ -8331,8 +8337,175 @@
 <p>The following elements specify the structure and principal animation aspects of a
 <emph>Document Instance</emph>:</p>
 <ulist>
+<item><p><specref ref="animation-vocabulary-animation"/></p></item>
+<item><p><specref ref="animation-vocabulary-animate"/></p></item>
 <item><p><specref ref="animation-vocabulary-set"/></p></item>
 </ulist>
+<div3 id="animation-vocabulary-animation">
+<head>animation</head>
+<p>The <el>animation</el> element is a container element used to group
+animation matter, including metadata that applies to animation matter.</p>
+<p>The <el>animation</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group, followed by
+zero or more <el>animate</el> elements.</p>
+<table id="elt-syntax-animation" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: animation</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;animation
+  <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="#animation-vocabulary-animate">animate</loc>*
+&lt;/animation&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>To the extent that time semantics apply to the content of the
+<el>animation</el> element, the implied time interval of this element is
+defined to be coterminous with the <emph>Root Temporal Extent</emph>.</p>
+</div3>
+<div3 id="animation-vocabulary-animate">
+<head>animate</head>
+<p>The <el>animate</el> element expresses a series of changes (animations) to be applied to a targetted attribute
+of a targetted element.</p>
+<p>An <el>animate</el> element may appear as either (1) a child of a
+<loc href="#element-vocab-type-content">Content</loc> or <el>region</el> element or
+(2) a child of an <loc href="#animation-vocabulary-animation">animation</loc> element. In the former
+case, the targetted element of the animation is the parent of the <el>animate</el> element; in the latter
+case, the targetted element is the element referenced by the <att>xlink:href</att> attribute on the
+<el>animate</el> element.</p>
+<p>The targetted attribute (property) is specified by the <att>attributeName</att> attribute.</p>
+<p>The <el>animate</el> element accepts as its children zero or more
+elements in the <code>Metadata.class</code> element group.</p>
+<table id="elt-syntax-animate" role="syntax">
+<caption>XML Representation &ndash; Element Information Item: animate</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;animate
+  accumulate = <loc href="#animation-value-accumulate">&lt;accumulate&gt;</loc>
+  additive = <loc href="#animation-value-additive">&lt;additive&gt;</loc>
+  <phrase role="strong">attributeName</phrase> = <loc href="#animation-value-qualifiedName">&lt;qualifiedName&gt;</loc>
+  <loc href="#timing-attribute-begin">begin</loc> = <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  by = <loc href="#animation-value-animationValue">&lt;animationValue&gt;</loc>
+  calcMode = <loc href="#animation-value-calcMode">&lt;calcMode&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>
+  fill = <loc href="#animation-value-fill">&lt;fill&gt;</loc>
+  from = <loc href="#animation-value-animationValue">&lt;animationValue&gt;</loc>
+  keySplines = <loc href="#animation-value-keySplines">&lt;keySplines&gt;</loc>
+  keyTimes = <loc href="#animation-value-keyTimes">&lt;keyTimes&gt;</loc>
+  repeatCount = <loc href="#animation-value-repeatCount">&lt;repeatCount&gt;</loc>
+  repeatDur = <loc href="#animation-value-repeatDur">&lt;repeatDur&gt;</loc>
+  <loc href="#style-attribute-style">style</loc> = IDREFS
+  to = <loc href="#animation-value-animationValue">&lt;animationValue&gt;</loc>
+  values = <loc href="#animation-value-animationValueList">&lt;animationValueList&gt;</loc>
+  <loc href="#content-attribute-id">xlink:href</loc> = <loc href="#animation-value-fragmentIdentifier">&lt;fragmentIdentifier&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>any attribute not in default or any TT namespace</emph>}&gt;
+  <emph>Content:</emph> <loc href="#element-vocab-group-table">Metadata.class</loc>*
+&lt;/animate&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p/>
+<p>Except for the constraints or variations enumerated below, the semantics of the <el>animate</el> element and its attributes
+enumerated above are defined to be those specified by <bibref ref="svg11"/>, &sect;19.2.12:</p>
+<olist>
+<item><p>For the purpose of interpreting an <att>attributeName</att> attribute, an <att>attributeType</att>
+with a value of <code>XML</code> applies, about which see <bibref ref="svg11"/>, &sect;19.2.5.</p></item>
+<item><p>If no <att>accumulate</att> attribute is specified, then an <emph>accumlate</emph> value of <code>none</code> applies.</p></item>
+<item><p>If no <att>additive</att> attribute is specified, then an <emph>additive</emph> value of <code>replace</code> applies.</p></item>
+<item><p>If no <att>calcMode</att> attribute is specified, then a <emph>calcMode</emph> value of <code>linear</code> applies.</p></item>
+<item><p>If no <att>fill</att> attribute is specified, then a <emph>fill</emph> value of <code>remove</code> applies.</p></item>
+<item><p>If an <att>xlink:href</att> attribute is specified, then the <el>animate</el> element must be a child of an
+<loc href="#animation-vocabulary-animation">animation</loc> element; conversely, if an <el>animate</el> element is a child of
+an <loc href="#animation-vocabulary-animation">animation</loc> element, then it must specify an <att>xlink:href</att> attribute.</p></item>
+</olist>
+<p>An example of using the <el>animate</el> element to animate content
+styling is illustrated below:</p>
+<table id="animation-vocabulary-animate-example-1" role="example">
+<caption>Example Fragment &ndash; Content Style Animation</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+...
+&lt;p dur="5s" tts:color="yellow"&gt;
+<phrase role="strong">&lt;animate attributeName="tts:color" values="yellow,red,green,blue,yellow"/&gt;</phrase>
+Text with Continuously Varying Colors!
+&lt;/p&gt;
+...
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, the foreground color of the content "Text
+with Continuously Varying Colors!" is continuously animated from yellow, to red, to green, to
+red, then back to yellow over a 5 second period.</p>
+</note>
+
+<p>An example of using the <el>animate</el> element to animate region
+styling is illustrated below:</p>
+<table id="animation-vocabulary-animate-example-2" role="example">
+<caption>Example Fragment &ndash; Region Style Animation</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;tt xml:lang="" xmlns="http://www.w3.org/ns/ttml"
+    xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
+    xmlns:tts="http://www.w3.org/ns/ttml#styling"
+    ttp:extent="640px 480px"&gt;
+    &lt;head&gt;
+      &lt;layout&gt;
+	&lt;region xml:id="r1" timeContainer="seq" tts:opacity="0"&gt;
+	  <phrase role="strong">&lt;animate dur="1s" attributeName="tts:opacity" to="1"/&gt;</phrase>
+	  &lt;set dur="5s" tts:opacity="1"/&gt;
+	  <phrase role="strong">&lt;animate dur="1s" attributeName="tts:opacity" to="0"/&gt;</phrase>
+	  &lt;style tts:extent="480px 60px"/&gt;
+	  &lt;style tts:origin="80px 400px"/&gt;
+	&lt;/region&gt;
+      &lt;/layout&gt;
+    &lt;/head&gt;
+    &lt;body region="r1"&gt;...&lt;/body&gt;
+&lt;/tt&gt;
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<note role="explanation">
+<p>In the above example, a region, <code>r1</code>, is initially set to 0% opacity,
+fully transparent, then is faded in to 100% opacity, fully opaque, over a one second
+interval. Opacity remains at 100% for five more seconds, and then is faded out to 0%
+over a one second interval, where it remains.</p>
+</note>
+<p></p>
+<ednote>
+<name>Animate Example Images</name>
+<date>2013-08-25</date>
+<edtext>Insert animated SVG images of animate examples.</edtext>
+</ednote>
+<note role="derivation">
+<p>The semantics of the <el>animate</el> element
+are based upon that defined by <bibref ref="svg11"/>,
+&sect; 6.2.12, which, in turn, is based upon <bibref ref="smil3"/>, &sect;12.</p>
+</note>
+</div3>
 <div3 id="animation-vocabulary-set">
 <head>set</head>
 <p>The <el>set</el> element is used as a child element of a
@@ -8399,7 +8572,7 @@
 </table>
 <note role="explanation">
 <p>In the above example, the foreground color of the content "Text
-with Flashing Colors" is animated from yellow, to red, to green, to
+with Flashing Colors!" is animated from yellow, to red, to green, to
 red, then back to yellow over a 5 second period.</p>
 </note>
 
@@ -8442,10 +8615,16 @@
 create an effect of moving the region, which may be desirable so as
 to avoid obscuring characters in an underlying video with captions.</p>
 </note>
+<p></p>
+<ednote>
+<name>Set Example Images</name>
+<date>2013-08-25</date>
+<edtext>Insert animated SVG images of set examples.</edtext>
+</ednote>
 <note role="derivation">
 <p>The semantics of the <el>set</el> element
-are based upon that defined by <bibref ref="smil21"/>,
-&sect; 3.6.2.</p>
+are based upon that defined by <bibref ref="svg11"/>,
+&sect; 6.2.13, which, in turn, is based upon <bibref ref="smil3"/>, &sect;12.</p>
 </note>
 </div3>
 </div2>
@@ -8454,6 +8633,346 @@
 <p>No animation related attribute vocabulary is defined for use in the
 core vocabulary catalog.</p>
 </div2>
+<div2 id="animation-value-expressions">
+<head>Animation Value Expressions</head>
+<p>Animation attribute values include the use of the following expressions:</p>
+<ulist>
+<item><p><specref ref="animation-value-accumulate"/></p></item>
+<item><p><specref ref="animation-value-additive"/></p></item>
+<item><p><specref ref="animation-value-animationValue"/></p></item>
+<item><p><specref ref="animation-value-animationValueList"/></p></item>
+<item><p><specref ref="animation-value-calcMode"/></p></item>
+<item><p><specref ref="animation-value-fill"/></p></item>
+<item><p><specref ref="animation-value-fragmentIdentifier"/></p></item>
+<item><p><specref ref="animation-value-keySplines"/></p></item>
+<item><p><specref ref="animation-value-keyTimes"/></p></item>
+<item><p><specref ref="animation-value-qualifiedName"/></p></item>
+<item><p><specref ref="animation-value-repeatCount"/></p></item>
+<item><p><specref ref="animation-value-repeatDur"/></p></item>
+</ulist>
+<div3 id="animation-value-accumulate">
+<head>&lt;accumulate&gt;</head>
+<p>An &lt;accumulate&gt; expression is used to control whether animation is cumulative or not.</p>
+<table id="accumulate-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;accumulate&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;accumulate&gt;
+  : "none"
+  | "sum"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of an &lt;accumulate&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.10.</p>
+</div3>
+<div3 id="animation-value-additive">
+<head>&lt;additive&gt;</head>
+<p>An &lt;additive&gt; expression is used to control whether animation is additive.</p>
+<table id="additive-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;additive&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;additive&gt;
+  : "replace"
+  | "sum"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of an &lt;additive&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.10.</p>
+</div3>
+<div3 id="animation-value-animationValue">
+<head>&lt;animationValue&gt;</head>
+<p>An &lt;animationValue&gt; expression is used to specify the starting (initial), intermediate,
+or ending (final) of the attribute targetted by the animation.</p>
+<table id="animationValue-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;animationValue&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;animationValue&gt;
+  : string
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The syntax of an &lt;animationValue&gt; expression must satisfy all syntax
+requirements that apply to the attribute targetted by the animation.</p>
+<p>The semantics of an &lt;animationValue&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.9.</p>
+</div3>
+<div3 id="animation-value-animationValueList">
+<head>&lt;animationValueList&gt;</head>
+<p>An &lt;animationValueList&gt; expression is used to specify a list of animation values that sequentially
+apply to the attribute targetted by the animation, wherein each pair of values is separated by a SEMICOLON (U+003B) character
+optionally surrounded by linear white-space (LWSP) characters.</p>
+<table id="animationValueList-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;animationValueList&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;animationValueList&gt;
+  : <loc href="#animation-value-animationValue">&lt;animationValue&gt;</loc> [ ";" <loc href="#animation-value-animationValue">&lt;animationValue&gt;</loc> ]*
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The syntax of an &lt;animationValue&gt; in an &lt;animationValueList&gt; expression must satisfy all syntax
+requirements that apply to the attribute targetted by the animation.</p>
+<p>The semantics of an &lt;animationValueList&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.9.</p>
+</div3>
+<div3 id="animation-value-calcMode">
+<head>&lt;calcMode&gt;</head>
+<p>A &lt;calcMode&gt; expression is used to control the interpolation mode of the animation.</p>
+<table id="calcMode-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;calcMode&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;calcMode&gt;
+  : "discrete"
+  | "linear"
+  | "displaced"
+  | "spline"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;calcMode&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.9.</p>
+</div3>
+<div3 id="animation-value-fill">
+<head>&lt;fill&gt;</head>
+<p>A &lt;fill&gt; expression is used to determine effect of the animation after the active end of the animation.</p>
+<table id="fill-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;fill&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;fill&gt;
+  : "freeze"
+  | "remove"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;fill&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.8.</p>
+</div3>
+<div3 id="animation-value-fragmentIdentifier">
+<head>&lt;fragmentIdentifier&gt;</head>
+<p>A &lt;fragmentIdentifier&gt; expression is used to target (refer to) an animation to a specific element in the same <emph>Document Instance</emph>.</p>
+<table id="fragmentIdentifier-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;fragmentIdentifier&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;fragmentIdentifier&gt;
+  : "#" fragment
+
+fragment
+  : uric+
+
+uric
+  : reserved
+  | unreserved
+  | escaped
+
+reserved
+  : [;/?:@&amp;=+$,]
+
+unreserved
+  : [a-zA-Z]
+  | [0-9]
+  | [-_.!~*'()]
+
+escaped
+  : "%" hex hex
+
+hex
+  : [0-9a-fA-F]
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>Except for the constraints on syntax and semantics that follow below, the semantics of a &lt;fragmentIdentifier&gt;
+expression are those defined to apply to an "&lt;iri&gt;" expression in <bibref ref="svg11"/>, &sect;19.2.4.</p>
+<p>A &lt;fragmentIdentifer&gt; must adhere
+to the <code>xsd:anyURI</code> data type defined by <bibref ref="xsd-2"/>. Furthermore, it
+must adhere to the fragment identifer syntax defined by <bibref ref="uri"/>,
+Section 4.1, and is a strict subset thereof, since at least one character must appear in
+the fragment component.</p>
+<p>No linear white-space (LWSP) is permitted to appear within a fragment identifier.</p>
+<p>A &lt;fragmentIdentifer&gt; expression must refer to an element in the same <emph>Document Instance</emph>,
+i.e., the fragment component must be a valid IDREF.</p>
+</div3>
+<div3 id="animation-value-keySplines">
+<head>&lt;keySplines&gt;</head>
+<p>An &lt;keySplines&gt; expression is used to specify a list of Bezier control points that control the pacing of an
+animation, wherein each pair of values is separated by a SEMICOLON (U+003B) character
+optionally surrounded by linear white-space (LWSP) characters.</p>
+<table id="keySplines-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;keySplines&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;keySplines&gt;
+  : control [ lwsp? ";" lwsp? control ]*
+
+control
+  : x1 comma? y1 comma? x2 comma? y2
+
+x1, x2, y1, y2
+  : coordinate
+
+coordinate                                // 0 &ge; <emph>value</emph> &ge; 1
+  : whole
+  | whole "." fraction
+  | "." fraction
+
+whole, fraction
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+comma
+  : ","
+
+lwsp
+  : ( ' ' | '\t' | '\n' | '\r' )+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;keySplines&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.9, as apply to the <att>keySplines</att> attribute.</p>
+</div3>
+<div3 id="animation-value-keyTimes">
+<head>&lt;keyTimes&gt;</head>
+<p>An &lt;keyTimes&gt; expression is used to specify a list of relative time values that control the pacing of an
+animation, wherein each pair of values is separated by a SEMICOLON (U+003B) character
+optionally surrounded by linear white-space (LWSP) characters.</p>
+<table id="keyTimes-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;keyTimes&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;keyTimes&gt;
+  : time [ lwsp? ";" lwsp? time ]*
+
+time                                // 0 &ge; <emph>value</emph> &ge; 1
+  : whole
+  | whole "." fraction
+  | "." fraction
+
+whole, fraction
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+
+
+lwsp
+  : ( ' ' | '\t' | '\n' | '\r' )+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;keyTimes&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.9, as apply to the <att>keyTimes</att> attribute.</p>
+</div3>
+<div3 id="animation-value-qualifiedName">
+<head>&lt;qualifiedName&gt;</head>
+<p>A &lt;qualifiedName&gt; expression is used to specify the attribute targetted by the animation.</p>
+<table id="qualifiedName-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;qualifiedName&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;qualifiedName&gt;
+  : prefix ":" local
+  | local
+
+prefix
+  : <emph>nmchar</emph>+
+
+local
+  : <emph>nmchar</emph>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The syntactic element <emph><code>nmchar</code></emph> is to be interpreted according
+to the <code>NameChar</code> production defined by <bibref ref="xml10"/>&nbsp;&sect;2.3,
+except that the COLON (U+003A) character is excluded.</p>
+<p>The semantics of a &lt;qualifiedName&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.5, as applying to an <code>attributeName</code> attribute
+according to an implied <code>attributeType</code> of <code>XML</code>.</p>
+</div3>
+<div3 id="animation-value-repeatCount">
+<head>&lt;repeatCount&gt;</head>
+<p>A &lt;repeatCount&gt; expression is used to determine the number of iterations of a repeated animation.</p>
+<table id="repeatCount-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;repeatCount&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;repeatCount&gt;
+  : count
+  | "indefinite"
+
+count:
+  : <loc href="#style-value-digit">&lt;digit&gt;</loc>+                       // <emph>value</emph> > 0
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;repeatCount&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.8.</p>
+</div3>
+<div3 id="animation-value-repeatDur">
+<head>&lt;repeatDur&gt;</head>
+<p>A &lt;repeatDur&gt; expression is used to control the total duration for a repeated animation.</p>
+<table id="repeatDur-syntax" role="syntax">
+<caption>Syntax Representation &ndash; &lt;repeatDur&gt;</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+&lt;repeatDur&gt;
+  : <loc href="#timing-value-timeExpression">&lt;timeExpression&gt;</loc>
+  | "indefinite"
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>The semantics of a &lt;repeatDur&gt; expression are those defined by
+<bibref ref="svg11"/>, &sect;19.2.8.</p>
+</div3>
+</div2>
 </div1>
 <div1 id="metadata">
 <head>Metadata</head>
@@ -9085,17 +9604,9 @@
 as relative URIs (fragment identifiers) with respect to the 
 TT Feature Namespace base URI.</p>
 <ednote>
-<name>#animation-referential</name>
-<date>2013-07-10</date>
-<edtext>Consider adding <code>#animation-referential</code> to designate use of <code>style</code> attribute
-on <el>set</el> element.</edtext>
-</ednote>
-<p/>
-<ednote>
-<name>#animation-targeted</name>
-<date>2013-07-10</date>
-<edtext>Consider adding <code>#animation-targeted</code> to designate use of <code>xml:href</code> or
-<code>targetElement</code> attribute on <el>set</el> element (if added).</edtext>
+<name>#animation subset features</name>
+<date>2013-08-26</date>
+<edtext>Add fine grained subset features of #animation.</edtext>
 </ednote>
 <div3 id="feature-animation">
 <head>#animation</head>
@@ -9103,6 +9614,8 @@
 feature if it recognizes and is capable of transforming the following
 vocabulary defined by <specref ref="animation"/>:</p>
 <ulist>
+<item><p><loc href="#animation-vocabulary-animation"><el>animation</el></loc></p></item>
+<item><p><loc href="#animation-vocabulary-animate"><el>animate</el></loc></p></item>
 <item><p><loc href="#animation-vocabulary-set"><el>set</el></loc></p></item>
 </ulist>
 <p>A TTML presentation processor supports the <code>#animation</code>
@@ -11650,11 +12163,11 @@
 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 id="smil3" key="SMIL 3.0">Dick Bultermann, et al.,
+<titleref href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/">Synchronized
+Multimedia Integration Language (SMIL 3.0)</titleref>,
+W3C Recommendation, 1 December 2008. (See
+<xspecref href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/">http://www.w3.org/TR/2008/REC-SMIL3-20081201/</xspecref>.)
 </bibl>
 <bibl id="smpte12m" key="SMPTE 12M">ANSI/SMPTE 12M,
 <titleref href="https://www.smpte.org/">Television, Audio and Film &ndash;
@@ -11668,6 +12181,13 @@
 &ndash; sRGB</titleref>, International Electrotechnical
 Commission (IEC).
 </bibl>
+<bibl id="svg11" key="SVG 1.1">Erik Dahlström et al., Eds.,
+<titleref
+href="http://www.w3.org/TR/2011/REC-SVG11-20110816/">Scalable
+Vector Graphics (SVG) 1.1 Second Edition</titleref>, W3C Recommendation, 16
+August 2011. (See
+<xspecref href="http://www.w3.org/TR/2011/REC-SVG11-20110816/">http://www.w3.org/TR/2011/REC-SVG11-20110816/</xspecref>.)
+</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
@@ -11680,6 +12200,12 @@
 <xspecref
 href="http://www.unicode.org/reports/tr14/tr14-17.html">http://www.unicode.org/reports/tr14/tr14-17.html</xspecref>.)
 </bibl>
+<bibl id="uri" key="URI">T. Berner-Lee, R. Fielding, and L. Masinter,
+<titleref
+href="http://www.rfc-editor.org/rfc/rfc2396.txt">Uniform Resource Identifiers (URI): Generic Syntax</titleref>,
+RFC 2396, August 1998, IETF.(See
+<xspecref href="http://www.rfc-editor.org/rfc/rfc2396.txt">http://www.rfc-editor.org/rfc/rfc2396.txt</xspecref>.)
+</bibl>
 <bibl id="utc" key="UTC">
 Recommendation TF.460,
 <titleref
@@ -11805,13 +12331,6 @@
 href="http://www.smpte.org/">Conversion from CEA-708 Caption Data to SMPTE-TT</titleref>,
 SMPTE Recommended Practice.
 </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, Ed.,
 <titleref href="http://www.w3.org/TR/2006/NOTE-ttaf1-req-20060427/">Timed Text (TT) Authoring Format 1.0 Use
 Cases and Requirements</titleref>,
@@ -11819,6 +12338,11 @@
 <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="ttml1" key="TTML1">Glenn Adams, Ed.,
+<titleref href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml1/spec/ttml1.html">Timed Text Markup Language 1 (TTML1) (Second Edition)</titleref>,
+W3C Editor's Draft. (See
+<xspecref href="https://dvcs.w3.org/hg/ttml/raw-file/default/ttml1/spec/ttml1.html">https://dvcs.w3.org/hg/ttml/raw-file/default/ttml1/spec/ttml1.html</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,
@@ -12306,6 +12830,20 @@
 <td><phrase role="strong">Notes</phrase></td>
 </tr>
 <tr>
+<td><loc href="#animation-vocabulary-animate"><code>tt:animate</code></loc></td>
+<td><code>svg:animate</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="#animation-vocabulary-animation"><code>tt:animation</code></loc></td>
+<td><code>tt:layout</code></td>
+<td><bibref ref="ttml1"/></td>
+<td>conceptual derivation</td>
+<td>12</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>
@@ -12550,6 +13088,11 @@
 <p>Derived from the use of <code>@baseProfile</code>
 and <code>@version</code> on the <code>svg:svg</code> element.</p>
 </item>
+<item>
+<p>Conceptually derived from existing <el>tt:layout</el> element,
+which is a generic container for layout specifications, but for use
+in defining animation specifications that apply to targetted elements.</p>
+</item>
 </olist>
 </note>
 </div2>
@@ -12598,21 +13141,21 @@
 <tr>
 <td><loc href="#timing-attribute-begin"><code>begin</code></loc></td>
 <td><code>begin</code></td>
-<td><bibref ref="smil21"/></td>
+<td><bibref ref="smil3"/></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><bibref ref="smil3"/></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><bibref ref="smil3"/></td>
 <td>see notes</td>
 <td>2,3,4</td>
 </tr>
@@ -12633,7 +13176,7 @@
 <tr>
 <td><loc href="#timing-attribute-timeContainer"><code>timeContainer</code></loc></td>
 <td><code>timeContainer</code></td>
-<td><bibref ref="smil21"/></td>
+<td><bibref ref="smil3"/></td>
 <td>
 -<code>excl</code>,
 -<code>none</code>;
@@ -12847,7 +13390,7 @@
 <tr>
 <td><loc href="#style-attribute-showBackground"><code>tts:showBackground</code></loc></td>
 <td><code>showBackground</code></td>
-<td><bibref ref="smil21"/></td>
+<td><bibref ref="smil3"/></td>
 <td>-<code>inherit</code></td>
 <td></td>
 </tr>
@@ -12971,7 +13514,7 @@
 </item>
 <item>
 <p>Syntactically subsets and supersets the <bibref
-ref="smil21"/>&nbsp;<code>Clock-value</code> syntax as follows:
+ref="smil3"/>&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>
Binary file ttml2/spec/xsd/schema.zip has changed
--- a/ttml2/spec/xsd/ttml2-animation.xsd	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/xsd/ttml2-animation.xsd	Mon Aug 26 19:04:37 2013 -0600
@@ -1,13 +1,54 @@
 <xs:schema targetNamespace="http://www.w3.org/ns/ttml" xml:lang="en"
   xmlns:xs="http://www.w3.org/2001/XMLSchema"
   xmlns:tt="http://www.w3.org/ns/ttml"
+  xmlns:ttd="http://www.w3.org/ns/ttml#datatype"
   xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
-  xmlns:tts="http://www.w3.org/ns/ttml#styling">
+  xmlns:tts="http://www.w3.org/ns/ttml#styling"
+  xmlns:xlink="http://www.w3.org/1999/xlink">
   <xs:include schemaLocation="ttml2-core-attribs.xsd"/>
   <xs:include schemaLocation="ttml2-timing-attribs.xsd"/>
   <xs:include schemaLocation="ttml2-metadata.xsd"/>
   <xs:import namespace="http://www.w3.org/ns/ttml#styling"
     schemaLocation="ttml2-styling-attribs.xsd"/>
+  <xs:import namespace="http://www.w3.org/ns/ttml#datatype"
+    schemaLocation="ttml2-datatypes.xsd"/>
+  <xs:import namespace="http://www.w3.org/1999/xlink"
+    schemaLocation="xlink.xsd"/>
+  <xs:attributeGroup name="animation.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class"/>
+  </xs:attributeGroup>
+  <xs:complexType name="animation.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+      <xs:element ref="tt:animate" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:animation.attlist"/>
+  </xs:complexType>
+  <xs:attributeGroup name="animate.attlist">
+    <xs:attributeGroup ref="tt:Core.attrib.class" />
+    <xs:attributeGroup ref="tt:Timed.attrib.class" />
+    <xs:attributeGroup ref="tt:Styled.attrib.class"/>
+    <xs:attribute name="accumulate" type="ttd:accumulate"/>
+    <xs:attribute name="additive" type="ttd:additive"/>
+    <xs:attribute name="attributeName" type="ttd:qualifiedName" use="required"/>
+    <xs:attribute name="by" type="ttd:animationValue"/>
+    <xs:attribute name="calcMode" type="ttd:calcMode"/>
+    <xs:attribute name="fill" type="ttd:fill"/>
+    <xs:attribute name="from" type="ttd:animationValue"/>
+    <xs:attribute name="keySplines" type="ttd:keySplines"/>
+    <xs:attribute name="keyTimes" type="ttd:keyTimes"/>
+    <xs:attribute name="repeatCount" type="ttd:repeatCount"/>
+    <xs:attribute name="repeatDur" type="ttd:repeatDur"/>
+    <xs:attribute name="to" type="ttd:animationValue"/>
+    <xs:attribute name="values" type="ttd:animationValueList"/>
+    <xs:attribute ref="xlink:href"/>
+  </xs:attributeGroup>
+  <xs:complexType name="animate.eltype">
+    <xs:sequence>
+      <xs:group ref="tt:Metadata.class" minOccurs="0" maxOccurs="unbounded"/>
+    </xs:sequence>
+    <xs:attributeGroup ref="tt:animate.attlist"/>
+  </xs:complexType>
   <xs:attributeGroup name="set.attlist">
     <xs:attributeGroup ref="tt:Core.attrib.class" />
     <xs:attributeGroup ref="tt:Timed.attrib.class" />
@@ -19,9 +60,12 @@
     </xs:sequence>
     <xs:attributeGroup ref="tt:set.attlist"/>
   </xs:complexType>
+  <xs:element name="animation" type="tt:animation.eltype"/>
+  <xs:element name="animate" type="tt:animate.eltype"/>
   <xs:element name="set" type="tt:set.eltype"/>
   <xs:group name="Animation.class">
     <xs:choice>
+      <xs:element ref="tt:animate"/>
       <xs:element ref="tt:set"/>
     </xs:choice>
   </xs:group>
--- a/ttml2/spec/xsd/ttml2-datatypes.xsd	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/xsd/ttml2-datatypes.xsd	Mon Aug 26 19:04:37 2013 -0600
@@ -2,11 +2,32 @@
 <xs:schema targetNamespace="http://www.w3.org/ns/ttml#datatype"
         xml:lang="en" xmlns:xs="http://www.w3.org/2001/XMLSchema"
         xmlns:ttd="http://www.w3.org/ns/ttml#datatype">
+  <xs:simpleType name="accumulate">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="none"/>
+      <xs:enumeration value="sum"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="additive">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="replace"/>
+      <xs:enumeration value="sum"/>
+    </xs:restriction>
+  </xs:simpleType>
+  <xs:simpleType name="agent">
+    <xs:restriction base="xs:IDREFS"/>
+  </xs:simpleType>
   <xs:simpleType name="alpha">
     <xs:restriction base="xs:float"/>
   </xs:simpleType>
-  <xs:simpleType name="agent">
-    <xs:restriction base="xs:IDREFS"/>
+  <xs:simpleType name="animationValue">
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="animationValueList">
+    <xs:annotation>
+      <xs:documentation>animationValue [ ";" animationValue ]*</xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
   </xs:simpleType>
   <xs:simpleType name="border">
     <xs:annotation>
@@ -14,6 +35,14 @@
     </xs:annotation>
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
+  <xs:simpleType name="calcMode">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="discrete"/>
+      <xs:enumeration value="linear"/>
+      <xs:enumeration value="displaced"/>
+      <xs:enumeration value="spline"/>
+    </xs:restriction>
+  </xs:simpleType>
   <xs:simpleType name="cellResolution">
     <xs:annotation>
       <xs:documentation>positiveInteger positiveInteger</xs:documentation>
@@ -84,6 +113,12 @@
       <xs:enumeration value="prohibited"/>
     </xs:restriction>
   </xs:simpleType>
+  <xs:simpleType name="fill">
+    <xs:restriction base="xs:token">
+      <xs:enumeration value="freeze"/>
+      <xs:enumeration value="remove"/>
+    </xs:restriction>
+  </xs:simpleType>
   <xs:simpleType name="fontFamily">
     <xs:restriction base="xs:string"/>
   </xs:simpleType>
@@ -106,6 +141,37 @@
       <xs:enumeration value="bold"/>
     </xs:restriction>
   </xs:simpleType>
+  <xs:simpleType name="fragmentIdentifier">
+    <xs:annotation>
+      <xs:documentation>
+        fragmentIdentifier
+          : "#" fragment
+
+        fragment
+          : uric+
+
+        uric
+          : reserved
+          | unreserved
+          | escaped
+
+        reserved
+          : [;/?:@&amp;=+$,]
+
+        unreserved
+          : [a-zA-Z]
+          | [0-9]
+          | [-_.!~*'()]
+
+        escaped
+          : "%" hex hex
+
+        hex
+          : [0-9a-fA-F]
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:anyURI"/>
+  </xs:simpleType>
   <xs:simpleType name="frameRate">
     <xs:restriction base="xs:positiveInteger"/>
   </xs:simpleType>
@@ -117,6 +183,55 @@
       <xs:pattern value="\p{Nd}+\s+\p{Nd}+"/>
     </xs:restriction>
   </xs:simpleType>
+  <xs:simpleType name="keySplines">
+    <xs:annotation>
+      <xs:documentation>
+        keySplines
+          : control [ lwsp? ";" lwsp? control ]*
+
+        control
+          : x1 comma? y1 comma? x2 comma? y2
+
+        x1, x2, y1, y2
+          : coordinate
+
+        coordinate                                // 0 ≥ value ≥ 1
+          : whole
+          | whole "." fraction
+          | "." fraction
+
+        whole, fraction
+          : digit+
+
+        comma
+          : ","
+
+        lwsp
+          : ( ' ' | '\t' | '\n' | '\r' )+
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="keyTimes">
+    <xs:annotation>
+      <xs:documentation>
+        keyTimes
+          : time [ lwsp? ";" lwsp? time ]*
+
+        time                                // 0 ≥ value ≥ 1
+          : whole
+          | whole "." fraction
+          | "." fraction
+
+        whole, fraction
+          : digit+
+
+        lwsp
+          : ( ' ' | '\t' | '\n' | '\r' )+
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
   <xs:simpleType name="lineHeight">
     <xs:annotation>
       <xs:documentation>normal | length</xs:documentation>
@@ -206,6 +321,32 @@
   <xs:simpleType name="profile">
     <xs:restriction base="xs:anyURI"/>
   </xs:simpleType>
+  <xs:simpleType name="qualifiedName">
+    <xs:restriction base="xs:QName"/>
+  </xs:simpleType>
+  <xs:simpleType name="repeatCount">
+    <xs:annotation>
+      <xs:documentation>
+        repeatCount
+          : count
+          | "indefinite"
+
+        count:
+          : digit+                         // value > 0
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
+  <xs:simpleType name="repeatDur">
+    <xs:annotation>
+      <xs:documentation>
+        repeatDur
+          : timeExpression
+          | "indefinite"
+      </xs:documentation>
+    </xs:annotation>
+    <xs:restriction base="xs:string"/>
+  </xs:simpleType>
   <xs:simpleType name="role">
     <xs:restriction>
       <xs:simpleType>
--- a/ttml2/spec/xsd/ttml2-head.xsd	Sun Aug 25 11:03:10 2013 -0600
+++ b/ttml2/spec/xsd/ttml2-head.xsd	Mon Aug 26 19:04:37 2013 -0600
@@ -9,6 +9,7 @@
   <xs:include schemaLocation="ttml2-parameters.xsd"/>
   <xs:include schemaLocation="ttml2-styling.xsd"/>
   <xs:include schemaLocation="ttml2-layout.xsd"/>
+  <xs:include schemaLocation="ttml2-animation.xsd"/>
   <xs:attributeGroup name="head.attlist">
     <xs:attributeGroup ref="tt:Core.attrib.class"/>
   </xs:attributeGroup>
@@ -18,6 +19,7 @@
       <xs:group ref="tt:Parameters.class" minOccurs="0" maxOccurs="unbounded"/>
       <xs:element ref="tt:styling" minOccurs="0" maxOccurs="1"/>
       <xs:element ref="tt:layout" minOccurs="0" maxOccurs="1"/>
+      <xs:element ref="tt:animation" minOccurs="0" maxOccurs="1"/>
     </xs:sequence>
     <xs:attributeGroup ref="tt:head.attlist"/>
   </xs:complexType>
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml2/spec/xsd/xlink.xsd	Mon Aug 26 19:04:37 2013 -0600
@@ -0,0 +1,4 @@
+<xs:schema targetNamespace="http://www.w3.org/1999/xlink" xml:lang="en"
+  xmlns:xs="http://www.w3.org/2001/XMLSchema">
+  <xs:attribute name="href" type="xs:anyURI"/>
+</xs:schema>