svg2: ACTION-3561: allow <script> in the content model everywhere

details:   https://svgwg.org/hg/svg2/rev/3e87fbe2cacf
branches:  
changeset: 630:3e87fbe2cacf
user:      Erik Dahlstrom <ed@opera.com>
date:      Mon Feb 10 15:13:46 2014 +0100
description:
ACTION-3561: allow <script> in the content model everywhere

diffstat:

 master/changes.html            |    2 +
 master/definitions-filters.xml |   54 ++++++++++----------
 master/definitions-masking.xml |    2 +-
 master/definitions.xml         |  109 ++++++++++++++++++++++++----------------
 4 files changed, 94 insertions(+), 73 deletions(-)

diffs (1196 lines):

diff --git a/master/changes.html b/master/changes.html
--- a/master/changes.html
+++ b/master/changes.html
@@ -49,16 +49,18 @@ have been made.</p>
 
   <li>IDL has been updated to use Web IDL syntax.</li>
 
   <li>Added "length" attribute and indexed property access to all list interfaces.</li>
 
   <li>Remove definition of <a>&lt;angle&gt;</a> type and reference CSS3-values.</li>
 
   <li>Change all coordinate types to <a>&lt;length&gt;</a> in preparation for referencing css3-values..</li>
+  
+  <li class='added-since-last-wd'>Add the <a>'script'</a> element to the content model of all elements.</li>  
 </ul>
 
 <h3 id="rendering">Rendering Model chapter</h3>
 <ul>
   <li>Update rendering model to refer to <a href="http://www.w3.org/TR/compositing/">Compositing and Blending Specification</a>.</li>
 </ul>
 
 <h3 id="types">Basic Data Types and Interfaces chapter</h3>
diff --git a/master/definitions-filters.xml b/master/definitions-filters.xml
--- a/master/definitions-filters.xml
+++ b/master/definitions-filters.xml
@@ -5,79 +5,79 @@
   <!-- === defined in this specification ================================== -->
 
   <!-- ... elements and element-specific attributes ....................... -->
 
   <element
       name='feBlend'
       href='#feBlendElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEBlendElement'>
     <attribute name='in2' href='#feBlendIn2Attribute' animatable='yes'/>
     <attribute name='mode' href='#feBlendModeAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feCustom'
       href='#feCustomElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       interfaces='SVGFECustomElement'>
     <attribute name='vertexShader' href='#feCustomVertexShaderAttribute' animatable='yes'/>
     <attribute name='fragmentShader' href='#feCustomFragmentShaderAttribute' animatable='yes'/>
     <attribute name='vertexMesh' href='#feCustomVertexMeshAttribute' animatable='yes'/>
     <attribute name='params' href='#feCustomParamsAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feColorMatrix'
       href='#feColorMatrixElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEColorMatrixElement'>
     <attribute name='type' href='#feColorMatrixTypeAttribute' animatable='yes'/>
     <attribute name='values' href='#feColorMatrixValuesAttribute' animatable='yes'/>
   </element>
 
   <element
     name='feComponentTransfer'
     href='#feComponentTransferElement'
     contentmodel='anyof'
-    elements='feFuncR, feFuncG, feFuncB, feFuncA'
+    elements='feFuncR, feFuncG, feFuncB, feFuncA, script'
     attributecategories='core, style, presentation, filter primitive'
     attributes='in'
     interfaces='SVGFEComponentTransferElement'/>
 
   <element
       name='feComposite'
       href='#feCompositeElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFECompositeElement'>
     <attribute name='in2' href='#feCompositeIn2Attribute' animatable='yes'/>
     <attribute name='operator' href='#feCompositeOperatorAttribute' animatable='yes'/>
     <attribute name='k1' href='#feCompositeK1Attribute' animatable='yes'/>
     <attribute name='k2' href='#feCompositeK2Attribute' animatable='yes'/>
     <attribute name='k3' href='#feCompositeK3Attribute' animatable='yes'/>
     <attribute name='k4' href='#feCompositeK4Attribute' animatable='yes'/>
   </element>
 
   <element
       name='feConvolveMatrix'
       href='#feConvolveMatrixElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEConvolveMatrixElement'>
     <attribute name='order' href='#feConvolveMatrixElementOrderAttribute' animatable='yes'/>
     <attribute name='kernelMatrix' href='#feConvolveMatrixElementKernelMatrixAttribute' animatable='yes'/>
     <attribute name='divisor' href='#feConvolveMatrixElementDivisorAttribute' animatable='yes'/>
     <attribute name='bias' href='#feConvolveMatrixElementBiasAttribute' animatable='yes'/>
     <attribute name='targetX' href='#feConvolveMatrixElementTargetXAttribute' animatable='yes'/>
@@ -88,236 +88,236 @@
   </element>
 
   <element
       name='feDiffuseLighting'
       href='#feDiffuseLightingElement'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEDiffuseLightingElement'>
-    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>
+    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>, <a>'script'</a>
     and exactly one <a>light source element</a>, in any order.</x:contentmodel>
     <attribute name='surfaceScale' href='#feDiffuseLightingSurfaceScaleAttribute' animatable='yes'/>
     <attribute name='diffuseConstant' href='#feDiffuseLightingDiffuseConstantAttribute' animatable='yes'/>
     <attribute name='kernelUnitLength' href='#feDiffuseLightingKernelUnitLengthAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feDisplacementMap'
       href='#feDisplacementMapElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEDisplacementMapElement'>
     <attribute name='in2' href='#feDisplacementMapIn2Attribute' animatable='yes'/>
     <attribute name='scale' href='#feDisplacementMapScaleAttribute' animatable='yes'/>
     <attribute name='xChannelSelector' href='#feDisplacementMapXChannelSelectorAttribute' animatable='yes'/>
     <attribute name='yChannelSelector' href='#feDisplacementMapYChannelSelectorAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feDistantLight'
       href='#feDistantLightElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core'
       interfaces='SVGFEDistantLightElement'>
     <attribute name='azimuth' href='#feDistantLightAzimuthAttribute' animatable='yes'/>
     <attribute name='elevation' href='#feDistantLightElevationAttribute' animatable='yes'/>
   </element>
 
     <element
       name='feDropShadow'
       href='#feDropShadowElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEDropShadowElement'>
     <attribute name='stdDeviation' href='#feDropShadowStdDeviationAttribute' animatable='yes'/>
     <attribute name='dx' href='#feDropShadowDxAttribute' animatable='yes'/>
     <attribute name='dy' href='#feDropShadowDyAttribute' animatable='yes'/>
   </element>
 
   <element
     name='feFlood'
     href='#feFloodElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, style, presentation, filter primitive'
     interfaces='SVGFEFloodElement'/>
 
   <element
     name='feFuncR'
     href='#feFuncRElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, transfer function element'
     interfaces='SVGFEFuncRElement'/>
 
   <element
     name='feFuncG'
     href='#feFuncGElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, transfer function element'
     interfaces='SVGFEFuncGElement'/>
 
   <element
     name='feFuncB'
     href='#feFuncBElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, transfer function element'
     interfaces='SVGFEFuncBElement'/>
 
   <element
     name='feFuncA'
     href='#feFuncAElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, transfer function element'
     interfaces='SVGFEFuncAElement'/>
 
   <element
       name='feGaussianBlur'
       href='#feGaussianBlurElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEGaussianBlurElement'>
     <attribute name='stdDeviation' href='#feGaussianBlurStdDeviationAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feImage'
       href='#feImageElement'
       contentmodel='anyof'
-      elements='animate, set, animateTransform'
+      elements='animate, animateTransform, script, set'
       attributecategories='core, style, presentation, filter primitive, xlink'
       attributes='externalResourcesRequired, preserveAspectRatio'
       interfaces='SVGFEImageElement'>
     <attribute name='xlink:href' href='#feImageElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
     name='feMerge'
     href='#feMergeElement'
     contentmodel='anyof'
-    elements='feMergeNode'
+    elements='feMergeNode, script'
     attributecategories='core, style, presentation, filter primitive'
     interfaces='SVGFEMergeElement'/>
 
   <element
       name='feMergeNode'
       href='#feMergeNodeElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core'
       attributes='in'
       interfaces='SVGFEMergeNodeElement'/>
 
   <element
       name='feMorphology'
       href='#feMorphologyElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEMorphologyElement'>
     <attribute name='operator' href='#feMorphologyOperatorAttribute' animatable='yes'/>
     <attribute name='radius' href='#feMorphologyRadiusAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feOffset'
       href='#feOffsetElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFEOffsetElement'>
     <attribute name='dx' href='#feOffsetDxAttribute' animatable='yes'/>
     <attribute name='dy' href='#feOffsetDyAttribute' animatable='yes'/>
   </element>
 
   <element
       name='fePointLight'
       href='#fePointLightElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core'
       interfaces='SVGFEPointLightElement'>
     <attribute name='x' href='#fePointLightXAttribute' animatable='yes'/>
     <attribute name='y' href='#fePointLightYAttribute' animatable='yes'/>
     <attribute name='z' href='#fePointLightZAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feSpecularLighting'
       href='#feSpecularLightingElement'
       attributecategories='core, style, presentation, filter primitive'
       attributes='in'
       interfaces='SVGFESpecularLightingElement'>
-    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>
+    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>, <a>'script'</a>
     and exactly one <a>light source element</a>, in any order.</x:contentmodel>
     <attribute name='surfaceScale' href='#feSpecularLightingSurfaceScaleAttribute' animatable='yes'/>
     <attribute name='specularConstant' href='#feSpecularLightingSpecularConstantAttribute' animatable='yes'/>
     <attribute name='specularExponent' href='#feSpecularLightingSpecularExponentAttribute' animatable='yes'/>
     <attribute name='kernelUnitLength' href='#feSpecularLightingKernelUnitLengthAttribute' animatable='yes'/>
   </element>
 
   <element
       name='feSpotLight'
       href='#feSpotLightElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core'
       interfaces='SVGFESpotLightElement'>
     <attribute name='x' href='#feSpotLightXAttribute' animatable='yes'/>
     <attribute name='y' href='#feSpotLightYAttribute' animatable='yes'/>
     <attribute name='z' href='#feSpotLightZAttribute' animatable='yes'/>
     <attribute name='pointsAtX' href='#feSpotLightPointsAtXAttribute' animatable='yes'/>
     <attribute name='pointsAtY' href='#feSpotLightPointsAtYAttribute' animatable='yes'/>
     <attribute name='pointsAtZ' href='#feSpotLightPointsAtZAttribute' animatable='yes'/>
     <attribute name='specularExponent' href='#feSpotLightSpecularExponentAttribute' animatable='yes'/>
     <attribute name='limitingConeAngle' href='#feSpotLightLimitingConeAngleAttribute' animatable='yes'/>
   </element>
 
   <element
     name='feTile'
     href='#feTileElement'
     contentmodel='anyof'
-    elements='animate, set'
+    elements='animate, script, set'
     attributecategories='core, style, presentation, filter primitive'
     attributes='in'
     interfaces='SVGFETileElement'/>
 
   <element
       name='feTurbulence'
       href='#feTurbulenceElement'
       contentmodel='anyof'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, filter primitive'
       interfaces='SVGFETurbulenceElement'>
     <attribute name='baseFrequency' href='#feTurbulenceBaseFrequencyAttribute' animatable='yes'/>
     <attribute name='numOctaves' href='#feTurbulenceNumOctavesAttribute' animatable='yes'/>
     <attribute name='seed' href='#feTurbulenceSeedAttribute' animatable='yes'/>
     <attribute name='stitchTiles' href='#feTurbulenceStitchTilesAttribute' animatable='yes'/>
     <attribute name='type' href='#feTurbulenceTypeAttribute' animatable='yes'/>
   </element>
 
   <element
       name='filter'
       href='#FilterElement'
       contentmodel='anyof'
       elementcategories='descriptive, filter primitive'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, style, presentation, xlink'
       attributes='externalResourcesRequired'
       interfaces='SVGFilterElement'>
     <attribute name='x' href='#FilterElementXAttribute' animatable='yes'/>
     <attribute name='y' href='#FilterElementYAttribute' animatable='yes'/>
     <attribute name='width' href='#FilterElementWidthAttribute' animatable='yes'/>
     <attribute name='height' href='#FilterElementHeightAttribute' animatable='yes'/>
     <attribute name='filterRes' href='#FilterElementFilterResAttribute' animatable='yes'/>
diff --git a/master/definitions-masking.xml b/master/definitions-masking.xml
--- a/master/definitions-masking.xml
+++ b/master/definitions-masking.xml
@@ -22,17 +22,17 @@
     <attribute name='maskContentUnits' elements='mask' href='#MaskElementMaskContentUnitsAttribute' animatable='yes'/>
   </element>
 
   <element
       name='clipPath'
       href='#ClipPathElement'
       contentmodel='anyof'
       elementcategories='descriptive, animation, shape'
-      elements='text, use'
+      elements='script, text, use'
       attributecategories='conditional processing, core, presentation, style'
       attributes='externalResourcesRequired, transform'
       interfaces='SVGClipPathElement'>
     <attribute name='clipPathUnits' elements='clipPath' href='#ClipPathElementClipPathUnitsAttribute' animatable='yes'/>
   </element>
 
   <!-- attribute common to most filter primitives (all except feFlood feImage feMerge feTurbulence) -->
 
diff --git a/master/definitions.xml b/master/definitions.xml
--- a/master/definitions.xml
+++ b/master/definitions.xml
@@ -40,71 +40,73 @@
   </element>
 
   <element
       name='altGlyphDef'
       href='text.html#AltGlyphDefElement'
       attributecategories='core'
       interfaces='SVGAltGlyphDefElement'>
     <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>
-      Either:
+      Any number of <a>'script'</a> elements, and either:
       <ul>
         <li>one or more <a>'glyphRef'</a> elements, or</li>
         <li>one or more <a>'altGlyphItem'</a> elements.</li>
       </ul>
     </x:contentmodel>
   </element>
 
   <element
       name='altGlyphItem'
       href='text.html#AltGlyphItemElement'
       attributecategories='aria, navigation, core'
       interfaces='SVGAltGlyphItemElement'>
     <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>
-      One or more <a>'glyphRef'</a> elements.
+      Any number of <a>'script'</a> elements, and one or more <a>'glyphRef'</a> elements.
     </x:contentmodel>
   </element>
 
   <element
     name='animate'
     href='animate.html#AnimateElement'
     contentmodel='anyof'
     elementcategories='descriptive'
+    elements='script'
     attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing, animation value, animation addition, presentation'
     interfaces='SVGAnimateElement'/>
   <element
       name='animateMotion'
       href='animate.html#AnimateMotionElement'
       attributecategories='conditional processing, core, animation event, xlink, animation timing, animation value, animation addition'
       interfaces='SVGAnimateMotionElement'>
-    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and at most one <a>'mpath'</a> element, in any order.</x:contentmodel>
+    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>, <a>'script'</a> and at most one <a>'mpath'</a> element, in any order.</x:contentmodel>
     <!--
     <attribute name='calcMode' href='animate.html#AnimateMotionElementCalcModeAttribute'/>
     -->
     <attribute name='path' href='animate.html#AnimateMotionElementPathAttribute'/>
     <attribute name='keyPoints' href='animate.html#KeyPointsAttribute'/>
     <attribute name='rotate' href='animate.html#RotateAttribute'/>
     <attribute name='origin' href='animate.html#OriginAttribute'/>
   </element>
   <element
       name='animateTransform'
       href='animate.html#AnimateTransformElement'
       contentmodel='anyof'
       elementcategories='descriptive'
+      elements='script'
       attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing, animation value, animation addition'
       interfaces='SVGAnimateTransformElement'>
     <attribute name='type' href='animate.html#AnimateTransformElementTypeAttribute'/>
   </element>
 
   <element
       name='audio'
       href='embedded.html#AudioElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server, structurally external'
-      elements='mask, clipPath, marker, track, source'
+      elements='clipPath, marker, mask, script, source, track'
       attributecategories='aria, navigation, core, conditional processing, graphical event, style, presentation, embedding placement'
       attributes=''
       interfaces='SVGAudioElement'>
     <attribute name='src' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-src' animatable='yes'/>
     <attribute name='title' href='linking.html#XLinkTitleAttribute'/>
     <attribute name='crossorigin' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-crossorigin' animatable='yes'/>
     <attribute name='preload' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-preload' animatable='yes'/>
     <attribute name='autoplay' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-autoplay' animatable='yes'/>
@@ -114,44 +116,45 @@
     <attribute name='controls'  href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-controls' animatable='yes'/>
   </element>
 
   <element
       name='canvas'
       href='embedded.html#CanvasElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, core, conditional processing, graphical event, style, presentation, embedding placement, embedding size'
       attributes='preserveAspectRatio'
       interfaces='SVGCanvasElement'>
     
     <attribute name='canvasWidth' href='embedded.html#CanvasWidthAttribute' animatable='yes'/>
     <attribute name='canvasHeight' href='embedded.html#CanvasHeightAttribute' animatable='yes'/>
     
   </element>
 
   <element
       name='circle'
       href='shapes.html#CircleElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGCircleElement'>
     <attribute name='cx' href='shapes.html#CircleElementCXAttribute' animatable='yes'/>
     <attribute name='cy' href='shapes.html#CircleElementCYAttribute' animatable='yes'/>
     <attribute name='r' href='shapes.html#CircleElementRAttribute' animatable='yes'/>
   </element>
 
   <element
       name='cursor'
       href='interact.html#CursorElement'
       contentmodel='anyof'
       elementcategories='descriptive'
+      elements='script'
       attributecategories='aria, navigation, core, xlink'
       interfaces='SVGCursorElement'>
     <attribute name='x' href='interact.html#CursorElementXAttribute' animatable='yes'/>
     <attribute name='y' href='interact.html#CursorElementYAttribute' animatable='yes'/>
     <attribute name='xlink:href' href='interact.html#CursorElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
@@ -169,57 +172,60 @@
     attributecategories='core, style'
     attributes='lang'
     interfaces='SVGDescElement'/>
   <element
     name='discard'
     href='struct.html#DiscardElement'
     contentmodel='anyof'
     elementcategories='descriptive'
+    elements='script'
     attributecategories='conditional processing, core, aria, navigation'>
     <attribute name='begin' href='struct.html#DiscardElementBeginAttribute' animatable='no'/>
     <attribute name='href' href='struct.html#DiscardElementHrefAttribute' animatable='no'/>
   </element>
 
   <element
       name='ellipse'
       href='shapes.html#EllipseElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style' 
       interfaces='SVGEllipseElement'>
     <attribute name='cx' href='shapes.html#EllipseElementCXAttribute' animatable='yes'/>
     <attribute name='cy' href='shapes.html#EllipseElementCYAttribute' animatable='yes'/>
     <attribute name='rx' href='shapes.html#EllipseElementRXAttribute' animatable='yes'/>
     <attribute name='ry' href='shapes.html#EllipseElementRYAttribute' animatable='yes'/>
   </element>
 
   <element
       name='font'
       href='fonts.html#FontElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='font-face, missing-glyph, glyph, hkern, vkern, mask, clipPath, marker'
+      elements='clipPath, font-face, glyph, hkern, mask, marker, missing-glyph, script, vkern'
       attributecategories='core, style, presentation'
       interfaces='SVGFontElement'>
     <attribute name='horiz-origin-x' href='fonts.html#FontElementHorizOriginXAttribute'/>
     <attribute name='horiz-origin-y' href='fonts.html#FontElementHorizOriginYAttribute'/>
     <attribute name='horiz-adv-x' href='fonts.html#FontElementHorizAdvXAttribute'/>
     <attribute name='vert-origin-x' href='fonts.html#FontElementVertOriginXAttribute'/>
     <attribute name='vert-origin-y' href='fonts.html#FontElementVertOriginYAttribute'/>
     <attribute name='vert-adv-y' href='fonts.html#FontElementVertAdvYAttribute'/>
   </element>
 
   <element
       name='font-face'
       href='fonts.html#FontFaceElement'
+      contentmodel='anyof'
+      elements='script'
       attributecategories='core'
       interfaces='SVGFontFaceElement'>
-    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and at most one <a>'font-face-src'</a> element, in any order.</x:contentmodel>
+    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>, <a>'script'</a> and at most one <a>'font-face-src'</a> element, in any order.</x:contentmodel>
     <attribute name='font-family' href='fonts.html#FontFaceElementFontFamilyAttribute'/>
     <attribute name='font-style' href='fonts.html#FontFaceElementFontStyleAttribute'/>
     <attribute name='font-variant' href='fonts.html#FontFaceElementFontVariantAttribute'/>
     <attribute name='font-weight' href='fonts.html#FontFaceElementFontWeightAttribute'/>
     <attribute name='font-stretch' href='fonts.html#FontFaceElementFontStretchAttribute'/>
     <attribute name='font-size' href='fonts.html#FontFaceElementFontSizeAttribute'/>
     <attribute name='unicode-range' href='fonts.html#FontFaceElementUnicodeRangeAttribute'/>
     <attribute name='units-per-em' href='fonts.html#FontFaceElementUnitsPerEmAttribute'/>
@@ -248,42 +254,46 @@
     <attribute name='strikethrough-thickness' href='fonts.html#FontFaceElementStrikeThroughThicknessAttribute'/>
     <attribute name='overline-position' href='fonts.html#FontFaceElementOverlinePositionAttribute'/>
     <attribute name='overline-thickness' href='fonts.html#FontFaceElementOverlineThicknessAttribute'/>
   </element>
 
   <element
       name='font-face-format'
       href='fonts.html#FontFaceFormatElement'
+      contentmodel='anyof'
+      elements='script'
       attributecategories='core'
       interfaces='SVGFontFaceFormatElement'>
     <attribute name='string' href='fonts.html#FontFaceFormatElementStringAttribute'/>
   </element>
 
   <element
       name='font-face-name'
       href='fonts.html#FontFaceNameElement'
+      contentmodel='anyof'
+      elements='script'
       attributecategories='core'
       interfaces='SVGFontFaceNameElement'>
     <attribute name='name' href='fonts.html#FontFaceNameElementNameAttribute'/>
   </element>
 
   <element
     name='font-face-src'
     href='fonts.html#FontFaceSrcElement'
     contentmodel='oneormoreof'
-    elements='font-face-uri, font-face-name'
+    elements='font-face-uri, font-face-name, script'
     attributecategories='core'
     interfaces='SVGFontFaceSrcElement'/>
 
   <element
     name='font-face-uri'
     href='fonts.html#FontFaceURIElement'
     contentmodel='anyof'
-    elements='font-face-format'
+    elements='font-face-format, script'
     attributecategories='core, xlink'
     interfaces='SVGFontFaceUriElement'>
     <attribute name='xlink:href' href='fonts.html#FontFaceUriElementHrefAttribute'/>
   </element>
 
   <element
       name='foreignObject'
       href='extend.html#ForeignObjectElement'
@@ -296,58 +306,59 @@
     <attribute name='height' href='extend.html#ForeignObjectElementHeightAttribute' animatable='yes'/>
   </element>
 
   <element
     name='g'
     href='struct.html#GElement'
     contentmodel='anyof'
     elementcategories='animation, descriptive, shape, structural, paint server'
-    elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+    elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
     attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
     interfaces='SVGGElement'/>
 
   <element
       name='glyph'
       href='fonts.html#GlyphElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, shape, structural, paint server'
-      elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+      elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
       attributecategories='core, style, presentation'
       attributes='d, horiz-adv-x, vert-origin-x, vert-origin-y, vert-adv-y'
       interfaces='SVGGlyphElement'>
     <attribute name='unicode' elements='glyph' href='fonts.html#GlyphElementUnicodeAttribute'/>
     <attribute name='glyph-name' elements='glyph' href='fonts.html#GlyphElementGlyphNameAttribute'/>
     <attribute name='orientation' elements='glyph' href='fonts.html#GlyphElementOrientationAttribute'/>
     <attribute name='arabic-form' elements='glyph' href='fonts.html#GlyphElementArabicFormAttribute'/>
     <attribute name='lang' elements='glyph' href='fonts.html#GlyphElementLangAttribute'/>
   </element>
 
   <element
       name='glyphRef'
       href='text.html#GlyphRefElement'
       elementcategories='paint server'
-      elements='mask, clipPath, marker'
+      contentmodel='anyof'
+      elements='clipPath, marker, mask, script'
       attributecategories='core, style, presentation, xlink'
       interfaces='SVGGlyphRefElement'>
     <attribute name='x' href='text.html#GlyphRefElementXAttribute'/>
     <attribute name='y' href='text.html#GlyphRefElementYAttribute'/>
     <attribute name='dx' href='text.html#GlyphRefElementDXAttribute'/>
     <attribute name='dy' href='text.html#GlyphRefElementDYAttribute'/>
     <attribute name='glyphRef' href='text.html#GlyphRefElementGlyphRefAttribute'/>
     <attribute name='format' href='text.html#GlyphRefElementFormatAttribute'/>
     <attribute name='xlink:href' href='text.html#GlyphRefElementHrefAttribute'/>
   </element>
 
   <element
       name='hatch'
       href='pservers.html#HatchElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive'
-      elements='hatchPath'
+      elements='hatchPath, script'
       attributecategories='core, presentation, style, xlink'
       interfaces='SVGHatchElement'>
     <attribute name='x' href='pservers.html#HatchElementXAttribute' animatable='yes'/>
     <attribute name='y' href='pservers.html#HatchElementYAttribute' animatable='yes'/>
     <attribute name='pitch' href='pservers.html#HatchElementPitchAttribute' animatable='yes'/>
     <attribute name='rotate' href='pservers.html#HatchElementRotateAttribute' animatable='yes'/>
     <attribute name='hatchUnits' href='pservers.html#HatchElementHatchUnitsAttribute' animatable='yes'/>
     <attribute name='hatchContentUnits' href='pservers.html#HatchElementHatchContentUnitsAttribute' animatable='yes'/>
@@ -355,35 +366,38 @@
     <attribute name='xlink:href' href='pservers.html#HatchElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='hatchPath'
       href='pservers.html#HatchPathElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive'
+      elements='script'
       attributecategories='core, presentation, style'
       interfaces='SVGHatchPathElement'>
     <attribute name='d' href='paths.html#DAttribute' animatable='yes'/>
     <attribute name='offset' href='pservers.html#HatchPathElementOffsetAttribute' animatable='yes'/>
   </element>
 
   <element
     name='hkern'
     href='fonts.html#HKernElement'
+    contentmodel='anyof'
+    elements='script'
     attributecategories='aria, navigation, core'
     attributes='u1, g1, u2, g2, k'
     interfaces='SVGHKernElement'/>
 
   <element
       name='iframe'
       href='embedded.html#IframeElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server, structurally external'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, core, conditional processing, graphical event, style, presentation, embedding placement, embedding size'
       attributes='preserveAspectRatio'
       interfaces='SVGIframeElement'>
     
     <attribute name='frameWidth' href='embedded.html#FrameWidthAttribute' animatable='yes'/>
     <attribute name='frameHeight' href='embedded.html#FrameHeightAttribute' animatable='yes'/>
     
     <attribute name='title' href='linking.html#XLinkTitleAttribute'/>
@@ -394,43 +408,43 @@
     <attribute name='seamless' href='http://www.w3.org/TR/html5/embedded-content-0.html#dom-iframe-seamless' animatable='yes'/>
   </element>
 
   <element
       name='image'
       href='embedded.html#ImageElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server, structurally external'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, core, conditional processing, graphical event, style, xlink, presentation, embedding placement, embedding size'
       attributes='preserveAspectRatio'
       interfaces='SVGImageElement'>
     <attribute name='xlink:href' href='embedded.html#ImageElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='line'
       href='shapes.html#LineElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGLineElement'>
     <attribute name='x1' href='shapes.html#LineElementX1Attribute' animatable='yes'/>
     <attribute name='y1' href='shapes.html#LineElementY1Attribute' animatable='yes'/>
     <attribute name='x2' href='shapes.html#LineElementX2Attribute' animatable='yes'/>
     <attribute name='y2' href='shapes.html#LineElementY2Attribute' animatable='yes'/>
   </element>
 
   <element
       name='linearGradient'
       href='pservers.html#LinearGradientElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='animate, animateTransform, set, stop'
+      elements='animate, animateTransform, script, set, stop'
       attributecategories='core, presentation, style, xlink'
       interfaces='SVGLinearGradientElement'>
     <attribute name='x1' href='pservers.html#LinearGradientElementX1Attribute' animatable='yes'/>
     <attribute name='y1' href='pservers.html#LinearGradientElementY1Attribute' animatable='yes'/>
     <attribute name='x2' href='pservers.html#LinearGradientElementX2Attribute' animatable='yes'/>
     <attribute name='y2' href='pservers.html#LinearGradientElementY2Attribute' animatable='yes'/>
     <attribute name='gradientUnits' href='pservers.html#LinearGradientElementGradientUnitsAttribute' animatable='yes'/>
     <attribute name='gradientTransform' href='pservers.html#LinearGradientElementGradientTransformAttribute' animatable='yes'/>
@@ -457,91 +471,92 @@
     <attribute name='href' href='painting.html#HrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='meshGradient'
       href='pservers.html#MeshGradientElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='animate, animateTransform, set, meshRow'
+      elements='animate, animateTransform, script, set, meshRow'
       attributecategories='core, presentation, style, xlink'
       interfaces='SVGMeshGradientElement'>
     <attribute name='x' href='pservers.html#MeshGradientElementXAttribute' animatable='yes'/>
     <attribute name='y' href='pservers.html#MeshGradientElementYAttribute' animatable='yes'/>
     <attribute name='gradientUnits' href='pservers.html#MeshGradientElementGradientUnitsAttribute' animatable='yes'/>
     <attribute name='gradientTransform' href='pservers.html#MeshGradientElementGradientTransformAttribute' animatable='yes'/>
     <attribute name='xlink:href' href='pservers.html#MeshGradientElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='meshPatch'
       href='pservers.html#MeshPatchElement'
       elementcategories='descriptive, paint server'
-      elements='stop'
+      elements='script, stop'
       attributecategories='core, presentation, style'
       interfaces='SVGMeshPatchElement'>
-    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a> and from one to four <a>'stop'</a> elements, in any order.</x:contentmodel>
+    <x:contentmodel xmlns='http://www.w3.org/1999/xhtml'>Any number of <a>descriptive elements</a>, <a>'script'</a> and from one to four <a>'stop'</a> elements, in any order.</x:contentmodel>
   </element>
 
   <element
       name='meshRow'
       href='pservers.html#MeshRowElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='meshPatch'
+      elements='meshPatch, script'
       attributecategories='core, presentation, style'
       interfaces='SVGMeshRowElement'>
   </element>
 
   <element
     name='metadata'
     href='metadata.html#MetadataElement'
     contentmodel='any'
     attributecategories='core'
     interfaces='SVGMetadataElement'/>
 
   <element
     name='missing-glyph'
     href='fonts.html#MissingGlyphElement'
     contentmodel='anyof'
     elementcategories='animation, descriptive, shape, structural, paint server'
-    elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+    elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
     attributecategories='core, style, presentation'
     attributes='d, horiz-adv-x, vert-origin-x, vert-origin-y, vert-adv-y'
     interfaces='SVGMissingGlyphElement'/>
 
   <element
       name='mpath'
       href='animate.html#MPathElement'
       contentmodel='anyof'
       elementcategories='descriptive'
+      elements='script'
       attributecategories='core, xlink'
       interfaces='SVGMPathElement'>
     <attribute name='xlink:href' href='animate.html#MPathElementHrefAttribute'/>
   </element>
 
   <element
       name='path'
       href='paths.html#PathElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGPathElement'>
     <attribute name='d' href='paths.html#DAttribute' animatable='yes'/>
     <attribute name='pathLength' href='paths.html#PathLengthAttribute' animatable='yes'/>
   </element>
 
   <element
       name='pattern'
       href='pservers.html#PatternElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, shape, structural, paint server'
-      elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+      elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
       attributecategories='core, presentation, style, xlink'
       attributes='viewBox, preserveAspectRatio'
       interfaces='SVGPatternElement'>
     <attribute name='x' href='pservers.html#PatternElementXAttribute' animatable='yes'/>
     <attribute name='y' href='pservers.html#PatternElementYAttribute' animatable='yes'/>
     <attribute name='width' href='pservers.html#PatternElementWidthAttribute' animatable='yes'/>
     <attribute name='height' href='pservers.html#PatternElementHeightAttribute' animatable='yes'/>
     <attribute name='patternUnits' href='pservers.html#PatternElementPatternUnitsAttribute' animatable='yes'/>
@@ -550,39 +565,39 @@
     <attribute name='xlink:href' href='pservers.html#PatternElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='polygon'
       href='shapes.html#PolygonElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGPolygonElement'>
     <attribute name='points' href='shapes.html#PolygonElementPointsAttribute' animatable='yes'/>
   </element>
 
   <element
       name='polyline'
       href='shapes.html#PolylineElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGPolylineElement'>
     <attribute name='points' href='shapes.html#PolylineElementPointsAttribute' animatable='yes'/>
   </element>
 
   <element
       name='radialGradient'
       href='pservers.html#RadialGradientElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='animate, animateTransform, set, stop'
+      elements='animate, animateTransform, set, stop, script'
       attributecategories='core, presentation, style, xlink'
       interfaces='SVGRadialGradientElement'>
     <attribute name='cx' href='pservers.html#RadialGradientElementCXAttribute' animatable='yes'/>
     <attribute name='cy' href='pservers.html#RadialGradientElementCYAttribute' animatable='yes'/>
     <attribute name='r' href='pservers.html#RadialGradientElementRAttribute' animatable='yes'/>
     <attribute name='fx' href='pservers.html#RadialGradientElementFXAttribute' animatable='yes'/>
     <attribute name='fy' href='pservers.html#RadialGradientElementFYAttribute' animatable='yes'/>
     <attribute name='fr' href='pservers.html#RadialGradientElementFRAttribute' animatable='yes'/>
@@ -592,17 +607,17 @@
     <attribute name='xlink:href' href='pservers.html#RadialGradientElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='rect'
       href='shapes.html#RectElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server'
-      elements='mask, clipPath, marker'
+      elements='mask, clipPath, marker, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       interfaces='SVGRectElement'>
     <attribute name='x' href='shapes.html#RectElementXAttribute' animatable='yes'/>
     <attribute name='y' href='shapes.html#RectElementYAttribute' animatable='yes'/>
     <attribute name='width' href='shapes.html#RectElementWidthAttribute' animatable='yes'/>
     <attribute name='height' href='shapes.html#RectElementHeightAttribute' animatable='yes'/>
     <attribute name='rx' href='shapes.html#RectElementRXAttribute' animatable='yes'/>
     <attribute name='ry' href='shapes.html#RectElementRYAttribute' animatable='yes'/>
@@ -619,54 +634,55 @@
     <attribute name='xlink:href' href='script.html#ScriptElementHrefAttribute'/>
   </element>
 
   <element
       name='set'
       href='animate.html#SetElement'
       contentmodel='anyof'
       elementcategories='descriptive'
+      elements='script'
       attributecategories='conditional processing, core, animation event, xlink, animation attribute target, animation timing'
       interfaces='SVGSetElement'>
     <attribute name='to' href='animate.html#SetElementToAttribute'/>
   </element>
 
   <element
       name='solidColor'
       href='pservers.html#SolidColorElement'
       contentmodel='anyof'
       elementcategories='paint server'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, presentation, style'
       interfaces='SVGSolidColorElement'>
   </element>
 
   <element
       name='source'
       href='embedded.html#SourceElement'
-      contentmodel=''
+      contentmodel='anyof'
       elementcategories=''
-      elements=''
+      elements='script'
       attributecategories='navigation, core, style'
       attributes=''
       interfaces='SVGSourceElement'>
     <attribute name='xlink:title' href='linking.html#XLinkTitleAttribute'/>
     
     <attribute name='src' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-source-src' animatable='yes'/>
     <attribute name='type' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-source-type' animatable='yes'/>
     <attribute name='media' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-source-media' animatable='yes'/>
     
   </element>
 
   <element
       name='stop'
       href='pservers.html#StopElement'
       contentmodel='anyof'
       elementcategories='paint server'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='core, presentation, style'
       interfaces='SVGStopElement'>
     <attribute name='offset' href='pservers.html#StopElementOffsetAttribute' animatable='yes'/>
     <attribute name='path'   href='pservers.html#StopElementPathAttribute' animatable='yes'/>
   </element>
 
   <element
       name='style'
@@ -679,17 +695,17 @@
     <attribute name='title' href='styling.html#StyleElementTitleAttribute'/>
   </element>
 
   <element
       name='svg'
       href='struct.html#SVGElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, shape, structural, paint server'
-      elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+      elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
       attributecategories='aria, navigation, conditional processing, core, document event, graphical event, presentation, style'
       attributes='viewBox, preserveAspectRatio, zoomAndPan'
       interfaces='SVGSVGElement'>
     <attribute name='x' href='struct.html#SVGElementXAttribute' animatable='yes'/>
     <attribute name='y' href='struct.html#SVGElementYAttribute' animatable='yes'/>
     <attribute name='width' href='struct.html#SVGElementWidthAttribute' animatable='yes'/>
     <attribute name='height' href='struct.html#SVGElementHeightAttribute' animatable='yes'/>
     <attribute name='version' href='struct.html#SVGElementVersionAttribute'/>
@@ -698,38 +714,38 @@
     <attribute name='timelineBegin' href='struct.html#SVGElementTimelineBeginAttribute' animatable='no'/>
   </element>
 
   <element
     name='switch'
     href='struct.html#SwitchElement'
     contentmodel='anyof'
     elementcategories='animation, descriptive, shape, paint server'
-    elements='svg, g, use, text, image, a, foreignObject, switch, mask, clipPath, marker'
+    elements='a, clipPath, foreignObject, g, image, marker, mask, script, svg, switch, text, use'
     attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
     interfaces='SVGSwitchElement'>
   </element>
 
   <element
     name='symbol'
     href='struct.html#SymbolElement'
     contentmodel='anyof'
     elementcategories='animation, descriptive, shape, structural, paint server'
-    elements='a, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, view, text, altGlyphDef'
+    elements='a, altGlyphDef, clipPath, cursor, filter, font, font-face, foreignObject, image, marker, mask, script, style, switch, text, view'
     attributecategories='aria, navigation, core, graphical event, presentation, style'
     attributes='preserveAspectRatio, viewBox'
     interfaces='SVGSymbolElement'>
   </element>
 
   <element
       name='text'
       href='text.html#TextElement'
       contentmodel='textoranyof'
       elementcategories='animation, descriptive, text content child, paint server'
-      elements='a, mask, clipPath, marker'
+      elements='a, clipPath, marker, mask, script'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
       attributes='lengthAdjust'
       interfaces='SVGTextElement'>
     <attribute name='x' href='text.html#TextElementXAttribute' animatable='yes'/>
     <attribute name='y' href='text.html#TextElementYAttribute' animatable='yes'/>
     <attribute name='dx' href='text.html#TextElementDXAttribute' animatable='yes'/>
     <attribute name='dy' href='text.html#TextElementDYAttribute' animatable='yes'/>
     <attribute name='rotate' href='text.html#TextElementRotateAttribute' animatable='yes'/>
@@ -738,17 +754,17 @@
     <attribute name='width' href='text.html#TextElementWidthAttribute' animatable='yes'/>
   </element>
 
   <element
       name='textPath'
       href='text.html#TextPathElement'
       contentmodel='textoranyof'
       elementcategories='descriptive, paint server'
-      elements='animate, a, set, tspan, tref, altGlyph, mask, clipPath, marker'
+      elements='a, altGlyph, animate, clipPath, marker, mask, script, set, tref, tspan'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style, xlink'
       attributes='lengthAdjust, textLength'
       interfaces='SVGTextPathElement'>
     <attribute name='d' href='text.html#TextPathElementDAttribute' animatable='yes'/>
     <attribute name='xlink:href' href='text.html#TextPathElementHrefAttribute' animatable='yes'/>
     <attribute name='startOffset' href='text.html#TextPathElementStartOffsetAttribute' animatable='yes'/>
     <attribute name='method' href='text.html#TextPathElementMethodAttribute' animatable='yes'/>
     <attribute name='spacing' href='text.html#TextPathElementSpacingAttribute' animatable='yes'/>
@@ -760,19 +776,19 @@
     contentmodel='any'
     attributecategories='core, style'
     attributes='lang'
     interfaces='SVGTitleElement'/>
 
   <element
       name='track'
       href='embedded.html#TrackElement'
-      contentmodel=''
+      contentmodel='anyof'
       elementcategories=''
-      elements=''
+      elements='script'
       attributecategories='navigation, core, style'
       attributes=''
       interfaces='SVGTrackElement'>
     <attribute name='title' href='linking.html#XLinkTitleAttribute'/>
     
     <attribute name='kind' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-track-kind' animatable='yes'/>
     <attribute name='src' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-track-src' animatable='yes'/>
     <attribute name='srclang' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-track-srclang' animatable='yes'/>
@@ -781,55 +797,55 @@
     
   </element>
 
   <element
       name='tref'
       href='text.html#TRefElement'
       contentmodel='anyof'
       elementcategories='descriptive, paint server'
-      elements='animate, set'
+      elements='animate, script, set'
       attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style, xlink'
       attributes='x, y, dx, dy, rotate, textLength, lengthAdjust'
       interfaces='SVGTRefElement'>
     <attribute name='xlink:href' elements='tref' href='text.html#TRefElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
     name='tspan'
     href='text.html#TSpanElement'
     contentmodel='textoranyof'
     elementcategories='descriptive, paint server'
-    elements='a, animate, set, tspan, tref, altGlyph'
+    elements='a, altGlyph, animate, script, set, tref, tspan'
     attributecategories='aria, navigation, conditional processing, core, graphical event, presentation, style'
     attributes='x, y, dx, dy, rotate, textLength, lengthAdjust'
     interfaces='SVGTSpanElement'>
   </element>
 
   <element
       name='use'
       href='struct.html#UseElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server, structurally external'
-      elements='mask, clipPath, marker'
+      elements='clipPath, marker, mask, script'
       attributecategories='aria, navigation, core, conditional processing, graphical event, presentation, style, xlink'
       interfaces='SVGUseElement'>
     <attribute name='x' href='struct.html#UseElementXAttribute' animatable='yes'/>
     <attribute name='y' href='struct.html#UseElementYAttribute' animatable='yes'/>
     <attribute name='width' href='struct.html#UseElementWidthAttribute' animatable='yes'/>
     <attribute name='height' href='struct.html#UseElementHeightAttribute' animatable='yes'/>
     <attribute name='xlink:href' href='struct.html#UseElementHrefAttribute' animatable='yes'/>
   </element>
 
   <element
       name='video'
       href='embedded.html#VideoElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive, paint server, structurally external'
-      elements='mask, clipPath, marker, track, source'
+      elements='clipPath, marker, mask, script, source, track'
       attributecategories='aria, navigation, core, conditional processing, graphical event, style, presentation, embedding placement, embedding size'
       attributes='preserveAspectRatio'
       interfaces='SVGVideoElement'>
     <attribute name='src' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-src' animatable='yes'/>
     <attribute name='title' href='linking.html#XLinkTitleAttribute'/>
     <attribute name='crossorigin' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-crossorigin' animatable='yes'/>
     <attribute name='poster' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-video-poster' animatable='yes'/>
     <attribute name='preload' href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-preload' animatable='yes'/>
@@ -840,24 +856,27 @@
     <attribute name='controls'  href='http://www.w3.org/TR/html5/embedded-content-0.html#attr-media-controls' animatable='yes'/>
   </element>
 
   <element
       name='view'
       href='linking.html#ViewElement'
       contentmodel='anyof'
       elementcategories='animation, descriptive'
+      elements='script'
       attributecategories='aria, navigation, core'
       attributes='viewBox, preserveAspectRatio, zoomAndPan'
       interfaces='SVGViewElement'>
     <attribute name='viewTarget' elements='view' href='linking.html#ViewElementViewTargetAttribute'/>
   </element>
   <element
     name='vkern'
     href='fonts.html#VKernElement'
+    contentmodel='anyof'
+    elements='script'
     attributecategories='core'
     attributes='u1, g1, u2, g2, k'
     interfaces='SVGVKernElement'/>
 
   <!-- ... element categories ............................................ -->
 
   <elementcategory name='animation' href='intro.html#TermAnimationElement' elements='animate, animateMotion, animateTransform, discard, set'/>
   <elementcategory name='container' href='intro.html#TermContainerElement' elements='svg, g, defs, symbol, mask, pattern, marker, a, switch, glyph, missing-glyph'/>

Received on Monday, 10 February 2014 14:17:26 UTC