[html5] r2904 - [] (0) SVG in text/html: Second try, based on more recent feedback.
whatwg at whatwg.org
whatwg at whatwg.org
Tue Mar 24 17:34:41 PDT 2009
Author: ianh
Date: 2009-03-24 17:34:40 -0700 (Tue, 24 Mar 2009)
New Revision: 2904
Modified:
index
source
Log:
[] (0) SVG in text/html: Second try, based on more recent feedback.
Modified: index
===================================================================
--- index 2009-03-24 09:12:05 UTC (rev 2903)
+++ index 2009-03-25 00:34:40 UTC (rev 2904)
@@ -39,7 +39,7 @@
<div class=head>
<p><a class=logo href=http://www.whatwg.org/ rel=home><img alt=WHATWG src=/images/logo></a></p>
<h1>HTML 5</h1>
- <h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 24 March 2009</h2>
+ <h2 class="no-num no-toc" id=draft-recommendation-—-date:-01-jan-1901>Draft Recommendation — 25 March 2009</h2>
<p>You can take part in this work. <a href=http://www.whatwg.org/mailing-list>Join the working group's discussion list.</a></p>
<p><strong>Web designers!</strong> We have a <a href=http://blog.whatwg.org/faq/>FAQ</a>, a <a href=http://forums.whatwg.org/>forum</a>, and a <a href=http://www.whatwg.org/mailing-list#help>help mailing list</a> for you!</p>
<dl><dt>Multiple-page version:</dt>
@@ -1031,10 +1031,9 @@
described herein</a>
<ol>
<li><a href=#localization><span class=secno>12.1 </span>Localization</a></li>
- <li><a href=#declarative-2d-vector-graphics-and-animation><span class=secno>12.2 </span>Declarative 2D vector graphics and animation</a></li>
- <li><a href=#declarative-3d-scenes><span class=secno>12.3 </span>Declarative 3D scenes</a></li>
- <li><a href=#timers><span class=secno>12.4 </span>Timers</a></li>
- <li><a href=#rendering-and-the-dom><span class=secno>12.5 </span>Rendering and the DOM</a></ol></li>
+ <li><a href=#declarative-3d-scenes><span class=secno>12.2 </span>Declarative 3D scenes</a></li>
+ <li><a href=#timers><span class=secno>12.3 </span>Timers</a></li>
+ <li><a href=#rendering-and-the-dom><span class=secno>12.4 </span>Rendering and the DOM</a></ol></li>
<li><a class=no-num href=#index>Index</a></li>
<li><a class=no-num href=#references>References</a></li>
<li><a class=no-num href=#acknowledgements>Acknowledgements</a></ol>
@@ -7072,7 +7071,8 @@
<a href=#the-head-element-0 title="the head element"><code>head</code> element</a>,
the new value is ignored.</p>
<p>In SVG documents, the <code>SVGDocument</code> interface's
- <code title="">title</code> attribute takes precedence.</p>
+ <code title=dom-svg-title>title</code> attribute takes
+ precedence.</p>
</dd>
</dl><p><dfn id=the-title-element-0>The <code>title</code> element</dfn> of a document is the
@@ -10740,9 +10740,10 @@
<dt>The style sheet title (<code title=dom-stylesheet-title>title</code> DOM attribute)</dt>
<dd><p>The title must be the same as the value of the element's
- <code title="">title</code> content attribute. If the attribute is
- absent, then the style sheet does not have a title. The title is
- used for defining <dfn id=alternative-style-sheet-sets>alternative style sheet sets</dfn>.</dd>
+ <code title=dom-title><a href=#dom-title>title</a></code> content attribute. If the
+ attribute is absent, then the style sheet does not have a
+ title. The title is used for defining <dfn id=alternative-style-sheet-sets>alternative style sheet
+ sets</dfn>.</dd>
</dl><p>The <dfn id=dom-linkstyle-disabled title=dom-LinkStyle-disabled><code>disabled</code></dfn> DOM
attribute on <code><a href=#the-link-element>link</a></code> and <code><a href=#the-style-element>style</a></code> elements must
@@ -25009,11 +25010,17 @@
</div>
<p>When the SVG <code>foreignObject</code> element contains elements
- from the HTML namespace, such elements must all be <a href=#flow-content-0>flow
- content</a> and must not be interleaved with non-HTML
+ from the <a href=#html-namespace-0>HTML namespace</a>, such elements must all be
+ <a href=#flow-content-0>flow content</a> and must not be interleaved with non-HTML
elements. <a href=#refsSVG>[SVG]</a></p>
+ <p>The content model for <code title="">title</code> elements in the
+ <a href=#svg-namespace>SVG namespace</a> inside <a href=#html-documents>HTML documents</a> is
+ <a href=#phrasing-content-0>phrasing content</a>. (This further constrains the
+ requirements given in the SVG specification.)</p>
+
+
<h4 id=dimension-attributes><span class=secno>4.8.17 </span><dfn>Dimension attributes</dfn></h4>
<p><strong class=impl>Author requirements:</strong> The <dfn id=attr-dim-width title=attr-dim-width><code>width</code></dfn> and <dfn id=attr-dim-height title=attr-dim-height><code>height</code></dfn> attributes on
@@ -50605,9 +50612,7 @@
<dt>Foreign elements</dt>
<dd>Elements from the <a href=#mathml-namespace>MathML namespace</a>
-<!--XXXSVG
- and the <span>SVG namespace</span>.</dd>
--->
+ and the <a href=#svg-namespace>SVG namespace</a>.</dd>
<dt>Normal elements</dt>
@@ -51931,11 +51936,11 @@
steps.</li>
<li>If <var title="">node</var> is an element from the <a href=#mathml-namespace>MathML
- namespace</a><!--XXXSVG or the <span>SVG namespace</span>-->,
- then switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#parsing-main-inforeign title="insertion mode: in foreign content">in foreign
- content</a>", let the <a href=#secondary-insertion-mode>secondary insertion mode</a> be
- "<a href=#parsing-main-inbody title="insertion mode: in body">in body</a>", and abort
- these steps.</li>
+ namespace</a> or the <a href=#svg-namespace>SVG namespace</a>, then switch the
+ <a href=#insertion-mode>insertion mode</a> to "<a href=#parsing-main-inforeign title="insertion mode: in
+ foreign content">in foreign content</a>", let the
+ <a href=#secondary-insertion-mode>secondary insertion mode</a> be "<a href=#parsing-main-inbody title="insertion
+ mode: in body">in body</a>", and abort these steps.</li>
<li>If <var title="">node</var> is a <code><a href=#the-head-element>head</a></code> element,
then switch the <a href=#insertion-mode>insertion mode</a> to "<a href=#parsing-main-inbody title="insertion mode: in body">in body</a>" ("<a href=#parsing-main-inbody title="insertion mode: in body">in body</a>"! <em> not "<a href=#parsing-main-inhead title="insertion mode: in head">in head</a>"</em>!) and abort
@@ -52051,7 +52056,7 @@
parsing: <code><a href=#the-applet-element>applet</a></code>, <code><a href=#the-button-element>button</a></code>,
<code><a href=#the-caption-element>caption</a></code>, <code><a href=#the-html-element>html</a></code>, <code><a href=#the-marquee-element-0>marquee</a></code>,
<code><a href=#the-object-element>object</a></code>, <code><a href=#the-table-element>table</a></code>, <code><a href=#the-td-element>td</a></code>,
- <code><a href=#the-th-element>th</a></code><!--XXXSVG, and SVG's <code>foreignObject</code>-->.</dd>
+ <code><a href=#the-th-element>th</a></code>, and SVG's <code>foreignObject</code>.</dd>
<dt><dfn id=formatting>Formatting</dfn></dt>
<dd><p>The following HTML elements are those that end up in the
@@ -52086,7 +52091,7 @@
<li><code><a href=#the-button-element>button</a></code> in the HTML namespace</li>
<li><code><a href=#the-marquee-element-0>marquee</a></code> in the HTML namespace</li>
<li><code><a href=#the-object-element>object</a></code> in the HTML namespace</li>
-<!--XXXSVG <li><code title="">foreignObject</code> in the SVG namespace</li>-->
+ <li><code title="">foreignObject</code> in the SVG namespace</li>
</ul></li>
<li><p>Otherwise, set <var title="">node</var> to the previous
@@ -53678,84 +53683,77 @@
attributes</dfn> for a token, then, if the token has an attribute
named <code title="">definitionurl</code>, change its name to <code title="">definitionURL</code> (note the case difference).</p>
-<!--XXXSVG
- <p>When the steps below require the user agent to <dfn>adjust SVG
+ <p>When the steps below require the user agent to <dfn id=adjust-svg-attributes>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="">attributename</code> <td> <code title="">attributeName</code>
- <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="">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="">requiredfeatures</code> <td> <code title="">requiredFeatures</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=adjust-foreign-attributes>adjust
+ <table><thead><tr><th> Attribute name on token <th> Attribute name on element
+ <tbody><tr><td> <code title="">attributename</code> <td> <code title="">attributeName</code>
+ <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="">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="">requiredfeatures</code> <td> <code title="">requiredFeatures</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=adjust-foreign-attributes>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
@@ -55554,35 +55552,34 @@
foreign content">in foreign content</a>".</p>
</dd>
-<!--XXXSVG
+
<dt>A start tag whose tag name is "svg"</dt>
<dd>
- <p><span>Reconstruct the active formatting elements</span>, if
+ <p><a href=#reconstruct-the-active-formatting-elements>Reconstruct the active formatting elements</a>, if
any.</p>
- <p><span>Adjust SVG attributes</span> for the token. (This fixes
+ <p><a href=#adjust-svg-attributes>Adjust SVG attributes</a> 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
+ <p><a href=#adjust-foreign-attributes>Adjust foreign attributes</a> 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>
+ <p><a href=#insert-a-foreign-element>Insert a foreign element</a> for the token, in the
+ <a href=#svg-namespace>SVG namespace</a>.</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
- flag">acknowledge the token's <i>self-closing flag</i></span>.</p>
+ <a href=#current-node>current node</a> off the <a href=#stack-of-open-elements>stack of open
+ elements</a> and <a href=#acknowledge-self-closing-flag title="acknowledge self-closing
+ flag">acknowledge the token's <i>self-closing flag</i></a>.</p>
- <p>Otherwise, let the <span>secondary insertion mode</span> be the
- current <span>insertion mode</span>, and then switch the
- <span>insertion mode</span> to "<span title="insertion mode: in
- foreign content">in foreign content</span>".</p>
+ <p>Otherwise, let the <a href=#secondary-insertion-mode>secondary insertion mode</a> be the
+ current <a href=#insertion-mode>insertion mode</a>, and then switch the
+ <a href=#insertion-mode>insertion mode</a> to "<a href=#parsing-main-inforeign title="insertion mode: in
+ foreign content">in foreign content</a>".</p>
</dd>
--->
<dt>A start <!--or end--> tag whose tag name is one of: "caption",
"col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th",
@@ -55712,11 +55709,9 @@
one. If the parser's <a href=#script-nesting-level>script nesting level</a> is zero,
then set the <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
- <p>Let the <a href=#insertion-point>insertion point</a> have the value of the
- <var title="">old insertion point</var>. (In other words,
- restore the <a href=#insertion-point>insertion point</a> to the value it had
- before the previous paragraph. This value might be the
- "undefined" value.)</p>
+ <p>Let the <a href=#insertion-point>insertion point</a> have the value of the <var title="">old insertion point</var>. (In other words, restore the
+ <a href=#insertion-point>insertion point</a> to its previous value. This value
+ might be the "undefined" value.)</p>
<p id=scriptTagParserResumes>At this stage, if there is a
<a href=#pending-external-script>pending external script</a>, then:</p>
@@ -56570,19 +56565,47 @@
<p><a href=#parse-error>Parse error</a>. Ignore the token.</p>
</dd>
- <!--XXXSVG need to define processing for </script> to match HTML5's </script> processing -->
+ <dt>An end tag whose tag name is "script", if the <a href=#current-node>current node</a> is a <code title="">script</code> element in the <a href=#svg-namespace>SVG namespace</a>.</dt>
+ <dd>
+ <p>Pop the <a href=#current-node>current node</a> off the <a href=#stack-of-open-elements>stack of open
+ elements</a>.</p>
+
+ <p>Let the <var title="">old insertion point</var> have the
+ same value as the current <a href=#insertion-point>insertion point</a>. Let
+ the <a href=#insertion-point>insertion point</a> be just before the <a href=#next-input-character>next
+ input character</a>.</p>
+
+ <p>Increment the parser's <a href=#script-nesting-level>script nesting level</a> by
+ one. Set the <a href=#parser-pause-flag>parser pause flag</a> to true.</p>
+
+ <p><a href=http://www.w3.org/TR/SVGMobile12/script.html#ScriptContentProcessing>Process
+ the <code title="">script</code> element</a> according to the SVG
+ rules. <a href=#refsSVG>[SVG]</a></p>
+
+ <p class=note>Even if this causes <a href=#dom-document-write title=dom-document-write>new characters to be inserted into the
+ tokeniser</a>, the parser will not be executed reentrantly,
+ since the <a href=#parser-pause-flag>parser pause flag</a> is true.</p>
+
+ <p>Decrement the parser's <a href=#script-nesting-level>script nesting level</a> by
+ one. If the parser's <a href=#script-nesting-level>script nesting level</a> is zero,
+ then set the <a href=#parser-pause-flag>parser pause flag</a> to false.</p>
+
+ <p>Let the <a href=#insertion-point>insertion point</a> have the value of the <var title="">old insertion point</var>. (In other words, restore the
+ <a href=#insertion-point>insertion point</a> to its previous value. This value
+ might be the "undefined" value.)</p>
+
+ </dd>
+
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href=#current-node>current node</a> is an <code title="">mi</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href=#current-node>current node</a> is an <code title="">mo</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href=#current-node>current node</a> is an <code title="">mn</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href=#current-node>current node</a> is an <code title="">ms</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <a href=#current-node>current node</a> is an <code title="">mtext</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
-<!--XXXSVG
- <dt>A start tag whose tag name is "svg", if the <span>current node</span> is an <code title="">annotation-xml</code> element in the <span>MathML namespace</span>.</dt>
- <dt>A start tag, if the <span>current node</span> is a <code title="">foreignObject</code> element in the <span>SVG namespace</span>.</dt>
- <dt>A start tag, if the <span>current node</span> is a <code title="">desc</code> element in the <span>SVG namespace</span>.</dt>
- <dt>A start tag, if the <span>current node</span> is a <code title="">title</code> element in the <span>SVG namespace</span>.</dt>
--->
+ <dt>A start tag whose tag name is "svg", if the <a href=#current-node>current node</a> is an <code title="">annotation-xml</code> element in the <a href=#mathml-namespace>MathML namespace</a>.</dt>
+ <dt>A start tag, if the <a href=#current-node>current node</a> is a <code title="">foreignObject</code> element in the <a href=#svg-namespace>SVG namespace</a>.</dt>
+ <dt>A start tag, if the <a href=#current-node>current node</a> is a <code title="">desc</code> element in the <a href=#svg-namespace>SVG namespace</a>.</dt>
+ <dt>A start tag, if the <a href=#current-node>current node</a> is a <code title="">title</code> element in the <a href=#svg-namespace>SVG namespace</a>.</dt>
<dt>A start tag, if the <a href=#current-node>current node</a> is an element in the <a href=#html-namespace-0>HTML namespace</a>.</dt>
<dt>An end tag</dt>
<dd>
@@ -56641,62 +56664,56 @@
attributes</a> for the token. (This fixes the case of MathML
attributes that are not all lowercase.)</p>
-<!--XXXSVG
- <p>If the <span>current node</span> is an element in the <span>SVG
- namespace</span>, and the token's tag name is one of the ones in
+ <p>If the <a href=#current-node>current node</a> is an element in the <a href=#svg-namespace>SVG
+ namespace</a>, and the token's tag name is one of the ones in
the first column of the following table, change the tag name to
the name given in the corresponding cell in the second
column. (This fixes the case of SVG elements that are not all
lowercase.)</p>
- <table>
- <thead>
- <tr> <th> Tag name <th> Element name
- <tbody>
- <tr> <td> <code title="">altglyph</code> <td> <code title="">altGlyph</code>
- <tr> <td> <code title="">altglyphdef</code> <td> <code title="">altGlyphDef</code>
- <tr> <td> <code title="">altglyphitem</code> <td> <code title="">altGlyphItem</code>
- <tr> <td> <code title="">animatecolor</code> <td> <code title="">animateColor</code>
- <tr> <td> <code title="">animatemotion</code> <td> <code title="">animateMotion</code>
- <tr> <td> <code title="">animatetransform</code> <td> <code title="">animateTransform</code>
- <tr> <td> <code title="">clippath</code> <td> <code title="">clipPath</code>
- <tr> <td> <code title="">feblend</code> <td> <code title="">feBlend</code>
- <tr> <td> <code title="">fecolormatrix</code> <td> <code title="">feColorMatrix</code>
- <tr> <td> <code title="">fecomponenttransfer</code> <td> <code title="">feComponentTransfer</code>
- <tr> <td> <code title="">fecomposite</code> <td> <code title="">feComposite</code>
- <tr> <td> <code title="">feconvolvematrix</code> <td> <code title="">feConvolveMatrix</code>
- <tr> <td> <code title="">fediffuselighting</code> <td> <code title="">feDiffuseLighting</code>
- <tr> <td> <code title="">fedisplacementmap</code> <td> <code title="">feDisplacementMap</code>
- <tr> <td> <code title="">fedistantlight</code> <td> <code title="">feDistantLight</code>
- <tr> <td> <code title="">feflood</code> <td> <code title="">feFlood</code>
- <tr> <td> <code title="">fefunca</code> <td> <code title="">feFuncA</code>
- <tr> <td> <code title="">fefuncb</code> <td> <code title="">feFuncB</code>
- <tr> <td> <code title="">fefuncg</code> <td> <code title="">feFuncG</code>
- <tr> <td> <code title="">fefuncr</code> <td> <code title="">feFuncR</code>
- <tr> <td> <code title="">fegaussianblur</code> <td> <code title="">feGaussianBlur</code>
- <tr> <td> <code title="">feimage</code> <td> <code title="">feImage</code>
- <tr> <td> <code title="">femerge</code> <td> <code title="">feMerge</code>
- <tr> <td> <code title="">femergenode</code> <td> <code title="">feMergeNode</code>
- <tr> <td> <code title="">femorphology</code> <td> <code title="">feMorphology</code>
- <tr> <td> <code title="">feoffset</code> <td> <code title="">feOffset</code>
- <tr> <td> <code title="">fepointlight</code> <td> <code title="">fePointLight</code>
- <tr> <td> <code title="">fespecularlighting</code> <td> <code title="">feSpecularLighting</code>
- <tr> <td> <code title="">fespotlight</code> <td> <code title="">feSpotLight</code>
- <tr> <td> <code title="">fetile</code> <td> <code title="">feTile</code>
- <tr> <td> <code title="">feturbulence</code> <td> <code title="">feTurbulence</code>
- <tr> <td> <code title="">foreignobject</code> <td> <code title="">foreignObject</code>
- <tr> <td> <code title="">glyphref</code> <td> <code title="">glyphRef</code>
- <tr> <td> <code title="">lineargradient</code> <td> <code title="">linearGradient</code>
- <tr> <td> <code title="">radialgradient</code> <td> <code title="">radialGradient</code>
- <!- -<tr> <td> <code title="">solidcolor</code> <td> <code title="">solidColor</code> (SVG 1.2)- ->
- <tr> <td> <code title="">textpath</code> <td> <code title="">textPath</code>
- </table>
-
- <p>If the <span>current node</span> is an element in the <span>SVG
- namespace</span>, <span>adjust SVG attributes</span> for the
+ <table><thead><tr><th> Tag name <th> Element name
+ <tbody><tr><td> <code title="">altglyph</code> <td> <code title="">altGlyph</code>
+ <tr><td> <code title="">altglyphdef</code> <td> <code title="">altGlyphDef</code>
+ <tr><td> <code title="">altglyphitem</code> <td> <code title="">altGlyphItem</code>
+ <tr><td> <code title="">animatecolor</code> <td> <code title="">animateColor</code>
+ <tr><td> <code title="">animatemotion</code> <td> <code title="">animateMotion</code>
+ <tr><td> <code title="">animatetransform</code> <td> <code title="">animateTransform</code>
+ <tr><td> <code title="">clippath</code> <td> <code title="">clipPath</code>
+ <tr><td> <code title="">feblend</code> <td> <code title="">feBlend</code>
+ <tr><td> <code title="">fecolormatrix</code> <td> <code title="">feColorMatrix</code>
+ <tr><td> <code title="">fecomponenttransfer</code> <td> <code title="">feComponentTransfer</code>
+ <tr><td> <code title="">fecomposite</code> <td> <code title="">feComposite</code>
+ <tr><td> <code title="">feconvolvematrix</code> <td> <code title="">feConvolveMatrix</code>
+ <tr><td> <code title="">fediffuselighting</code> <td> <code title="">feDiffuseLighting</code>
+ <tr><td> <code title="">fedisplacementmap</code> <td> <code title="">feDisplacementMap</code>
+ <tr><td> <code title="">fedistantlight</code> <td> <code title="">feDistantLight</code>
+ <tr><td> <code title="">feflood</code> <td> <code title="">feFlood</code>
+ <tr><td> <code title="">fefunca</code> <td> <code title="">feFuncA</code>
+ <tr><td> <code title="">fefuncb</code> <td> <code title="">feFuncB</code>
+ <tr><td> <code title="">fefuncg</code> <td> <code title="">feFuncG</code>
+ <tr><td> <code title="">fefuncr</code> <td> <code title="">feFuncR</code>
+ <tr><td> <code title="">fegaussianblur</code> <td> <code title="">feGaussianBlur</code>
+ <tr><td> <code title="">feimage</code> <td> <code title="">feImage</code>
+ <tr><td> <code title="">femerge</code> <td> <code title="">feMerge</code>
+ <tr><td> <code title="">femergenode</code> <td> <code title="">feMergeNode</code>
+ <tr><td> <code title="">femorphology</code> <td> <code title="">feMorphology</code>
+ <tr><td> <code title="">feoffset</code> <td> <code title="">feOffset</code>
+ <tr><td> <code title="">fepointlight</code> <td> <code title="">fePointLight</code>
+ <tr><td> <code title="">fespecularlighting</code> <td> <code title="">feSpecularLighting</code>
+ <tr><td> <code title="">fespotlight</code> <td> <code title="">feSpotLight</code>
+ <tr><td> <code title="">fetile</code> <td> <code title="">feTile</code>
+ <tr><td> <code title="">feturbulence</code> <td> <code title="">feTurbulence</code>
+ <tr><td> <code title="">foreignobject</code> <td> <code title="">foreignObject</code>
+ <tr><td> <code title="">glyphref</code> <td> <code title="">glyphRef</code>
+ <tr><td> <code title="">lineargradient</code> <td> <code title="">linearGradient</code>
+ <tr><td> <code title="">radialgradient</code> <td> <code title="">radialGradient</code>
+ <!--<tr> <td> <code title="">solidcolor</code> <td> <code title="">solidColor</code> (SVG 1.2)-->
+ <tr><td> <code title="">textpath</code> <td> <code title="">textPath</code>
+ </table><p>If the <a href=#current-node>current node</a> is an element in the <a href=#svg-namespace>SVG
+ namespace</a>, <a href=#adjust-svg-attributes>adjust SVG attributes</a> for the
token. (This fixes the case of SVG attributes that are not all
lowercase.)</p>
--->
+
<p><a href=#adjust-foreign-attributes>Adjust foreign attributes</a> for the token. (This
fixes the use of namespaced attributes, in particular XLink in
SVG.)</p>
@@ -62254,15 +62271,9 @@
<!-- <p>XXX example here</p> -->
-<!--XXXSVG (remove next section)-->
- <h3 id=declarative-2d-vector-graphics-and-animation><span class=secno>12.2 </span>Declarative 2D vector graphics and animation</h3>
- <p>Embedding vector graphics into XHTML documents is the domain of
- SVG.</p>
- <!-- <p>XXX example here</p> -->
+ <h3 id=declarative-3d-scenes><span class=secno>12.2 </span>Declarative 3D scenes</h3>
- <h3 id=declarative-3d-scenes><span class=secno>12.3 </span>Declarative 3D scenes</h3>
-
<p>Embedding 3D imagery into XHTML documents is the domain of X3D,
or technologies based on X3D that are namespace-aware.</p>
@@ -62270,7 +62281,7 @@
- <h3 id=timers><span class=secno>12.4 </span>Timers</h3>
+ <h3 id=timers><span class=secno>12.3 </span>Timers</h3>
<p class=XXX>This section is expected to be moved to its own
specification in due course. It needs a lot of work to actually make
@@ -62351,7 +62362,7 @@
- <h3 id=rendering-and-the-dom><span class=secno>12.5 </span>Rendering and the DOM</h3>
+ <h3 id=rendering-and-the-dom><span class=secno>12.4 </span>Rendering and the DOM</h3>
<p class=XXX>This section is expected to be moved to its own
specification in due course. It needs a lot of work to actually make
Modified: source
===================================================================
--- source 2009-03-24 09:12:05 UTC (rev 2903)
+++ source 2009-03-25 00:34:40 UTC (rev 2904)
@@ -7210,7 +7210,8 @@
<span title="the head element"><code>head</code> element</span>,
the new value is ignored.</p>
<p>In SVG documents, the <code>SVGDocument</code> interface's
- <code title="">title</code> attribute takes precedence.</p>
+ <code title="dom-svg-title">title</code> attribute takes
+ precedence.</p>
</dd>
</dl>
@@ -11381,9 +11382,10 @@
<dt>The style sheet title (<code title="dom-stylesheet-title">title</code> DOM attribute)</dt>
<dd><p>The title must be the same as the value of the element's
- <code title="">title</code> content attribute. If the attribute is
- absent, then the style sheet does not have a title. The title is
- used for defining <dfn>alternative style sheet sets</dfn>.</p></dd>
+ <code title="dom-title">title</code> content attribute. If the
+ attribute is absent, then the style sheet does not have a
+ title. The title is used for defining <dfn>alternative style sheet
+ sets</dfn>.</p></dd>
</dl>
@@ -27642,11 +27644,17 @@
</div>
<p>When the SVG <code>foreignObject</code> element contains elements
- from the HTML namespace, such elements must all be <span>flow
- content</span> and must not be interleaved with non-HTML
+ from the <span>HTML namespace</span>, such elements must all be
+ <span>flow content</span> and must not be interleaved with non-HTML
elements. <a href="#refsSVG">[SVG]</a></p>
+ <p>The content model for <code title="">title</code> elements in the
+ <span>SVG namespace</span> inside <span>HTML documents</span> is
+ <span>phrasing content</span>. (This further constrains the
+ requirements given in the SVG specification.)</p>
+
+
<h4><dfn>Dimension attributes</dfn></h4>
<p><strong class="impl">Author requirements:</strong> The <dfn
@@ -62325,9 +62333,7 @@
<dt>Foreign elements</dt>
<dd>Elements from the <span>MathML namespace</span>
-<!--XXXSVG
and the <span>SVG namespace</span>.</dd>
--->
<dt>Normal elements</dt>
@@ -63835,12 +63841,11 @@
steps.</li>
<li>If <var title="">node</var> is an element from the <span>MathML
- namespace</span><!--XXXSVG or the <span>SVG namespace</span>-->,
- then switch the <span>insertion mode</span> to "<span
- title="insertion mode: in foreign content">in foreign
- content</span>", let the <span>secondary insertion mode</span> be
- "<span title="insertion mode: in body">in body</span>", and abort
- these steps.</li>
+ namespace</span> or the <span>SVG namespace</span>, then switch the
+ <span>insertion mode</span> to "<span title="insertion mode: in
+ foreign content">in foreign content</span>", let the
+ <span>secondary insertion mode</span> be "<span title="insertion
+ mode: in body">in body</span>", and abort these steps.</li>
<li>If <var title="">node</var> is a <code>head</code> element,
then switch the <span>insertion mode</span> to "<span
@@ -63969,7 +63974,7 @@
parsing: <code>applet</code>, <code>button</code>,
<code>caption</code>, <code>html</code>, <code>marquee</code>,
<code>object</code>, <code>table</code>, <code>td</code>,
- <code>th</code><!--XXXSVG, and SVG's <code>foreignObject</code>-->.</p></dd>
+ <code>th</code>, and SVG's <code>foreignObject</code>.</p></dd>
<dt><dfn>Formatting</dfn></dt>
<dd><p>The following HTML elements are those that end up in the
@@ -64010,7 +64015,7 @@
<li><code>button</code> in the HTML namespace</li>
<li><code>marquee</code> in the HTML namespace</li>
<li><code>object</code> in the HTML namespace</li>
-<!--XXXSVG <li><code title="">foreignObject</code> in the SVG namespace</li>-->
+ <li><code title="">foreignObject</code> in the SVG namespace</li>
</ul>
</li>
@@ -65819,7 +65824,6 @@
named <code title="">definitionurl</code>, change its name to <code
title="">definitionURL</code> (note the case difference).</p>
-<!--XXXSVG
<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
@@ -65894,7 +65898,6 @@
<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
@@ -67855,7 +67858,7 @@
foreign content">in foreign content</span>".</p>
</dd>
-<!--XXXSVG
+
<dt>A start tag whose tag name is "svg"</dt>
<dd>
@@ -67883,7 +67886,6 @@
foreign content">in foreign content</span>".</p>
</dd>
--->
<dt>A start <!--or end--> tag whose tag name is one of: "caption",
"col", "colgroup", "frame", "head", "tbody", "td", "tfoot", "th",
@@ -68030,11 +68032,10 @@
one. If the parser's <span>script nesting level</span> is zero,
then set the <span>parser pause flag</span> to false.</p>
- <p>Let the <span>insertion point</span> have the value of the
- <var title="">old insertion point</var>. (In other words,
- restore the <span>insertion point</span> to the value it had
- before the previous paragraph. This value might be the
- "undefined" value.)</p>
+ <p>Let the <span>insertion point</span> have the value of the <var
+ title="">old insertion point</var>. (In other words, restore the
+ <span>insertion point</span> to its previous value. This value
+ might be the "undefined" value.)</p>
<p id="scriptTagParserResumes">At this stage, if there is a
<span>pending external script</span>, then:</p>
@@ -68969,19 +68970,50 @@
<p><span>Parse error</span>. Ignore the token.</p>
</dd>
- <!--XXXSVG need to define processing for </script> to match HTML5's </script> processing -->
+ <dt>An end tag whose tag name is "script", if the <span>current node</span> is a <code title="">script</code> element in the <span>SVG namespace</span>.</dt>
+ <dd>
+ <p>Pop the <span>current node</span> off the <span>stack of open
+ elements</span>.</p>
+
+ <p>Let the <var title="">old insertion point</var> have the
+ same value as the current <span>insertion point</span>. Let
+ the <span>insertion point</span> be just before the <span>next
+ input character</span>.</p>
+
+ <p>Increment the parser's <span>script nesting level</span> by
+ one. Set the <span>parser pause flag</span> to true.</p>
+
+ <p><a
+ href="http://www.w3.org/TR/SVGMobile12/script.html#ScriptContentProcessing">Process
+ the <code title="">script</code> element</a> according to the SVG
+ rules. <a href="#refsSVG">[SVG]</a></p>
+
+ <p class="note">Even if this causes <span
+ title="dom-document-write">new characters to be inserted into the
+ tokeniser</span>, the parser will not be executed reentrantly,
+ since the <span>parser pause flag</span> is true.</p>
+
+ <p>Decrement the parser's <span>script nesting level</span> by
+ one. If the parser's <span>script nesting level</span> is zero,
+ then set the <span>parser pause flag</span> to false.</p>
+
+ <p>Let the <span>insertion point</span> have the value of the <var
+ title="">old insertion point</var>. (In other words, restore the
+ <span>insertion point</span> to its previous value. This value
+ might be the "undefined" value.)</p>
+
+ </dd>
+
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <span>current node</span> is an <code title="">mi</code> element in the <span>MathML namespace</span>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <span>current node</span> is an <code title="">mo</code> element in the <span>MathML namespace</span>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <span>current node</span> is an <code title="">mn</code> element in the <span>MathML namespace</span>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <span>current node</span> is an <code title="">ms</code> element in the <span>MathML namespace</span>.</dt>
<dt>A start tag whose tag name is neither "mglyph" nor "malignmark", if the <span>current node</span> is an <code title="">mtext</code> element in the <span>MathML namespace</span>.</dt>
-<!--XXXSVG
<dt>A start tag whose tag name is "svg", if the <span>current node</span> is an <code title="">annotation-xml</code> element in the <span>MathML namespace</span>.</dt>
<dt>A start tag, if the <span>current node</span> is a <code title="">foreignObject</code> element in the <span>SVG namespace</span>.</dt>
<dt>A start tag, if the <span>current node</span> is a <code title="">desc</code> element in the <span>SVG namespace</span>.</dt>
<dt>A start tag, if the <span>current node</span> is a <code title="">title</code> element in the <span>SVG namespace</span>.</dt>
--->
<dt>A start tag, if the <span>current node</span> is an element in the <span>HTML namespace</span>.</dt>
<dt>An end tag</dt>
<dd>
@@ -69040,7 +69072,6 @@
attributes</span> for the token. (This fixes the case of MathML
attributes that are not all lowercase.)</p>
-<!--XXXSVG
<p>If the <span>current node</span> is an element in the <span>SVG
namespace</span>, and the token's tag name is one of the ones in
the first column of the following table, change the tag name to
@@ -69087,7 +69118,7 @@
<tr> <td> <code title="">glyphref</code> <td> <code title="">glyphRef</code>
<tr> <td> <code title="">lineargradient</code> <td> <code title="">linearGradient</code>
<tr> <td> <code title="">radialgradient</code> <td> <code title="">radialGradient</code>
- <!- -<tr> <td> <code title="">solidcolor</code> <td> <code title="">solidColor</code> (SVG 1.2)- ->
+ <!--<tr> <td> <code title="">solidcolor</code> <td> <code title="">solidColor</code> (SVG 1.2)-->
<tr> <td> <code title="">textpath</code> <td> <code title="">textPath</code>
</table>
@@ -69095,7 +69126,7 @@
namespace</span>, <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>
@@ -72975,13 +73006,7 @@
<!-- <p>XXX example here</p> -->
-<!--XXXSVG (remove next section)-->
- <h3>Declarative 2D vector graphics and animation</h3>
- <p>Embedding vector graphics into XHTML documents is the domain of
- SVG.</p>
- <!-- <p>XXX example here</p> -->
-
<h3>Declarative 3D scenes</h3>
<p>Embedding 3D imagery into XHTML documents is the domain of X3D,
More information about the Commit-Watchers
mailing list