[html5] r1416 - /

whatwg at whatwg.org whatwg at whatwg.org
Mon Apr 7 23:57:10 PDT 2008


Author: ianh
Date: 2008-04-07 23:57:07 -0700 (Mon, 07 Apr 2008)
New Revision: 1416

Modified:
   index
   source
Log:
[] (0) Make the SVG and namespaced attribute fixup, and the xmlns value checking, also happen for <svg> and <math> elements.

Modified: index
===================================================================
--- index	2008-04-08 06:46:31 UTC (rev 1415)
+++ index	2008-04-08 06:57:07 UTC (rev 1416)
@@ -41873,8 +41873,474 @@
    element for the token</a> in the given namespace, and then append this
    node to the <a href="#current4">current node</a>, and push it onto the <a
    href="#stack">stack of open elements</a> so that it is the new <a
-   href="#current4">current node</a>.
+   href="#current4">current node</a>. If the newly created element has an
+   <code title="">xmlns</code> attribute in the <a href="#xmlns">XMLNS
+   namespace</a> whose value is not exactly the same as the element's
+   namespace, that is a <a href="#parse1">parse error</a>.
 
+  <p>When the steps below require the user agent to <dfn id=adjust>adjust SVG
+   attributes</dfn> for a token, then, for each attribute on the token whose
+   attribute name is one of the ones in the first column of the following
+   table, change the attribute's name to the name given in the corresponding
+   cell in the second column. (This fixes the case of SVG attributes that are
+   not all lowercase.)
+
+  <table>
+   <thead>
+    <tr>
+     <th> Attribute name on token
+
+     <th> Attribute name on element
+
+   <tbody>
+    <tr>
+     <td> <code title="">attributetype</code>
+
+     <td> <code title="">attributeType</code>
+
+    <tr>
+     <td> <code title="">basefrequency</code>
+
+     <td> <code title="">baseFrequency</code>
+
+    <tr>
+     <td> <code title="">baseprofile</code>
+
+     <td> <code title="">baseProfile</code>
+
+    <tr>
+     <td> <code title="">calcmode</code>
+
+     <td> <code title="">calcMode</code>
+
+    <tr>
+     <td> <code title="">clippathunits</code>
+
+     <td> <code title="">clipPathUnits</code>
+
+    <tr>
+     <td> <code title="">contentscripttype</code>
+
+     <td> <code title="">contentScriptType</code>
+
+    <tr>
+     <td> <code title="">contentstyletype</code>
+
+     <td> <code title="">contentStyleType</code>
+
+    <tr>
+     <td> <code title="">diffuseconstant</code>
+
+     <td> <code title="">diffuseConstant</code>
+
+    <tr>
+     <td> <code title="">edgemode</code>
+
+     <td> <code title="">edgeMode</code>
+
+    <tr>
+     <td> <code title="">externalresourcesrequired</code>
+
+     <td> <code title="">externalResourcesRequired</code>
+
+    <tr>
+     <td> <code title="">fecolormatrix</code>
+
+     <td> <code title="">feColorMatrix</code>
+
+    <tr>
+     <td> <code title="">fecomposite</code>
+
+     <td> <code title="">feComposite</code>
+
+    <tr>
+     <td> <code title="">fegaussianblur</code>
+
+     <td> <code title="">feGaussianBlur</code>
+
+    <tr>
+     <td> <code title="">femorphology</code>
+
+     <td> <code title="">feMorphology</code>
+
+    <tr>
+     <td> <code title="">fetile</code>
+
+     <td> <code title="">feTile</code>
+
+    <tr>
+     <td> <code title="">filterres</code>
+
+     <td> <code title="">filterRes</code>
+
+    <tr>
+     <td> <code title="">filterunits</code>
+
+     <td> <code title="">filterUnits</code>
+
+    <tr>
+     <td> <code title="">glyphref</code>
+
+     <td> <code title="">glyphRef</code>
+
+    <tr>
+     <td> <code title="">gradienttransform</code>
+
+     <td> <code title="">gradientTransform</code>
+
+    <tr>
+     <td> <code title="">gradientunits</code>
+
+     <td> <code title="">gradientUnits</code>
+
+    <tr>
+     <td> <code title="">kernelmatrix</code>
+
+     <td> <code title="">kernelMatrix</code>
+
+    <tr>
+     <td> <code title="">kernelunitlength</code>
+
+     <td> <code title="">kernelUnitLength</code>
+
+    <tr>
+     <td> <code title="">keypoints</code>
+
+     <td> <code title="">keyPoints</code>
+
+    <tr>
+     <td> <code title="">keysplines</code>
+
+     <td> <code title="">keySplines</code>
+
+    <tr>
+     <td> <code title="">keytimes</code>
+
+     <td> <code title="">keyTimes</code>
+
+    <tr>
+     <td> <code title="">lengthadjust</code>
+
+     <td> <code title="">lengthAdjust</code>
+
+    <tr>
+     <td> <code title="">limitingconeangle</code>
+
+     <td> <code title="">limitingConeAngle</code>
+
+    <tr>
+     <td> <code title="">markerheight</code>
+
+     <td> <code title="">markerHeight</code>
+
+    <tr>
+     <td> <code title="">markerunits</code>
+
+     <td> <code title="">markerUnits</code>
+
+    <tr>
+     <td> <code title="">markerwidth</code>
+
+     <td> <code title="">markerWidth</code>
+
+    <tr>
+     <td> <code title="">maskcontentunits</code>
+
+     <td> <code title="">maskContentUnits</code>
+
+    <tr>
+     <td> <code title="">maskunits</code>
+
+     <td> <code title="">maskUnits</code>
+
+    <tr>
+     <td> <code title="">numoctaves</code>
+
+     <td> <code title="">numOctaves</code>
+
+    <tr>
+     <td> <code title="">pathlength</code>
+
+     <td> <code title="">pathLength</code>
+
+    <tr>
+     <td> <code title="">patterncontentunits</code>
+
+     <td> <code title="">patternContentUnits</code>
+
+    <tr>
+     <td> <code title="">patterntransform</code>
+
+     <td> <code title="">patternTransform</code>
+
+    <tr>
+     <td> <code title="">patternunits</code>
+
+     <td> <code title="">patternUnits</code>
+
+    <tr>
+     <td> <code title="">pointsatx</code>
+
+     <td> <code title="">pointsAtX</code>
+
+    <tr>
+     <td> <code title="">pointsaty</code>
+
+     <td> <code title="">pointsAtY</code>
+
+    <tr>
+     <td> <code title="">pointsatz</code>
+
+     <td> <code title="">pointsAtZ</code>
+
+    <tr>
+     <td> <code title="">preservealpha</code>
+
+     <td> <code title="">preserveAlpha</code>
+
+    <tr>
+     <td> <code title="">preserveaspectratio</code>
+
+     <td> <code title="">preserveAspectRatio</code>
+
+    <tr>
+     <td> <code title="">primitiveunits</code>
+
+     <td> <code title="">primitiveUnits</code>
+
+    <tr>
+     <td> <code title="">refx</code>
+
+     <td> <code title="">refX</code>
+
+    <tr>
+     <td> <code title="">refy</code>
+
+     <td> <code title="">refY</code>
+
+    <tr>
+     <td> <code title="">repeatcount</code>
+
+     <td> <code title="">repeatCount</code>
+
+    <tr>
+     <td> <code title="">repeatdur</code>
+
+     <td> <code title="">repeatDur</code>
+
+    <tr>
+     <td> <code title="">requiredextensions</code>
+
+     <td> <code title="">requiredExtensions</code>
+
+    <tr>
+     <td> <code title="">specularconstant</code>
+
+     <td> <code title="">specularConstant</code>
+
+    <tr>
+     <td> <code title="">specularexponent</code>
+
+     <td> <code title="">specularExponent</code>
+
+    <tr>
+     <td> <code title="">spreadmethod</code>
+
+     <td> <code title="">spreadMethod</code>
+
+    <tr>
+     <td> <code title="">startoffset</code>
+
+     <td> <code title="">startOffset</code>
+
+    <tr>
+     <td> <code title="">stddeviation</code>
+
+     <td> <code title="">stdDeviation</code>
+
+    <tr>
+     <td> <code title="">stitchtiles</code>
+
+     <td> <code title="">stitchTiles</code>
+
+    <tr>
+     <td> <code title="">surfacescale</code>
+
+     <td> <code title="">surfaceScale</code>
+
+    <tr>
+     <td> <code title="">systemlanguage</code>
+
+     <td> <code title="">systemLanguage</code>
+
+    <tr>
+     <td> <code title="">tablevalues</code>
+
+     <td> <code title="">tableValues</code>
+
+    <tr>
+     <td> <code title="">targetx</code>
+
+     <td> <code title="">targetX</code>
+
+    <tr>
+     <td> <code title="">targety</code>
+
+     <td> <code title="">targetY</code>
+
+    <tr>
+     <td> <code title="">textlength</code>
+
+     <td> <code title="">textLength</code>
+
+    <tr>
+     <td> <code title="">viewbox</code>
+
+     <td> <code title="">viewBox</code>
+
+    <tr>
+     <td> <code title="">viewtarget</code>
+
+     <td> <code title="">viewTarget</code>
+
+    <tr>
+     <td> <code title="">xchannelselector</code>
+
+     <td> <code title="">xChannelSelector</code>
+
+    <tr>
+     <td> <code title="">ychannelselector</code>
+
+     <td> <code title="">yChannelSelector</code>
+
+    <tr>
+     <td> <code title="">zoomandpan</code>
+
+     <td> <code title="">zoomAndPan</code>
+  </table>
+
+  <p>When the steps below require the user agent to <dfn id=adjust0>adjust
+   foreign attributes</dfn> for a token, then, if any of the attributes on
+   the token match the strings given in the first column of the following
+   table, let the attribute be a namespaced attribute, with the prefix being
+   the string given in the corresponding cell in the second column, the local
+   name being the string given in the corresponding cell in the third column,
+   and the namespace being the namespace given in the corresponding cell in
+   the fourth column. (This fixes the use of namespaced attributes, in
+   particular XLink in SVG.)
+
+  <table>
+   <thead>
+    <tr>
+     <th> Attribute name
+
+     <th> Prefix
+
+     <th> Local name
+
+     <th> Namespace
+
+   <tbody>
+    <tr>
+     <td> <code title="">xlink:actuate</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">actuate</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:arcrole</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">arcrole</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:href</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">href</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:role</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">role</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:show</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">show</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:title</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">title</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xlink:type</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <code title="">type</code>
+
+     <td> <a href="#xlink">XLink namespace</a>
+
+    <tr>
+     <td> <code title="">xml:base</code>
+
+     <td> <code title="">xml</code>
+
+     <td> <code title="">base</code>
+
+     <td> <a href="#xml-namespace">XML namespace</a>
+
+    <tr>
+     <td> <code title="">xml:space</code>
+
+     <td> <code title="">xml</code>
+
+     <td> <code title="">space</code>
+
+     <td> <a href="#xml-namespace">XML namespace</a>
+
+    <tr>
+     <td> <code title="">xmlns</code>
+
+     <td> (none)
+
+     <td> <code title="">xmlns</code>
+
+     <td> <a href="#xmlns">XMLNS namespace</a>
+
+    <tr>
+     <td> <code title="">xmlns:xlink</code>
+
+     <td> <code title="">xmlns</code>
+
+     <td> <code title="">xlink</code>
+
+     <td> <a href="#xmlns">XMLNS namespace</a>
+  </table>
+
   <p>The <dfn id=generic>generic CDATA parsing algorithm</dfn> and the <dfn
    id=generic0>generic RCDATA parsing algorithm</dfn> consist of the
    following steps. These algorithms are always invoked in response to a
@@ -43731,6 +44197,9 @@
     <p><a href="#reconstruct">Reconstruct the active formatting elements</a>,
      if any.</p>
 
+    <p><a href="#adjust0">Adjust foreign attributes</a> for the token. (This
+     fixes the use of namespaced attributes, in particular XLink.)</p>
+
     <p><a href="#insert1">Insert a foreign element</a> for the token, in the
      <a href="#mathml0">MathML namespace</a>.</p>
 
@@ -43750,6 +44219,12 @@
     <p><a href="#reconstruct">Reconstruct the active formatting elements</a>,
      if any.</p>
 
+    <p><a href="#adjust">Adjust SVG attributes</a> for the token. (This fixes
+     the case of SVG attributes that are not all lowercase.)</p>
+
+    <p><a href="#adjust0">Adjust foreign attributes</a> for the token. (This
+     fixes the use of namespaced attributes, in particular XLink in SVG.)</p>
+
     <p><a href="#insert1">Insert a foreign element</a> for the token, in the
      <a href="#svg-namespace">SVG namespace</a>.</p>
 
@@ -44941,474 +45416,16 @@
     </table>
 
     <p>If the <a href="#current4">current node</a> is an element in the <a
-     href="#svg-namespace">SVG namespace</a>, then, for each attribute on the
-     token whose attribute name is one of the ones in the first column of the
-     following table, change the attribute's name to the name given in the
-     corresponding cell in the second column. (This fixes the case of SVG
-     attributes that are not all lowercase.)</p>
+     href="#svg-namespace">SVG namespace</a>, <a href="#adjust">adjust SVG
+     attributes</a> for the token. (This fixes the case of SVG attributes
+     that are not all lowercase.)</p>
 
-    <table>
-     <thead>
-      <tr>
-       <th> Attribute name on token
+    <p><a href="#adjust0">Adjust foreign attributes</a> for the token. (This
+     fixes the use of namespaced attributes, in particular XLink in SVG.)</p>
 
-       <th> Attribute name on element
-
-     <tbody>
-      <tr>
-       <td> <code title="">attributetype</code>
-
-       <td> <code title="">attributeType</code>
-
-      <tr>
-       <td> <code title="">basefrequency</code>
-
-       <td> <code title="">baseFrequency</code>
-
-      <tr>
-       <td> <code title="">baseprofile</code>
-
-       <td> <code title="">baseProfile</code>
-
-      <tr>
-       <td> <code title="">calcmode</code>
-
-       <td> <code title="">calcMode</code>
-
-      <tr>
-       <td> <code title="">clippathunits</code>
-
-       <td> <code title="">clipPathUnits</code>
-
-      <tr>
-       <td> <code title="">contentscripttype</code>
-
-       <td> <code title="">contentScriptType</code>
-
-      <tr>
-       <td> <code title="">contentstyletype</code>
-
-       <td> <code title="">contentStyleType</code>
-
-      <tr>
-       <td> <code title="">diffuseconstant</code>
-
-       <td> <code title="">diffuseConstant</code>
-
-      <tr>
-       <td> <code title="">edgemode</code>
-
-       <td> <code title="">edgeMode</code>
-
-      <tr>
-       <td> <code title="">externalresourcesrequired</code>
-
-       <td> <code title="">externalResourcesRequired</code>
-
-      <tr>
-       <td> <code title="">fecolormatrix</code>
-
-       <td> <code title="">feColorMatrix</code>
-
-      <tr>
-       <td> <code title="">fecomposite</code>
-
-       <td> <code title="">feComposite</code>
-
-      <tr>
-       <td> <code title="">fegaussianblur</code>
-
-       <td> <code title="">feGaussianBlur</code>
-
-      <tr>
-       <td> <code title="">femorphology</code>
-
-       <td> <code title="">feMorphology</code>
-
-      <tr>
-       <td> <code title="">fetile</code>
-
-       <td> <code title="">feTile</code>
-
-      <tr>
-       <td> <code title="">filterres</code>
-
-       <td> <code title="">filterRes</code>
-
-      <tr>
-       <td> <code title="">filterunits</code>
-
-       <td> <code title="">filterUnits</code>
-
-      <tr>
-       <td> <code title="">glyphref</code>
-
-       <td> <code title="">glyphRef</code>
-
-      <tr>
-       <td> <code title="">gradienttransform</code>
-
-       <td> <code title="">gradientTransform</code>
-
-      <tr>
-       <td> <code title="">gradientunits</code>
-
-       <td> <code title="">gradientUnits</code>
-
-      <tr>
-       <td> <code title="">kernelmatrix</code>
-
-       <td> <code title="">kernelMatrix</code>
-
-      <tr>
-       <td> <code title="">kernelunitlength</code>
-
-       <td> <code title="">kernelUnitLength</code>
-
-      <tr>
-       <td> <code title="">keypoints</code>
-
-       <td> <code title="">keyPoints</code>
-
-      <tr>
-       <td> <code title="">keysplines</code>
-
-       <td> <code title="">keySplines</code>
-
-      <tr>
-       <td> <code title="">keytimes</code>
-
-       <td> <code title="">keyTimes</code>
-
-      <tr>
-       <td> <code title="">lengthadjust</code>
-
-       <td> <code title="">lengthAdjust</code>
-
-      <tr>
-       <td> <code title="">limitingconeangle</code>
-
-       <td> <code title="">limitingConeAngle</code>
-
-      <tr>
-       <td> <code title="">markerheight</code>
-
-       <td> <code title="">markerHeight</code>
-
-      <tr>
-       <td> <code title="">markerunits</code>
-
-       <td> <code title="">markerUnits</code>
-
-      <tr>
-       <td> <code title="">markerwidth</code>
-
-       <td> <code title="">markerWidth</code>
-
-      <tr>
-       <td> <code title="">maskcontentunits</code>
-
-       <td> <code title="">maskContentUnits</code>
-
-      <tr>
-       <td> <code title="">maskunits</code>
-
-       <td> <code title="">maskUnits</code>
-
-      <tr>
-       <td> <code title="">numoctaves</code>
-
-       <td> <code title="">numOctaves</code>
-
-      <tr>
-       <td> <code title="">pathlength</code>
-
-       <td> <code title="">pathLength</code>
-
-      <tr>
-       <td> <code title="">patterncontentunits</code>
-
-       <td> <code title="">patternContentUnits</code>
-
-      <tr>
-       <td> <code title="">patterntransform</code>
-
-       <td> <code title="">patternTransform</code>
-
-      <tr>
-       <td> <code title="">patternunits</code>
-
-       <td> <code title="">patternUnits</code>
-
-      <tr>
-       <td> <code title="">pointsatx</code>
-
-       <td> <code title="">pointsAtX</code>
-
-      <tr>
-       <td> <code title="">pointsaty</code>
-
-       <td> <code title="">pointsAtY</code>
-
-      <tr>
-       <td> <code title="">pointsatz</code>
-
-       <td> <code title="">pointsAtZ</code>
-
-      <tr>
-       <td> <code title="">preservealpha</code>
-
-       <td> <code title="">preserveAlpha</code>
-
-      <tr>
-       <td> <code title="">preserveaspectratio</code>
-
-       <td> <code title="">preserveAspectRatio</code>
-
-      <tr>
-       <td> <code title="">primitiveunits</code>
-
-       <td> <code title="">primitiveUnits</code>
-
-      <tr>
-       <td> <code title="">refx</code>
-
-       <td> <code title="">refX</code>
-
-      <tr>
-       <td> <code title="">refy</code>
-
-       <td> <code title="">refY</code>
-
-      <tr>
-       <td> <code title="">repeatcount</code>
-
-       <td> <code title="">repeatCount</code>
-
-      <tr>
-       <td> <code title="">repeatdur</code>
-
-       <td> <code title="">repeatDur</code>
-
-      <tr>
-       <td> <code title="">requiredextensions</code>
-
-       <td> <code title="">requiredExtensions</code>
-
-      <tr>
-       <td> <code title="">specularconstant</code>
-
-       <td> <code title="">specularConstant</code>
-
-      <tr>
-       <td> <code title="">specularexponent</code>
-
-       <td> <code title="">specularExponent</code>
-
-      <tr>
-       <td> <code title="">spreadmethod</code>
-
-       <td> <code title="">spreadMethod</code>
-
-      <tr>
-       <td> <code title="">startoffset</code>
-
-       <td> <code title="">startOffset</code>
-
-      <tr>
-       <td> <code title="">stddeviation</code>
-
-       <td> <code title="">stdDeviation</code>
-
-      <tr>
-       <td> <code title="">stitchtiles</code>
-
-       <td> <code title="">stitchTiles</code>
-
-      <tr>
-       <td> <code title="">surfacescale</code>
-
-       <td> <code title="">surfaceScale</code>
-
-      <tr>
-       <td> <code title="">systemlanguage</code>
-
-       <td> <code title="">systemLanguage</code>
-
-      <tr>
-       <td> <code title="">tablevalues</code>
-
-       <td> <code title="">tableValues</code>
-
-      <tr>
-       <td> <code title="">targetx</code>
-
-       <td> <code title="">targetX</code>
-
-      <tr>
-       <td> <code title="">targety</code>
-
-       <td> <code title="">targetY</code>
-
-      <tr>
-       <td> <code title="">textlength</code>
-
-       <td> <code title="">textLength</code>
-
-      <tr>
-       <td> <code title="">viewbox</code>
-
-       <td> <code title="">viewBox</code>
-
-      <tr>
-       <td> <code title="">viewtarget</code>
-
-       <td> <code title="">viewTarget</code>
-
-      <tr>
-       <td> <code title="">xchannelselector</code>
-
-       <td> <code title="">xChannelSelector</code>
-
-      <tr>
-       <td> <code title="">ychannelselector</code>
-
-       <td> <code title="">yChannelSelector</code>
-
-      <tr>
-       <td> <code title="">zoomandpan</code>
-
-       <td> <code title="">zoomAndPan</code>
-    </table>
-
-    <p>If any of the attributes on the token match the strings given in the
-     first column of the following table, then let the attribute be a
-     namespaced attribute, with the prefix being the string given in the
-     corresponding cell in the second column, the local name being the string
-     given in the corresponding cell in the third column, and the namespace
-     being the namespace given in the corresponding cell in the fourth
-     column. (This fixes the use of namespaced attributes, in particular
-     XLink, in SVG.)</p>
-
-    <table>
-     <thead>
-      <tr>
-       <th> Attribute name
-
-       <th> Prefix
-
-       <th> Local name
-
-       <th> Namespace
-
-     <tbody>
-      <tr>
-       <td> <code title="">xlink:actuate</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">actuate</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:arcrole</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">arcrole</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:href</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">href</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:role</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">role</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:show</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">show</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:title</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">title</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xlink:type</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <code title="">type</code>
-
-       <td> <a href="#xlink">XLink namespace</a>
-
-      <tr>
-       <td> <code title="">xml:base</code>
-
-       <td> <code title="">xml</code>
-
-       <td> <code title="">base</code>
-
-       <td> <a href="#xml-namespace">XML namespace</a>
-
-      <tr>
-       <td> <code title="">xml:space</code>
-
-       <td> <code title="">xml</code>
-
-       <td> <code title="">space</code>
-
-       <td> <a href="#xml-namespace">XML namespace</a>
-
-      <tr>
-       <td> <code title="">xmlns</code>
-
-       <td> (none)
-
-       <td> <code title="">xmlns</code>
-
-       <td> <a href="#xmlns">XMLNS namespace</a>
-
-      <tr>
-       <td> <code title="">xmlns:xlink</code>
-
-       <td> <code title="">xmlns</code>
-
-       <td> <code title="">xlink</code>
-
-       <td> <a href="#xmlns">XMLNS namespace</a>
-    </table>
-
     <p><a href="#insert1">Insert a foreign element</a> for the token, in the
      same namespace as the <a href="#current4">current node</a>.</p>
 
-    <p>If the element has an <code title="">xmlns</code> attribute in the <a
-     href="#xmlns">XMLNS namespace</a> whose value is not exactly the same as
-     the element's namespace, that is a <a href="#parse1">parse error</a>.</p>
-
     <p>If the token has its <i>self-closing flag</i> set, pop the <a
      href="#current4">current node</a> off the <a href="#stack">stack of open
      elements</a> and <a href="#acknowledged" title="acknowledge self-closing

Modified: source
===================================================================
--- source	2008-04-08 06:46:31 UTC (rev 1415)
+++ source	2008-04-08 06:57:07 UTC (rev 1416)
@@ -39137,13 +39137,125 @@
   node</span>. (This happens in particular during the parsing of
   tables with invalid content.)</p>
 
+
   <p>When the steps below require the UA to <dfn>insert a foreign
   element</dfn> for a token, the UA must first <span>create an element
   for the token</span> in the given namespace, and then append this
   node to the <span>current node</span>, and push it onto the
   <span>stack of open elements</span> so that it is the new
-  <span>current node</span>.</p>
+  <span>current node</span>. If the newly created element has an <code
+  title="">xmlns</code> attribute in the <span>XMLNS namespace</span>
+  whose value is not exactly the same as the element's namespace, that
+  is a <span>parse error</span>.</p>
 
+
+  <p>When the steps below require the user agent to <dfn>adjust SVG
+  attributes</dfn> for a token, then, for each attribute on the token
+  whose attribute name is one of the ones in the first column of the
+  following table, change the attribute's name to the name given in
+  the corresponding cell in the second column. (This fixes the case of
+  SVG attributes that are not all lowercase.)</p>
+
+  <table>
+   <thead>
+    <tr> <th> Attribute name on token <th> Attribute name on element
+   <tbody>
+    <tr> <td> <code title="">attributetype</code> <td> <code title="">attributeType</code>
+    <tr> <td> <code title="">basefrequency</code> <td> <code title="">baseFrequency</code>
+    <tr> <td> <code title="">baseprofile</code> <td> <code title="">baseProfile</code>
+    <tr> <td> <code title="">calcmode</code> <td> <code title="">calcMode</code>
+    <tr> <td> <code title="">clippathunits</code> <td> <code title="">clipPathUnits</code>
+    <tr> <td> <code title="">contentscripttype</code> <td> <code title="">contentScriptType</code>
+    <tr> <td> <code title="">contentstyletype</code> <td> <code title="">contentStyleType</code>
+    <tr> <td> <code title="">diffuseconstant</code> <td> <code title="">diffuseConstant</code>
+    <tr> <td> <code title="">edgemode</code> <td> <code title="">edgeMode</code>
+    <tr> <td> <code title="">externalresourcesrequired</code> <td> <code title="">externalResourcesRequired</code>
+    <tr> <td> <code title="">fecolormatrix</code> <td> <code title="">feColorMatrix</code>
+    <tr> <td> <code title="">fecomposite</code> <td> <code title="">feComposite</code>
+    <tr> <td> <code title="">fegaussianblur</code> <td> <code title="">feGaussianBlur</code>
+    <tr> <td> <code title="">femorphology</code> <td> <code title="">feMorphology</code>
+    <tr> <td> <code title="">fetile</code> <td> <code title="">feTile</code>
+    <tr> <td> <code title="">filterres</code> <td> <code title="">filterRes</code>
+    <tr> <td> <code title="">filterunits</code> <td> <code title="">filterUnits</code>
+    <tr> <td> <code title="">glyphref</code> <td> <code title="">glyphRef</code>
+    <tr> <td> <code title="">gradienttransform</code> <td> <code title="">gradientTransform</code>
+    <tr> <td> <code title="">gradientunits</code> <td> <code title="">gradientUnits</code>
+    <tr> <td> <code title="">kernelmatrix</code> <td> <code title="">kernelMatrix</code>
+    <tr> <td> <code title="">kernelunitlength</code> <td> <code title="">kernelUnitLength</code>
+    <tr> <td> <code title="">keypoints</code> <td> <code title="">keyPoints</code>
+    <tr> <td> <code title="">keysplines</code> <td> <code title="">keySplines</code>
+    <tr> <td> <code title="">keytimes</code> <td> <code title="">keyTimes</code>
+    <tr> <td> <code title="">lengthadjust</code> <td> <code title="">lengthAdjust</code>
+    <tr> <td> <code title="">limitingconeangle</code> <td> <code title="">limitingConeAngle</code>
+    <tr> <td> <code title="">markerheight</code> <td> <code title="">markerHeight</code>
+    <tr> <td> <code title="">markerunits</code> <td> <code title="">markerUnits</code>
+    <tr> <td> <code title="">markerwidth</code> <td> <code title="">markerWidth</code>
+    <tr> <td> <code title="">maskcontentunits</code> <td> <code title="">maskContentUnits</code>
+    <tr> <td> <code title="">maskunits</code> <td> <code title="">maskUnits</code>
+    <tr> <td> <code title="">numoctaves</code> <td> <code title="">numOctaves</code>
+    <tr> <td> <code title="">pathlength</code> <td> <code title="">pathLength</code>
+    <tr> <td> <code title="">patterncontentunits</code> <td> <code title="">patternContentUnits</code>
+    <tr> <td> <code title="">patterntransform</code> <td> <code title="">patternTransform</code>
+    <tr> <td> <code title="">patternunits</code> <td> <code title="">patternUnits</code>
+    <tr> <td> <code title="">pointsatx</code> <td> <code title="">pointsAtX</code>
+    <tr> <td> <code title="">pointsaty</code> <td> <code title="">pointsAtY</code>
+    <tr> <td> <code title="">pointsatz</code> <td> <code title="">pointsAtZ</code>
+    <tr> <td> <code title="">preservealpha</code> <td> <code title="">preserveAlpha</code>
+    <tr> <td> <code title="">preserveaspectratio</code> <td> <code title="">preserveAspectRatio</code>
+    <tr> <td> <code title="">primitiveunits</code> <td> <code title="">primitiveUnits</code>
+    <tr> <td> <code title="">refx</code> <td> <code title="">refX</code>
+    <tr> <td> <code title="">refy</code> <td> <code title="">refY</code>
+    <tr> <td> <code title="">repeatcount</code> <td> <code title="">repeatCount</code>
+    <tr> <td> <code title="">repeatdur</code> <td> <code title="">repeatDur</code>
+    <tr> <td> <code title="">requiredextensions</code> <td> <code title="">requiredExtensions</code>
+    <tr> <td> <code title="">specularconstant</code> <td> <code title="">specularConstant</code>
+    <tr> <td> <code title="">specularexponent</code> <td> <code title="">specularExponent</code>
+    <tr> <td> <code title="">spreadmethod</code> <td> <code title="">spreadMethod</code>
+    <tr> <td> <code title="">startoffset</code> <td> <code title="">startOffset</code>
+    <tr> <td> <code title="">stddeviation</code> <td> <code title="">stdDeviation</code>
+    <tr> <td> <code title="">stitchtiles</code> <td> <code title="">stitchTiles</code>
+    <tr> <td> <code title="">surfacescale</code> <td> <code title="">surfaceScale</code>
+    <tr> <td> <code title="">systemlanguage</code> <td> <code title="">systemLanguage</code>
+    <tr> <td> <code title="">tablevalues</code> <td> <code title="">tableValues</code>
+    <tr> <td> <code title="">targetx</code> <td> <code title="">targetX</code>
+    <tr> <td> <code title="">targety</code> <td> <code title="">targetY</code>
+    <tr> <td> <code title="">textlength</code> <td> <code title="">textLength</code>
+    <tr> <td> <code title="">viewbox</code> <td> <code title="">viewBox</code>
+    <tr> <td> <code title="">viewtarget</code> <td> <code title="">viewTarget</code>
+    <tr> <td> <code title="">xchannelselector</code> <td> <code title="">xChannelSelector</code>
+    <tr> <td> <code title="">ychannelselector</code> <td> <code title="">yChannelSelector</code>
+    <tr> <td> <code title="">zoomandpan</code> <td> <code title="">zoomAndPan</code>
+  </table>
+
+  <p>When the steps below require the user agent to <dfn>adjust
+  foreign attributes</dfn> for a token, then, if any of the attributes
+  on the token match the strings given in the first column of the
+  following table, let the attribute be a namespaced attribute, with
+  the prefix being the string given in the corresponding cell in the
+  second column, the local name being the string given in the
+  corresponding cell in the third column, and the namespace being the
+  namespace given in the corresponding cell in the fourth
+  column. (This fixes the use of namespaced attributes, in particular
+  XLink in SVG.)</p>
+
+  <table>
+   <thead>
+    <tr> <th> Attribute name <th> Prefix <th> Local name <th> Namespace
+   <tbody>
+    <tr> <td> <code title="">xlink:actuate</code> <td> <code title="">xlink</code> <td> <code title="">actuate</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:arcrole</code> <td> <code title="">xlink</code> <td> <code title="">arcrole</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:href</code> <td> <code title="">xlink</code> <td> <code title="">href</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:role</code> <td> <code title="">xlink</code> <td> <code title="">role</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:show</code> <td> <code title="">xlink</code> <td> <code title="">show</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:title</code> <td> <code title="">xlink</code> <td> <code title="">title</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xlink:type</code> <td> <code title="">xlink</code> <td> <code title="">type</code> <td> <span>XLink namespace</span>
+    <tr> <td> <code title="">xml:base</code> <td> <code title="">xml</code> <td> <code title="">base</code> <td> <span>XML namespace</span>
+    <tr> <td> <code title="">xml:space</code> <td> <code title="">xml</code> <td> <code title="">space</code> <td> <span>XML namespace</span>
+    <tr> <td> <code title="">xmlns</code> <td> (none) <td> <code title="">xmlns</code> <td> <span>XMLNS namespace</span>
+    <tr> <td> <code title="">xmlns:xlink</code> <td> <code title="">xmlns</code> <td> <code title="">xlink</code> <td> <span>XMLNS namespace</span>
+  </table>
+
+
   <p>The <dfn>generic CDATA parsing algorithm</dfn> and the
   <dfn>generic RCDATA parsing algorithm</dfn> consist of the following
   steps. These algorithms are always invoked in response to a start
@@ -40955,6 +41067,9 @@
     <p><span>Reconstruct the active formatting elements</span>, if
     any.</p>
 
+    <p><span>Adjust foreign attributes</span> for the token. (This
+    fixes the use of namespaced attributes, in particular XLink.)</p>
+
     <p><span>Insert a foreign element</span> for the token, in the
     <span>MathML namespace</span>.</p>
 
@@ -40976,6 +41091,13 @@
     <p><span>Reconstruct the active formatting elements</span>, if
     any.</p>
 
+    <p><span>Adjust SVG attributes</span> for the token. (This fixes
+    the case of SVG attributes that are not all lowercase.)</p>
+
+    <p><span>Adjust foreign attributes</span> for the token. (This
+    fixes the use of namespaced attributes, in particular XLink in
+    SVG.)</p>
+
     <p><span>Insert a foreign element</span> for the token, in the
     <span>SVG namespace</span>.</p>
 
@@ -42067,117 +42189,17 @@
     </table>
 
     <p>If the <span>current node</span> is an element in the <span>SVG
-    namespace</span>, then, for each attribute on the token whose
-    attribute name is one of the ones in the first column of the
-    following table, change the attribute's name to the name given in
-    the corresponding cell in the second column. (This fixes the case
-    of SVG attributes that are not all lowercase.)</p>
+    namespace</span>, <span>adjust SVG attributes</span> for the
+    token.  (This fixes the case of SVG attributes that are not all
+    lowercase.)</p>
 
-    <table>
-     <thead>
-      <tr> <th> Attribute name on token <th> Attribute name on element
-     <tbody>
-      <tr> <td> <code title="">attributetype</code> <td> <code title="">attributeType</code>
-      <tr> <td> <code title="">basefrequency</code> <td> <code title="">baseFrequency</code>
-      <tr> <td> <code title="">baseprofile</code> <td> <code title="">baseProfile</code>
-      <tr> <td> <code title="">calcmode</code> <td> <code title="">calcMode</code>
-      <tr> <td> <code title="">clippathunits</code> <td> <code title="">clipPathUnits</code>
-      <tr> <td> <code title="">contentscripttype</code> <td> <code title="">contentScriptType</code>
-      <tr> <td> <code title="">contentstyletype</code> <td> <code title="">contentStyleType</code>
-      <tr> <td> <code title="">diffuseconstant</code> <td> <code title="">diffuseConstant</code>
-      <tr> <td> <code title="">edgemode</code> <td> <code title="">edgeMode</code>
-      <tr> <td> <code title="">externalresourcesrequired</code> <td> <code title="">externalResourcesRequired</code>
-      <tr> <td> <code title="">fecolormatrix</code> <td> <code title="">feColorMatrix</code>
-      <tr> <td> <code title="">fecomposite</code> <td> <code title="">feComposite</code>
-      <tr> <td> <code title="">fegaussianblur</code> <td> <code title="">feGaussianBlur</code>
-      <tr> <td> <code title="">femorphology</code> <td> <code title="">feMorphology</code>
-      <tr> <td> <code title="">fetile</code> <td> <code title="">feTile</code>
-      <tr> <td> <code title="">filterres</code> <td> <code title="">filterRes</code>
-      <tr> <td> <code title="">filterunits</code> <td> <code title="">filterUnits</code>
-      <tr> <td> <code title="">glyphref</code> <td> <code title="">glyphRef</code>
-      <tr> <td> <code title="">gradienttransform</code> <td> <code title="">gradientTransform</code>
-      <tr> <td> <code title="">gradientunits</code> <td> <code title="">gradientUnits</code>
-      <tr> <td> <code title="">kernelmatrix</code> <td> <code title="">kernelMatrix</code>
-      <tr> <td> <code title="">kernelunitlength</code> <td> <code title="">kernelUnitLength</code>
-      <tr> <td> <code title="">keypoints</code> <td> <code title="">keyPoints</code>
-      <tr> <td> <code title="">keysplines</code> <td> <code title="">keySplines</code>
-      <tr> <td> <code title="">keytimes</code> <td> <code title="">keyTimes</code>
-      <tr> <td> <code title="">lengthadjust</code> <td> <code title="">lengthAdjust</code>
-      <tr> <td> <code title="">limitingconeangle</code> <td> <code title="">limitingConeAngle</code>
-      <tr> <td> <code title="">markerheight</code> <td> <code title="">markerHeight</code>
-      <tr> <td> <code title="">markerunits</code> <td> <code title="">markerUnits</code>
-      <tr> <td> <code title="">markerwidth</code> <td> <code title="">markerWidth</code>
-      <tr> <td> <code title="">maskcontentunits</code> <td> <code title="">maskContentUnits</code>
-      <tr> <td> <code title="">maskunits</code> <td> <code title="">maskUnits</code>
-      <tr> <td> <code title="">numoctaves</code> <td> <code title="">numOctaves</code>
-      <tr> <td> <code title="">pathlength</code> <td> <code title="">pathLength</code>
-      <tr> <td> <code title="">patterncontentunits</code> <td> <code title="">patternContentUnits</code>
-      <tr> <td> <code title="">patterntransform</code> <td> <code title="">patternTransform</code>
-      <tr> <td> <code title="">patternunits</code> <td> <code title="">patternUnits</code>
-      <tr> <td> <code title="">pointsatx</code> <td> <code title="">pointsAtX</code>
-      <tr> <td> <code title="">pointsaty</code> <td> <code title="">pointsAtY</code>
-      <tr> <td> <code title="">pointsatz</code> <td> <code title="">pointsAtZ</code>
-      <tr> <td> <code title="">preservealpha</code> <td> <code title="">preserveAlpha</code>
-      <tr> <td> <code title="">preserveaspectratio</code> <td> <code title="">preserveAspectRatio</code>
-      <tr> <td> <code title="">primitiveunits</code> <td> <code title="">primitiveUnits</code>
-      <tr> <td> <code title="">refx</code> <td> <code title="">refX</code>
-      <tr> <td> <code title="">refy</code> <td> <code title="">refY</code>
-      <tr> <td> <code title="">repeatcount</code> <td> <code title="">repeatCount</code>
-      <tr> <td> <code title="">repeatdur</code> <td> <code title="">repeatDur</code>
-      <tr> <td> <code title="">requiredextensions</code> <td> <code title="">requiredExtensions</code>
-      <tr> <td> <code title="">specularconstant</code> <td> <code title="">specularConstant</code>
-      <tr> <td> <code title="">specularexponent</code> <td> <code title="">specularExponent</code>
-      <tr> <td> <code title="">spreadmethod</code> <td> <code title="">spreadMethod</code>
-      <tr> <td> <code title="">startoffset</code> <td> <code title="">startOffset</code>
-      <tr> <td> <code title="">stddeviation</code> <td> <code title="">stdDeviation</code>
-      <tr> <td> <code title="">stitchtiles</code> <td> <code title="">stitchTiles</code>
-      <tr> <td> <code title="">surfacescale</code> <td> <code title="">surfaceScale</code>
-      <tr> <td> <code title="">systemlanguage</code> <td> <code title="">systemLanguage</code>
-      <tr> <td> <code title="">tablevalues</code> <td> <code title="">tableValues</code>
-      <tr> <td> <code title="">targetx</code> <td> <code title="">targetX</code>
-      <tr> <td> <code title="">targety</code> <td> <code title="">targetY</code>
-      <tr> <td> <code title="">textlength</code> <td> <code title="">textLength</code>
-      <tr> <td> <code title="">viewbox</code> <td> <code title="">viewBox</code>
-      <tr> <td> <code title="">viewtarget</code> <td> <code title="">viewTarget</code>
-      <tr> <td> <code title="">xchannelselector</code> <td> <code title="">xChannelSelector</code>
-      <tr> <td> <code title="">ychannelselector</code> <td> <code title="">yChannelSelector</code>
-      <tr> <td> <code title="">zoomandpan</code> <td> <code title="">zoomAndPan</code>
-    </table>
+    <p><span>Adjust foreign attributes</span> for the token.  (This
+    fixes the use of namespaced attributes, in particular XLink in
+    SVG.)</p>
 
-    <p>If any of the attributes on the token match the strings given
-    in the first column of the following table, then let the attribute
-    be a namespaced attribute, with the prefix being the string given
-    in the corresponding cell in the second column, the local name
-    being the string given in the corresponding cell in the third
-    column, and the namespace being the namespace given in the
-    corresponding cell in the fourth column. (This fixes the use of
-    namespaced attributes, in particular XLink, in SVG.)</p>
-
-    <table>
-     <thead>
-      <tr> <th> Attribute name <th> Prefix <th> Local name <th> Namespace
-     <tbody>
-      <tr> <td> <code title="">xlink:actuate</code> <td> <code title="">xlink</code> <td> <code title="">actuate</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:arcrole</code> <td> <code title="">xlink</code> <td> <code title="">arcrole</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:href</code> <td> <code title="">xlink</code> <td> <code title="">href</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:role</code> <td> <code title="">xlink</code> <td> <code title="">role</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:show</code> <td> <code title="">xlink</code> <td> <code title="">show</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:title</code> <td> <code title="">xlink</code> <td> <code title="">title</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xlink:type</code> <td> <code title="">xlink</code> <td> <code title="">type</code> <td> <span>XLink namespace</span>
-      <tr> <td> <code title="">xml:base</code> <td> <code title="">xml</code> <td> <code title="">base</code> <td> <span>XML namespace</span>
-      <tr> <td> <code title="">xml:space</code> <td> <code title="">xml</code> <td> <code title="">space</code> <td> <span>XML namespace</span>
-      <tr> <td> <code title="">xmlns</code> <td> (none) <td> <code title="">xmlns</code> <td> <span>XMLNS namespace</span>
-      <tr> <td> <code title="">xmlns:xlink</code> <td> <code title="">xmlns</code> <td> <code title="">xlink</code> <td> <span>XMLNS namespace</span>
-    </table>
-
     <p><span>Insert a foreign element</span> for the token, in the
     same namespace as the <span>current node</span>.</p>
 
-    <p>If the element has an <code title="">xmlns</code> attribute in
-    the <span>XMLNS namespace</span> whose value is not exactly the
-    same as the element's namespace, that is a <span>parse
-    error</span>.</p>
-
     <p>If the token has its <i>self-closing flag</i> set, pop the
     <span>current node</span> off the <span>stack of open
     elements</span> and <span title="acknowledge self-closing




More information about the Commit-Watchers mailing list