Markup cleanup.
authorCameron McCormack <cam@mcc.id.au>
Thu, 17 May 2012 15:58:05 +1000
changeset 87 7560e472b799
parent 86 44fd2b756dde
child 88 19b29eeda6d5
Markup cleanup.
master/svgdom.html
--- a/master/svgdom.html	Thu May 17 15:51:27 2012 +1000
+++ b/master/svgdom.html	Thu May 17 15:58:05 2012 +1000
@@ -14,204 +14,168 @@
 
 <h1>SVG Document Object Model (DOM)</h1>
 
-    <p class="normativity"><strong>This appendix is normative.</strong></p>
+<p class="normativity"><strong>This appendix is normative.</strong></p>
 
 <div class="annotation">
-  <p>
-    SVG2 Requirement: Improve the DOM.
-  </p>
-  <p>
-    Resolution: We will generally improve the SVG DOM for SVG2.
-  </p>
-  <p>
-    <a href="http://www.w3.org/2011/10/27-svg-irc#T18-35-49">Pre-TPAC F2F Day 1</a>.
-  </p>
-  <p>
-    Purpose: Keep our users happy. Speed up acess.
-    See <a href="http://www.w3.org/Graphics/SVG/WG/wiki/SVG_2_DOM">SVG 2 DOM</a> Wiki page.
-  </p>
-  <p>
-    Owner: Cameron
-  </p>
+  <p>SVG2 Requirement: Improve the DOM.</p>
+  <p>Resolution: We will generally improve the SVG DOM for SVG2.</p>
+  <p><a href="http://www.w3.org/2011/10/27-svg-irc#T18-35-49">Pre-TPAC F2F Day 1</a>.</p>
+  <p>Purpose: Keep our users happy. Speed up access.  See <a href="http://www.w3.org/Graphics/SVG/WG/wiki/SVG_2_DOM">SVG 2 DOM</a> Wiki page.</p>
+  <p>Owner: Cameron</p>
 </div>
 
 <div class="annotation">
-  <p>
-    SVG2 Requirement: Make it easier to read and write to attributes in the SVG DOM.
-  </p>
-  <p>
-    Resolution: We will make it easier to read and write to attributes in the SVG DOM in SVG2.
-  </p>
-  <p>
-    <a href="http://www.w3.org/2011/10/27-svg-irc#T18-19-13">Pre-TPAC F2F Day 1</a>.
-  </p>
-  <p>
-    Purpose: Easier is easier.
-  </p>
-  <p>
-    Owner: Cameron
-  </p>
+  <p>SVG2 Requirement: Make it easier to read and write to attributes in the SVG DOM.</p>
+  <p>Resolution: We will make it easier to read and write to attributes in the SVG DOM in SVG2.</p>
+  <p><a href="http://www.w3.org/2011/10/27-svg-irc#T18-19-13">Pre-TPAC F2F Day 1</a>.</p>
+  <p>Purpose: Easier is easier.</p>
+  <p>Owner: Cameron</p>
 </div>
 
 <div class="annotation">
-  <p>
-    SVG2 Requirement: Improve the SVG path DOM APIs.
-  </p>
-  <p>
-    Resolution: We will improve the SVG path DOM APIs in SVG2.
-  </p>
-  <p>
-    <a href="http://www.w3.org/2011/10/27-svg-irc#T18-23-23">Pre-TPAC F2F Day 1</a>.
-  </p>
-  <p>
-    Purpose: Clean up SVGPathSegList interface, possibly share API with Canvas. 
-  </p>
-  <p>
-    Owner: Cameron
-  </p>
+  <p>SVG2 Requirement: Improve the SVG path DOM APIs.</p>
+  <p>Resolution: We will improve the SVG path DOM APIs in SVG2.</p>
+  <p><a href="http://www.w3.org/2011/10/27-svg-irc#T18-23-23">Pre-TPAC F2F Day 1</a>.</p>
+  <p>Purpose: Clean up SVGPathSegList interface, possibly share API with Canvas.</p>
+  <p>Owner: Cameron</p>
 </div>
 
 <h2 id="SVGDOMOverview">SVG DOM overview</h2>
 
-    <p>This appendix provides an introduction to the SVG DOM and
-    discusses the relationship of the SVG DOM with the
-    <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/"><cite>Document Object Model (DOM) Level 2 Core Specification</cite></a>
-    [<a href="refs.html#ref-DOM2">DOM2</a>]. The
-    specific SVG DOM interfaces that correspond to particular
-    sections of the SVG specification are defined at the end of
-    corresponding chapters in this specification, as follows:</p>
-    <ul>
-      <li><a href="types.html#BasicDOMInterfaces">Basic DOM interfaces</a></li>
-      <li><a href="styling.html#DOMInterfaces">Styling interfaces</a></li>
-      <li><a href="struct.html#DOMInterfaces">Document Structure interfaces</a></li>
-      <li><a href="coords.html#DOMInterfaces">Coordinate Systems, Transformations and Units interfaces</a></li>
-      <li><a href="paths.html#DOMInterfaces">Paths interfaces</a></li>
-      <li><a href="shapes.html#DOMInterfaces">Basic Shapes interfaces</a></li>
-      <li><a href="text.html#DOMInterfaces">Text interfaces</a></li>
-      <li><a href="painting.html#DOMInterfaces">Painting: Filling, Stroking and Marker Symbols interfaces</a></li>
-      <li><a href="color.html#DOMInterfaces">Color interfaces</a></li>
-      <li><a href="pservers.html#DOMInterfaces">Gradients and Patterns interfaces</a></li>
-      <li><a href="masking.html#DOMInterfaces">Clipping, Masking and Compositing interfaces</a></li>
-      <li><a href="filters.html#DOMInterfaces">Filter Effects interfaces</a></li>
-      <li><a href="interact.html#DOMInterfaces">Interactivity interfaces</a></li>
-      <li><a href="linking.html#DOMInterfaces">Linking interfaces</a></li>
-      <li><a href="script.html#DOMInterfaces">Scripting interfaces</a></li>
-      <li><a href="animate.html#DOMInterfaces">Animation interfaces</a></li>
-      <li><a href="fonts.html#DOMInterfaces">Fonts interfaces</a></li>
-      <li><a href="metadata.html#DOMInterfaces">Metadata interfaces</a></li>
-      <li><a href="extend.html#DOMInterfaces">Extensibility interfaces</a></li>
-    </ul>
-    <p>The SVG DOM builds upon and is compatible with 
-    DOM Level 2.  In particular:</p>
-    <ul>
-      <li>The SVG DOM requires complete support for
-      <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">DOM Level 2 Core</a>
-      [<a href="refs.html#ref-DOM2">DOM2</a>]</li>
-
-      <li>Wherever appropriate, the SVG DOM is modeled after and
-      maintains consistency with the
-      <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html">Document Object Model HTML</a>
-      ([<a href="refs.html#ref-DOM1">DOM1</a>], chapter 2).</li>
-
-      <li>The SVG DOM requires complete support for 
-      <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/">DOM Level 2 Views</a>
-      [<a href="refs.html#ref-DOM2VIEWS">DOM2VIEWS</a>].</li>
-
-      <li>The SVG DOM requires support for relevant aspects of
-      <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/">DOM Level 2 Events</a>
-      [<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>].
-      (For the specific features from DOM 2 Events that are required, see
-      see <a href="svgdom.html#RelationshipWithDOM2Events">Relationship with DOM Level 2 Events</a>.)</li>
+<p>This appendix provides an introduction to the SVG DOM and
+discusses the relationship of the SVG DOM with the
+<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/"><cite>Document Object Model (DOM) Level 2 Core Specification</cite></a>
+[<a href="refs.html#ref-DOM2">DOM2</a>]. The
+specific SVG DOM interfaces that correspond to particular
+sections of the SVG specification are defined at the end of
+corresponding chapters in this specification, as follows:</p>
 
-      <li>For implementations that support CSS, the SVG DOM requires complete
-      support for
-      <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/stylesheets.html">DOM Level 2 Style Sheets</a>
-      ([<a href="refs.html#ref-DOM2STYLE">DOM2STYLE</a>], chapter 1)
-      and relevant aspects of
-      <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html">DOM Level 2 CSS</a>
-      ([<a href="refs.html#ref-DOM2STYLE">DOM2STYLE</a>], chapter 2).
-      (For the specific features from DOM 2 CSS that are required, see
-      <a href="svgdom.html#RelationshipWithCSSOM">Relationship with DOM Level 2 CSS</a>.)</li>
-    </ul>
-    <p>A DOM application can use the <strong>hasFeature</strong> method of
-    the <a>DOMImplementation</a> interface to
-    verify that the interfaces listed in this section are
-    supported. The list of available interfaces is provided in
-    section <a href="svgdom.html#FeatureStrings">Feature strings
-    for the <strong>hasFeature</strong> method call</a>.
-    </p>
-    <p>All SVG DOM objects that directly correspond to an attribute, e.g.
-    the <a>SVGAnimatedLength</a> <a>SVGRectElement::ry</a> in an
-    <a>SVGRectElement</a>, are live.
-    This means that any changes made to the attribute are immediately
-    reflected in the corresponding SVG DOM object.
-    </p>    
-    <h3 id="SVGObjectInitialization">SVG DOM object initialization</h3>
-    <p>
-      The SVG DOM allows attributes to be accessed even though they haven't been
-      specified explicitly in the document markup. When this happens an appropriate object 
-      is created, initialized and returned. This newly constructed object does not affect rendering until
-      it is modified for the first time. After the first modification the object
-      becomes live, such that any modifications made to the corresponding
-      attribute are immediately reflected in the object.
-    </p>
-    <p>
-      For example, if <code>rectElement.x.baseVal</code> is accessed
-      and the <a>'rect/x'</a> attribute was not specified in the document, the
-      returned SVG DOM object would represent the value <span class="attr-value">0 user units</span>.
-    </p>
-    <p>
-      For cases where an attribute has a default value the returned SVG DOM object that must reflect that value, 
-      and for all other cases the object is initialized as described below.
-      If a particular SVG DOM interface is not listed below that means
-      that the object initialization shall be done using the values for the 
-      objects that the interface contains, e.g <span class="DOMInterfaceName">DOMString</span> in the
-      case of <a>SVGAnimatedString</a>, or four <span class="DOMInterfaceName">floats</span> in the case of <a>SVGRect</a>.
-    </p>
-    <dl id="SVGObjectInitValues">
-    	<dt class="DOMInterfaceName"><a href="text.html#__svg__SVGTextContentElement__textLength">SVGTextContentElement.textLength</a></dt>
-    	<dd>
-        Initialized with the return-value of <a>SVGTextContentElement::getComputedTextLength</a> on the same element.
-      </dd>
-      <dt class="DOMInterfaceName">DOMString</dt>
-      <dd>
-        Initialized as the empty string (<span class="attr-value">""</span>).
-      </dd>
-      <dt class="DOMInterfaceName">float</dt>
-      <dt class="DOMInterfaceName">long</dt>
-      <dt class="DOMInterfaceName">short</dt>
-      <dd>
-        Initialized as <span class="attr-value">0</span>.
-      </dd>
-      <dt class="DOMInterfaceName">boolean</dt>
-      <dd>
-        Initialized as <span class="attr-value">false</span>.
-      </dd>
-      <dt class="DOMInterfaceName"><a>SVGLength</a></dt>
-      <dd>
-        Initialized as <span class="attr-value">0 user units</span> (<a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_NUMBER">SVG_LENGTHTYPE_NUMBER</a>).
-      </dd>
-      <dt class="DOMInterfaceName"><a>SVGLengthList</a></dt>
-      <dt class="DOMInterfaceName"><a>SVGNumberList</a></dt>
-      <dt class="DOMInterfaceName"><a>SVGPointList</a></dt>
-      <dt class="DOMInterfaceName"><a>SVGStringList</a></dt>
-      <dt class="DOMInterfaceName"><a>SVGTransformList</a></dt>
-      <dd>
-        Initialized as the empty list.
-      </dd>
-      <dt class="DOMInterfaceName"><a>SVGAngle</a></dt>
-      <dd>
-        Initialized as <span class="attr-value">0 in unspecified units</span> (<a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNSPECIFIED">SVG_ANGLETYPE_UNSPECIFIED</a>).
-      </dd>
-      <dt class="DOMInterfaceName"><a>SVGZoomAndPan</a></dt>
-      <dd>
-        Initialized as <span class="attr-value">0</span> (<a href="types.html#__svg__SVGZoomAndPan__SVG_ZOOMANDPAN_UNKNOWN">SVG_ZOOMANDPAN_UNKNOWN</a>).
-      </dd>
-      <dt class="DOMInterfaceName"><a>SVGPreserveAspectRatio</a></dt>
-      <dd>
-        Initialized as <span class="attr-value">'xMidYMid meet'</span>.
-      </dd>        
-    </dl>
+<ul>
+  <li><a href="types.html#BasicDOMInterfaces">Basic DOM interfaces</a></li>
+  <li><a href="styling.html#DOMInterfaces">Styling interfaces</a></li>
+  <li><a href="struct.html#DOMInterfaces">Document Structure interfaces</a></li>
+  <li><a href="coords.html#DOMInterfaces">Coordinate Systems, Transformations and Units interfaces</a></li>
+  <li><a href="paths.html#DOMInterfaces">Paths interfaces</a></li>
+  <li><a href="shapes.html#DOMInterfaces">Basic Shapes interfaces</a></li>
+  <li><a href="text.html#DOMInterfaces">Text interfaces</a></li>
+  <li><a href="painting.html#DOMInterfaces">Painting: Filling, Stroking and Marker Symbols interfaces</a></li>
+  <li><a href="color.html#DOMInterfaces">Color interfaces</a></li>
+  <li><a href="pservers.html#DOMInterfaces">Gradients and Patterns interfaces</a></li>
+  <li><a href="masking.html#DOMInterfaces">Clipping, Masking and Compositing interfaces</a></li>
+  <li><a href="filters.html#DOMInterfaces">Filter Effects interfaces</a></li>
+  <li><a href="interact.html#DOMInterfaces">Interactivity interfaces</a></li>
+  <li><a href="linking.html#DOMInterfaces">Linking interfaces</a></li>
+  <li><a href="script.html#DOMInterfaces">Scripting interfaces</a></li>
+  <li><a href="animate.html#DOMInterfaces">Animation interfaces</a></li>
+  <li><a href="fonts.html#DOMInterfaces">Fonts interfaces</a></li>
+  <li><a href="metadata.html#DOMInterfaces">Metadata interfaces</a></li>
+  <li><a href="extend.html#DOMInterfaces">Extensibility interfaces</a></li>
+</ul>
+
+<p>The SVG DOM builds upon and is compatible with DOM Level 2. In particular:</p>
+
+<ul>
+  <li>The SVG DOM requires complete support for
+  <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">DOM Level 2 Core</a>
+  [<a href="refs.html#ref-DOM2">DOM2</a>]</li>
+
+  <li>Wherever appropriate, the SVG DOM is modeled after and
+  maintains consistency with the
+  <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html">Document Object Model HTML</a>
+  ([<a href="refs.html#ref-DOM1">DOM1</a>], chapter 2).</li>
+
+  <li>The SVG DOM requires complete support for 
+  <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Views-20001113/">DOM Level 2 Views</a>
+  [<a href="refs.html#ref-DOM2VIEWS">DOM2VIEWS</a>].</li>
+
+  <li>The SVG DOM requires support for relevant aspects of
+  <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/">DOM Level 2 Events</a>
+  [<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>].
+  (For the specific features from DOM 2 Events that are required, see
+  see <a href="svgdom.html#RelationshipWithDOM2Events">Relationship with DOM Level 2 Events</a>.)</li>
+
+  <li>For implementations that support CSS, the SVG DOM requires complete
+  support for
+  <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/stylesheets.html">DOM Level 2 Style Sheets</a>
+  ([<a href="refs.html#ref-DOM2STYLE">DOM2STYLE</a>], chapter 1)
+  and relevant aspects of
+  <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Style-20001113/css.html">DOM Level 2 CSS</a>
+  ([<a href="refs.html#ref-DOM2STYLE">DOM2STYLE</a>], chapter 2).
+  (For the specific features from DOM 2 CSS that are required, see
+  <a href="svgdom.html#RelationshipWithCSSOM">Relationship with DOM Level 2 CSS</a>.)</li>
+</ul>
+
+<p>A DOM application can use the <strong>hasFeature</strong> method of
+the <a>DOMImplementation</a> interface to
+verify that the interfaces listed in this section are
+supported. The list of available interfaces is provided in
+section <a href="svgdom.html#FeatureStrings">Feature strings
+for the <strong>hasFeature</strong> method call</a>.</p>
+
+<p>All SVG DOM objects that directly correspond to an attribute, e.g.
+the <a>SVGAnimatedLength</a> <a>SVGRectElement::ry</a> in an
+<a>SVGRectElement</a>, are live.
+This means that any changes made to the attribute are immediately
+reflected in the corresponding SVG DOM object.</p>    
+
+<h3 id="SVGObjectInitialization">SVG DOM object initialization</h3>
+
+<p>The SVG DOM allows attributes to be accessed even though they haven't been
+specified explicitly in the document markup. When this happens an appropriate object 
+is created, initialized and returned. This newly constructed object does not affect rendering until
+it is modified for the first time. After the first modification the object
+becomes live, such that any modifications made to the corresponding
+attribute are immediately reflected in the object.</p>
+
+<p>For example, if <code>rectElement.x.baseVal</code> is accessed
+and the <a>'rect/x'</a> attribute was not specified in the document, the
+returned SVG DOM object would represent the value <span class="attr-value">0 user units</span>.</p>
+
+<p>For cases where an attribute has a default value the returned SVG DOM object that must reflect that value, 
+and for all other cases the object is initialized as described below.
+If a particular SVG DOM interface is not listed below that means
+that the object initialization shall be done using the values for the 
+objects that the interface contains, e.g <span class="DOMInterfaceName">DOMString</span> in the
+case of <a>SVGAnimatedString</a>, or four <span class="DOMInterfaceName">floats</span> in the case of <a>SVGRect</a>.</p>
+
+<dl id="SVGObjectInitValues">
+  <dt class="DOMInterfaceName"><a href="text.html#__svg__SVGTextContentElement__textLength">SVGTextContentElement.textLength</a></dt>
+  <dd>Initialized with the return-value of <a>SVGTextContentElement::getComputedTextLength</a>
+  on the same element.</dd>
+
+  <dt class="DOMInterfaceName">DOMString</dt>
+  <dd>Initialized as the empty string (<span class="attr-value">""</span>).</dd>
+
+  <dt class="DOMInterfaceName">float</dt>
+  <dt class="DOMInterfaceName">long</dt>
+  <dt class="DOMInterfaceName">short</dt>
+  <dd>Initialized as <span class="attr-value">0</span>.</dd>
+
+  <dt class="DOMInterfaceName">boolean</dt>
+  <dd>Initialized as <span class="attr-value">false</span>.</dd>
+
+  <dt class="DOMInterfaceName"><a>SVGLength</a></dt>
+  <dd>Initialized as <span class="attr-value">0 user units</span>
+  (<a href="types.html#__svg__SVGLength__SVG_LENGTHTYPE_NUMBER">SVG_LENGTHTYPE_NUMBER</a>).</dd>
+
+  <dt class="DOMInterfaceName"><a>SVGLengthList</a></dt>
+  <dt class="DOMInterfaceName"><a>SVGNumberList</a></dt>
+  <dt class="DOMInterfaceName"><a>SVGPointList</a></dt>
+  <dt class="DOMInterfaceName"><a>SVGStringList</a></dt>
+  <dt class="DOMInterfaceName"><a>SVGTransformList</a></dt>
+  <dd>Initialized as the empty list.</dd>
+
+  <dt class="DOMInterfaceName"><a>SVGAngle</a></dt>
+  <dd>Initialized as <span class="attr-value">0 in unspecified units</span>
+  (<a href="types.html#__svg__SVGAngle__SVG_ANGLETYPE_UNSPECIFIED">SVG_ANGLETYPE_UNSPECIFIED</a>).</dd>
+
+  <dt class="DOMInterfaceName"><a>SVGZoomAndPan</a></dt>
+  <dd>Initialized as <span class="attr-value">0</span>
+  (<a href="types.html#__svg__SVGZoomAndPan__SVG_ZOOMANDPAN_UNKNOWN">SVG_ZOOMANDPAN_UNKNOWN</a>).</dd>
+
+  <dt class="DOMInterfaceName"><a>SVGPreserveAspectRatio</a></dt>
+  <dd>Initialized as <span class="attr-value">'xMidYMid meet'</span>.</dd>        
+</dl>
 
 <h2 id="ElementsInTheSVGDOM">Elements in the SVG DOM</h2>
 
@@ -226,20 +190,22 @@
 
 <h2 id="SVGDOMNamingConventions">Naming conventions</h2>
 
-    <p>The SVG DOM follows similar naming conventions to the
-    <a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html">Document Object Model HTML</a>
-    ([<a href="refs.html#ref-DOM1">DOM1</a>], chapter 2).</p>
-    <p>All names are defined as one or more English words
-    concatenated together to form a single string. Property or
-    method names start with the initial keyword in lowercase, and
-    each subsequent word starts with a capital letter. For example,
-    a property that returns document meta information such as the
-    date the file was created might be named "fileDateCreated". In
-    the ECMAScript binding, properties are exposed as properties of
-    a given object. In Java, properties are exposed with get and
-    set methods.</p>
-    <p>For attributes with the CDATA data type, the case of the
-    return value is that given in the source document.</p>
+<p>The SVG DOM follows similar naming conventions to the
+<a href="http://www.w3.org/TR/1998/REC-DOM-Level-1-19981001/level-one-html.html">Document Object Model HTML</a>
+([<a href="refs.html#ref-DOM1">DOM1</a>], chapter 2).</p>
+
+<p>All names are defined as one or more English words
+concatenated together to form a single string. Property or
+method names start with the initial keyword in lowercase, and
+each subsequent word starts with a capital letter. For example,
+a property that returns document meta information such as the
+date the file was created might be named "fileDateCreated". In
+the ECMAScript binding, properties are exposed as properties of
+a given object. In Java, properties are exposed with get and
+set methods.</p>
+
+<p>For attributes with the CDATA data type, the case of the
+return value is that given in the source document.</p>
 
 <h2 id="ExceptionSVGException">Exception SVGException</h2>
 
@@ -247,22 +213,23 @@
 
 <h2 id="FeatureStrings">Feature strings for the <strong>hasFeature</strong> method call</h2>
 
-    <p>The feature strings that are available for the
-    <strong>hasFeature</strong> method call that is part of the SVG
-    DOM's support for the <a>DOMImplementation</a> interface
-    defined in
-    <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">DOM Level 2 Core</a>
-    [<a href="refs.html#ref-DOM2">DOM2</a>]
-    are the same features strings available for the <a>'requiredFeatures'</a> attribute that is
-    available for many SVG elements.</p>
-    <p>For all features that correspond to the SVG language and are
-    documented in this specification (see appendix <a
-    href="feature.html">Feature Strings</a> for a list of features
-    in the SVG language), the <strong>version</strong> number for
-    the <strong>hasFeature</strong> method call is "1.1". For
-    features that correspond to other languages, refer to the
-    relevant other specifications to determine the appropriate
-    version number for the given feature.</p>
+<p>The feature strings that are available for the
+<strong>hasFeature</strong> method call that is part of the SVG
+DOM's support for the <a>DOMImplementation</a> interface
+defined in
+<a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/">DOM Level 2 Core</a>
+[<a href="refs.html#ref-DOM2">DOM2</a>]
+are the same features strings available for the <a>'requiredFeatures'</a> attribute that is
+available for many SVG elements.</p>
+
+<p>For all features that correspond to the SVG language and are
+documented in this specification (see appendix <a
+href="feature.html">Feature Strings</a> for a list of features
+in the SVG language), the <strong>version</strong> number for
+the <strong>hasFeature</strong> method call is "1.1". For
+features that correspond to other languages, refer to the
+relevant other specifications to determine the appropriate
+version number for the given feature.</p>
 
 <h2 id="RelationshipWithDOM2Events">Relationship with DOM Level 2 Events</h2>
 
@@ -271,86 +238,91 @@
 <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/">DOM Level 2 Events</a>
 [<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>]:</p>
 
+<ul>
+  <li>
+    These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-uievents">User Interface events</a>
+    ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.1):
     <ul>
-      <li>
-        These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-uievents">User Interface events</a>
-        ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.1):
-        <ul>
-          <li><a href="interact.html#FocusInEvent">DOMFocusIn</a></li>
-          <li><a href="interact.html#FocusOutEvent">DOMFocusOut</a></li>
-          <li><a href="interact.html#ActivateEvent">DOMActivate</a></li>
-        </ul>
-      </li>
-      <li>
-        These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-mouseevents">mouse events</a>
-        ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.2):
-        <ul>
-          <li><a href="interact.html#ClickEvent">click</a></li>
-          <li><a href="interact.html#MouseDownEvent">mousedown</a></li>
-          <li><a href="interact.html#MouseUpEvent">mouseup</a></li>
-          <li><a href="interact.html#MouseOverEvent">mouseover</a></li>
-          <li><a href="interact.html#MouseMoveEvent">mousemove</a></li>
-          <li><a href="interact.html#MouseOutEvent">mouseout</a></li>
-        </ul>
-        <em>clientX</em> and <em>clientY</em> parameters for mouse
-        events represent the mouse coordinates at which the event
-        occurred relative to the DOM Implementation's client area.
-        <em>relatedTarget</em> is used to identify a secondary
-        EventTarget related to a UI event. Currently this attribute
-        is used with the mouseover event to indicate the
-        EventTarget which the pointing device exited and with the
-        mouseout event to indicate the EventTarget which the
-        pointing device entered.
-      </li>
-      <li>
-        These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-mutationevents">mutation events</a>
-        ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.4):
-        <ul>
-          <li><a href="interact.html#DOMSubtreeModifiedEvent">DOMSubtreeModified</a></li>
-          <li><a href="interact.html#DOMNodeInsertedEvent">DOMNodeInserted</a></li>
-          <li><a href="interact.html#DOMNodeRemovedEvent">DOMNodeRemoved</a></li>
-          <li><a href="interact.html#DOMNodeRemovedFromDocumentEvent">DOMNodeRemovedFromDocument</a></li>
-          <li><a href="interact.html#DOMNodeInsertedIntoDocumentEvent">DOMNodeInsertedIntoDocument</a></li>
-          <li><a href="interact.html#DOMAttrModifiedEvent">DOMAttrModified</a></li>
-          <li><a href="interact.html#DOMCharacterDataModifiedEvent">DOMCharacterDataModified</a></li>
-        </ul>
-      </li>
-      <li>
-        The SVG DOM defines the following SVG-specific custom event
-        interfaces. These event interfaces are mandatory for SVG
-        user agents: 
-        <ul>
-          <li><a href="interact.html#LoadEvent">SVGLoad</a></li>
-          <li><a href="interact.html#UnloadEvent">SVGUnload</a></li>
-          <li><a href="interact.html#AbortEvent">SVGAbort</a></li>
-          <li><a href="interact.html#ErrorEvent">SVGError</a></li>
-          <li><a href="interact.html#ResizeEvent">SVGResize</a></li>
-          <li><a href="interact.html#ScrollEvent">SVGScroll</a>
-          (triggered by either scroll or pan user actions)</li>
-        </ul>
-        Note that the SVGLoad event does not fire until the
-        document is fully loaded and is therefore subject to the
-        processing of any <a>'externalResourcesRequired'</a>
-        attributes.
-      </li>
-      <li>
-        The SVG DOM defines an additional custom event interface: 
-        <ul>
-          <li><a href="interact.html#ZoomEvent">SVGZoom</a>
-          (definition can be found in the description of the <a>SVGZoomEvent</a> interface)</li>
-        </ul>
-      </li>
-      <li>
-        The following event types are triggered due to state
-        changes in animations. (The definitions for these events
-        can be found in the description of the <a>TimeEvent</a> interface.)
-        <ul>
-          <li><a href="interact.html#BeginEvent">beginEvent</a></li>
-          <li><a href="interact.html#EndEvent">endEvent</a></li>
-          <li><a href="interact.html#RepeatEvent">repeatEvent</a></li>
-        </ul>
-      </li>
+      <li><a href="interact.html#FocusInEvent">DOMFocusIn</a></li>
+      <li><a href="interact.html#FocusOutEvent">DOMFocusOut</a></li>
+      <li><a href="interact.html#ActivateEvent">DOMActivate</a></li>
     </ul>
+  </li>
+
+  <li>
+    These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-mouseevents">mouse events</a>
+    ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.2):
+    <ul>
+      <li><a href="interact.html#ClickEvent">click</a></li>
+      <li><a href="interact.html#MouseDownEvent">mousedown</a></li>
+      <li><a href="interact.html#MouseUpEvent">mouseup</a></li>
+      <li><a href="interact.html#MouseOverEvent">mouseover</a></li>
+      <li><a href="interact.html#MouseMoveEvent">mousemove</a></li>
+      <li><a href="interact.html#MouseOutEvent">mouseout</a></li>
+    </ul>
+    <em>clientX</em> and <em>clientY</em> parameters for mouse
+    events represent the mouse coordinates at which the event
+    occurred relative to the DOM Implementation's client area.
+    <em>relatedTarget</em> is used to identify a secondary
+    EventTarget related to a UI event. Currently this attribute
+    is used with the mouseover event to indicate the
+    EventTarget which the pointing device exited and with the
+    mouseout event to indicate the EventTarget which the
+    pointing device entered.
+  </li>
+
+  <li>
+    These <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Events-20001113/events.html#Events-eventgroupings-mutationevents">mutation events</a>
+    ([<a href="refs.html#ref-DOM2EVENTS">DOM2EVENTS</a>], section 1.6.4):
+    <ul>
+      <li><a href="interact.html#DOMSubtreeModifiedEvent">DOMSubtreeModified</a></li>
+      <li><a href="interact.html#DOMNodeInsertedEvent">DOMNodeInserted</a></li>
+      <li><a href="interact.html#DOMNodeRemovedEvent">DOMNodeRemoved</a></li>
+      <li><a href="interact.html#DOMNodeRemovedFromDocumentEvent">DOMNodeRemovedFromDocument</a></li>
+      <li><a href="interact.html#DOMNodeInsertedIntoDocumentEvent">DOMNodeInsertedIntoDocument</a></li>
+      <li><a href="interact.html#DOMAttrModifiedEvent">DOMAttrModified</a></li>
+      <li><a href="interact.html#DOMCharacterDataModifiedEvent">DOMCharacterDataModified</a></li>
+    </ul>
+  </li>
+
+  <li>
+    The SVG DOM defines the following SVG-specific custom event
+    interfaces. These event interfaces are mandatory for SVG
+    user agents: 
+    <ul>
+      <li><a href="interact.html#LoadEvent">SVGLoad</a></li>
+      <li><a href="interact.html#UnloadEvent">SVGUnload</a></li>
+      <li><a href="interact.html#AbortEvent">SVGAbort</a></li>
+      <li><a href="interact.html#ErrorEvent">SVGError</a></li>
+      <li><a href="interact.html#ResizeEvent">SVGResize</a></li>
+      <li><a href="interact.html#ScrollEvent">SVGScroll</a>
+      (triggered by either scroll or pan user actions)</li>
+    </ul>
+    Note that the SVGLoad event does not fire until the
+    document is fully loaded and is therefore subject to the
+    processing of any <a>'externalResourcesRequired'</a>
+    attributes.
+  </li>
+
+  <li>
+    The SVG DOM defines an additional custom event interface: 
+    <ul>
+      <li><a href="interact.html#ZoomEvent">SVGZoom</a>
+      (definition can be found in the description of the <a>SVGZoomEvent</a> interface)</li>
+    </ul>
+  </li>
+
+  <li>
+    The following event types are triggered due to state
+    changes in animations. (The definitions for these events
+    can be found in the description of the <a>TimeEvent</a> interface.)
+    <ul>
+      <li><a href="interact.html#BeginEvent">beginEvent</a></li>
+      <li><a href="interact.html#EndEvent">endEvent</a></li>
+      <li><a href="interact.html#RepeatEvent">repeatEvent</a></li>
+    </ul>
+  </li>
+</ul>
 
 <p id="EventListeners">While event listeners can be registered using an
 <code>addEventListener</code> call on any element in the DOM,
@@ -361,7 +333,8 @@
 a <a>'title'</a> element, its contents would never be run in
 response to a <span class='attr-value'>click</span> event:</p>
 
-<pre class='example'><![CDATA[<svg xmlns="http://www.w3.org/2000/svg">
+<pre class='example'><![CDATA[
+<svg xmlns="http://www.w3.org/2000/svg">
   <title onclick="alert('Hello')">Invalid event attribute</title>
   <script>
     // Find the 'title' element.
@@ -376,7 +349,8 @@
     // allowed on 'title', the alert will not show.
     title.dispatchEvent(event);
   </script>
-</svg>]]></pre>
+</svg>
+]]></pre>
 
 <p>See the <a href='attindex.html'>Attribute Index</a> for details on
 which elements a given event attribute is allowed to be specified on.</p>
@@ -430,9 +404,9 @@
 parameter, and the name of the Event object is
 <strong>evt</strong>. For example, it is possible to write:</p>
 
-<pre>
-&lt;rect onactivate="MyActivateHandler(evt)" .../&gt;
-</pre>
+<pre><![CDATA[
+<rect onactivate="MyActivateHandler(evt)" .../>
+]]></pre>
 
 <p>which will pass the <a>Event</a> object <strong>evt</strong> into
 function <code>MyActivateHandler</code>.</p>
@@ -526,313 +500,313 @@
   <li><a>SVGPaint</a></li>
 </ul>
 
-    <table class='vert property-table' summary="type representations for properties">
-      <tr>
-        <th>Property Name</th>
-        <th>Representation</th>
-        <th>Mandatory?<br/>(Extended interfaces only)</th>
-      </tr>
-      <tr>
-        <td><a>'alignment-baseline'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'baseline-shift'</a></td>
-        <td>ident, length, percentage</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'clip'</a></td>
-        <td>rect, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'clip-path'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'clip-rule'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'color'</a></td>
-        <td>rgbcolor, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'color-interpolation'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'color-profile property'</a></td>
-        <td>list of strings, uri's and idents</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'color-rendering'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'cursor property'</a></td>
-        <td>uri, ident</td>
-        <td>no</td>
-      </tr>
-      <tr>
-        <td><a>'direction'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'display'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'dominant-baseline'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'enable-background'</a></td>
-        <td>list of idents and numbers</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'fill'</a></td>
-        <td><a>SVGPaint</a></td>
-        <td>yes</td>
-      </tr>
-      <tr>
-        <td><a>'fill-opacity'</a></td>
-        <td>number</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'fill-rule'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'filter property'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'flood-color'</a></td>
-        <td><a>SVGColor</a></td>
-        <td>yes</td>
-      </tr>
-      <tr>
-        <td><a>'flood-opacity'</a></td>
-        <td>number</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font property'</a></td>
-        <td>null</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-family'</a></td>
-        <td>list of strings and idents</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-size'</a></td>
-        <td>ident, length, percentage</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-size-adjust'</a></td>
-        <td>number, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-stretch'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-style'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-variant'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'font-weight'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'glyph-orientation-horizontal'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'glyph-orientation-vertical'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'image-rendering'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'kerning'</a></td>
-        <td>ident, length</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'letter-spacing'</a></td>
-        <td>ident, length</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'lighting-color'</a></td>
-        <td><a>SVGColor</a></td>
-        <td>yes</td>
-      </tr>
-      <tr>
-        <td><a>'marker property'</a></td>
-        <td>null</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'marker-end'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'marker-mid'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'marker-start'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'mask property'</a></td>
-        <td>uri, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'opacity'</a></td>
-        <td>number</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'overflow'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'pointer-events'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'shape-rendering'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stop-color'</a></td>
-        <td><a>SVGColor</a></td>
-        <td>yes</td>
-      </tr>
-      <tr>
-        <td><a>'stop-opacity'</a></td>
-        <td>number</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke'</a></td>
-        <td><a>SVGPaint</a></td>
-        <td>yes</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-dasharray'</a></td>
-        <td>ident or list of lengths</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-dashoffset'</a></td>
-        <td>length</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-linecap'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-linejoin'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-miterlimit'</a></td>
-        <td>length</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-opacity'</a></td>
-        <td>number</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'stroke-width'</a></td>
-        <td>length</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'text-anchor'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'text-decoration'</a></td>
-        <td>list of ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'text-rendering'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'unicode-bidi'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'visibility'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'word-spacing'</a></td>
-        <td>length, ident</td>
-        <td>&nbsp;</td>
-      </tr>
-      <tr>
-        <td><a>'writing-mode'</a></td>
-        <td>ident</td>
-        <td>&nbsp;</td>
-      </tr>
-    </table>
+<table class='vert property-table' summary="type representations for properties">
+  <tr>
+    <th>Property Name</th>
+    <th>Representation</th>
+    <th>Mandatory?<br/>(Extended interfaces only)</th>
+  </tr>
+  <tr>
+    <td><a>'alignment-baseline'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'baseline-shift'</a></td>
+    <td>ident, length, percentage</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'clip'</a></td>
+    <td>rect, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'clip-path'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'clip-rule'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'color'</a></td>
+    <td>rgbcolor, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'color-interpolation'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'color-profile property'</a></td>
+    <td>list of strings, uri's and idents</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'color-rendering'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'cursor property'</a></td>
+    <td>uri, ident</td>
+    <td>no</td>
+  </tr>
+  <tr>
+    <td><a>'direction'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'display'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'dominant-baseline'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'enable-background'</a></td>
+    <td>list of idents and numbers</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'fill'</a></td>
+    <td><a>SVGPaint</a></td>
+    <td>yes</td>
+  </tr>
+  <tr>
+    <td><a>'fill-opacity'</a></td>
+    <td>number</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'fill-rule'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'filter property'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'flood-color'</a></td>
+    <td><a>SVGColor</a></td>
+    <td>yes</td>
+  </tr>
+  <tr>
+    <td><a>'flood-opacity'</a></td>
+    <td>number</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font property'</a></td>
+    <td>null</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-family'</a></td>
+    <td>list of strings and idents</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-size'</a></td>
+    <td>ident, length, percentage</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-size-adjust'</a></td>
+    <td>number, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-stretch'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-style'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-variant'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'font-weight'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'glyph-orientation-horizontal'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'glyph-orientation-vertical'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'image-rendering'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'kerning'</a></td>
+    <td>ident, length</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'letter-spacing'</a></td>
+    <td>ident, length</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'lighting-color'</a></td>
+    <td><a>SVGColor</a></td>
+    <td>yes</td>
+  </tr>
+  <tr>
+    <td><a>'marker property'</a></td>
+    <td>null</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'marker-end'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'marker-mid'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'marker-start'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'mask property'</a></td>
+    <td>uri, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'opacity'</a></td>
+    <td>number</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'overflow'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'pointer-events'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'shape-rendering'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stop-color'</a></td>
+    <td><a>SVGColor</a></td>
+    <td>yes</td>
+  </tr>
+  <tr>
+    <td><a>'stop-opacity'</a></td>
+    <td>number</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke'</a></td>
+    <td><a>SVGPaint</a></td>
+    <td>yes</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-dasharray'</a></td>
+    <td>ident or list of lengths</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-dashoffset'</a></td>
+    <td>length</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-linecap'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-linejoin'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-miterlimit'</a></td>
+    <td>length</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-opacity'</a></td>
+    <td>number</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'stroke-width'</a></td>
+    <td>length</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'text-anchor'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'text-decoration'</a></td>
+    <td>list of ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'text-rendering'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'unicode-bidi'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'visibility'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'word-spacing'</a></td>
+    <td>length, ident</td>
+    <td>&nbsp;</td>
+  </tr>
+  <tr>
+    <td><a>'writing-mode'</a></td>
+    <td>ident</td>
+    <td>&nbsp;</td>
+  </tr>
+</table>
 
 <h2 id="ReadOnlyNodes">Read only nodes in the DOM</h2>
 
@@ -848,15 +822,15 @@
 and <a href="http://www.w3.org/TR/2000/REC-DOM-Level-2-Core-20001113/core.html#ID-11C98490">EntityReference</a>
 nodes and their descendants are read only ([<a href="refs.html#ref-DOM2">DOM2</a>], section 1.3).</p>
 
-    <h2 id="InvalidValues">Invalid values</h2>
-    <p>If a script sets a DOM attribute to an invalid value (e.g.,
-    a negative number for an attribute that requires a non-negative
-    number or an out-of-range value for an enumeration), unless
-    this specification indicates otherwise, no exception shall be
-    raised on setting, but the given document fragment shall become
-    technically <em>in error</em> as described
-    in <a href="implnote.html#ErrorProcessing">Error
-    processing</a>.</p>
+<h2 id="InvalidValues">Invalid values</h2>
+
+<p>If a script sets a DOM attribute to an invalid value (e.g.,
+a negative number for an attribute that requires a non-negative
+number or an out-of-range value for an enumeration), unless
+this specification indicates otherwise, no exception shall be
+raised on setting, but the given document fragment shall become
+technically <em>in error</em> as described in
+<a href="implnote.html#ErrorProcessing">Error processing</a>.</p>
 
 </body>
 </html>