Use new-style attribute definition tables for 'svg'.
authorCameron McCormack <cam@mcc.id.au>
Sun, 16 Sep 2012 04:33:58 +1000
changeset 381 55c053cda423
parent 380 fed9ead3111a
child 382 ee4461e680ad
Use new-style attribute definition tables for 'svg'.
master/coords.html
master/definitions.xml
master/painting.html
master/struct.html
master/style/default_svg.css
--- a/master/coords.html	Sun Sep 16 03:49:45 2012 +1000
+++ b/master/coords.html	Sun Sep 16 04:33:58 2012 +1000
@@ -604,7 +604,7 @@
 For <a>'preserveAspectRatio'</a> on all other
 elements the <span class='attr-value'>'defer'</span> portion of the attribute is ignored.</p>
 
-<p>The <span class="attr-value">&lt;align&gt;</span> parameter
+<p id="DataTypeAlign">The <span class="attr-value">&lt;align&gt;</span> parameter
 indicates whether to force uniform scaling and, if so, the
 alignment method to use in case the aspect ratio of the <a>'viewBox'</a>
  doesn't match the aspect ratio of the viewport. The <span
--- a/master/definitions.xml	Sun Sep 16 03:49:45 2012 +1000
+++ b/master/definitions.xml	Sun Sep 16 04:33:58 2012 +1000
@@ -1150,6 +1150,7 @@
   <interface name='SVGSolidColorElement' href='pservers.html#InterfaceSVGSolidColorElement'/>
 
   <!-- ... grammar symbols ................................................ -->
+  <symbol name='align' href='coords.html#DataTypeAlign'/>
   <symbol name='angle' href='types.html#DataTypeAngle'/>
   <symbol name='anything' href='types.html#DataTypeAnything'/>
   <symbol name='color' href='types.html#DataTypeColor'/>
--- a/master/painting.html	Sun Sep 16 03:49:45 2012 +1000
+++ b/master/painting.html	Sun Sep 16 04:33:58 2012 +1000
@@ -12,22 +12,6 @@
   <link rel="alternate stylesheet" title="SVG 1.1"               type="text/css" media="screen" href="style/svg-style.css"/>
   -->
   <!-- W3C style sheet will be added here during processing. -->
-<style type="text/css">
-table.propdef.attrdef { border-left-color: #888; border-left-width: 0; background-color: #eee; font-size: 90% }
-table.propdef.attrdef th, table.propdef.attrdef td { border-bottom-color: #ccc }
-
-table.propdef.attrdef th:first-child,
-table.propdef.attrdef td:first-child { width: 16em; padding-left: 0 !important }
-
-table.propdef.attrdef th:first-child + th,
-table.propdef.attrdef td:first-child + td { width: auto }
-
-table.propdef.attrdef th:first-child + th + th,
-table.propdef.attrdef td:first-child + td + td { width: 6em }
-
-table.propdef.attrdef th:first-child + th + th + th,
-table.propdef.attrdef td:first-child + td + td + td { width: 6em; padding-right: 0 !important }
-</style>
 </head>
 <body>
 
--- a/master/struct.html	Sun Sep 16 03:49:45 2012 +1000
+++ b/master/struct.html	Sun Sep 16 04:33:58 2012 +1000
@@ -106,6 +106,69 @@
 
 <h3 id="SVGElement">The <span class='element-name'>'svg'</span> element</h3>
 
+<div class="annotation svg2-requirement">
+ <table>
+  <tr>
+   <th>SVG 2 Requirement:</th>
+   <td>Should support the playbackOrder attribute to inform UA to not display controls to seek backwards.</td>
+ </tr>
+ <tr>
+   <th>Resolution:</th>
+   <td><a href="http://www.w3.org/2012/03/29-svg-irc#T20-39-02">Support the playbackOrder attribute.</a></td>
+ </tr>
+ <tr>
+   <th>Purpose:</th>
+   <td>To inform UA to not display controls to seek backwards.</td>
+ </tr>
+ <tr>
+   <th>Owner:</th>
+   <td>Cyril</td>
+ </tr>
+</table>
+</div>
+
+<div class="annotation svg2-requirement">
+  <table>
+    <tr>
+      <th>SVG 2 Requirement:</th>
+      <td>Support transforming <a>'svg'</a> elements.</td>
+    </tr>
+    <tr>
+      <th>Resolution:</th>
+      <td><a href="http://www.w3.org/2011/10/28-svg-irc#T00-23-44">We will allow <span class='attr-name'>'transform'</span> on <span class='element-name'>'svg'</span> in SVG 2.</a></td>
+    </tr>
+    <tr>
+      <th>Purpose:</th>
+      <td>To allow transforms on nested <a>'svg'</a> elements, in line with author expectations.</td>
+    </tr>
+    <tr>
+      <th>Owner:</th>
+      <td>Dirk (no action)</td>
+    </tr>
+  </table>
+</div>
+
+ <div class="annotation svg2-requirement">
+  <table>
+   <tr>
+    <th>SVG 2 Requirement:</th>
+    <td>Support a means for having SMIL animations start before their time container has fully loaded.</td>
+  </tr>
+  <tr>
+    <th>Resolution:</th>
+    <td><a href="http://www.w3.org/2012/03/29-svg-irc#T20-23-57">Timeline control.</a></td>
+  </tr>
+  <tr>
+    <th>Purpose:</th>
+    <td>To start animations before the SVG document is fully loaded (useful for large SVG documents).</td>
+  </tr>
+  <tr>
+    <th>Owner:</th>
+    <td>Cyril</td>
+  </tr>
+ </table>
+</div>
+
 <!--
 <table class="propdef eltdef">
   <tr>
@@ -214,49 +277,53 @@
 
 <edit:elementsummary name='svg'/>
 
-<div class="annotation svg2-requirement">
-  <table>
-    <tr>
-      <th>SVG 2 Requirement:</th>
-      <td>Support transforming <a>'svg'</a> elements.</td>
-    </tr>
-    <tr>
-      <th>Resolution:</th>
-      <td><a href="http://www.w3.org/2011/10/28-svg-irc#T00-23-44">We will allow <span class='attr-name'>'transform'</span> on <span class='element-name'>'svg'</span> in SVG 2.</a></td>
-    </tr>
-    <tr>
-      <th>Purpose:</th>
-      <td>To allow transforms on nested <a>'svg'</a> elements, in line with author expectations.</td>
-    </tr>
-    <tr>
-      <th>Owner:</th>
-      <td>Dirk (no action)</td>
-    </tr>
-  </table>
-</div>
-
-
-<div class="adef-list">
-  <p><em>Attribute definitions:</em></p>
-  <dl>
-    <dt id="SVGElementVersionAttribute"><span
-    class="adef">version</span> = "<span class="attr-value"><a
-    href="types.html#DataTypeNumber">&lt;number&gt;</a></span>"</dt>
-    <dd>Indicates the SVG language version to which this
-    document fragment conforms.<br />
-    In <a href='http://www.w3.org/TR/2001/REC-SVG-20010904/'>SVG 1.0</a> [<a href='refs.html#ref-SVG10'>SVG10</a>],
+<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="SVGElementVersionAttribute">version</dfn></td>
+        <td><a>&lt;number&gt;</a></td>
+        <td>(none)</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Indicates the SVG language version to which this
+    document fragment conforms.</p>
+    <p>In <a href='http://www.w3.org/TR/2001/REC-SVG-20010904/'>SVG 1.0</a> [<a href='refs.html#ref-SVG10'>SVG10</a>],
     this attribute was fixed to the value <span class='attr-value'>'1.0'</span>.
     For SVG 1.1, the attribute should have the value
-    <span class='attr-value'>'1.1'</span>.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    no.</span>
+    <span class='attr-value'>'1.1'</span>.</p>
     <p class="issue">What are we doing with the <a>'version'</a>
     attribute?  It's not clear whether it is useful to keep.</p>
-    </dd>
-    <dt id="SVGElementBaseProfileAttribute"><span
-    class="adef">baseProfile</span> = profile-name</dt>
-    <dd>Describes the minimum SVG language profile that the
+  </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="SVGElementBaseProfileAttribute">baseProfile</dfn></td>
+        <td><a>&lt;anything&gt;</a></td>
+        <td>none</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Describes the minimum SVG language profile that the
     author believes is necessary to correctly render the
     content. The attribute does not specify any processing
     restrictions; It can be considered metadata. For example,
@@ -264,223 +331,208 @@
     tool to warn the user when they are modifying the document
     beyond the scope of the specified base profile. Each SVG
     profile should define the text that is appropriate for this
-    attribute.<br />
-     If the attribute is not specified, the effect is as if a
-    value of <span class='attr-value'>'none'</span> were specified.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    no.</span>
+    attribute.</p>
     <p class="issue">It's unlikely SVG 2 will have profiles as
     1.0 and 1.1 did.  Do we keep the attribute in case others
-    wish to profile SVG?  (Or should we be discouraging that?)</p></dd>
-    <dt id="SVGElementXAttribute"><span
-    class="adef">x</span> = "<span class="attr-value"><a
-    href="types.html#DataTypeCoordinate">&lt;coordinate&gt;</a></span>"</dt>
-    <dd>(Has no meaning or effect on <a>outermost svg
-     elements</a>.)<br />
-     The x-axis coordinate of one corner of the rectangular
-    region into which an embedded <a>'svg'</a> element is placed.<br />
-     If the attribute is not specified, the effect is as if a
-    value of <span class='attr-value'>'0'</span> were specified.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    yes.</span></dd>
-    <dt id="SVGElementYAttribute"><span
-    class="adef">y</span> = "<span class="attr-value"><a
-    href="types.html#DataTypeCoordinate">&lt;coordinate&gt;</a></span>"</dt>
-    <dd>(Has no meaning or effect on <a>outermost svg
-     elements</a>.)<br />
-     The y-axis coordinate of one corner of the rectangular
-    region into which an embedded <a>'svg'</a> element is placed.<br />
-     If the attribute is not specified, the effect is as if a
-    value of <span class='attr-value'>'0'</span> were specified.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    yes.</span></dd>
-    <dt id="SVGElementWidthAttribute"><span
-    class="adef">width</span> = "<span class="attr-value"><a
-    href="types.html#DataTypeLength">&lt;length&gt;</a></span>"</dt>
-    <dd>For <a>outermost svg elements</a>,
-    the intrinsic width of the SVG document fragment.
-    For embedded <a>'svg'</a>
-    elements, the width of the rectangular region into which
-    the <a>'svg'</a> element is
-    placed.<br />
-     A negative value is an error (see <a
-    href="implnote.html#ErrorProcessing">Error processing</a>).
-    A value of zero disables rendering of the element.<br />
-     If the attribute is not specified, the effect is as if a
-    value of <span class='attr-value'>'100%'</span> were specified.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    yes.</span></dd>
-    <dt id="SVGElementHeightAttribute"><span
-    class="adef">height</span> = "<span class="attr-value"><a
-    href="types.html#DataTypeLength">&lt;length&gt;</a></span>"</dt>
-    <dd>For <a>outermost svg elements</a>,
-    the intrinsic height of the SVG document
-    fragment. For embedded <a>'svg'</a> elements, the height of
-    the rectangular region into which the <a>'svg'</a> element is placed.<br />
-     A negative value is an error (see <a
-    href="implnote.html#ErrorProcessing">Error processing</a>).
-    A value of zero disables rendering of the element.<br />
-     If the attribute is not specified, the effect is as if a
-    value of <span class='attr-value'>'100%'</span> were specified.<br />
-     <span class="anim-target"><a
-    href="animate.html#Animatable">Animatable</a>:
-    yes.</span></dd>
-    <dt id="SVGElementPreserveAspectRatioAttribute">
-      <span class="adef">preserveAspectRatio</span> = "<span class='attr-value'><a href="coords.html#PreserveAspectRatioAttribute">[defer] &lt;align&gt; [&lt;meetOrSlice&gt;]</a></span>"
-    </dt>
-    <dd>
-      <p>
-        See <a>'preserveAspectRatio'</a>.
-      </p>
-      <p>
-        If the attribute is not specified, then the effect is as if a value of <span class="attr-value">'xMidYMid meet'</span> were specified.
-      </p>
-      <p><span class="anim-target"><a href="animate.html#Animatable">Animatable</a>: yes.</span></p>
-    </dd>
-    <dt id="SVGElementZoomAndPanAttribute">
-      <span class="adef">zoomAndPan</span> = "<span class='attr-value'><a href="interact.html#ZoomAndPanAttribute">disable | magnify</a></span>"
-    </dt>
-    <dd>
-      <p>
-        See <span class="attr"><a href="interact.html#ZoomAndPanAttribute">'zoomAndPan'</a></span>.
-      </p>
-    </dd>
-    <dt id="SVGElementPlaybackOrderAttribute">
-      <span class="adef">playbackOrder</span> =
-      <span class="attr-value">"forwardOnly" | "all"</span>
-    </dt>
-    <dd>
-
-    <div class="annotation svg2-requirement">
-     <table>
+    wish to profile SVG?  (Or should we be discouraging that?)</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
       <tr>
-       <th>SVG 2 Requirement:</th>
-       <td>Should support the playbackOrder attribute to inform UA to not display controls to seek backwards.</td>
-     </tr>
-     <tr>
-       <th>Resolution:</th>
-       <td><a href="http://www.w3.org/2012/03/29-svg-irc#T20-39-02">Support the playbackOrder attribute.</a></td>
-     </tr>
-     <tr>
-       <th>Purpose:</th>
-       <td>To inform UA to not display controls to seek backwards.</td>
-     </tr>
-     <tr>
-       <th>Owner:</th>
-       <td>Cyril</td>
-     </tr>
-    </table>
-   </div>
-
-   <div class="annotation">This attribute may be harmonized and/or replaced with the work done as part of the <a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/web-anim/index.html">Web Animation specification</a>.</div>
-
-      <p>
-        Indicates whether it is possible to seek backwards in the document. In
-        earlier versions of SVG there was no need to put restrictions on the
-        direction of seeking but with the newly introduced facilities for
-        long-running documents (e.g. the <a href="#DiscardElement">
-          <span class="element-name">'discard'</span></a> element) there is
-        sometimes a need to restrict this.
-      </p>
-      <p>
-        If <span class="attr-name">'playbackOrder'</span> is set to
-        <span class="attr-value">'forwardOnly'</span>, the content will probably
-        contain <a href="#DiscardElement"><span class="element-name">'discard'</span></a>
-        elements or scripts that destroy resources, thus seeking back in the
-        document's timeline may result in missing content.
-        If <span class="attr-name">'playbackOrder'</span> is
-        <span class="attr-value">'forwardOnly'</span>, the content should not
-        provide a way, through hyperlinking or script, of seeking backwards in
-        the timeline.  Similarly the UA should disable any controls it may
-        provide in the user interface for seeking backwards. Content with
-        <span class="attr-name">'playbackOrder'</span> =
-        <span class="attr-value">'forwardOnly'</span> that provides a mechanism
-        for seeking backwards in time may result in undefined behavior or a
-        document that is in error.
-      </p>
-      <dl>
-        <dt><span class="attr-value">'forwardOnly'</span></dt>
-        <dd>This file is intended to be played only in the forward direction, sequentially, therefore
-          seeking backwards should not be allowed.</dd>
-        <dt><span class="attr-value">'all'</span></dt>
-        <dd>Indicates that the document is authored appropriately for seeking in both directions.</dd>
-      </dl>
-      <p>
-        The <a>lacuna value</a> is <span class="attr-value">'all'</span>.
-      </p>
-      <p class="anim-target"><a href="animate.html#Animatable">Animatable</a>: no.</p>
-    </dd>
-    <dt id="SVGElementTimelineBeginAttribute">
-      <span class="adef">timelineBegin</span> =
-      <span class="attr-value">"onLoad" | "onStart"</span>
-    </dt>
-    <dd>
-     <div class="annotation svg2-requirement">
-      <table>
-       <tr>
-        <th>SVG 2 Requirement:</th>
-        <td>Support a means for having SMIL animations start before their time container has fully loaded.</td>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
       </tr>
       <tr>
-        <th>Resolution:</th>
-        <td><a href="http://www.w3.org/2012/03/29-svg-irc#T20-23-57">Timeline control.</a></td>
+        <td><dfn id="SVGElementXAttribute">x</dfn>, <dfn id="SVGElementYAttribute">y</dfn></td>
+        <td><a>&lt;coordinate&gt;</a></td>
+        <td>0</td>
+        <td>yes</td>
       </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>The <a>'x'</a> and <a>'y'</a> attributes specify the
+    top-left corner of the rectangular region into which an
+    embedded <a>'svg'</a> element is placed.  On an <a>outermost svg element</a>,
+    these attributes have no effect.</p>
+  </dd>
+  <dt>
+    <table class="propdef attrdef">
       <tr>
-        <th>Purpose:</th>
-        <td>To start animations before the SVG document is fully loaded (useful for large SVG documents).</td>
+        <th>Name</th>
+        <th>Value</th>
+        <th>Lacuna value</th>
+        <th>Animatable</th>
       </tr>
       <tr>
-        <th>Owner:</th>
-        <td>Cyril</td>
+        <td><dfn id="SVGElementWidthAttribute">width</dfn>, <dfn id="SVGElementHeightAttribute">height</dfn></td>
+        <td><a>&lt;length&gt;</a> | <a>&lt;percentage&gt;</a></td>
+        <td>100%</td>
+        <td>yes</td>
       </tr>
-     </table>
-    </div>
-
-    <div class="annotation">This attribute may be harmonized and/or replaced with the work done as part of the <a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/web-anim/index.html">Web Animation specification</a>.</div>
-
-      <p>
-        Controls the initialization of the timeline for the document.
-      </p>
-      <p>
-        The <a href="#SVGElement"><span class="element-name">'svg'</span></a>
-        element controls the <em>document timeline</em>, which is the timeline of
-        the <a href="#SVGElement"><span class="element-name">'svg'</span></a>
-        element's time container. For progressively loaded animations, the author
-        would typically set this attribute to <span class="attr-value">'onStart'</span>,
-        thus allowing the timeline to begin as the document loads, rather than
-        waiting until the complete document is loaded.
-      </p>
-      <dl>
-        <dt><span class="attr-value">'onLoad'</span></dt>
-        <dd>
-          The document's timeline starts the moment the
-          <a href="interact.html#LoadEvent"><code>load</code></a> event for the
-          <a>rootmost 'svg' element</a> is triggered.
-        </dd>
-        <dt><span class="attr-value">'onStart'</span></dt>
-        <dd>
-          The document's timeline starts at the moment the
-          <a>rootmost 'svg' element</a>'s
-          <em>start-tag</em>
-          <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags">as defined in XML 1.0</a>
-          ([<a href="refs.html#ref-XML10">XML10</a>], section 3.1) is fully parsed and processed.
-	  <p class="issue">What about when the SVG document fragment is within
-	  an XHTML document?  Is there a single timeline for the whole document, and if so,
-	  does it start at the parse time for the first <code>&lt;svg&gt;</code> start tag?
-	  What about when using the HTML parser?</p>
-        </dd>
-      </dl>
-      <p>
-        The <a>lacuna value</a> is <span class="attr-value">'onLoad'</span>.
-      </p>
-      <p class="anim-target"><a href="animate.html#Animatable">Animatable</a>: no.</p>
-    </dd>
-  </dl>
-</div>
+    </table>
+  </dt>
+  <dd>
+    <p>For <a>outermost svg elements</a>,
+    the <a>'width'</a> and <a>'height'</a> attributes specify
+    the intrinsice size of the SVG document fragment.
+    For embedded <a>'svg'</a> elements, they specify the size
+    of the rectangular region into which the <a>'svg'</a> element
+    is placed.</p>
+    <p>A negative value is an error (see <a
+    href="implnote.html#ErrorProcessing">Error processing</a>).
+    A value of zero disables rendering of the element.</p>
+    <p class="issue">When zero is used on an outer <a>'svg'</a> element,
+    does this disable rendering too?  Or does it just affect
+    the intrinsic size?</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="SVGElementPreserveAspectRatioAttribute">preserveAspectRatio</dfn></td>
+        <td>[ defer ]? <a>&lt;align&gt;</a> [ meet | slice ]?</td>
+        <td>xMidYMid meet</td>
+        <td>yes</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies the fitting behavior when the aspect ratio of the <a>'svg'</a>
+    element does not match the aspect ratio of the rectangle it is placed in.
+    See the definition of <a>'preserveAspectRatio'</a> for details.</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="SVGElementZoomAndPanAttribute">zoomAndPan</dfn></td>
+        <td>disable | magnify</td>
+        <td>magnify</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p>Specifies whether the user agent should supply a means to zoom
+    and pan the SVG content.  See the definition of <a>'zoomAndPan'</a>
+    for details.</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="SVGElementPlaybackOrderAttribute">playbackOrder</dfn></td>
+        <td>forwardOnly | all</td>
+        <td>all</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p class="issue">This attribute may be harmonized and/or replaced with the
+    work done as part of the <a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/web-anim/index.html">Web Animation specification</a>.</p>
+    <p>
+      Indicates whether it is possible to seek backwards in the document. In
+      earlier versions of SVG there was no need to put restrictions on the
+      direction of seeking but with the newly introduced facilities for
+      long-running documents (e.g. the <a href="#DiscardElement">
+        <span class="element-name">'discard'</span></a> element) there is
+      sometimes a need to restrict this.
+    </p>
+    <p>
+      If <span class="attr-name">'playbackOrder'</span> is set to
+      <span class="attr-value">'forwardOnly'</span>, the content will probably
+      contain <a>'discard'</a>
+      elements or scripts that destroy resources, thus seeking back in the
+      document's timeline may result in missing content.
+      If <span class="attr-name">'playbackOrder'</span> is
+      <span class="attr-value">'forwardOnly'</span>, the content should not
+      provide a way, through hyperlinking or script, of seeking backwards in
+      the timeline.  Similarly the UA should disable any controls it may
+      provide in the user interface for seeking backwards. Content with
+      <span class="attr-value">playbackOrder="forwardOnly"</span>
+      that provides a mechanism for seeking backwards in time may result in
+      undefined behavior or a document that is in error.
+    </p>
+    <p class="issue">Can't we define this so that there is no undefined behavior?</p>
+    <p>Attribute values have the following meanings:</p>
+    <dl>
+      <dt><span class="attr-value">'forwardOnly'</span></dt>
+      <dd>This file is intended to be played only in the forward direction, sequentially, therefore
+        seeking backwards should not be allowed.</dd>
+      <dt><span class="attr-value">'all'</span></dt>
+      <dd>Indicates that the document is authored appropriately for seeking in both directions.</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="SVGElementTimelineBeginAttribute">timelineBegin</dfn></td>
+        <td>onLoad | onStart</td>
+        <td>onLoad</td>
+        <td>no</td>
+      </tr>
+    </table>
+  </dt>
+  <dd>
+    <p class="issue">This attribute may be harmonized and/or replaced with
+    the work done as part of the <a href="https://dvcs.w3.org/hg/FXTF/raw-file/tip/web-anim/index.html">Web Animation specification</a>.</p>
+    <p>
+      Controls the initialization of the timeline for the document.
+    </p>
+    <p>
+      The <a>'svg'</a> element controls the <em>document timeline</em>, which is the timeline of
+      the <a>'svg'</a> element's time container. For progressively loaded animations, the author
+      would typically set this attribute to <span class="attr-value">'onStart'</span>,
+      thus allowing the timeline to begin as the document loads, rather than
+      waiting until the complete document is loaded.
+    </p>
+    <p>Attribute values have the following meanings:</p>
+    <dl>
+      <dt><span class="attr-value">'onLoad'</span></dt>
+      <dd>
+        The document's timeline starts the moment the
+        <a href="interact.html#LoadEvent"><code>load</code></a> event for the
+        <a>rootmost 'svg' element</a> is triggered.
+      </dd>
+      <dt><span class="attr-value">'onStart'</span></dt>
+      <dd>
+        The document's timeline starts at the moment the
+        <a>rootmost 'svg' element</a>'s <em>start-tag</em>
+        <a href="http://www.w3.org/TR/2006/REC-xml-20060816/#sec-starttags">as defined in XML 1.0</a>
+        ([<a href="refs.html#ref-XML10">XML10</a>], section 3.1) is fully parsed and processed.
+        <p class="issue">What about when the SVG document fragment is within
+        an XHTML document?  Is there a single timeline for the whole document, and if so,
+        does it start at the parse time for the first <code>&lt;svg&gt;</code> start tag?
+        What about when using the HTML parser?</p>
+      </dd>
+    </dl>
+  </dd>
+</dl>
 
 <p>If an SVG document is likely to be referenced as a component
 of another document, the author will often want to include a
--- a/master/style/default_svg.css	Sun Sep 16 03:49:45 2012 +1000
+++ b/master/style/default_svg.css	Sun Sep 16 04:33:58 2012 +1000
@@ -336,3 +336,19 @@
 .eltdef td > p:first-child { margin-top: 0 }
 .eltdef th { white-space: nowrap }
 .eltdef pre.idl { margin: 0; padding: 0; background: none }
+
+/* Attribute definition tables */
+table.propdef.attrdef { border-left-color: #888; border-left-width: 0; background-color: #eee; font-size: 90% }
+table.propdef.attrdef th, table.propdef.attrdef td { border-bottom-color: #ccc }
+
+table.propdef.attrdef th:first-child,
+table.propdef.attrdef td:first-child { width: 16em; padding-left: 0 !important }
+
+table.propdef.attrdef th:first-child + th,
+table.propdef.attrdef td:first-child + td { width: auto }
+
+table.propdef.attrdef th:first-child + th + th,
+table.propdef.attrdef td:first-child + td + td { width: 6em }
+
+table.propdef.attrdef th:first-child + th + th + th,
+table.propdef.attrdef td:first-child + td + td + td { width: 6em; padding-right: 0 !important }