[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