Use new-style attribute definition boxes in Animation chapter.
authorCameron McCormack <cam@mcc.id.au>
Fri, 27 Sep 2013 17:18:22 +1000
changeset 542 fdd91ca91fa6
parent 541 7d5b80b705dc
child 543 5d80618cb08e
Use new-style attribute definition boxes in Animation chapter.
master/animate.html
--- a/master/animate.html	Tue Sep 24 11:35:31 2013 +1000
+++ b/master/animate.html	Fri Sep 27 17:18:22 2013 +1000
@@ -348,44 +348,57 @@
 <p>The following attribute is common to all animation
 elements and identifies the target element for the animation.</p>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="HrefAttribute"><span class="adef">xlink:href</span> = "<span
-        class="attr-value"><a
-        href="types.html#DataTypeIRI">&lt;iri&gt;</a></span>"</dt>
-        <dd><p>An <a>IRI
-        reference</a> to the element which is the target of this
-        animation and which therefore will be modified over
-        time.</p>
-        <p>The target element must be part of the <a>current
-        SVG document fragment</a>.</p>
-        <p>&lt;iri&gt; must point to exactly one target element which
-        is capable of being the target of the given animation. If
-        &lt;iri&gt; points to multiple target elements, if the
-        given target element is not capable of being a target of
-        the given animation, or if the given target element is not
-        part of the current SVG document fragment, then the
-        document is in error (see <a
-        href="implnote.html#ErrorProcessing">Error
-        processing</a>).</p>
-        <p>If the <a>'xlink:href'</a> attribute
-        is not provided, then the target element will be the
-        immediate parent element of the current animation
-        element.</p>
-        <p>Refer to the descriptions of the individual animation
-        elements for any restrictions on what types of elements can
-        be targets of particular types of animations.</p>
-        <p>Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-        specification.
-        In particular, see <a
-        href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
-        SMIL Animation: Specifying the animation target</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p></dd>
-      </dl>
-    </div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="HrefAttribute">xlink:href</dfn></td>
+        <td><a>&lt;iri&gt;</a></td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>An <a>IRI reference</a> to the element which is the target of this
+    animation and which therefore will be modified over
+    time.</p>
+    <p>The target element must be part of the <a>current
+    SVG document fragment</a>.</p>
+    <p>&lt;iri&gt; must point to exactly one target element which
+    is capable of being the target of the given animation. If
+    &lt;iri&gt; points to multiple target elements, if the
+    given target element is not capable of being a target of
+    the given animation, or if the given target element is not
+    part of the current SVG document fragment, then the
+    document is in error (see <a
+    href="implnote.html#ErrorProcessing">Error
+    processing</a>).</p>
+    <p>If the <a>'xlink:href'</a> attribute
+    is not provided, then the target element will be the
+    immediate parent element of the current animation
+    element.</p>
+    <p>Refer to the descriptions of the individual animation
+    elements for any restrictions on what types of elements can
+    be targets of particular types of animations.</p>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
+    SMIL Animation: Specifying the animation target</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p>
+  </dd>
+</dl>
 
 <h3 id="TargetAttributes">Attributes to identify the target attribute or property for an animation</h3>
 
@@ -394,65 +407,92 @@
 <a href="animate.html#TargetElement">target element</a> whose value changes
 over time.</p>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="AttributeNameAttribute"><span class='adef'>attributeName</span>
-        = "<span class='attr-value'>&lt;attributeName&gt;</span>"</dt>
-        <dd><p>Specifies the name of the target attribute. An XMLNS
-        prefix may be used to indicate the XML namespace for the
-        attribute. The prefix will be interpreted in the scope of
-        the current (i.e., the referencing) animation
-        element.</p>
-        <p>Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-        specification.
-        In particular, see <a
-        href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
-        SMIL Animation: Specifying the animation target</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p></dd>
-        <dt id="AttributeTypeAttribute"><span class='adef'>attributeType</span>
-        = "<span class='attr-value'>CSS | XML | auto</span>"</dt>
-        <dd>
-          <p>Specifies the namespace in which the target attribute and
-          its associated values are defined. The attribute value is
-          one of the following (values are case-sensitive):</p>
-          <dl>
-            <dt><span class='attr-value'>CSS</span></dt>
-            <dd>This specifies that the value of <a>'attributeName'</a> is
-            the name of a CSS property defined as animatable in
-            this specification.</dd>
-            <dt><span class='attr-value'>XML</span></dt>
-            <dd>This specifies that the value of <a>'attributeName'</a> is
-            the name of an XML attribute defined in the default XML
-            namespace for the target element. If the value for
-            <a>'attributeName'</a> has an XMLNS prefix, the
-            implementation must use the associated namespace as
-            defined in the scope of the target element. The
-            attribute must be defined as animatable in this
-            specification.</dd>
-            <dt><span class='attr-value'>auto</span></dt>
-            <dd>The implementation should match the
-            <a>'attributeName'</a> to an attribute for the
-            target element. The implementation must first search
-            through the list of CSS properties for a matching
-            property name, and if none is found, search the default
-            XML namespace for the element.</dd>
-          </dl>
-          <p>The default value is <span class='attr-value'>'auto'</span>.</p>
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-          specification.
-          In particular, see <a
-          href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
-          SMIL Animation: Specifying the animation target</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p>
-        </dd>
-      </dl>
-    </div>
-    
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AttributeNameAttribute">attributeName</dfn></td>
+        <td><a>&lt;XML-Name&gt;</a></td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the name of the target attribute. An XMLNS
+    prefix may be used to indicate the XML namespace for the
+    attribute. The prefix will be interpreted in the scope of
+    the current (i.e., the referencing) animation
+    element.</p>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
+    SMIL Animation: Specifying the animation target</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AttributeTypeAttribute">attributeType</dfn></td>
+        <td>CSS | XML | auto</td>
+        <td>auto</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the namespace in which the target attribute and
+    its associated values are defined. The attribute value is
+    one of the following (values are case-sensitive):</p>
+    <dl>
+      <dt><span class='attr-value'>CSS</span></dt>
+      <dd>This specifies that the value of <a>'attributeName'</a> is
+      the name of a CSS property defined as animatable in
+      this specification.</dd>
+      <dt><span class='attr-value'>XML</span></dt>
+      <dd>This specifies that the value of <a>'attributeName'</a> is
+      the name of an XML attribute defined in the default XML
+      namespace for the target element. If the value for
+      <a>'attributeName'</a> has an XMLNS prefix, the
+      implementation must use the associated namespace as
+      defined in the scope of the target element. The
+      attribute must be defined as animatable in this
+      specification.</dd>
+      <dt><span class='attr-value'>auto</span></dt>
+      <dd>The implementation should match the
+      <a>'attributeName'</a> to an attribute for the
+      target element. The implementation must first search
+      through the list of CSS properties for a matching
+      property name, and if none is found, search the default
+      XML namespace for the element.</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
+    SMIL Animation: Specifying the animation target</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.1).</p>
+  </dd>
+</dl>
 
 <h3 id="Animation.nsexample">Animation with namespaces</h3>
 
@@ -609,358 +649,443 @@
 S ::= (#x20 | #x9 | #xD | #xA)*
 </pre>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="BeginAttribute"><span class='adef'>begin</span> =
-        "<span class='attr-value'><a href="#BeginValueListSyntax">begin-value-list</a></span>"</dt>
-        <dd>
-          <p>Defines when the element should begin (i.e. become
-          active).</p>
-          <p>The attribute value is a semicolon separated list of
-          values.</p>
-           
-          <dl>
-            <dt id="BeginValueListSyntax">begin-value-list ::= <a
-            href="#BeginValueSyntax">begin-value</a> (S? ";" S?
-            begin-value-list )?</dt>
-            <dd>A semicolon separated list of begin values. The
-            interpretation of a list of begin times is detailed in
-            SMIL Animation's section on <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Timing-EvaluationOfBeginEndTimeLists">
-            "Evaluation of begin and end time lists"</a>.</dd>
-            <dt id="BeginValueSyntax">begin-value ::= ( <a
-            href="#OffsetValueSyntax">offset-value</a> | <a
-            href="#SyncbaseValueSyntax">syncbase-value</a> | <a
-            href="#EventValueSyntax">event-value</a> | <a
-            href="#RepeatValueSyntax">repeat-value</a> | <a
-            href="#AccessKeyValueSyntax">accessKey-value</a> | <a
-            href="#WallclockSyncValueSyntax">wallclock-sync-value</a>
-            | <a href="#IndefiniteValue">"indefinite"</a> )</dt>
-            <dd>Describes the element begin.</dd>
-            <dt id="OffsetValueSyntax">offset-value ::= ( S? "+" |
-            "-" S? )? ( <a
-            href="animate.html#ClockValueSyntax">Clock-value</a>
-            )</dt>
-            <dd>For SMIL Animation, this describes the element
-            begin as an offset from an implicit syncbase. For SVG,
-            the implicit syncbase begin is defined to be relative
-            to the document begin. Negative begin times are
-            entirely valid and easy to compute, as long as there is
-            a resolved document begin time.</dd>
-            <dt id="SyncbaseValueSyntax">syncbase-value ::= (
-            Id-value "." ( "begin" | "end" ) ) ( S? ("+"|"-") S? <a
-            href="animate.html#ClockValueSyntax">Clock-value</a>
-            )?</dt>
-            <dd>Describes a <dfn>syncbase</dfn>
-            and an optional offset from that syncbase. The element
-            begin is defined relative to the begin or active end of
-            another animation. A syncbase consists of an ID
-            reference to another animation element followed by
-            either <code>begin</code> or <code>end</code> to
-            identify whether to synchronize with the beginning or
-            active end of the referenced animation element.</dd>
-            <dt id="EventValueSyntax">event-value ::= ( Id-value
-            "." )? ( event-ref ) ( S? ("+"|"-") S? <a
-            href="animate.html#ClockValueSyntax">Clock-value</a>
-            )?</dt>
-            <dd>Describes an event and an optional offset that
-            determine the element begin. The animation begin is
-            defined relative to the time that the event is raised.
-            The list of event-symbols available for a given
-            event-base element is the list of event attributes
-            available for the given element as defined in the <a
-            href="interact.html">Interactivity</a> chapter, with the one difference
-            that the leading 'on' is removed from the event name
-            (i.e., the animation event name is 'click', not
-            'onclick'). A list of all events supported by SVG can
-            be found in <a href="interact.html#SVGEvents">Complete
-            list of supported events</a>. Details of event-based
-            timing are described in <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Unifying">
-            SMIL Animation: Unifying Event-based and Scheduled
-            Timing</a>.</dd>
-            <dt id="RepeatValueSyntax">repeat-value ::= ( Id-value
-            "." )? "repeat(" integer ")" ( S? ("+"|"-") S? <a
-            href="animate.html#ClockValueSyntax">Clock-value</a>
-            )?</dt>
-            <dd>Describes a qualified repeat event. The element
-            begin is defined relative to the time that the repeat
-            event is raised with the specified iteration
-            value.</dd>
-            <dt id="AccessKeyValueSyntax">accessKey-value ::=
-            "accessKey(" character ")" ( S? ("+"|"-") S? <a
-            href="animate.html#ClockValueSyntax">Clock-value</a>
-            )?</dt>
-            <dd>Describes an accessKey that determines the element
-            begin. The element begin is defined relative to the
-            time that the accessKey character is input by the
-            user.</dd>
-            <dt id="WallclockSyncValueSyntax">wallclock-sync-value ::= "wallclock(" wallclock-value
-            ")"</dt>
-            <dd>Describes the element begin as a real-world clock
-            time. The wallclock time syntax is based upon syntax
-            defined in <cite>Representation of dates and times</cite>
-            [<a href="refs.html#ref-ISO8601">ISO8601</a>].</dd>
-            <dt id="IndefiniteValue">"indefinite"</dt>
-            <dd><p>The begin of the animation will be determined by a
-            "beginElement()" method call or a hyperlink targeted to
-            the element.</p>
-            <p>The animation DOM methods are described in <a
-            href="#DOMInterfaces">DOM interfaces</a>.</p>
-            <p>Hyperlink-based timing is described in <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#HyperlinkSemantics">
-            SMIL Animation: Hyperlinks and timing</a>.</p></dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-          specification.
-          In particular, see <a
-          href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
-          SMIL Animation: 'begin' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.1).</p>
-        </dd>
-
-        <dt id="DurAttribute"><span class='adef'>dur</span> =
-        <span class='attr-value'><a href="#ClockValueSyntax">Clock-value</a> | "media" | "indefinite"</span></dt>
-        <dd>
-          <p>Specifies the simple duration.</p>
-          <p>The attribute value can be one of the following:</p>
-          <dl>
-            <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
-            <dd>Specifies the length of the simple duration in <a
-            href="#PresentationTime">presentation time</a>. Value
-            must be greater than 0.</dd>
-            <dt>"media"</dt>
-            <dd>Specifies the simple duration as the intrinsic
-            media duration. This is only valid for elements that
-            define media.<br />
-             (For SVG's <a href="#AnimationElements">animation elements</a>, if <span
-            class="attr-value">'media'</span> is specified, the
-            attribute will be ignored.)</dd>
-            <dt>"indefinite"</dt>
-            <dd>Specifies the simple duration as indefinite.</dd>
-          </dl>
-          <p>If the animation does not have a <a>'dur'</a> attribute, the simple
-          duration is indefinite. Note that interpolation will not
-          work if the simple duration is indefinite (although this
-          may still be useful for <a>'set'</a> elements). Except
-          for any SVG-specific rules explicitly mentioned in this
-          specification, the normative definition for this
-          attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-          specification.
-          In particular, see <a
-          href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#DurAttribute">
-          SMIL Animation: 'dur' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.1).</p>
-        </dd>
-
-        <dt id="EndAttribute"><span class='adef'>end</span> = "<span class='attr-value'><a
-        href="#EndValueListSyntax">end-value-list</a></span>"</dt>
-        <dd>
-          <p>Defines an end value for the animation that can constrain
-          the active duration. The attribute value is a semicolon
-          separated list of values.</p>
-           
-          <dl>
-            <dt id="EndValueListSyntax">end-value-list ::= <a
-            href="#EndValueSyntax">end-value</a> (S? ";" S?
-            end-value-list )?</dt>
-            <dd>A semicolon separated list of end values. The
-            interpretation of a list of end times is detailed
-            below.</dd>
-          </dl>
-           
-          <dl>
-            <dt id="EndValueSyntax">end-value ::= ( <a
-            href="#OffsetValueSyntax">offset-value</a> | <a
-            href="#SyncbaseValueSyntax">syncbase-value</a> | <a
-            href="#EventValueSyntax">event-value</a> | <a
-            href="#RepeatValueSyntax">repeat-value</a> | <a
-            href="#AccessKeyValueSyntax">accessKey-value</a> | <a
-            href="#WallclockSyncValueSyntax">wallclock-sync-value</a>
-            | "indefinite" )</dt>
-            <dd>Describes the active end of the animation.</dd>
-          </dl>
-          <p>A value of <span class="attr-value">'indefinite'</span>
-          specifies that the end of the animation will be
-          determined by an <a>SVGAnimationElement::endElement</a> method call (the animation
-          DOM methods are described in <a href="#DOMInterfaces">DOM
-          interfaces</a>).</p>
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
-          specification.
-          In particular, see <a
-          href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#EndActiveAttribute">
-          SMIL Animation: 'end' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.2).</p>
-        </dd>
-        <dt id="MinAttribute"><span class='adef'>min</span> = <span class='attr-value'><a
-        href="#ClockValueSyntax">Clock-value</a> | "media"</span></dt>
-        <dd>
-          <p>Specifies the minimum value of the active duration.</p>
-          <p>The attribute value can be either of the following:</p>
-          <dl>
-            <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
-            <dd><p>Specifies the length of the minimum value of the
-            active duration, measured in local time.</p>
-            <p>Value must be greater than 0.</p></dd>
-            <dt>"media"</dt>
-            <dd>Specifies the minimum value of the active duration
-            as the intrinsic media duration. This is only valid for
-            elements that define media. (For SVG's <a href="#AnimationElements">animation elements</a>,
-            if <span class="attr-value">'media'</span> is specified, the
-            attribute will be ignored.)</dd>
-          </dl>
-          <p>The default value for <a>'min'</a>
-          is <span class='attr-value'>'0'</span>. This does not constrain the active duration at
-          all.</p>
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MinMax">SMIL Animation: 'min' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.3).</p>
-        </dd>
-        <dt id="MaxAttribute"><span class='adef'>max</span> = <span class='attr-value'><a
-        href="#ClockValueSyntax">Clock-value</a> | "media"</span></dt>
-        <dd>
-          <p>Specifies the maximum value of the active duration.</p>
-          <p>The attribute value can be either of the following:</p>
-          <dl>
-            <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
-            <dd><p>Specifies the length of the maximum value of the
-            active duration, measured in local time.</p>
-            <p>Value must be greater than 0.</p></dd>
-            <dt>"media"</dt>
-            <dd>Specifies the maximum value of the active duration
-            as the intrinsic media duration. This is only valid for
-            elements that define media. (For SVG's
-            <a href="#AnimationElements">animation elements</a>, if <span
-            class="attr-value">'media'</span> is specified, the
-            attribute will be ignored.)</dd>
-          </dl>
-          <p>There is no default value for <a>'max'</a>. This does not constrain the
-          active duration at all.</p>
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MinMax">SMIL Animation: 'max' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.3).</p>
-        </dd>
-        <dt id="RestartAttribute"><span class='adef'>restart</span> =
-        <span class='attr-value'>"always" | "whenNotActive" | "never"</span></dt>
-        <dd>
-          <dl>
-            <dt><span class='attr-value'>always</span></dt>
-            <dd>The animation can be restarted at any
-            time.&nbsp;<br />
-             This is the default value.</dd>
-            <dt><span class='attr-value'>whenNotActive</span></dt>
-            <dd>The animation can only be restarted when it is not
-            active (i.e. after the active end). Attempts to restart
-            the animation during its active duration are
-            ignored.</dd>
-            <dt><span class='attr-value'>never</span></dt>
-            <dd>The element cannot be restarted for the remainder
-            of the current simple duration of the parent time
-            container. (In the case of SVG, since the parent time
-            container is the SVG document fragment, then the
-            animation cannot be restarted for the remainder of the
-            document duration.)</dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RestartAttribute">SMIL Animation: 'restart' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.7).</p>
-        </dd>
-        <dt id="RepeatCountAttribute"><span class='adef'>repeatCount</span> =
-        <span class='attr-value'>numeric value | "indefinite"</span></dt>
-        <dd>
-          <p>Specifies the number of iterations of the animation
-          function. It can have the following attribute values:</p>
-          <dl>
-            <dt>numeric value</dt>
-            <dd>This is a (base 10) "floating point" numeric value
-            that specifies the number of iterations. It can include
-            partial iterations expressed as fraction values. A
-            fractional value describes a portion of the <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationFunction">
-            simple duration</a>. Values must be greater than
-            0.</dd>
-            <dt>"indefinite"</dt>
-            <dd>The animation is defined to repeat indefinitely
-            (i.e. until the document ends).</dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RepeatCountAttribute">SMIL Animation: 'repeatCount' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
-        </dd>
-        <dt id="RepeatDurAttribute"><span class='adef'>repeatDur</span> =
-        <span class='attr-value'><a href="#ClockValueSyntax">Clock-value</a> |
-        "indefinite"</span></dt>
-        <dd>
-          <p>Specifies the total duration for repeat. It can have the
-          following attribute values:</p>
-          <dl>
-            <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
-            <dd>Specifies the duration in <a
-            href="#PresentationTime">presentation time</a> to
-            repeat the animation function
-            <code><strong>f(t)</strong></code>.</dd>
-            <dt>"indefinite"</dt>
-            <dd>The animation is defined to repeat indefinitely
-            (i.e. until the document ends).</dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RepeatDurAttribute">SMIL Animation: 'repeatDur' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
-        </dd>
-        <dt id="FillAttribute"><span class='adef'>fill</span> =
-        <span class='attr-value'>"freeze" | "remove"</span></dt>
-        <dd>
-          <p>This attribute can have the following values:</p>
-          <dl>
-            <dt><span class='attr-value'>freeze</span></dt>
-            <dd>The animation effect <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimationModel">
-            F(t)</a> is defined to freeze the effect value at the
-            last value of the active duration. The animation effect
-            is "frozen" for the remainder of the document duration
-            (or until the animation is restarted - see <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Restart">
-            SMIL Animation: Restarting animation</a>).</dd>
-            <dt><span class='attr-value'>remove</span></dt>
-            <dd><p>The animation effect is removed (no longer applied)
-            when the active duration of the animation is over.
-            After the active end of the animation, the animation no
-            longer affects the target (unless the animation is
-            restarted - see <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Restart">
-            SMIL Animation: Restarting animation</a>).</p>
-            <p>This is the default value.</p></dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FillAttribute">SMIL Animation: 'fill' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.5).</p>
-        </dd>
-      </dl>
-
-    </div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="BeginAttribute">begin</dfn></td>
+        <td><a href="#BeginValueListSyntax">begin-value-list</a></td>
+        <td>0s</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Defines when the element should begin (i.e. become
+    active).</p>
+    <p>The attribute value is a semicolon separated list of
+    values.</p>
+     
+    <dl>
+      <dt id="BeginValueListSyntax">begin-value-list ::= <a
+      href="#BeginValueSyntax">begin-value</a> (S? ";" S?
+      begin-value-list )?</dt>
+      <dd>A semicolon separated list of begin values. The
+      interpretation of a list of begin times is detailed in
+      SMIL Animation's section on <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Timing-EvaluationOfBeginEndTimeLists">
+      "Evaluation of begin and end time lists"</a>.</dd>
+      <dt id="BeginValueSyntax">begin-value ::= ( <a
+      href="#OffsetValueSyntax">offset-value</a> | <a
+      href="#SyncbaseValueSyntax">syncbase-value</a> | <a
+      href="#EventValueSyntax">event-value</a> | <a
+      href="#RepeatValueSyntax">repeat-value</a> | <a
+      href="#AccessKeyValueSyntax">accessKey-value</a> | <a
+      href="#WallclockSyncValueSyntax">wallclock-sync-value</a>
+      | <a href="#IndefiniteValue">"indefinite"</a> )</dt>
+      <dd>Describes the element begin.</dd>
+      <dt id="OffsetValueSyntax">offset-value ::= ( S? "+" |
+      "-" S? )? ( <a
+      href="animate.html#ClockValueSyntax">Clock-value</a>
+      )</dt>
+      <dd>For SMIL Animation, this describes the element
+      begin as an offset from an implicit syncbase. For SVG,
+      the implicit syncbase begin is defined to be relative
+      to the document begin. Negative begin times are
+      entirely valid and easy to compute, as long as there is
+      a resolved document begin time.</dd>
+      <dt id="SyncbaseValueSyntax">syncbase-value ::= (
+      Id-value "." ( "begin" | "end" ) ) ( S? ("+"|"-") S? <a
+      href="animate.html#ClockValueSyntax">Clock-value</a>
+      )?</dt>
+      <dd>Describes a <dfn>syncbase</dfn>
+      and an optional offset from that syncbase. The element
+      begin is defined relative to the begin or active end of
+      another animation. A syncbase consists of an ID
+      reference to another animation element followed by
+      either <code>begin</code> or <code>end</code> to
+      identify whether to synchronize with the beginning or
+      active end of the referenced animation element.</dd>
+      <dt id="EventValueSyntax">event-value ::= ( Id-value
+      "." )? ( event-ref ) ( S? ("+"|"-") S? <a
+      href="animate.html#ClockValueSyntax">Clock-value</a>
+      )?</dt>
+      <dd>Describes an event and an optional offset that
+      determine the element begin. The animation begin is
+      defined relative to the time that the event is raised.
+      The list of event-symbols available for a given
+      event-base element is the list of event attributes
+      available for the given element as defined in the <a
+      href="interact.html">Interactivity</a> chapter, with the one difference
+      that the leading 'on' is removed from the event name
+      (i.e., the animation event name is 'click', not
+      'onclick'). A list of all events supported by SVG can
+      be found in <a href="interact.html#SVGEvents">Complete
+      list of supported events</a>. Details of event-based
+      timing are described in <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Unifying">
+      SMIL Animation: Unifying Event-based and Scheduled
+      Timing</a>.</dd>
+      <dt id="RepeatValueSyntax">repeat-value ::= ( Id-value
+      "." )? "repeat(" integer ")" ( S? ("+"|"-") S? <a
+      href="animate.html#ClockValueSyntax">Clock-value</a>
+      )?</dt>
+      <dd>Describes a qualified repeat event. The element
+      begin is defined relative to the time that the repeat
+      event is raised with the specified iteration
+      value.</dd>
+      <dt id="AccessKeyValueSyntax">accessKey-value ::=
+      "accessKey(" character ")" ( S? ("+"|"-") S? <a
+      href="animate.html#ClockValueSyntax">Clock-value</a>
+      )?</dt>
+      <dd>Describes an accessKey that determines the element
+      begin. The element begin is defined relative to the
+      time that the accessKey character is input by the
+      user.</dd>
+      <dt id="WallclockSyncValueSyntax">wallclock-sync-value ::= "wallclock(" wallclock-value
+      ")"</dt>
+      <dd>Describes the element begin as a real-world clock
+      time. The wallclock time syntax is based upon syntax
+      defined in <cite>Representation of dates and times</cite>
+      [<a href="refs.html#ref-ISO8601">ISO8601</a>].</dd>
+      <dt id="IndefiniteValue">"indefinite"</dt>
+      <dd><p>The begin of the animation will be determined by a
+      "beginElement()" method call or a hyperlink targeted to
+      the element.</p>
+      <p>The animation DOM methods are described in <a
+      href="#DOMInterfaces">DOM interfaces</a>.</p>
+      <p>Hyperlink-based timing is described in <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#HyperlinkSemantics">
+      SMIL Animation: Hyperlinks and timing</a>.</p></dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationTarget">
+    SMIL Animation: 'begin' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.1).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="DurAttribute">dur</dfn></td>
+        <td><a href="#ClockValueSyntax">Clock-value</a> | "media" | "indefinite"</td>
+        <td>indefinite</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the simple duration.</p>
+    <p>The attribute value can be one of the following:</p>
+    <dl>
+      <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
+      <dd>Specifies the length of the simple duration in <a
+      href="#PresentationTime">presentation time</a>. Value
+      must be greater than 0.</dd>
+      <dt>"media"</dt>
+      <dd>Specifies the simple duration as the intrinsic
+      media duration. This is only valid for elements that
+      define media.<br />
+       (For SVG's <a href="#AnimationElements">animation elements</a>, if <span
+      class="attr-value">'media'</span> is specified, the
+      attribute will be ignored.)</dd>
+      <dt>"indefinite"</dt>
+      <dd>Specifies the simple duration as indefinite.</dd>
+    </dl>
+    <p>If the animation does not have a <a>'dur'</a> attribute, the simple
+    duration is indefinite. Note that interpolation will not
+    work if the simple duration is indefinite (although this
+    may still be useful for <a>'set'</a> elements). Except
+    for any SVG-specific rules explicitly mentioned in this
+    specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#DurAttribute">
+    SMIL Animation: 'dur' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.1).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="EndAttribute">end</dfn></td>
+        <td><a href="#EndValueListSyntax">end-value-list</a></td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Defines an end value for the animation that can constrain
+    the active duration. The attribute value is a semicolon
+    separated list of values.</p>
+     
+    <dl>
+      <dt id="EndValueListSyntax">end-value-list ::= <a
+      href="#EndValueSyntax">end-value</a> (S? ";" S?
+      end-value-list )?</dt>
+      <dd>A semicolon separated list of end values. The
+      interpretation of a list of end times is detailed
+      below.</dd>
+    </dl>
+     
+    <dl>
+      <dt id="EndValueSyntax">end-value ::= ( <a
+      href="#OffsetValueSyntax">offset-value</a> | <a
+      href="#SyncbaseValueSyntax">syncbase-value</a> | <a
+      href="#EventValueSyntax">event-value</a> | <a
+      href="#RepeatValueSyntax">repeat-value</a> | <a
+      href="#AccessKeyValueSyntax">accessKey-value</a> | <a
+      href="#WallclockSyncValueSyntax">wallclock-sync-value</a>
+      | "indefinite" )</dt>
+      <dd>Describes the active end of the animation.</dd>
+    </dl>
+    <p>A value of <span class="attr-value">'indefinite'</span>
+    specifies that the end of the animation will be
+    determined by an <a>SVGAnimationElement::endElement</a> method call (the animation
+    DOM methods are described in <a href="#DOMInterfaces">DOM
+    interfaces</a>).</p>
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for this
+    attribute is the <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
+    specification.
+    In particular, see <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#EndActiveAttribute">
+    SMIL Animation: 'end' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.2).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="MinAttribute">min</dfn></td>
+        <td><a href="#ClockValueSyntax">Clock-value</a> | "media"</td>
+        <td>0s</td>
+        <td>no</td>
+      </tr>
+      <tr>
+        <td><dfn id="MaxAttribute">max</dfn></td>
+        <td><a href="#ClockValueSyntax">Clock-value</a> | "media"</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>The <a>'min'</a> and <a>'max'</a> attributes specify the minimum and
+    maximum value of the active duration, respectively.</p>
+    <p>The attribute values can be either of the following:</p>
+    <dl>
+      <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
+      <dd><p>Specifies the length of the minimum or maximum value of the
+      active duration, measured in local time.</p>
+      <p>Value must be greater than 0.</p></dd>
+      <dt>"media"</dt>
+      <dd>Specifies the minimum value of the active duration
+      as the intrinsic media duration. This is only valid for
+      elements that define media. (For SVG's <a href="#AnimationElements">animation elements</a>,
+      if <span class="attr-value">'media'</span> is specified, the
+      attribute will be ignored.)</dd>
+    </dl>
+    <p>The lacuna value for <a>'min'</a> is <span class='attr-value'>'0'</span> and
+    there is no lacuna value for <a>'max'</a>.  In both cases, this does not
+    constrain the active duration at all.</p>
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for these
+    attributes is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MinMax">SMIL Animation: The min and max attributes</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.3).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="RestartAttribute">restart</dfn></td>
+        <td>always | whenNotActive | never</td>
+        <td>always</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <dl>
+      <dt><span class='attr-value'>always</span></dt>
+      <dd>The animation can be restarted at any
+      time.  This is the default value.</dd>
+      <dt><span class='attr-value'>whenNotActive</span></dt>
+      <dd>The animation can only be restarted when it is not
+      active (i.e. after the active end). Attempts to restart
+      the animation during its active duration are
+      ignored.</dd>
+      <dt><span class='attr-value'>never</span></dt>
+      <dd>The element cannot be restarted for the remainder
+      of the current simple duration of the parent time
+      container. (In the case of SVG, since the parent time
+      container is the SVG document fragment, then the
+      animation cannot be restarted for the remainder of the
+      document duration.)</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RestartAttribute">SMIL Animation: 'restart' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.7).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="RepeatCountAttribute">repeatCount</dfn></td>
+        <td><a>&lt;number&gt;</a> | indefinite</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the number of iterations of the animation
+    function. It can have the following attribute values:</p>
+    <dl>
+      <dt><a>&lt;number&gt;</a></dt>
+      <dd>This is a (base 10) "floating point" numeric value
+      that specifies the number of iterations. It can include
+      partial iterations expressed as fraction values. A
+      fractional value describes a portion of the <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#SpecifyingAnimationFunction">
+      simple duration</a>. Values must be greater than
+      0.</dd>
+      <dt>indefinite</dt>
+      <dd>The animation is defined to repeat indefinitely
+      (i.e. until the document ends).</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RepeatCountAttribute">SMIL Animation: 'repeatCount' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="RepeatDurAttribute">repeatDur</dfn></td>
+        <td><a href="#ClockValueSyntax">Clock-value</a> | "indefinite"</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the total duration for repeat. It can have the
+    following attribute values:</p>
+    <dl>
+      <dt><a href="#ClockValueSyntax">Clock-value</a></dt>
+      <dd>Specifies the duration in <a
+      href="#PresentationTime">presentation time</a> to
+      repeat the animation function
+      <code><strong>f(t)</strong></code>.</dd>
+      <dt>"indefinite"</dt>
+      <dd>The animation is defined to repeat indefinitely
+      (i.e. until the document ends).</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#RepeatDurAttribute">SMIL Animation: 'repeatDur' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="FillAttribute">fill</dfn></td>
+        <td>freeze | remove</td>
+        <td>remove</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>This attribute can have the following values:</p>
+    <dl>
+      <dt><span class='attr-value'>freeze</span></dt>
+      <dd>The animation effect <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimationModel">
+      F(t)</a> is defined to freeze the effect value at the
+      last value of the active duration. The animation effect
+      is "frozen" for the remainder of the document duration
+      (or until the animation is restarted - see <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Restart">
+      SMIL Animation: Restarting animation</a>).</dd>
+      <dt><span class='attr-value'>remove</span></dt>
+      <dd><p>The animation effect is removed (no longer applied)
+      when the active duration of the animation is over.
+      After the active end of the animation, the animation no
+      longer affects the target (unless the animation is
+      restarted - see <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#Restart">
+      SMIL Animation: Restarting animation</a>).</p></dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FillAttribute">SMIL Animation: 'fill' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.5).</p>
+  </dd>
+</dl>
 
 <p>The <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a>
 specification [<a href="refs.html#ref-SMILANIM">SMILANIM</a>] defines the detailed processing
@@ -1035,344 +1160,412 @@
 control over the relative timing of keyframes and the
 interpolation method between discrete values.</p>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="CalcModeAttribute"><span class='adef'>calcMode</span> =
-        <span class="attr-value">"discrete | linear | paced | spline"</span></dt>
-        <dd>
-          <p>Specifies the interpolation mode for the animation. This
-          can take any of the following values. The default mode is
-          <span class='attr-value'>'linear'</span>, however if the attribute does not support
-          linear interpolation (e.g. for strings), the
-          <a>'calcMode'</a> attribute is ignored and discrete
-          interpolation is used.</p>
-          <dl>
-            <dt><span class='attr-value'>discrete</span></dt>
-            <dd>This specifies that the animation function will
-            jump from one value to the next without any
-            interpolation.</dd>
-            <dt><span class='attr-value'>linear</span></dt>
-            <dd>Simple linear interpolation between values is used
-            to calculate the animation function. Except for <a>'animateMotion'</a>, this
-            is the default <a>'calcMode'</a>.</dd>
-            <dt><span class='attr-value'>paced</span></dt>
-            <dd>
-            Defines interpolation to produce an even pace of
-            change across the animation. This is only supported for the
-            data types for which there is an appropriate distance function
-            defined, which includes only scalar numeric types plus the
-            types listed in <a href="#complexDistances">Paced animation and complex types</a>.
-            If <span class='attr-value'>'paced'</span> is specified, any
-            <a>'keyTimes'</a> or <a>'keySplines'</a> will
-            be ignored. For <a>'animateMotion'</a>, this
-            is the default <a>'calcMode'</a>.
-            Authors are discouraged from using paced animation on types
-            that do not have a distance function defined, due to its
-            unpredictable behavior in some user agents.</dd>
-            <dt><span class='attr-value'>spline</span></dt>
-            <dd>Interpolates from one value in the
-            <a>'values'</a> list to the next according to a
-            time function defined by a cubic Bézier spline.
-            The points of the spline are defined in the
-            <a>'keyTimes'</a> attribute, and the control points
-            for each interval are defined in the
-            <a>'keySplines'</a> attribute.</dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned in
-          this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#CalcModeAttribute">SMIL Animation: 'calcMode' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p>
-        </dd>
-        <dt id="ValuesAttribute"><span class='adef'>values</span> =
-        <span class='attr-value'>"&lt;list&gt;"</span></dt>
-        <dd>A semicolon-separated list of one or more values.
-        Vector-valued attributes are supported using the vector
-        syntax of the <a>'attributeType'</a> domain. Per the SMIL
-        specification, leading and trailing white space,
-        and white space before and after semicolon separators,
-        is allowed and will be ignored.  Except for
-        any SVG-specific rules explicitly mentioned in this
-        specification, the normative definition for this attribute
-        is the
-        <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-        In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ValuesAttribute">SMIL Animation: 'values' attribute</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</dd>
-        <dt id="KeyTimesAttribute"><span class='adef'>keyTimes</span> =
-        <span class='attr-value'>"&lt;list&gt;"</span></dt>
-        <dd>
-          <p>A semicolon-separated list of time values used to control
-          the pacing of the animation. Each time in the list
-          corresponds to a value in the <a>'values'</a>
-          attribute list, and defines when the value is used in the
-          animation function. Each time value in the
-          <a>'keyTimes'</a> list is specified as a floating
-          point value between 0 and 1 (inclusive), representing a
-          proportional offset into the simple duration of the
-          animation element.</p>
-
-          <p>For animations specified with a <a>'values'</a> list, the
-          <a>'keyTimes'</a> attribute if specified must have exactly as many
-          values as there are in the <a>'values'</a> attribute. For from/to/by
-          animations, the <a>'keyTimes'</a> attribute if specified must have
-          two values.</p>
-
-          <p>Each successive time value must be greater than or equal
-          to the preceding time value.</p>
-           
-          <p>The <a>'keyTimes'</a> list semantics depends upon
-          the interpolation mode:</p>
-          <ul>
-            <li>For linear and spline animation,&nbsp;the first
-            time value in the list must be 0, and the last time
-            value in the list must be 1. The key time
-            associated with each value defines when the value is
-            set; values are interpolated between the key times.</li>
-            <li>For discrete animation, the first time value in the
-            list must be 0. The time associated with each value
-            defines when the value is set; the animation function
-            uses that value until the next time defined in
-            <a>'keyTimes'</a>.</li>
-          </ul>
-          <p>If the interpolation mode is <span class='attr-value'>'paced'</span>, the
-          <a>'keyTimes'</a> attribute is ignored.</p>
-
-          <p>If there are any errors in the <a>'keyTimes'</a>
-          specification (bad values, too many or too few values),
-          the document fragment is in error (see <a
-          href="implnote.html#ErrorProcessing">error
-          processing</a>).</p>
-
-          <p>If the simple duration is indefinite, any
-          <a>'keyTimes'</a> specification will be
-          ignored.</p>
-          
-          <p>
-            Because paced animation interpolation is unspecified for some
-            value types, authors are encouraged to use
-            <span class="attr-value">'linear'</span> animation interpolation with
-            calculated <a>'keyTimes'</a>
-            to achieve particular interpolation behavior for these types.
-          </p>
-
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeyTimesAttribute">SMIL Animation: 'keyTimes' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p>
-        </dd>
-        <dt id="KeySplinesAttribute"><span class='adef'>keySplines</span> =
-        <span class='attr-value'>"&lt;list&gt;"</span></dt>
-        <dd><p>A set of Bézier control points associated with
-        the <a>'keyTimes'</a> list, defining a cubic
-        Bézier function that controls interval pacing. The
-        attribute value is a semicolon-separated list of control
-        point descriptions. Each control point description is a set
-        of four values: <code>x1 y1 x2 y2</code>, describing the
-        Bézier control points for one time segment. Note:
-        <a href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-animation.html#adef-keySplines">SMIL</a>
-        allows these values to be separated either by commas with 
-        optional whitespace, or by whitespace alone.  The
-        <a>'keyTimes'</a> values that define the associated
-        segment are the Bézier "anchor points", and the
-        <a>'keySplines'</a> values are the control points.
-        Thus, there must be one fewer sets of control points than
-        there are <a>'keyTimes'</a>.</p>
-
-        <p>The values must all be in the range 0 to 1.</p>
-
-        <p>This attribute is ignored unless the <a>'calcMode'</a>
-        is set to <span class='attr-value'>'spline'</span>.</p>
-
-        <p>If there are any errors in the <a>'keySplines'</a>
-        specification (bad values, too many or too few values), the
-        document fragment is in error (see <a
-        href="implnote.html#ErrorProcessing">error
-        processing</a>).</p>
-
-        <p>Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the
-        <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-        In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeySplinesAttribute">SMIL Animation: 'keySplines' attribute</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p></dd>
-
-        <dt id="FromAttribute"><span class='adef'>from</span> =
-        <span class='attr-value'>"&lt;value&gt;"</span></dt>
-        <dd>Specifies the starting value of the animation.<br />
-         Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the
-        <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-        In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FromAttribute">SMIL Animation: 'from' attribute</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</dd>
-
-        <dt id="ToAttribute"><span class='adef'>to</span> =
-        <span class='attr-value'>"&lt;value&gt;"</span></dt>
-        <dd>Specifies the ending value of the animation.<br />
-         Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the
-        <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-        In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ToAttribute">SMIL Animation: 'to' attribute</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</dd>
-
-        <dt id="ByAttribute"><span class='adef'>by</span> =
-        <span class='attr-value'>"&lt;value&gt;"</span></dt>
-        <dd>Specifies a relative offset value for the
-        animation.<br />
-         Except for any SVG-specific rules explicitly mentioned in
-        this specification, the normative definition for this
-        attribute is the
-        <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-        In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ByAttribute">SMIL Animation: 'by' attribute</a>
-        ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</dd>
-      </dl>
-
-      <p>The <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification [<a href="refs.html#ref-SMILANIM">SMILANIM</a>]
-      defines the detailed processing
-      rules associated with the above attributes. Except for any
-      SVG-specific rules explicitly mentioned in this
-      specification, the SMIL Animation specification is the normative definition of
-      the processing rules for the above attributes.</p>
-      <p>The animation values specified in the animation element
-      must be legal values for the specified attribute. Leading and
-      trailing white space, and white space before and after
-      semicolon separators, will be ignored.</p>
-      <p>All values specified must be legal values for the
-      specified attribute (as defined in the associated namespace).
-      If any values are not legal, the document fragment is in
-      error (see <a href="implnote.html#ErrorProcessing">error
-      processing</a>).</p>
-      <p>If a list of values is used, the animation will apply the
-      values in order over the course of the animation. If a list
-      of <a>'values'</a> is specified, any <a>'from'</a>,
-      <a>'to'</a> and <a>'by'</a> attribute values are ignored.</p>
-      <p>The processing rules for the variants of
-      <em>from/by/to</em> animations are described in <a
-      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues">
-      Animation function values</a> with the following exception.</p>
-      <p>In order to provide behavior that is intuitive and consistent
-      between discrete animations with an explicitly specified
-      <a>'from'</a> attribute (e.g. "from-to animation") and those
-      where the underlying value is used (e.g. "to animation"), the
-      behavior of discrete to-animation in SVG deviates from the
-      definition in SMIL Animation.
-      As with a discrete from-to animation, a discrete to animation
-      will set the underlying value for the first half of the simple
-      duration (or, if a <a>'keyTimes'</a> list is provided, until the
-      simple duration specified by the second value in the <a>'keyTimes'</a>
-      list) and the <a>'to'</a> value for the remainder of the simple
-      duration.</p>
-      <p>The following figure illustrates the interpretation of the
-      <a>'keySplines'</a> attribute. Each diagram illustrates
-      the effect of <a>'keySplines'</a> settings for a single
-      interval (i.e. between the associated pairs of values in the
-      <a>'keyTimes'</a> and <a>'values'</a> lists.). The
-      horizontal axis can be thought of as the input value for the
-      <em>unit progress</em> of interpolation within the interval -
-      i.e. the pace with which interpolation proceeds along the
-      given interval. The vertical axis is the resulting value for
-      the <em>unit progress</em>, yielded by the function that
-      the <a>'keySplines'</a> attribute defines.
-       Another way of describing
-      this is that the horizontal axis is the input <em>unit
-      time</em> for the interval, and the vertical axis is the
-      output <em>unit time</em>. See also the section <a
-      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#TimingAndRealWorldClockTime">
-      Timing and real-world clock times</a>.</p>
-      <div class="example">
-      <table  style="border-collapse:separate; border-spacing: 20px;">
-        <caption>
-          Examples of <span class="attr-name">keySplines</span>
-        </caption>
-        <tr>
-          <td><img class="bordered" width="250" height="250"
-          alt="Example keySplines01 - keySplines of 0 0 1 1 (the default)"
-           src="images/animate/keySplines01.svg" /> <span
-          class="table-heading-1">keySplines="0&nbsp;0&nbsp;1&nbsp;1"
-          (the default)</span></td>
-          <td><img class="bordered" width="250" height="250"
-          alt="Example keySplines01 - keySplines of .5 0 .5 1"
-          src="images/animate/keySplines02.svg" /> <span
-          class="table-heading-1">keySplines=".5&nbsp;0&nbsp;.5&nbsp;1"</span></td>
-        </tr>
-        <tr>
-          <td><img class="bordered" width="250" height="250"
-          alt="Example keySplines01 - keySplines of 0 .75 .25 1"
-          src="images/animate/keySplines03.svg" /> <span
-          class="table-heading-1">keySplines="0&nbsp;.75&nbsp;.25&nbsp;1"</span></td>
-          <td><img class="bordered" width="250" height="250"
-          alt="Example keySplines01 - keySplines of 1 0 .25 .25"
-          src="images/animate/keySplines04.svg" /><span
-          class="table-heading-1">keySplines="1&nbsp;0&nbsp;.25&nbsp;.25"</span></td>
-        </tr>
-      </table>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="CalcModeAttribute">calcMode</dfn></td>
+        <td>discrete | linear | paced | spline</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the interpolation mode for the animation. This
+    can take any of the following values. The default mode is
+    <span class='attr-value'>'linear'</span>, however if the attribute does not support
+    linear interpolation (e.g. for strings), the
+    <a>'calcMode'</a> attribute is ignored and discrete
+    interpolation is used.</p>
+    <dl>
+      <dt><span class='attr-value'>discrete</span></dt>
+      <dd>This specifies that the animation function will
+      jump from one value to the next without any
+      interpolation.</dd>
+      <dt><span class='attr-value'>linear</span></dt>
+      <dd>Simple linear interpolation between values is used
+      to calculate the animation function. Except for <a>'animateMotion'</a>, this
+      is the default <a>'calcMode'</a>.</dd>
+      <dt><span class='attr-value'>paced</span></dt>
+      <dd>
+      Defines interpolation to produce an even pace of
+      change across the animation. This is only supported for the
+      data types for which there is an appropriate distance function
+      defined, which includes only scalar numeric types plus the
+      types listed in <a href="#complexDistances">Paced animation and complex types</a>.
+      If <span class='attr-value'>'paced'</span> is specified, any
+      <a>'keyTimes'</a> or <a>'keySplines'</a> will
+      be ignored. For <a>'animateMotion'</a>, this
+      is the default <a>'calcMode'</a>.
+      Authors are discouraged from using paced animation on types
+      that do not have a distance function defined, due to its
+      unpredictable behavior in some user agents.</dd>
+      <dt><span class='attr-value'>spline</span></dt>
+      <dd>Interpolates from one value in the
+      <a>'values'</a> list to the next according to a
+      time function defined by a cubic Bézier spline.
+      The points of the spline are defined in the
+      <a>'keyTimes'</a> attribute, and the control points
+      for each interval are defined in the
+      <a>'keySplines'</a> attribute.</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#CalcModeAttribute">SMIL Animation: 'calcMode' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="ValuesAttribute">values</dfn></td>
+        <td>&lt;list&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>A semicolon-separated list of one or more values.
+    Vector-valued attributes are supported using the vector
+    syntax of the <a>'attributeType'</a> domain. Per the SMIL
+    specification, leading and trailing white space,
+    and white space before and after semicolon separators,
+    is allowed and will be ignored.  Except for
+    any SVG-specific rules explicitly mentioned in this
+    specification, the normative definition for this attribute
+    is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#ValuesAttribute">SMIL Animation: 'values' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="KeyTimesAttribute">keyTimes</dfn></td>
+        <td>&lt;list&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>A semicolon-separated list of time values used to control
+    the pacing of the animation. Each time in the list
+    corresponds to a value in the <a>'values'</a>
+    attribute list, and defines when the value is used in the
+    animation function. Each time value in the
+    <a>'keyTimes'</a> list is specified as a floating
+    point value between 0 and 1 (inclusive), representing a
+    proportional offset into the simple duration of the
+    animation element.</p>
+
+    <p>For animations specified with a <a>'values'</a> list, the
+    <a>'keyTimes'</a> attribute if specified must have exactly as many
+    values as there are in the <a>'values'</a> attribute. For from/to/by
+    animations, the <a>'keyTimes'</a> attribute if specified must have
+    two values.</p>
+
+    <p>Each successive time value must be greater than or equal
+    to the preceding time value.</p>
+     
+    <p>The <a>'keyTimes'</a> list semantics depends upon
+    the interpolation mode:</p>
+    <ul>
+      <li>For linear and spline animation,&nbsp;the first
+      time value in the list must be 0, and the last time
+      value in the list must be 1. The key time
+      associated with each value defines when the value is
+      set; values are interpolated between the key times.</li>
+      <li>For discrete animation, the first time value in the
+      list must be 0. The time associated with each value
+      defines when the value is set; the animation function
+      uses that value until the next time defined in
+      <a>'keyTimes'</a>.</li>
+    </ul>
+    <p>If the interpolation mode is <span class='attr-value'>'paced'</span>, the
+    <a>'keyTimes'</a> attribute is ignored.</p>
+
+    <p>If there are any errors in the <a>'keyTimes'</a>
+    specification (bad values, too many or too few values),
+    the document fragment is in error (see <a
+    href="implnote.html#ErrorProcessing">error
+    processing</a>).</p>
+
+    <p>If the simple duration is indefinite, any
+    <a>'keyTimes'</a> specification will be
+    ignored.</p>
+    
+    <p>
+      Because paced animation interpolation is unspecified for some
+      value types, authors are encouraged to use
+      <span class="attr-value">'linear'</span> animation interpolation with
+      calculated <a>'keyTimes'</a>
+      to achieve particular interpolation behavior for these types.
+    </p>
+
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeyTimesAttribute">SMIL Animation: 'keyTimes' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="KeySplinesAttribute">keySplines</dfn></td>
+        <td>&lt;list&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>A set of Bézier control points associated with
+    the <a>'keyTimes'</a> list, defining a cubic
+    Bézier function that controls interval pacing. The
+    attribute value is a semicolon-separated list of control
+    point descriptions. Each control point description is a set
+    of four values: <code>x1 y1 x2 y2</code>, describing the
+    Bézier control points for one time segment. Note:
+    <a href="http://www.w3.org/TR/2008/REC-SMIL3-20081201/smil-animation.html#adef-keySplines">SMIL</a>
+    allows these values to be separated either by commas with 
+    optional whitespace, or by whitespace alone.  The
+    <a>'keyTimes'</a> values that define the associated
+    segment are the Bézier "anchor points", and the
+    <a>'keySplines'</a> values are the control points.
+    Thus, there must be one fewer sets of control points than
+    there are <a>'keyTimes'</a>.</p>
+
+    <p>The values must all be in the range 0 to 1.</p>
+
+    <p>This attribute is ignored unless the <a>'calcMode'</a>
+    is set to <span class='attr-value'>'spline'</span>.</p>
+
+    <p>If there are any errors in the <a>'keySplines'</a>
+    specification (bad values, too many or too few values), the
+    document fragment is in error (see <a
+    href="implnote.html#ErrorProcessing">error
+    processing</a>).</p>
+
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#KeySplinesAttribute">SMIL Animation: 'keySplines' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.3).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="FromAttribute">from</dfn>,
+            <dfn id="ToAttribute">to</dfn>,
+            <dfn id="ByAttribute">by</dfn></td>
+        <td>&lt;value&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>The <a>'from'</a> and <a>'to'</a> attributes specify the starting
+    and ending value of the animation, while the <a>'by'</a> attribute
+    specifies a relative offset value for the animation.</p>
+
+    <p>Except for any SVG-specific rules explicitly mentioned in
+    this specification, the normative definition for these
+    attributes is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FromAttribute">SMIL Animation: Animation function values</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.2.2).</p>
+  </dd>
+</dl>
+
+<p>The <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification [<a href="refs.html#ref-SMILANIM">SMILANIM</a>]
+defines the detailed processing
+rules associated with the above attributes. Except for any
+SVG-specific rules explicitly mentioned in this
+specification, the SMIL Animation specification is the normative definition of
+the processing rules for the above attributes.</p>
+
+<p>The animation values specified in the animation element
+must be legal values for the specified attribute. Leading and
+trailing white space, and white space before and after
+semicolon separators, will be ignored.</p>
+
+<p>All values specified must be legal values for the
+specified attribute (as defined in the associated namespace).
+If any values are not legal, the document fragment is in
+error (see <a href="implnote.html#ErrorProcessing">error
+processing</a>).</p>
+
+<p>If a list of values is used, the animation will apply the
+values in order over the course of the animation. If a list
+of <a>'values'</a> is specified, any <a>'from'</a>,
+<a>'to'</a> and <a>'by'</a> attribute values are ignored.</p>
+
+<p>The processing rules for the variants of
+<em>from/by/to</em> animations are described in <a
+href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AnimFuncValues">
+Animation function values</a> with the following exception.</p>
+
+<p>In order to provide behavior that is intuitive and consistent
+between discrete animations with an explicitly specified
+<a>'from'</a> attribute (e.g. "from-to animation") and those
+where the underlying value is used (e.g. "to animation"), the
+behavior of discrete to-animation in SVG deviates from the
+definition in SMIL Animation.
+As with a discrete from-to animation, a discrete to animation
+will set the underlying value for the first half of the simple
+duration (or, if a <a>'keyTimes'</a> list is provided, until the
+simple duration specified by the second value in the <a>'keyTimes'</a>
+list) and the <a>'to'</a> value for the remainder of the simple
+duration.</p>
+
+<p>The following figure illustrates the interpretation of the
+<a>'keySplines'</a> attribute. Each diagram illustrates
+the effect of <a>'keySplines'</a> settings for a single
+interval (i.e. between the associated pairs of values in the
+<a>'keyTimes'</a> and <a>'values'</a> lists.). The
+horizontal axis can be thought of as the input value for the
+<em>unit progress</em> of interpolation within the interval -
+i.e. the pace with which interpolation proceeds along the
+given interval. The vertical axis is the resulting value for
+the <em>unit progress</em>, yielded by the function that
+the <a>'keySplines'</a> attribute defines.
+ Another way of describing
+this is that the horizontal axis is the input <em>unit
+time</em> for the interval, and the vertical axis is the
+output <em>unit time</em>. See also the section <a
+href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#TimingAndRealWorldClockTime">
+Timing and real-world clock times</a>.</p>
+
+<div class="example">
+<table  style="border-collapse:separate; border-spacing: 20px;">
+  <caption>
+    Examples of <span class="attr-name">keySplines</span>
+  </caption>
+  <tr>
+    <td><img class="bordered" width="250" height="250"
+    alt="Example keySplines01 - keySplines of 0 0 1 1 (the default)"
+     src="images/animate/keySplines01.svg" /> <span
+    class="table-heading-1">keySplines="0&nbsp;0&nbsp;1&nbsp;1"
+    (the default)</span></td>
+    <td><img class="bordered" width="250" height="250"
+    alt="Example keySplines01 - keySplines of .5 0 .5 1"
+    src="images/animate/keySplines02.svg" /> <span
+    class="table-heading-1">keySplines=".5&nbsp;0&nbsp;.5&nbsp;1"</span></td>
+  </tr>
+  <tr>
+    <td><img class="bordered" width="250" height="250"
+    alt="Example keySplines01 - keySplines of 0 .75 .25 1"
+    src="images/animate/keySplines03.svg" /> <span
+    class="table-heading-1">keySplines="0&nbsp;.75&nbsp;.25&nbsp;1"</span></td>
+    <td><img class="bordered" width="250" height="250"
+    alt="Example keySplines01 - keySplines of 1 0 .25 .25"
+    src="images/animate/keySplines04.svg" /><span
+    class="table-heading-1">keySplines="1&nbsp;0&nbsp;.25&nbsp;.25"</span></td>
+  </tr>
+</table>
       
-      <p>To illustrate the calculations, consider the simple
-      example:</p>
+<p>To illustrate the calculations, consider the simple example:</p>
+
 <pre>
 &lt;animate dur="4s" values="10; 20" keyTimes="0; 1"
      calcMode="spline" <strong>keySplines</strong>=<em>{as in table}</em> /&gt;
 </pre>
-      <p>Using the <a>'keySplines'</a> values for each of the four cases
-      above, the approximate interpolated values as the animation
-      proceeds are:</p>
-      <table class="data">
-        <caption>keySplines values</caption>
-        <thead>
-          <tr>
-            <th>Value of <span class='attr-name'>'keySplines'</span></th>
-            <th>Initial value</th>
-            <th>After 1s</th>
-            <th>After 2s</th>
-            <th>After 3s</th>
-            <th>Final value</th>
-          </tr>
-        </thead>
-        <tbody>
-          <tr>
-            <th>0 0 1 1</th>
-            <td>10.0</td>
-            <td>12.5</td>
-            <td>15.0</td>
-            <td>17.5</td>
-            <td>20.0</td>
-          </tr>
-          <tr>
-            <th>.5 0 .5 1</th>
-            <td>10.0</td>
-            <td>11.0</td>
-            <td>15.0</td>
-            <td>19.0</td>
-            <td>20.0</td>
-          </tr>
-          <tr>
-            <th>0 .75 .25 1</th>
-            <td>10.0</td>
-            <td>18.0</td>
-            <td>19.3</td>
-            <td>19.8</td>
-            <td>20.0</td>
-          </tr>
-          <tr>
-            <th>1 0 .25 .25</th>
-            <td>10.0</td>
-            <td>10.1</td>
-            <td>10.6</td>
-            <td>16.9</td>
-            <td>20.0</td>
-          </tr>
-        </tbody>
-      </table>
-      </div>
-      <p>For a formal definition of Bézier spline
-      calculation, see [<a
-      href="refs.html#ref-FOLEY-VANDAM">FOLEY-VANDAM</a>], pp. 488-491.</p>
-    </div>
+
+<p>Using the <a>'keySplines'</a> values for each of the four cases
+above, the approximate interpolated values as the animation
+proceeds are:</p>
+
+<table class="data">
+  <caption>keySplines values</caption>
+  <thead>
+    <tr>
+      <th>Value of <span class='attr-name'>'keySplines'</span></th>
+      <th>Initial value</th>
+      <th>After 1s</th>
+      <th>After 2s</th>
+      <th>After 3s</th>
+      <th>Final value</th>
+    </tr>
+  </thead>
+  <tbody>
+    <tr>
+      <th>0 0 1 1</th>
+      <td>10.0</td>
+      <td>12.5</td>
+      <td>15.0</td>
+      <td>17.5</td>
+      <td>20.0</td>
+    </tr>
+    <tr>
+      <th>.5 0 .5 1</th>
+      <td>10.0</td>
+      <td>11.0</td>
+      <td>15.0</td>
+      <td>19.0</td>
+      <td>20.0</td>
+    </tr>
+    <tr>
+      <th>0 .75 .25 1</th>
+      <td>10.0</td>
+      <td>18.0</td>
+      <td>19.3</td>
+      <td>19.8</td>
+      <td>20.0</td>
+    </tr>
+    <tr>
+      <th>1 0 .25 .25</th>
+      <td>10.0</td>
+      <td>10.1</td>
+      <td>10.6</td>
+      <td>16.9</td>
+      <td>20.0</td>
+    </tr>
+  </tbody>
+</table>
+</div>
+
+<p>For a formal definition of Bézier spline
+calculation, see [<a
+href="refs.html#ref-FOLEY-VANDAM">FOLEY-VANDAM</a>], pp. 488-491.</p>
 
 <h3 id="AdditionAttributes">Attributes that control whether animations are additive</h3>
 
@@ -1423,73 +1616,98 @@
 <p>The following attributes are the <dfn id='animation-addition-attributes'>animation addition attributes</dfn>,
 which are common to elements <edit:elementswithattributecategory name='animation addition'/>.</p>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="AdditiveAttribute"><span class='adef'>additive</span> =
-        <span class='attr-value'>"replace | sum"</span></dt>
-        <dd>
-          <p>Controls whether or not the animation is
-          additive.</p>
-           
-          <dl>
-            <dt><span class='attr-value'>sum</span></dt>
-            <dd>Specifies that the animation will add to the
-            underlying value of the attribute and other lower
-            priority animations.</dd>
-            <dt><span class='attr-value'>replace</span></dt>
-            <dd>Specifies that the animation will override the
-            underlying value of the attribute and other lower
-            priority animations. This is the default, however the
-            behavior is also affected by the animation value
-            attributes <a>'by'</a> and <a>'to'</a>, as described in <a
-            href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FromToByAndAdditive">
-            SMIL Animation: How from, to and by attributes affect
-            additive behavior</a>.</dd>
-          </dl>
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AdditiveAttribute">SMIL Animation: 'additive' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.6).</p>
-        </dd>
-        <dt id="AccumulateAttribute"><span class='adef'>accumulate</span> =
-        <span class='attr-value'>"none | sum"</span></dt>
-        <dd>
-          <p>Controls whether or not the animation is
-          cumulative.</p>
-           
-          <dl>
-            <dt><span class='attr-value'>sum</span></dt>
-            <dd>Specifies that each repeat iteration after the
-            first builds upon the last value of the previous
-            iteration.</dd>
-            <dt><span class='attr-value'>none</span></dt>
-            <dd>Specifies that repeat iterations are not
-            cumulative. This is the default.</dd>
-          </dl>
-
-          <p>This attribute is ignored if the target attribute value
-          does not support addition, or if the animation element
-          does not repeat.</p>
-
-          <p>Cumulative animation is not defined for "<em>to
-          animation</em>".</p>
-
-          <p>This attribute will be ignored if the animation function
-          is specified with only the <a>'to'</a>
-          attribute.</p>
-
-          <p>Except for any SVG-specific rules explicitly mentioned
-          in this specification, the normative definition for this
-          attribute is the
-          <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
-          In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AccumulateAttribute">SMIL Animation: 'accumulate' attribute</a>
-          ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
-        </dd>
-      </dl>
-    </div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AdditiveAttribute">additive</dfn></td>
+        <td>replace | sum</td>
+        <td>replace</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Controls whether or not the animation is additive.</p>
+    <dl>
+      <dt><span class='attr-value'>replace</span></dt>
+      <dd>Specifies that the animation will override the
+      underlying value of the attribute and other lower
+      priority animations. This is the default, however the
+      behavior is also affected by the animation value
+      attributes <a>'by'</a> and <a>'to'</a>, as described in <a
+      href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#FromToByAndAdditive">
+      SMIL Animation: How from, to and by attributes affect
+      additive behavior</a>.</dd>
+      <dt><span class='attr-value'>sum</span></dt>
+      <dd>Specifies that the animation will add to the
+      underlying value of the attribute and other lower
+      priority animations.</dd>
+    </dl>
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AdditiveAttribute">SMIL Animation: 'additive' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.6).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AccumulateAttribute">accumulate</dfn></td>
+        <td>none | sum</td>
+        <td>none</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Controls whether or not the animation is
+    cumulative.</p>
+     
+    <dl>
+      <dt><span class='attr-value'>none</span></dt>
+      <dd>Specifies that repeat iterations are not
+      cumulative. This is the default.</dd>
+      <dt><span class='attr-value'>sum</span></dt>
+      <dd>Specifies that each repeat iteration after the
+      first builds upon the last value of the previous
+      iteration.</dd>
+    </dl>
+
+    <p>This attribute is ignored if the target attribute value
+    does not support addition, or if the animation element
+    does not repeat.</p>
+
+    <p>Cumulative animation is not defined for "<em>to
+    animation</em>".</p>
+
+    <p>This attribute will be ignored if the animation function
+    is specified with only the <a>'to'</a>
+    attribute.</p>
+
+    <p>Except for any SVG-specific rules explicitly mentioned
+    in this specification, the normative definition for this
+    attribute is the
+    <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/"><cite>SMIL Animation</cite></a> specification.
+    In particular, see <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#AccumulateAttribute">SMIL Animation: 'accumulate' attribute</a>
+    ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 3.3.1).</p>
+  </dd>
+</dl>
 
 </edit:with>
 
@@ -1558,23 +1776,37 @@
 
 <edit:elementsummary name='set'/>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="SetElementToAttribute"><span
-        class="adef">to</span> = "<span
-        class="attr-value">&lt;value&gt;</span>"</dt>
-        <dd>Specifies the value for the attribute during the
-        duration of the <a>'set'</a>
-        element. The argument value must match the attribute
-        type.</dd>
-      </dl>
-    </div>
-    <p>For a list of attributes and properties that can be animated
-    using the <a>'set'</a> element, see
-    <a
-    href="animate.html#AnimationAttributesAndProperties">Elements,
-    attributes and properties that can be animated</a>.</p>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="SetElementToAttribute">to</dfn></td>
+        <td>&lt;value&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <dd>Specifies the value for the attribute during the
+    duration of the <a>'set'</a>
+    element. The argument value must match the attribute
+    type.</dd>
+  </dd>
+</dl>
+
+<p>For a list of attributes and properties that can be animated
+using the <a>'set'</a> element, see
+<a href="animate.html#AnimationAttributesAndProperties">Elements,
+attributes and properties that can be animated</a>.</p>
 
 </edit:with>
 
@@ -1593,105 +1825,188 @@
 
 <edit:elementsummary name='animateMotion'/>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="AnimateMotionElementCalcModeAttribute"><span class='adef'>calcMode</span> =
-        <span class='attr-value'>"discrete | linear | paced | spline"</span></dt>
-        <dd>Specifies the interpolation mode for the animation.
-        Refer to general description of the <a>'animate/calcMode'</a> attribute above. The
-        only difference is that the default value for the <a>'calcMode'</a>
-        for <a>'animateMotion'</a> is <span class="attr-value">'paced'</span>. See <a
-        href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MotionCalcModeAttribute">
-        SMIL Animation: 'calcMode' attribute for
-        'animateMotion'</a>.</dd>
-        <dt id="PathAttribute"><span class="adef">path</span> = "<span
-        class="attr-value">&lt;path-data&gt;</span>"</dt>
-        <dd>The motion path, expressed in the same format and
-        interpreted the same way as the <a>'path/d'</a> attribute on the
-        <a>'path element'</a> element. The effect
-        of a motion path animation is to add a supplemental
-        transformation matrix onto the CTM for the referenced
-        object which causes a translation along the x- and y-axes
-        of the current user coordinate system by the computed X and
-        Y values computed over time.</dd>
-        <dt id="KeyPointsAttribute"><span class="adef">keyPoints</span> = "<span
-        class="attr-value">&lt;list-of-numbers&gt;</span>"</dt>
-        <dd><p><a>'keyPoints'</a> takes a
-        semicolon-separated list of floating point values between 0
-        and 1 and indicates how far along the motion path the
-        object shall move at the moment in time specified by
-        corresponding <a>'keyTimes'</a>
-        value. Distance calculations use the user agent's <a
-        href="paths.html#DistanceAlongAPath">distance along the
-        path</a> algorithm. Each progress value in the list
-        corresponds to a value in the <a>'keyTimes'</a>
-        attribute list.</p>
-        <p>If a list of <a>'keyPoints'</a> is specified, there
-        must be exactly as many values in the
-        <a>'keyPoints'</a> list as in the <a>'keyTimes'</a>
-        list.</p>
-        <p>If there are any errors in the <a>'keyPoints'</a>
-        specification (bad values, too many or too few values),
-        then the document is in error (see <a
-        href="implnote.html#ErrorProcessing">Error
-        processing</a>).</p></dd>
-        <dt id="RotateAttribute"><span class="adef">rotate</span> = "<span
-        class="attr-value"><a>&lt;number&gt;</a> | auto |
-        auto-reverse</span>"</dt>
-        <dd>
-           <p>The <a>'rotate'</a> attribute post-multiplies a supplemental
-           transformation matrix onto the CTM of the target element to apply a
-           rotation transformation about the origin of the current user
-           coordinate system. The rotation transformation is applied after the
-           supplemental translation transformation that is computed due to the
-           <a>'path attribute'</a> attribute.</p>
-
-           <dl>
-             <dt><span class="attr-value">auto</span></dt>
-             <dd>Indicates that the object is rotated over time by the angle of
-             the direction (i.e., directional tangent vector) of the motion path.</dd>
-             
-             <dt><span class="attr-value">auto-reverse</span></dt>
-             <dd>Indicates that the object is rotated over time by the angle of the
-             direction (i.e., directional tangent vector) of the motion path plus
-             180 degrees.</dd>
-             
-             <dt><span class='attr-value'><a>&lt;number&gt;</a></span></dt>
-             <dd>Indicates that the target element has a constant rotation
-             transformation applied to it, where the rotation angle is the
-             specified number of degrees.</dd>
-          </dl>
-
-          <p>The default value is <span class='attr-value'>'0'</span>.</p>
-        </dd>
-        <dt id="OriginAttribute"><span class="adef">origin</span> = "<span
-        class="attr-value">default</span>"</dt>
-        <dd>The <a>'origin'</a> attribute is <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MotionOriginAttribute">defined in the SMIL Animation
-        specification</a> ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 4.3).
-        It has no effect in SVG.</dd>
-      </dl>
-    </div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AnimateMotionElementCalcModeAttribute">calcMode</dfn></td>
+        <td>discrete | linear | paced | spline</td>
+        <td>paced</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the interpolation mode for the animation.
+    Refer to general description of the <a>'animate/calcMode'</a> attribute above. The
+    only difference is that the default value for the <a>'calcMode'</a>
+    for <a>'animateMotion'</a> is <span class="attr-value">'paced'</span>. See <a
+    href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MotionCalcModeAttribute">
+    SMIL Animation: 'calcMode' attribute for
+    'animateMotion'</a>.</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AnimateMotionElementPathAttribute">path</dfn></td>
+        <td>&lt;path-data&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>The motion path, expressed in the same format and
+    interpreted the same way as the <a>'path/d'</a> attribute on the
+    <a>'path element'</a> element. The effect
+    of a motion path animation is to add a supplemental
+    transformation matrix onto the CTM for the referenced
+    object which causes a translation along the x- and y-axes
+    of the current user coordinate system by the computed X and
+    Y values computed over time.</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="KeyPointsAttribute">keyPoints</dfn></td>
+        <td>&lt;list-of-numbers&gt;</td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p><a>'keyPoints'</a> takes a
+    semicolon-separated list of floating point values between 0
+    and 1 and indicates how far along the motion path the
+    object shall move at the moment in time specified by
+    corresponding <a>'keyTimes'</a>
+    value. Distance calculations use the user agent's <a
+    href="paths.html#DistanceAlongAPath">distance along the
+    path</a> algorithm. Each progress value in the list
+    corresponds to a value in the <a>'keyTimes'</a>
+    attribute list.</p>
+    <p>If a list of <a>'keyPoints'</a> is specified, there
+    must be exactly as many values in the
+    <a>'keyPoints'</a> list as in the <a>'keyTimes'</a>
+    list.</p>
+    <p>If there are any errors in the <a>'keyPoints'</a>
+    specification (bad values, too many or too few values),
+    then the document is in error (see <a
+    href="implnote.html#ErrorProcessing">Error
+    processing</a>).</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="RotateAttribute">rotate</dfn></td>
+        <td><a>&lt;number&gt;</a> | auto | auto-reverse</td>
+        <td>0</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+     <p>The <a>'rotate'</a> attribute post-multiplies a supplemental
+     transformation matrix onto the CTM of the target element to apply a
+     rotation transformation about the origin of the current user
+     coordinate system. The rotation transformation is applied after the
+     supplemental translation transformation that is computed due to the
+     <a>'path attribute'</a> attribute.</p>
+
+     <dl>
+       <dt><span class="attr-value">auto</span></dt>
+       <dd>Indicates that the object is rotated over time by the angle of
+       the direction (i.e., directional tangent vector) of the motion path.</dd>
+       
+       <dt><span class="attr-value">auto-reverse</span></dt>
+       <dd>Indicates that the object is rotated over time by the angle of the
+       direction (i.e., directional tangent vector) of the motion path plus
+       180 degrees.</dd>
+       
+       <dt><span class='attr-value'><a>&lt;number&gt;</a></span></dt>
+       <dd>Indicates that the target element has a constant rotation
+       transformation applied to it, where the rotation angle is the
+       specified number of degrees.</dd>
+    </dl>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="OriginAttribute">origin</dfn></td>
+        <td>default</td>
+        <td>default</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>The <a>'origin'</a> attribute is <a href="http://www.w3.org/TR/2001/REC-smil-animation-20010904/#MotionOriginAttribute">defined in the SMIL Animation
+    specification</a> ([<a href="refs.html#ref-SMILANIM">SMILANIM</a>], section 4.3).
+    It has no effect in SVG.</p>
+  </dd>
+</dl>
 
 <div id='MPathElement'>
 <edit:elementsummary name='mpath'/>
 </div>
 
-    <div class="adef-list">
-      <p><em>Attribute definitions:</em></p>
-      <dl>
-        <dt id="MPathElementHrefAttribute"><span
-        class="adef">xlink:href</span> = "<span
-        class="attr-value"><a
-        href="types.html#DataTypeIRI">&lt;iri&gt;</a></span>"</dt>
-        <dd>An <a>IRI
-        reference</a> to the <a>'path element'</a> element which
-        defines the motion path.<br />
-         <span class="anim-target"><a
-        href="animate.html#Animatable">Animatable</a>:
-        no.</span></dd>
-      </dl>
-    </div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="MPathElementHrefAttribute">xlink:href</dfn></td>
+        <td><a>&lt;iri&gt;</a></td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>An <a>IRI reference</a> to the <a>'path element'</a> element which
+    defines the motion path.</p>
+  </dd>
+</dl>
 
     <p>For <a>'animateMotion'</a>, the specified values for <a>'from'</a>,
     <a>'by'</a>, <a>'to'</a> and <a>'values'</a> consists of x, y coordinate
@@ -1944,17 +2259,30 @@
 
 <edit:elementsummary name='animateTransform'/>
 
-<div class="adef-list">
-  <p><em>Attribute definitions:</em></p>
-  <dl>
-    <dt id="AnimateTransformElementTypeAttribute"><span class="adef">type</span> =
-    "<span class="attr-value">translate | scale | rotate | skewX | skewY</span>"</dt>
-    <dd>Indicates the type of transformation which is to have its values
-    change over time.
-    If the attribute is not specified, then the effect is as if a value of <span class="attr-value">'translate'</span> were specified.
-    </dd>
-  </dl>
-</div>
+<p><em>Attribute definitions:</em></p>
+
+<dl class="attrdef-list">
+  <dt>
+    <table class="propdef attrdef">
+      <tr>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
+      </tr>
+      <tr>
+        <td><dfn id="AnimateTransformElementTypeAttribute">type</dfn></td>
+        <td>translate | scale | rotate | skewX | skewY</td>
+        <td>translate</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Indicates the type of transformation which is to have its values
+    change over time.</p>
+  </dd>
+</dl>
 
 <p>The <a>'from'</a>, <a>'by'</a> and <a>'to'</a> attributes take a value
 expressed using the same syntax that is available for the given transformation