Use new-style attribute definition tables for 'use'.
--- a/master/definitions.xml Sun Sep 16 05:21:34 2012 +1000
+++ b/master/definitions.xml Sun Sep 16 06:13:13 2012 +1000
@@ -1264,7 +1264,8 @@
<term name='hit-testing' href='intro.html#TermHitTesting'/>
<term name='invalid' href='intro.html#TermInvalidValue'/>
<term name='invalid value' href='intro.html#TermInvalidValue'/>
- <term name='Lacuna value' href='intro.html#TermLacunaValue'/>
+ <term name='lacuna value' href='intro.html#TermLacunaValue'/>
+ <term name='lacuna values' href='intro.html#TermLacunaValue'/>
<term name='Paint' href='intro.html#TermPaint'/>
<term name='paint' href='intro.html#TermPaint'/>
<term name='painting' href='intro.html#TermPaint'/>
--- a/master/struct.html Sun Sep 16 05:21:34 2012 +1000
+++ b/master/struct.html Sun Sep 16 06:13:13 2012 +1000
@@ -1129,6 +1129,71 @@
<p class="issue">We should define the behavior of <a>'use'</a>
in terms of Web Components.</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="UseElementXAttribute">x</dfn>, <dfn id="UseElementYAttribute">y</dfn></td>
+ <td><a><coordinate></a></td>
+ <td>0</td>
+ <td>yes</td>
+ </tr>
+ <tr>
+ <td><dfn id="UseElementWidthAttribute">width</dfn>, <dfn id="UseElementHeightAttribute">height</dfn></td>
+ <td><a><length></a></td>
+ <td>(see prose)</td>
+ <td>yes</td>
+ </tr>
+ </table>
+ </dt>
+ <dd>
+ <p>The <a>'x'</a>, <a>'y'</a>, <a>'width'</a> and <a>'height'</a>
+ attributes specify the positioning of the referenced element.
+ The <a>'width'</a> and <a>'height'</a> attributes have different
+ <a>lacuna values</a> depending on the type of the referenced element:</p>
+ <dl class='switch'>
+ <dt><a>'svg'</a></dt>
+ <dd>The <a>lacuna values</a> are the <a>'svg/width'</a> and <a>'svg/height'</a>
+ values from the referenced <a>'svg'</a> element.</dd>
+ <dt>anything else</dt>
+ <dd>The <a>lacuna values</a> are <span class='attr-value'>'100%'</span>.</dd>
+ </dl>
+ <p>A negative value for <a>'width'</a> or <a>'height'</a> is an error (see
+ <a href="implnote.html#ErrorProcessing">Error processing</a>). If
+ <a>'width'</a> or <a>'height'</a> is zero then rendering of the
+ <a>'use'</a> element is disabled.</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="UseElementHrefAttribute">href</dfn></td>
+ <td><a><iri></a></td>
+ <td>(none)</td>
+ <td>yes</td>
+ </tr>
+ </table>
+ </dt>
+ <dd>
+ <p>An <a href="linking.html#IRIReference">IRI reference</a> to the
+ element/fragment within an SVG document to be cloned for
+ rendering.</p>
+ </dd>
+</dl>
+
<p>For user agents that support <a
href="styling.html#StylingWithCSS">Styling with CSS</a>, the
conceptual deep cloning of the referenced element into a
@@ -1342,64 +1407,6 @@
to create a circular dependency is an error, as described in <a
href="#Head">References and the <span class='element-name'>'defs'</span> element</a>.</p>
-<div class="adef-list">
- <p><em>Attribute definitions:</em></p>
- <dl>
- <dt id="UseElementXAttribute"><span
- class="adef">x</span> = "<span class="attr-value"><a
- href="types.html#DataTypeCoordinate"><coordinate></a></span>"</dt>
- <dd>The x-axis coordinate of one corner of the rectangular
- region into which the referenced element is placed.<br />
- If the attribute is not specified, the effect is as if a
- value of "0" were specified.<br />
- <span class="anim-target"><a
- href="animate.html#Animatable">Animatable</a>:
- yes.</span></dd>
- <dt id="UseElementYAttribute"><span
- class="adef">y</span> = "<span class="attr-value"><a
- href="types.html#DataTypeCoordinate"><coordinate></a></span>"</dt>
- <dd>The y-axis coordinate of one corner of the rectangular
- region into which the referenced element is placed.<br />
- If the attribute is not specified, the effect is as if a
- value of "0" were specified.<br />
- <span class="anim-target"><a
- href="animate.html#Animatable">Animatable</a>:
- yes.</span></dd>
- <dt id="UseElementWidthAttribute"><span
- class="adef">width</span> = "<span class="attr-value"><a
- href="types.html#DataTypeLength"><length></a></span>"</dt>
- <dd>The width of the rectangular region into which the
- referenced element is placed. A negative value is an error
- (see <a href="implnote.html#ErrorProcessing">Error
- processing</a>). A value of zero disables rendering of this
- element.<br />
- <span class="anim-target"><a
- href="animate.html#Animatable">Animatable</a>:
- yes.</span></dd>
- <dt id="UseElementHeightAttribute"><span
- class="adef">height</span> = "<span class="attr-value"><a
- href="types.html#DataTypeLength"><length></a></span>"</dt>
- <dd>The height of the rectangular region into which the
- referenced element is placed. A negative value is an error
- (see <a href="implnote.html#ErrorProcessing">Error
- processing</a>). A value of zero disables rendering of this
- element.<br />
- <span class="anim-target"><a
- href="animate.html#Animatable">Animatable</a>:
- yes.</span></dd>
- <dt id="UseElementHrefAttribute"><span
- class="adef">xlink:href</span> = "<span
- class="attr-value"><a
- href="types.html#DataTypeIRI"><iri></a></span>"</dt>
- <dd>A <a href="linking.html#IRIReference">IRI
- reference</a> to an element/fragment within an SVG
- document.<br />
- <span class="anim-target"><a
- href="animate.html#Animatable">Animatable</a>:
- yes.</span></dd>
- </dl>
-</div>
-
</edit:with>
<h2 id="ImageElement">The <span class='element-name'>'image'</span> element</h2>
--- a/master/style/default_svg.css Sun Sep 16 05:21:34 2012 +1000
+++ b/master/style/default_svg.css Sun Sep 16 06:13:13 2012 +1000
@@ -352,3 +352,29 @@
table.propdef.attrdef th:first-child + th + th + th,
table.propdef.attrdef td:first-child + td + td + td { width: 6em; padding-right: 0 !important }
+
+/* HTML5-like switch statements. */
+dl.switch > dd > ol.only {
+ margin-left: 0;
+}
+dl.switch > dd > ol.algorithm {
+ margin-left: -2em;
+}
+dl.switch {
+ padding-left: 2em;
+}
+dl.switch > dt {
+ text-indent: -1.5em;
+ margin-top: 1em;
+}
+dl.switch > dt + dt {
+ margin-top: 0;
+}
+dl.switch > dt:before {
+ content: '\21AA';
+ padding: 0 0.5em 0 0;
+ display: inline-block;
+ width: 1em;
+ text-align: right;
+ line-height: 0.5em;
+}