svg2: 2 new changesets

details:   https://svgwg.org/hg/svg2/rev/f8d7174369c0
branches:  
changeset: 371:f8d7174369c0
user:      Cameron McCormack <cam@mcc.id.au>
date:      Sat Sep 15 17:59:46 2012 +1000
description:
Remove some tabs.

details:   https://svgwg.org/hg/svg2/rev/8fd3c34d3266
branches:  
changeset: 372:8fd3c34d3266
user:      Cameron McCormack <cam@mcc.id.au>
date:      Sat Sep 15 22:15:26 2012 +1000
description:
Add constructors to various interfaces.

diffstat:

 master/changes.html    |    8 +
 master/coords.html     |   73 +++-
 master/definitions.xml |    1 +
 master/types.html      |  995 ++++++++++++++++++++++--------------------------
 4 files changed, 528 insertions(+), 549 deletions(-)

diffs (1470 lines):

diff --git a/master/changes.html b/master/changes.html
--- a/master/changes.html
+++ b/master/changes.html
@@ -53,16 +53,18 @@ have been made.</p>
   <li>Turned SVGLocatable and SVGTransformable into <a>SVGLocatableElement</a> and <a>SVGTransformableElement</a>,
   which directly inherit from <a>SVGElement</a>.</li>
 
   <li>Added <a>SVGGraphicsElement</a> and <a>SVGDefinitionElement</a> interfaces.</li>
 
   <li>Added an <a>SVGGeometryElement</a> interface with isPointInFill and isPointInStroke methods.</li>
 
   <li>Removed the SVGExternalResourcesRequired interface.</li>
+
+  <li>Added constructors to <a>SVGNumber</a>, <a>SVGLength</a>, <a>SVGAngle</a> and <a>SVGRect</a>.</li>
 </ul>
 
 <h3 id="structure">Document Structure chapter</h3>
 
 <ul>
   <li>Deprecated the <code>suspendRedraw</code>, <code>unsuspendRedraw</code> and <code>unsuspendRedrawAll</code> methods in the SVGSVGElement interface.</li>
 
   <li>Removed the <span class="attr-name">'externalResourcesRequired'</span> attribute.</li>
@@ -71,16 +73,22 @@ have been made.</p>
 </ul>
 
 <h3 id="styling">Styling chapter</h3>
 
 <ul>
   <li>Removed the <span class="attr-name">'contentStyleType'</span> attribute.</li>
 </ul>
 
+<h3 id="coords">Coordinate Systems, Transformations and Units chapter</h3>
+
+<ul>
+  <li>Added constructors to <a>SVGPoint</a>, <a>SVGMatrix</a> and <a>SVGTransform</a>.</li>
+</ul>
+
 <h3 id="text">Text chapter</h3>
 
 <ul>
   <li>Added a number of missing attributes to the element summary boxes of the
   <a>'text'</a>, <a>'textPath'</a> and <a>'tref'</a> elements.</li>
   
   <li>Added <a>'text/width'</a> attribute to <a>'text'</a>, and a 
   section about <a>'text-overflow'</a> processing.</li>
diff --git a/master/coords.html b/master/coords.html
--- a/master/coords.html
+++ b/master/coords.html
@@ -1445,42 +1445,55 @@ document have had the supplied transform
 within the SVG document.</p>
 
 <edit:example href="images/coords/geocoord3.svg" link="no" image="no"/>
 
 <h2 id="DOMInterfaces">DOM interfaces</h2>
 
 <h3 id="InterfaceSVGPoint">Interface SVGPoint</h3>
 
-
-
 <p>Many of the SVG DOM interfaces refer to objects of class
 <a>SVGPoint</a>. An <a>SVGPoint</a> is an (x, y) coordinate pair. When
 used in matrix operations, an <a>SVGPoint</a> is treated as a vector of
 the form:
 </p>
 
 <pre>
 [x]
 [y]
 [1]</pre>
 
 <p>If an <a>SVGPoint</a> object is designated as <em>read only</em>,
 then attempting to assign to one of its attributes will result in
 an exception being thrown.</p>
 
-<pre class="idl">interface <b>SVGPoint</b> {
+<pre class="idl">[<a href="#__svg__SVGPoint__constructor">Constructor</a>,
+ <a href="#__svg__SVGPoint__constructor1">Constructor</a>(float x, float y)]
+interface <b>SVGPoint</b> {
 
   attribute float <a href="coords.html#__svg__SVGPoint__x">x</a>;
   attribute float <a href="coords.html#__svg__SVGPoint__y">y</a>;
 
   <a class="idlinterface" href="coords.html#InterfaceSVGPoint">SVGPoint</a> <a href="coords.html#__svg__SVGPoint__matrixTransform">matrixTransform</a>(<a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> matrix);
 };</pre>
 
 <dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGPoint__constructor" class="operation first-child"><b>SVGPoint</b>()</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to 0.</div>
+      </dd>
+      <dt id="__svg__SVGPoint__constructor" class="operation first-child"><b>SVGPoint</b>(float x, float y)</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGPoint</a> object with its x and y attributes set to <var>x</var> and <var>y</var>, respectively.</div>
+      </dd>
+    </dl>
+  </dd>
   <dt class="attributes-header">Attributes:</dt>
   <dd>
     <dl class="attributes">
       <dt id="__svg__SVGPoint__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt>
       <dd class="attribute">
         <div>The x coordinate.</div>
         <dl class="attribute">
           <dt class="exceptions-header">Exceptions on setting</dt>
@@ -1907,33 +1920,34 @@ cannot be modified.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGMatrix">Interface SVGMatrix</h3>
 
-
-
 <p>Many of SVG's graphics operations utilize 2x3 matrices of the form:</p>
 
 <pre>
 [a c e]
 [b d f]</pre>
 
 <p>which, when expanded into a 3x3 matrix for the purposes of matrix
 arithmetic, become:
 </p>
 
 <pre>
 [a c e]
 [b d f]
 [0 0 1]</pre>
-<pre class="idl">interface <b>SVGMatrix</b> {
+
+<pre class="idl">[<a href="#__svg__SVGMatrix__constructor">Constructor</a>,
+ <a href="#__svg__SVGMatrix__constructor1">Constructor</a>(float a, float b, float c, float d, float e, float f)]
+interface <b>SVGMatrix</b> {
 
   attribute float <a href="coords.html#__svg__SVGMatrix__a">a</a>;
   attribute float <a href="coords.html#__svg__SVGMatrix__b">b</a>;
   attribute float <a href="coords.html#__svg__SVGMatrix__c">c</a>;
   attribute float <a href="coords.html#__svg__SVGMatrix__d">d</a>;
   attribute float <a href="coords.html#__svg__SVGMatrix__e">e</a>;
   attribute float <a href="coords.html#__svg__SVGMatrix__f">f</a>;
 
@@ -1946,16 +1960,27 @@ arithmetic, become:
   <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__rotateFromVector">rotateFromVector</a>(float x, float y);
   <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipX">flipX</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__flipY">flipY</a>();
   <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewX">skewX</a>(float angle);
   <a class="idlinterface" href="coords.html#InterfaceSVGMatrix">SVGMatrix</a> <a href="coords.html#__svg__SVGMatrix__skewY">skewY</a>(float angle);
 };</pre>
 
 <dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="operations">
+      <dt id="__svg__SVGMatrix__constructor" class="operation first-child"><b>SVGMatrix</b>()</dt>
+      <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes
+      are all set to 0.</dd>
+      <dt id="__svg__SVGMatrix__constructor1" class="operation first-child"><b>SVGMatrix</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt>
+      <dd>Creates a new <a>SVGMatrix</a> object whose a, b, c, d, e and f attributes
+      are set to the values of the respective argument passed to the constructor.</dd>
+    </dl>
+  </dd>
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGMatrix__a" class="attribute first-child"><b>a</b><span class="idl-type-parenthetical"> (float)</span></dt>
 <dd class="attribute">
 <div>
 The <var>a</var> component of the matrix.
@@ -2360,17 +2385,20 @@ returns the resulting matrix.
 
 <p><a>SVGTransform</a> is the interface for one of the component
 transformations within an <a>SVGTransformList</a>; thus, an
 <a>SVGTransform</a> object corresponds to a single component (e.g.,
 <span class="attr-value">'scale(…)'</span> or
 <span class="attr-value">'matrix(…)'</span>) within a <a>'transform'</a>
 attribute specification.</p>
 
-<pre class="idl">interface <b>SVGTransform</b> {
+<pre class="idl">[<a href="#__svg__SVGTransform__constructor">Constructor</a>,
+ <a href="#__svg__SVGTransform__constructor1">Constructor</a>(SVGMatrix matrix),
+ <a href="#__svg__SVGTransform__constructor2">Constructor</a>(DOMString value)]
+interface <b>SVGTransform</b> {
 
   // Transform Types
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_UNKNOWN">SVG_TRANSFORM_UNKNOWN</a> = 0;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_MATRIX">SVG_TRANSFORM_MATRIX</a> = 1;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_TRANSLATE">SVG_TRANSFORM_TRANSLATE</a> = 2;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SCALE">SVG_TRANSFORM_SCALE</a> = 3;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_ROTATE">SVG_TRANSFORM_ROTATE</a> = 4;
   const unsigned short <a href="coords.html#__svg__SVGTransform__SVG_TRANSFORM_SKEWX">SVG_TRANSFORM_SKEWX</a> = 5;
@@ -2384,16 +2412,47 @@ attribute specification.</p>
   void <a href="coords.html#__svg__SVGTransform__setTranslate">setTranslate</a>(float tx, float ty);
   void <a href="coords.html#__svg__SVGTransform__setScale">setScale</a>(float sx, float sy);
   void <a href="coords.html#__svg__SVGTransform__setRotate">setRotate</a>(float angle, float cx, float cy);
   void <a href="coords.html#__svg__SVGTransform__setSkewX">setSkewX</a>(float angle);
   void <a href="coords.html#__svg__SVGTransform__setSkewY">setSkewY</a>(float angle);
 };</pre>
 
 <dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGTransform__constructor" class="operation first-child"><b>SVGTransform</b>()</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGTransform</a> object whose type attribute is
+        set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an
+        <a>SVGMatrix</a> object that represents the identity matrix.</div>
+      </dd>
+      <dt id="__svg__SVGTransform__constructor1" class="operation first-child"><b>SVGTransform</b>(<a>SVGMatrix</a> <var>matrix</var>)</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGTransform</a> object whose type attribute is
+        set to SVG_TRANSFORM_MATRIX and whose matrix attribute is set to an
+        <a>SVGMatrix</a> object whose attributes are all initialized to be the
+        same as the corresponding attributes in <var>matrix</var>.</div>
+      </dd>
+      <dt id="__svg__SVGTransform__constructor2" class="operation first-child"><b>SVGTransform</b>(DOMString <var>value</var>)</dt>
+      <dd class="operation">
+        <div>
+          <p>Creates a new <a>SVGTransform</a> object whose type and matrix
+          attributes are set to values determined by parsing <var>value</var>
+          as a <a>&lt;transform-function&gt;</a>.</p>
+          <p>If <var>value</var> could not be parsed as a
+          <a>&lt;transform-function&gt;</a>, then a <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a>
+          is thrown.</p>
+	  <p class='issue'>The CSS Transforms specification does not have
+	  a grammar for <a>&lt;transform-function&gt;</a> yet.</p>
+        </div>
+      </dd>
+    </dl>
+  </dd>
 <dt class="constants-header">Constants in group “Transform Types”:</dt>
 <dd>
 <dl class="constants">
 
 <dt id="__svg__SVGTransform__SVG_TRANSFORM_UNKNOWN" class="constant first-child"><b>SVG_TRANSFORM_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
 <dd class="constant">
 <div>
 The unit type is not one of predefined types. It is invalid to attempt
diff --git a/master/definitions.xml b/master/definitions.xml
--- a/master/definitions.xml
+++ b/master/definitions.xml
@@ -1345,10 +1345,11 @@
   <term name='filter primitive elements' href='https://dvcs.w3.org/hg/FXTF/raw-file/tip/filters/index.html#TermFilterPrimitiveElement'/>
   <term name='tree order' href='http://www.w3.org/TR/2012/WD-dom-20120405/#concept-tree-order'/>
   <term name='InvalidAccessError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#invalidaccesserror'/>
   <term name='InvalidStateError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#invalidstateerror'/>
   <term name='SyntaxError' href='http://www.w3.org/TR/2012/WD-dom-20120405/#syntaxerror'/>
 
   <!-- ... grammar symbols ................................................ -->
   <symbol name='identifier' href='http://www.w3.org/TR/2012/WD-css3-values-20120308/#identifier'/>
+  <symbol name='transform-function' href='http://dev.w3.org/csswg/css3-transforms/#transform-functions'/>
 
 </definitions>
diff --git a/master/types.html b/master/types.html
--- a/master/types.html
+++ b/master/types.html
@@ -486,16 +486,18 @@ attributes, including presentation attri
         a percentage of the bounding box width or height on a given
         object (refer to <a href='coords.html#ObjectBoundingBox'>the
         section that describes object bounding box units</a>).</p>
       </li>
     </ul>
 
     <p>In the SVG DOM, &lt;length&gt; values are represented using
     <a>SVGLength</a> or <a>SVGAnimatedLength</a> objects.</p>
+
+    <p class='issue'>We should disentangle lengths and percentages.</p>
   </dd>
   
   <dt id="DataTypeListOfFamilyNames">&lt;list-of-family-names&gt;</dt>
   <dd>A &lt;list-of-family-names&gt; is a list of font family names using the same syntax
   as the <a href='text.html#FontFamilyProperty'><span class='property'>'font-family'</span></a>
   property, excluding the &lt;generic-family&gt; and <span class='attr-value'>'inherit'</span>
   values.</dd>
 
@@ -2124,38 +2126,44 @@ same value as <a>baseVal</a>.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGNumber">Interface SVGNumber</h3>
 
-
-Used for attributes of basic type
-<a href="types.html#DataTypeNumber">&lt;number&gt;</a>.
-<pre class="idl">interface <b>SVGNumber</b> {
+<p>Used for attributes of basic type
+<a href="types.html#DataTypeNumber">&lt;number&gt;</a>.</p>
+
+<pre class="idl">[<a href="#__svg__SVGNumber__constructor">Constructor</a>,
+ <a href="#__svg__SVGNumber__constructor1">Constructor</a>(float value)]
+interface <b>SVGNumber</b> {
   attribute float <a href="types.html#__svg__SVGNumber__value">value</a>;
 };</pre>
 
 <dl class="interface">
-<dt class="attributes-header">Attributes:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGNumber__value" class="attribute first-child"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The value of the given attribute.
-
-
-</div>
-</dd>
-</dl>
-</dd>
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGNumber__constructor" class="operation first-child"><b>SVGNumber</b>()</dt>
+      <dd>Creates a new <a>SVGNumber</a> object with its value attribute set to 0.</dd>
+      <dt id="__svg__SVGNumber__constructor1" class="operation first-child"><b>SVGNumber</b>(float <var>value</var>)</dt>
+      <dd>Creates a new <a>SVGNumber</a> object with its value attribute set to <var>value</var>.</dd>
+    </dl>
+  </dd>
+  <dt class="attributes-header">Attributes:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGNumber__value" class="attribute first-child"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
+      <dd class="attribute">
+        <div>The value of the given attribute.</div>
+      </dd>
+    </dl>
+  </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedNumber">Interface SVGAnimatedNumber</h3>
 
 
 Used for attributes of basic type
 <a href="types.html#DataTypeNumber">&lt;number&gt;</a> which can be
@@ -2602,28 +2610,42 @@ the attribute is not animated.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGLength">Interface SVGLength</h3>
 
-
-
 <p>The <a>SVGLength</a> interface corresponds to the
-<a href="types.html#DataTypeLength">&lt;length&gt;</a> basic data type.
-</p>
-
+<a href="types.html#DataTypeLength">&lt;length&gt;</a> and
+<a href="types.html#DataTypePercentage">&lt;percentage&gt;</a> basic data types,
+and represents a length or percentage that consists of a numerical factor and a unit,
+where the unit is one of the set of units described in
+<a href="coords.html#Units">Units</a> (em, ex, px, pt, pc, cm, mm and in),
+a percentage, a unitless number (user units), or "unknown".</p>
 
 <p id="ReadOnlyLength">An <a>SVGLength</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
-<pre class="idl">interface <b>SVGLength</b> {
+being thrown, as described below.</p>
+
+<p id="AssociatedElement">An <a>SVGLength</a> object can be <em>associated</em>
+with a particular element, as well as being designated with a <em>directionality</em>:
+horizontal, vertical or unspecified.  The associated element and the directionality of the
+length are used to resolve percentage values to user units.  Unless otherwise
+described, an <a>SVGLength</a> object is not associated with any element and
+has unspecified directionality.</p>
+
+<p class='issue'>We need to define the behavior of converting values from/to percentages
+when the viewport width/height/size is zero.</p>
+
+<pre class="idl">[<a href="#__svg__SVGLength__constructor">Constructor</a>,
+ <a href="#__svg__SVGLength__constructor1">Constructor</a>(float value, optional unsigned short unitType),
+ <a href="#__svg__SVGLength__constructor2">Constructor</a>(DOMString value)]
+interface <b>SVGLength</b> {
 
   // Length Unit Types
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN">SVG_LENGTHTYPE_UNKNOWN</a> = 0;
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_NUMBER">SVG_LENGTHTYPE_NUMBER</a> = 1;
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE">SVG_LENGTHTYPE_PERCENTAGE</a> = 2;
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_EMS">SVG_LENGTHTYPE_EMS</a> = 3;
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_EXS">SVG_LENGTHTYPE_EXS</a> = 4;
   const unsigned short <a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_PX">SVG_LENGTHTYPE_PX</a> = 5;
@@ -2635,328 +2657,234 @@ being thrown, as described below.
 
   readonly attribute unsigned short <a href="types.html#__svg__SVGLength__unitType">unitType</a>;
            attribute float <a href="types.html#__svg__SVGLength__value">value</a>;
            attribute float <a href="types.html#__svg__SVGLength__valueInSpecifiedUnits">valueInSpecifiedUnits</a>;
            attribute DOMString <a href="types.html#__svg__SVGLength__valueAsString">valueAsString</a>;
 
   void <a href="types.html#__svg__SVGLength__newValueSpecifiedUnits">newValueSpecifiedUnits</a>(unsigned short unitType, float valueInSpecifiedUnits);
   void <a href="types.html#__svg__SVGLength__convertToSpecifiedUnits">convertToSpecifiedUnits</a>(unsigned short unitType);
-};</pre><dl class="interface">
-<dt class="constants-header">Constants in group “Length Unit Types”:</dt>
-<dd>
-<dl class="constants">
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN" class="constant first-child"><b>SVG_LENGTHTYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-The unit type is not one of predefined unit types. It is invalid to
-attempt to define a new value of this type or to attempt to switch an
-existing value to this type.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_NUMBER" class="constant"><b>SVG_LENGTHTYPE_NUMBER</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-No unit type was provided (i.e., a unitless value was specified), which
-indicates a value in user units.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE" class="constant"><b>SVG_LENGTHTYPE_PERCENTAGE</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A percentage value was specified.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_EMS" class="constant"><b>SVG_LENGTHTYPE_EMS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the em units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_EXS" class="constant"><b>SVG_LENGTHTYPE_EXS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the ex units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PX" class="constant"><b>SVG_LENGTHTYPE_PX</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the px units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_CM" class="constant"><b>SVG_LENGTHTYPE_CM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the cm units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_MM" class="constant"><b>SVG_LENGTHTYPE_MM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the mm units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_IN" class="constant"><b>SVG_LENGTHTYPE_IN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the in units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PT" class="constant"><b>SVG_LENGTHTYPE_PT</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the pt units defined in CSS 2.1.
-
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__SVG_LENGTHTYPE_PC" class="constant"><b>SVG_LENGTHTYPE_PC</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
-<dd class="constant">
-<div>
-A value was specified using the pc units defined in CSS 2.1.
-
-
-</div>
-</dd>
-</dl>
-</dd>
-<dt class="attributes-header">Attributes:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGLength__unitType" class="attribute first-child"><b>unitType</b><span class="idl-type-parenthetical"> (readonly unsigned short)</span></dt>
-<dd class="attribute">
-<div>
-The type of the value as specified by one of the SVG_LENGTHTYPE_*
-constants defined on this interface.
-
-</div>
-</dd>
-
-<dt id="__svg__SVGLength__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The value as a floating point value, in user units. Setting this
-attribute will cause <a>valueInSpecifiedUnits</a> and
-<a>valueAsString</a> to be updated automatically to reflect this setting.
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the length is
-<a href="#ReadOnlyLength">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGLength__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The value as a floating point value, in the units expressed by
-<a>unitType</a>. Setting this attribute will cause <a>value</a> and
-<a>valueAsString</a> to be updated automatically to reflect this setting. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the length is
-<a href="#ReadOnlyLength">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGLength__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt>
-<dd class="attribute">
-<div>
-The value as a string value, in the units expressed by <a>unitType</a>.
-Setting this attribute will cause <a>value</a>, 
-<a>valueInSpecifiedUnits</a> and <a>unitType</a> 
-to be updated automatically to reflect this
-setting. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR
-</dt>
-<dd class="exception"> Raised if the assigned string cannot 
-be parsed as a valid <a>&lt;length&gt;</a>.
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the length is
-<a href="#ReadOnlyLength">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-<dt class="operations-header">Operations:</dt>
-<dd>
-<dl class="attributes">
-
-<dt id="__svg__SVGLength__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)
-</dt>
-<dd class="operation">
-<div>
-Reset the value as a number with an associated <a>unitType</a>, thereby
-replacing the values for all of the attributes on the object.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>unsigned short <var>unitType</var></div> 
-<div> The unit type for the value (e.g., <a>SVG_LENGTHTYPE_MM</a>).
-
-</div>
-</li>
-<li class="parameter">
-<div>float <var>valueInSpecifiedUnits</var></div> 
-<div> The new value.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR
-</dt>
-<dd class="exception"> Raised if unitType is SVG_LENGTHTYPE_UNKNOWN 
-or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants 
-defined on this interface).
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the length is
-<a href="#ReadOnlyLength">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGLength__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)
-</dt>
-<dd class="operation">
-<div>
-Preserve the same underlying stored value, but reset the stored unit
-identifier to the given <var>unitType</var>. Object attributes
-<a>unitType</a>, <a>valueInSpecifiedUnits</a> and <a>valueAsString</a>
-might be modified as a result of this method. For example, if the
-original value were "0.5cm" and the method was invoked to convert to
-millimeters, then the <a>unitType</a> would be changed to
-<a>SVG_LENGTHTYPE_MM</a>, <a>valueInSpecifiedUnits</a> would be changed
-to the numeric value 5 and <a>valueAsString</a> would be changed to
-"5mm".
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>unsigned short <var>unitType</var></div> 
-<div> The unit type to switch to (e.g., <a>SVG_LENGTHTYPE_MM</a>).
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR
-</dt>
-<dd class="exception"> Raised if unitType is SVG_LENGTHTYPE_UNKNOWN 
-or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants 
-defined on this interface).
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the length is
-<a href="#ReadOnlyLength">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
+};</pre>
+
+<dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="operations">
+      <dt id="__svg__SVGLength__constructor" class="operation first-child"><b>SVGLength</b>()</dt>
+      <dd>Creates a new <a>SVGLength</a> object whose value is zero user units.</dd>
+      <dt id="__svg__SVGLength__constructor1" class="operation first-child"><b>SVGLength</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt>
+      <dd>Creates a new <a>SVGLength</a> object whose value is <var>value</var> in the
+      units specified by <var>unitType</var>.</dd>
+      <dt id="__svg__SVGLength__constructor2" class="operation first-child"><b>SVGLength</b>(DOMString <var>value</var>)</dt>
+      <dd>Creates a new <a>SVGLength</a> object whose value is determined by
+      parsing <var>value</var> as a <a>&lt;length&gt;</a> or <a>&lt;percentage&gt;</a>.
+      If <var>value</var> cannot be parsed as a <a>&lt;length&gt;</a> or
+      <a>&lt;percentage&gt;</a>, then a
+      <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a>
+      is thrown.</dd>
+    </dl>
+  </dd>
+  <dt class="constants-header">Constants in group “Length Unit Types”:</dt>
+  <dd>
+    <dl class="constants">
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_UNKNOWN" class="constant first-child"><b>SVG_LENGTHTYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>The unit type is not one of predefined unit types. It is invalid to
+        attempt to define a new value of this type or to attempt to switch an
+        existing value to this type.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_NUMBER" class="constant"><b>SVG_LENGTHTYPE_NUMBER</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>No unit type was provided (i.e., a unitless value was specified), which
+        indicates a value in user units.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PERCENTAGE" class="constant"><b>SVG_LENGTHTYPE_PERCENTAGE</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A percentage value was specified.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_EMS" class="constant"><b>SVG_LENGTHTYPE_EMS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the em units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_EXS" class="constant"><b>SVG_LENGTHTYPE_EXS</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the ex units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PX" class="constant"><b>SVG_LENGTHTYPE_PX</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the px units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_CM" class="constant"><b>SVG_LENGTHTYPE_CM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the cm units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_MM" class="constant"><b>SVG_LENGTHTYPE_MM</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the mm units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_IN" class="constant"><b>SVG_LENGTHTYPE_IN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the in units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PT" class="constant"><b>SVG_LENGTHTYPE_PT</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the pt units defined in CSS 2.1.</div>
+      </dd>
+      <dt id="__svg__SVGLength__SVG_LENGTHTYPE_PC" class="constant"><b>SVG_LENGTHTYPE_PC</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
+      <dd class="constant">
+        <div>A value was specified using the pc units defined in CSS 2.1.</div>
+      </dd>
+    </dl>
+  </dd>
+  <dt class="attributes-header">Attributes:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGLength__unitType" class="attribute first-child"><b>unitType</b><span class="idl-type-parenthetical"> (readonly unsigned short)</span></dt>
+      <dd class="attribute">
+        <div>The type of the value as specified by one of the SVG_LENGTHTYPE_*
+        constants defined on this interface.</div>
+      </dd>
+      <dt id="__svg__SVGLength__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
+      <dd class="attribute">
+        <div>The value of the length in user units.
+        On getting, returns the value converted to user units.  If
+        the type of the <a>SVGLength</a> is unknown, or it is a percentage
+        but the object has no associated element, the numerical factor
+        of the length is returned.  On setting, sets the numerical
+        factor to the assigned value and the unit type to user units.</div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+      <dt id="__svg__SVGLength__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt>
+      <dd class="attribute">
+        <div>The numerical factor of the length value.</div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+      <dt id="__svg__SVGLength__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt>
+      <dd class="attribute">
+        <div>
+          <p>The length value as a string.  On getting, returns a
+          string as follows:</p>
+          <ul>
+            <li>If the unit type of the length is unknown or user units,
+            the string is simply the numeric factor converted to a string.</li>
+            <li>If the unit type of the length is a percentage, the string
+            is the result of concatenating the numeric factor converted to a string 
+            with the string "%".</li>
+            <li>Otherwise, the string is the result of concatenating the numeric
+            factor converted to a string with the CSS length unit in lowercase.</li>
+          </ul>
+          <p>On setting, updates the numeric factor and units type of the
+          <a>SVGLength</a> object according to the result of parsing the
+          assigned string as a <a>&lt;length&gt;</a> or <a>&lt;percentage&gt;</a>.</p>
+        </div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR</dt>
+              <dd class="exception">Raised if the assigned string cannot be parsed as a valid <a>&lt;length&gt;</a> or <a>&lt;percentage&gt;</a>.</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+    </dl>
+  </dd>
+  <dt class="operations-header">Operations:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGLength__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)</dt>
+      <dd class="operation">
+        <div>Sets the numeric factor of the length value to <var>valueInSpecifiedUnits</var>
+        and the unit type to <var>unitType</var>.</div>
+        <dl class="operation">
+          <dt class="parameters-header">Parameters</dt>
+          <dd>
+            <ol class="parameters">
+              <li class="parameter first-child">
+                <div>unsigned short <var>unitType</var></div> 
+                <div>The unit type for the value (e.g., <a>SVG_LENGTHTYPE_MM</a>).</div>
+              </li>
+              <li class="parameter">
+                <div>float <var>valueInSpecifiedUnits</var></div> 
+                <div>The new value.</div>
+              </li>
+            </ol>
+          </dd>
+          <dt class="exceptions-header">Exceptions</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt>
+              <dd class="exception">Raised if unitType is SVG_LENGTHTYPE_UNKNOWN 
+              or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants 
+              defined on this interface).</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+      <dt id="__svg__SVGLength__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)</dt>
+      <dd class="operation">
+        <div>
+          <p>Sets the unit type of the length value to the type specified by
+          <var>unitType</var> and sets the numeric factor value such that it
+          represents the same absolute length.
+          For example, if the original value were "0.5cm" and the method was
+          invoked to convert to millimeters, then <a>unitType</a> would return
+          <a>SVG_LENGTHTYPE_MM</a> and <a>valueInSpecifiedUnits</a> would return the
+          numeric value 5.</p>
+          <p>If the old or new unit type
+          is percentage and the <a>SVGLength</a> object has no associated
+          element, then the percentages are considered to resolve against
+          a length of 100 user units.  For example, converting an <a>SVGLength</a>
+          whose value is 20px to a percentage will result in the value being 20%.</p>
+        </div>
+        <dl class="operation">
+          <dt class="parameters-header">Parameters</dt>
+          <dd>
+            <ol class="parameters">
+              <li class="parameter first-child">
+                <div>unsigned short <var>unitType</var></div> 
+                <div>The unit type to switch to (e.g., <a>SVG_LENGTHTYPE_MM</a>).</div>
+              </li>
+            </ol>
+          </dd>
+          <dt class="exceptions-header">Exceptions</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt>
+              <dd class="exception">Raised if unitType is SVG_LENGTHTYPE_UNKNOWN 
+              or not a valid unit type constant (one of the other SVG_LENGTHTYPE_* constants 
+              defined on this interface).</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the length is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+    </dl>
+  </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAnimatedLength">Interface SVGAnimatedLength</h3>
 
 
 Used for attributes of basic type
 <a href="types.html#DataTypeLength">&lt;length&gt;</a> which can be
@@ -3402,44 +3330,63 @@ the attribute is not animated.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGAngle">Interface SVGAngle</h3>
 
-
-
 <p>The <a>SVGAngle</a> interface corresponds to the
-<a href="types.html#DataTypeAngle">&lt;angle&gt;</a> basic data type.
-</p>
-
+<a href="types.html#DataTypeAngle">&lt;angle&gt;</a> basic data type,
+and represents an angle that consists of a numerical factor and a unit,
+where the unit is degrees, radians, grads, unitless numbers or "unknown".</p>
 
 <p id="ReadOnlyAngle">An <a>SVGAngle</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
-<pre class="idl">interface <b>SVGAngle</b> {
+being thrown, as described below.</p>
+
+<pre class="idl">[<a href="#__svg__SVGAngle__constructor">Constructor</a>,
+ <a href="#__svg__SVGAngle__constructor1">Constructor</a>(float value, optional unsigned short unitType),
+ <a href="#__svg__SVGAngle__constructor2">Constructor</a>(DOMString value)]
+interface <b>SVGAngle</b> {
 
   // Angle Unit Types
   const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNKNOWN">SVG_ANGLETYPE_UNKNOWN</a> = 0;
   const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNSPECIFIED">SVG_ANGLETYPE_UNSPECIFIED</a> = 1;
   const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_DEG">SVG_ANGLETYPE_DEG</a> = 2;
   const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_RAD">SVG_ANGLETYPE_RAD</a> = 3;
   const unsigned short <a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_GRAD">SVG_ANGLETYPE_GRAD</a> = 4;
 
   readonly attribute unsigned short <a href="types.html#__svg__SVGAngle__unitType">unitType</a>;
            attribute float <a href="types.html#__svg__SVGAngle__value">value</a>;
            attribute float <a href="types.html#__svg__SVGAngle__valueInSpecifiedUnits">valueInSpecifiedUnits</a>;
            attribute DOMString <a href="types.html#__svg__SVGAngle__valueAsString">valueAsString</a>;
 
   void <a href="types.html#__svg__SVGAngle__newValueSpecifiedUnits">newValueSpecifiedUnits</a>(unsigned short unitType, float valueInSpecifiedUnits);
   void <a href="types.html#__svg__SVGAngle__convertToSpecifiedUnits">convertToSpecifiedUnits</a>(unsigned short unitType);
-};</pre><dl class="interface">
+};</pre>
+
+<dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="operations">
+      <dt id="__svg__SVGAngle__constructor" class="operation first-child"><b>SVGAngle</b>()</dt>
+      <dd>Creates a new <a>SVGAngle</a> object whose value is zero user units.</dd>
+      <dt id="__svg__SVGAngle__constructor1" class="operation first-child"><b>SVGAngle</b>(float <var>value</var>, optional unsigned short <var>unitType</var>)</dt>
+      <dd>Creates a new <a>SVGAngle</a> object whose value is <var>value</var> in the
+      units specified by <var>unitType</var>.</dd>
+      <dt id="__svg__SVGAngle__constructor2" class="operation first-child"><b>SVGAngle</b>(DOMString <var>value</var>)</dt>
+      <dd>Creates a new <a>SVGAngle</a> object whose value is determined by
+      parsing <var>value</var> as an <a>&lt;angle&gt;</a>.
+      If <var>value</var> cannot be parsed, then a
+      <a href="http://dvcs.w3.org/hg/domcore/raw-file/tip/Overview.html#syntaxerror">SyntaxError</a>
+      is thrown.</dd>
+    </dl>
+  </dd>
 <dt class="constants-header">Constants in group “Angle Unit Types”:</dt>
 <dd>
 <dl class="constants">
 
 <dt id="__svg__SVGAngle__SVG_ANGLETYPE_UNKNOWN" class="constant first-child"><b>SVG_ANGLETYPE_UNKNOWN</b><span class="idl-type-parenthetical"> (unsigned short)</span></dt>
 <dd class="constant">
 <div>
 The unit type is not one of predefined unit types. It is invalid to
@@ -3497,203 +3444,154 @@ The unit type is radians.
 <dd class="attribute">
 <div>
 The type of the value as specified by one of the SVG_ANGLETYPE_*
 constants defined on this interface.
 
 </div>
 </dd>
 
-<dt id="__svg__SVGAngle__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The angle value as a floating point value, in degrees. Setting this
-attribute will cause <a>valueInSpecifiedUnits</a> and
-<a>valueAsString</a> to be updated automatically to reflect this setting. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the angle is
-<a href="#ReadOnlyAngle">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGAngle__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt>
-<dd class="attribute">
-<div>
-The angle value as a floating point value, in the units expressed by
-<a>unitType</a>. Setting this attribute will cause <a>value</a> and
-<a>valueAsString</a> to be updated automatically to reflect this setting. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the angle is
-<a href="#ReadOnlyAngle">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGAngle__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt>
-<dd class="attribute">
-<div>
-The angle value as a string value, in the units expressed by
-<a>unitType</a>. Setting this attribute will cause <a>value</a>,
-<a>valueInSpecifiedUnits</a> and <a>unitType</a>
-to be updated automatically to reflect
-this setting. 
-
-
-</div>
-<dl class="attribute">
-<dt class="exceptions-header">Exceptions on setting</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR
-</dt>
-<dd class="exception"> Raised if the assigned string cannot 
-be parsed as a valid <a>&lt;angle&gt;</a>.
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the angle is
-<a href="#ReadOnlyAngle">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
+      <dt id="__svg__SVGAngle__value" class="attribute"><b>value</b><span class="idl-type-parenthetical"> (float)</span></dt>
+      <dd class="attribute">
+        <div>The value of the angle in degrees.
+        On getting, returns the value converted to degrees.  If
+        the type of the <a>SVGAngle</a> is unknown, the numerical factor
+        of the angle is returned.  On setting, sets the numerical
+        factor to the assigned value and the unit type to unitless numbers.</div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+
+      <dt id="__svg__SVGAngle__valueInSpecifiedUnits" class="attribute"><b>valueInSpecifiedUnits</b><span class="idl-type-parenthetical"> (float)</span></dt>
+      <dd class="attribute">
+        <div>The numerical factor of the angle value.</div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+
+      <dt id="__svg__SVGAngle__valueAsString" class="attribute"><b>valueAsString</b><span class="idl-type-parenthetical"> (DOMString)</span></dt>
+      <dd class="attribute">
+        <div>
+          <p>The angle value as a string.  On getting, returns a
+          string as follows:</p>
+          <ul>
+            <li>If the unit type of the angle is unknown or unitless numbers,
+            the string is simply the numeric factor converted to a string.</li>
+            <li>Otherwise, the string is the result of concatenating the numeric
+            factor converted to a string with the CSS angle unit in lowercase.</li>
+          </ul>
+          <p>On setting, updates the numeric factor and units type of the
+          <a>SVGAngle</a> object according to the result of parsing the
+          assigned string as an <a>&lt;angle&gt;</a>.</p>
+        </div>
+        <dl class="attribute">
+          <dt class="exceptions-header">Exceptions on setting</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code SYNTAX_ERR</dt>
+              <dd class="exception">Raised if the assigned string cannot be parsed as a valid <a>&lt;angle&gt;</a>.</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the angle is <a href="#ReadOnlyLength">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+
+
 </dl>
 </dd>
 <dt class="operations-header">Operations:</dt>
 <dd>
 <dl class="attributes">
 
-<dt id="__svg__SVGAngle__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)
-</dt>
-<dd class="operation">
-<div>
-Reset the value as a number with an associated <a>unitType</a>, thereby
-replacing the values for all of the attributes on the object.
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>unsigned short <var>unitType</var></div> 
-<div> The unit type for the value (e.g., <a>SVG_ANGLETYPE_DEG</a>).
-
-</div>
-</li>
-<li class="parameter">
-<div>float <var>valueInSpecifiedUnits</var></div> 
-<div> The angle value.
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR
-</dt>
-<dd class="exception"> Raised if unitType is SVG_ANGLETYPE_UNKNOWN 
-or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants 
-defined on this interface).
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the angle is
-<a href="#ReadOnlyAngle">read only</a>.
-
-</dd>
+      <dt id="__svg__SVGAngle__newValueSpecifiedUnits" class="operation first-child">void <b>newValueSpecifiedUnits</b>(unsigned short <var>unitType</var>, float <var>valueInSpecifiedUnits</var>)</dt>
+      <dd class="operation">
+        <div>Sets the numeric factor of the angle value to <var>valueInSpecifiedUnits</var>
+        and the unit type to <var>unitType</var>.</div>
+        <dl class="operation">
+          <dt class="parameters-header">Parameters</dt>
+          <dd>
+            <ol class="parameters">
+              <li class="parameter first-child">
+                <div>unsigned short <var>unitType</var></div> 
+                <div>The unit type for the value (e.g., <a>SVG_ANGLETYPE_DEG</a>).</div>
+              </li>
+              <li class="parameter">
+                <div>float <var>valueInSpecifiedUnits</var></div> 
+                <div>The new value.</div>
+              </li>
+            </ol>
+          </dd>
+          <dt class="exceptions-header">Exceptions</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt>
+              <dd class="exception">Raised if unitType is SVG_ANGLETYPE_UNKNOWN 
+              or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants 
+              defined on this interface).</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+
+      <dt id="__svg__SVGAngle__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)</dt>
+      <dd class="operation">
+        <div>
+          <p>Sets the unit type of the angle value to the type specified by
+          <var>unitType</var> and sets the numeric factor value such that it
+          represents the same absolute angle.
+          For example, if the original value were "180deg" and the method was
+          invoked to convert to radians, then <a>unitType</a> would return
+          <a>SVG_ANGLETYPE_RAD</a> and <a>valueInSpecifiedUnits</a> would return the
+          numeric value π.</p>
+        </div>
+        <dl class="operation">
+          <dt class="parameters-header">Parameters</dt>
+          <dd>
+            <ol class="parameters">
+              <li class="parameter first-child">
+                <div>unsigned short <var>unitType</var></div> 
+                <div>The unit type to switch to (e.g., <a>SVG_ANGLETYPE_DEG</a>).</div>
+              </li>
+            </ol>
+          </dd>
+          <dt class="exceptions-header">Exceptions</dt>
+          <dd>
+            <dl class="exceptions">
+              <dt class="exception first-child"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR</dt>
+              <dd class="exception">Raised if unitType is SVG_ANGLETYPE_UNKNOWN 
+              or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants 
+              defined on this interface).</dd>
+              <dt class="exception"><a class="idlinterface" href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR</dt>
+              <dd class="exception">Raised when the angle is <a href="#ReadOnlyAngle">read only</a>.</dd>
+            </dl>
+          </dd>
+        </dl>
+      </dd>
+    </dl>
+  </dd>
 </dl>
-</dd>
-</dl>
-</dd>
-
-<dt id="__svg__SVGAngle__convertToSpecifiedUnits" class="operation">void <b>convertToSpecifiedUnits</b>(unsigned short <var>unitType</var>)
-</dt>
-<dd class="operation">
-<div>
-Preserve the same underlying stored value, but reset the stored unit
-identifier to the given <var>unitType</var>. Object attributes
-<a>unitType</a>, <a>valueInSpecifiedUnits</a> and <a>valueAsString</a>
-might be modified as a result of this method. 
-
-
-</div>
-<dl class="operation">
-<dt class="parameters-header">Parameters</dt>
-<dd>
-<ol class="parameters">
-<li class="parameter first-child">
-<div>unsigned short <var>unitType</var></div> 
-<div> The unit type to switch to (e.g., <a>SVG_ANGLETYPE_DEG</a>).
-
-</div>
-</li>
-</ol>
-</dd>
-<dt class="exceptions-header">Exceptions</dt>
-<dd>
-<dl class="exceptions">
-<dt class="exception first-child"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NOT_SUPPORTED_ERR
-</dt>
-<dd class="exception"> Raised if unitType is SVG_ANGLETYPE_UNKNOWN 
-or not a valid unit type constant (one of the other SVG_ANGLETYPE_* constants 
-defined on this interface).
-
-</dd>
-<dt class="exception"><a class="idlinterface"
-   href="http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-17189187">DOMException</a>, code NO_MODIFICATION_ALLOWED_ERR
-</dt>
-<dd class="exception"> Raised when the angle is
-<a href="#ReadOnlyAngle">read only</a>.
-
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
-</dd>
-</dl>
+
+
 
 
 <h3 id="InterfaceSVGAnimatedAngle">Interface SVGAnimatedAngle</h3>
 
 
 Used for attributes of basic data type <a href="types.html#DataTypeAngle">&lt;angle&gt;</a>
 that can be animated.
 <pre class="idl">interface <b>SVGAnimatedAngle</b> {
@@ -4029,35 +3927,48 @@ is an arbitrary floating point number.
 </dd>
 </dl>
 </dd>
 </dl>
 
 
 <h3 id="InterfaceSVGRect">Interface SVGRect</h3>
 
-
-
 <p>Represents rectangular geometry.  Rectangles are defined as consisting
 of a (x,y) coordinate pair identifying a minimum X value, a minimum Y
 value, and a width and height, which are usually constrained to be
-non-negative.
-</p>
-
+non-negative.</p>
 
 <p id="ReadOnlyRect">An <a>SVGRect</a> object can be designated as <em>read only</em>,
 which means that attempts to modify the object will result in an exception
-being thrown, as described below.
-</p>
-<pre class="idl">interface <b>SVGRect</b> {
+being thrown, as described below.</p>
+
+<pre class="idl">[<a href="#__svg__SVGRect__constructor">Constructor</a>,
+ <a href="#__svg__SVGRect__constructor1">Constructor</a>(float x, float y, float width, float height)]
+interface <b>SVGRect</b> {
   attribute float <a href="types.html#__svg__SVGRect__x">x</a>;
   attribute float <a href="types.html#__svg__SVGRect__y">y</a>;
   attribute float <a href="types.html#__svg__SVGRect__width">width</a>;
   attribute float <a href="types.html#__svg__SVGRect__height">height</a>;
-};</pre><dl class="interface">
+};</pre>
+
+<dl class="interface">
+  <dt class="operations-header">Constructors:</dt>
+  <dd>
+    <dl class="attributes">
+      <dt id="__svg__SVGRect__constructor" class="operation first-child"><b>SVGRect</b>()</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to 0.</div>
+      </dd>
+      <dt id="__svg__SVGRect__constructor" class="operation first-child"><b>SVGRect</b>(float x, float y, float width, float height)</dt>
+      <dd class="operation">
+        <div>Creates a new <a>SVGRect</a> object with its x, y, width and height attributes set to <var>x</var>, <var>y</var>, <var>width</var> and <var>height</var>, respectively.</div>
+      </dd>
+    </dl>
+  </dd>
 <dt class="attributes-header">Attributes:</dt>
 <dd>
 <dl class="attributes">
 
 <dt id="__svg__SVGRect__x" class="attribute first-child"><b>x</b><span class="idl-type-parenthetical"> (float)</span></dt>
 <dd class="attribute">
 <div>
 The <var>x</var> coordinate of the rectangle, in user units. 
@@ -4505,56 +4416,56 @@ paths, text and the basic shapes.</p>
 <dl class="interface">
   <dt class="operations-header">Operations:</dt>
   <dd>
     <dl class="attributes">
       <dt id="__svg__SVGGeometryElement__isPointInFill" class="operation first-child">bool <b>isPointInFill</b>(<a>SVGPoint</a> point)</dt>
       <dd class="operation">
         Returns whether the specified point is within the fill of the element.
         Normal hit testing rules apply; the value of the <a>'pointer-events'</a>
-	property on the element determines whether a point is considered to be
-	within the fill.
+        property on the element determines whether a point is considered to be
+        within the fill.
         <dl class="operation">
           <dt class="parameters-header">Parameters</dt>
           <dd>
             <ol class="parameters">
               <li class="parameter first-child">
                 <div><a>SVGPoint</a> <var>point</var></div>
                 <div>The point to check for intersection with the fill
                 of this element.  The <a>SVGPoint</a> is interpreted as a
                 as a point in the user space of this element.</div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>true if the point is within the fill of this shape,
-	  or false otherwise.</dd>
+          or false otherwise.</dd>
         </dl>
       </dd>
       <dt id="__svg__SVGGeometryElement__isPointInStroke" class="operation">bool <b>isPointInStroke</b>(<a>SVGPoint</a> point)</dt>
       <dd class="operation">
         Returns whether the specified point is within the stroke of the element.
         Normal hit testing rules apply; the value of the <a>'pointer-events'</a>
-	property on the element determines whether a point is considered to be
-	within the stroke.
+        property on the element determines whether a point is considered to be
+        within the stroke.
         <dl class="operation">
           <dt class="parameters-header">Parameters</dt>
           <dd>
             <ol class="parameters">
               <li class="parameter first-child">
                 <div><a>SVGPoint</a> <var>point</var></div>
                 <div>The point to check for intersection with the stroke
                 of this element.  The <a>SVGPoint</a> is interpreted as a
                 as a point in the user space of this element.</div>
               </li>
             </ol>
           </dd>
           <dt class="returns-header">Returns</dt>
           <dd>true if the point is within the stroke of this shape,
-	  or false otherwise.</dd>
+          or false otherwise.</dd>
         </dl>
       </dd>
     </dl>
   </dd>
 </dl>
 </div>
 
 <h3 id="InterfaceSVGDefinitionElement">Interface SVGDefinitionElement</h3>

Received on Saturday, 15 September 2012 12:18:12 UTC