This appendix is normative.
The DTD is also available for download.
<!-- This is the DTD for Scalable Vector Graphics (SVG) 1.0 (draft 19990812). The specification for SVG that corresponds to this DTD is available at: http://www.w3.org/1999/08/12/WD-SVG-19990812/ --> <!--=================== Generic Attributes ===================--> <!ENTITY % graphicsElementEvents "onmousedown CDATA #IMPLIED onmouseup CDATA #IMPLIED onclick CDATA #IMPLIED ondblclick CDATA #IMPLIED onmouseover CDATA #IMPLIED onmousemove CDATA #IMPLIED onmouseout CDATA #IMPLIED onkeydown CDATA #IMPLIED onkeypress CDATA #IMPLIED onkeyup CDATA #IMPLIED onload CDATA #IMPLIED onselect CDATA #IMPLIED"> <!ENTITY % documentEvents "onunload CDATA #IMPLIED onzoom CDATA #IMPLIED "> <!ENTITY % structured_text "content CDATA #FIXED 'structured text'"> <!--========== Document Structure and Grouping ==========--> <!ELEMENT svg (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a)*)> <!ATTLIST svg xmlns CDATA #FIXED 'http://www.w3.org/Graphics/SVG/SVG-19990812.dtd' id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; %documentEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED refX CDATA #IMPLIED refY CDATA #IMPLIED viewBox CDATA #IMPLIED preserveAspectRatio CDATA 'xMidYMid meet' allowZoomAndPan (true | false) "true" contentScriptType CDATA #IMPLIED > <!ELEMENT g (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|animateTransform|animateColor)*)> <!ATTLIST g id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED> <!ELEMENT defs (script|style|symbol|marker|clipPath|mask| linearGradient|radialGradient|pattern|filter|cursor|font| animate|animateMotion|animateTransform|animateColor|animateFlipbook| path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch)* > <!ATTLIST defs id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED> <!--=================== Shapes ===================--> <!ELEMENT path (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST path id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED d CDATA #REQUIRED flatness CDATA #IMPLIED nominalLength CDATA #IMPLIED > <!ELEMENT rect (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST rect id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED rx CDATA #IMPLIED ry CDATA #IMPLIED > <!ELEMENT circle (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST circle id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED cx CDATA "0" cy CDATA "0" r CDATA #REQUIRED > <!ELEMENT ellipse (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST ellipse id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED cx CDATA "0" cy CDATA "0" rx CDATA #REQUIRED ry CDATA #REQUIRED > <!ELEMENT line (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST line id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x1 CDATA "0" y1 CDATA "0" x2 CDATA "0" y2 CDATA "0" > <!ELEMENT polyline (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST polyline id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED points CDATA #REQUIRED > <!ELEMENT polygon (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST polygon id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED points CDATA #REQUIRED > <!--=================== Text ===================--> <!ELEMENT text (#PCDATA|tspan|textPath|animate|animateTransform|animateColor)* > <!ATTLIST text id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED > <!ELEMENT tspan (#PCDATA|animate|animateColor)* > <!ATTLIST tspan id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED dx CDATA #IMPLIED dy CDATA #IMPLIED dCoordUnits CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!ELEMENT textPath (#PCDATA|tspan)* > <!ATTLIST textPath startOffset CDATA "0" xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!--=================== SVG Fonts ===================--> <!ELEMENT font (desc?,title?,missingGlyph,(glyph|kern)*) > <!ATTLIST font id ID #IMPLIED fontStyle CDATA #IMPLIED fontVariant CDATA #IMPLIED fontWeight CDATA #IMPLIED fontStretch CDATA #IMPLIED unicodeRange CDATA #IMPLIED unitsPerEm CDATA #REQUIRED panose1 CDATA #IMPLIED slope CDATA #IMPLIED capHeight CDATA #REQUIRED xHeight CDATA #REQUIRED accentHeight CDATA #IMPLIED ascent CDATA #REQUIRED descent CDATA #REQUIRED horizOriginX CDATA #IMPLIED horizOriginY CDATA #IMPLIED horizAdvX CDATA #IMPLIED vertOriginX CDATA #IMPLIED vertOriginY CDATA #IMPLIED vertAdvY CDATA #IMPLIED bbox CDATA #REQUIRED baseline CDATA #REQUIRED centerline CDATA #REQUIRED mathline CDATA #REQUIRED topline CDATA #REQUIRED fullFontName CDATA #IMPLIED underlinePosition CDATA #IMPLIED underlineThickness CDATA #IMPLIED strikethroughPosition CDATA #IMPLIED strikethroughThickness CDATA #IMPLIED overlinePosition CDATA #IMPLIED overlineThickness CDATA #IMPLIED > <!ELEMENT glyph (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|g|switch)*)> <!ATTLIST glyph unicode CDATA #REQUIRED glyphName CDATA #IMPLIED vertTextOrient CDATA #IMPLIED arabic CDATA #IMPLIED han CDATA #IMPLIED horizAdvX CDATA #IMPLIED vertAdvY CDATA #IMPLIED bbox CDATA #IMPLIED > <!ELEMENT missingGlyph (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|g|switch)*)> <!ATTLIST missingGlyph horizAdvX CDATA #IMPLIED vertAdvY CDATA #IMPLIED bbox CDATA #IMPLIED > <!ELEMENT kern EMPTY > <!ATTLIST kern u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k CDATA #REQUIRED > <!--=================== Graphics Referencing Elements ===================--> <!ELEMENT use (desc?,title?,(animate|animateTransform|animateColor)*) > <!ATTLIST use id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!ELEMENT image (desc?,title?,(animate|animateTransform)*) > <!ATTLIST image id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!--=================== Symbols and Markers ===================--> <!ELEMENT symbol (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|animateTransform|animateColor)*)> <!ATTLIST symbol id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED refX CDATA #IMPLIED refY CDATA #IMPLIED viewBox CDATA #IMPLIED preserveAspectRatio CDATA 'xMidYMid meet' > <!ELEMENT marker (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|animateTransform|animateColor)*)> <!ATTLIST marker id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED refX CDATA #IMPLIED refY CDATA #IMPLIED viewBox CDATA #IMPLIED preserveAspectRatio CDATA 'xMidYMid meet' markerUnits (stroke-width | userSpace) "stroke-width" markerWidth CDATA "3" markerHeight CDATA "3" orient CDATA "0"> <!--========== Descriptions and Titles ==========--> <!ELEMENT desc (#PCDATA)* > <!ATTLIST desc id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED %structured_text;> <!ELEMENT title (#PCDATA)* > <!ATTLIST title id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %structured_text;> <!--=================== Clipping and Masking ===================--> <!ELEMENT clipPath (desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use)*) > <!ATTLIST clipPath id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED > <!ELEMENT mask (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate)*)> <!ATTLIST mask id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED maskUnits (userSpace | objectBoundingBox) "userSpace" x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED > <!--=================== Built-in Types of Paint ===================--> <!ELEMENT linearGradient (stop|animate|animateTransform)* > <!ATTLIST linearGradient id ID #IMPLIED gradientUnits (userSpace | objectBoundingBox) 'userSpace' gradientTransform CDATA #IMPLIED x1 CDATA #IMPLIED y1 CDATA #IMPLIED x2 CDATA #IMPLIED y2 CDATA #IMPLIED spreadMethod (pad | reflect | repeat) "pad"> <!ELEMENT radialGradient (stop|animate|animateTransform)* > <!ATTLIST radialGradient id ID #IMPLIED gradientUnits (userSpace | objectBoundingBox) 'userSpace' gradientTransform CDATA #IMPLIED cx CDATA #IMPLIED cy CDATA #IMPLIED r CDATA #IMPLIED fx CDATA #IMPLIED fy CDATA #IMPLIED> <!ELEMENT stop (animate|animateColor)* > <!ATTLIST stop id ID #IMPLIED style CDATA #IMPLIED offset CDATA #REQUIRED > <!ELEMENT pattern (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|animateTransform)*)> <!ATTLIST pattern id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED patternUnits (userSpace | objectBoundingBox) 'userSpace' patternTransform CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED refX CDATA #IMPLIED refY CDATA #IMPLIED viewBox CDATA #IMPLIED preserveAspectRatio CDATA 'xMidYMid meet' > <!--=================== Linking ===================--> <!ELEMENT a (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a)*)> <!ATTLIST a id ID #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'replace' xlink:actuate (user|auto) #FIXED 'user' xlink:href CDATA #REQUIRED > <!--=================== Animation ===================--> <!ELEMENT animate (desc?,title?) > <!ATTLIST animate id ID #IMPLIED system-required CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #IMPLIED attribute CDATA #REQUIRED attributeType (xml|css) 'xml' begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED repeatCount CDATA "1" repeatDur CDATA #IMPLIED beginEvent CDATA #IMPLIED endEvent CDATA #IMPLIED additive (true | false) "false" accumulate (true | false) "false" fill (remove | freeze) "remove" values CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED calcMode (discrete | linear | spline) "discrete" vtimes CDATA #IMPLIED interpSpline CDATA #IMPLIED > <!ELEMENT animateMotion (desc?,title?) > <!ATTLIST animateMotion id ID #IMPLIED system-required CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #IMPLIED motionPath CDATA #IMPLIED rotate CDATA #IMPLIED begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED repeatCount CDATA "1" repeatDur CDATA #IMPLIED beginEvent CDATA #IMPLIED endEvent CDATA #IMPLIED fill (remove | freeze) "remove" values CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED calcMode (discrete | linear | spline) "discrete" vtimes CDATA #IMPLIED interpSpline CDATA #IMPLIED > <!ELEMENT animateTransform (desc?,title?) > <!ATTLIST animateTransform id ID #IMPLIED system-required CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #IMPLIED begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED repeatCount CDATA "1" repeatDur CDATA #IMPLIED beginEvent CDATA #IMPLIED endEvent CDATA #IMPLIED additive (true | false) "false" accumulate (true | false) "false" fill (remove | freeze) "remove" values CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED calcMode (discrete | linear | spline) "discrete" vtimes CDATA #IMPLIED interpSpline CDATA #IMPLIED > <!ELEMENT animateColor (desc?,title?) > <!ATTLIST animateColor id ID #IMPLIED system-required CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #IMPLIED attribute CDATA #REQUIRED attributeType (xml|css) 'xml' begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED repeatCount CDATA "1" repeatDur CDATA #IMPLIED beginEvent CDATA #IMPLIED endEvent CDATA #IMPLIED additive (true | false) "false" accumulate (true | false) "false" fill (remove | freeze) "remove" values CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED calcMode (discrete | linear | spline) "discrete" vtimes CDATA #IMPLIED interpSpline CDATA #IMPLIED > <!ELEMENT animateFlipbook (desc?,title?,(animateFlipbookValue)*) > <!ATTLIST animateFlipbook id ID #IMPLIED system-required CDATA #IMPLIED begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED repeatCount CDATA "1" repeatDur CDATA #IMPLIED beginEvent CDATA #IMPLIED endEvent CDATA #IMPLIED fill (remove | freeze) "remove" vtimes CDATA #IMPLIED > <!ELEMENT animateFlipbookValue EMPTY > <!ATTLIST animateFlipbookValue id ID #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!--========== Defining Scripts and Declaring Styles ==========--> <!ELEMENT script (#PCDATA)* > <!ATTLIST script language CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!ELEMENT style (#PCDATA)* > <!ATTLIST style type CDATA #FIXED "text/css"> <!--=================== Custom cursors ===================--> <!ELEMENT cursor (desc?,title?) > <!ATTLIST cursor id ID #IMPLIED system-required CDATA #IMPLIED x CDATA "0" y CDATA "0" xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED > <!--=================== Extensibility ===================--> <!ELEMENT switch (defs?,desc?,title?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a|foreignObject)*)> <!ATTLIST switch id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED> <!ELEMENT foreignObject (#PCDATA)* > <!ATTLIST foreignObject id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED transform CDATA #IMPLIED %graphicsElementEvents; system-required CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED %structured_text; > <!--============== Filter Effects ==============--> <!ENTITY % filter_node_attributes "in CDATA #IMPLIED nodeId CDATA #IMPLIED"> <!ENTITY % component_transfer_function_attributes "type CDATA #REQUIRED tableValues CDATA #IMPLIED slope CDATA #IMPLIED intercept CDATA #IMPLIED amplitude CDATA #IMPLIED exponent CDATA #IMPLIED offset CDATA #IMPLIED"> <!ELEMENT filter (feBlend|feFlood| feColorMatrix|feComponentTransfer| feComposite|feDiffuseLighting|feDisplacementMap| feGaussianBlur|feImage|feMerge| feMorphology|feOffset|feSpecularLighting| feTile|feTurbulence)* > <!ATTLIST filter id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED filterUnits (userSpace | objectBoundingBox) "userSpace" x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED filterRes CDATA #IMPLIED> <!ELEMENT feBlend EMPTY > <!ATTLIST feBlend %filter_node_attributes; mode (normal | multiple | screen | darken | lighten) "normal" in2 CDATA #REQUIRED> <!ELEMENT feFlood (animateColor)* > <!ATTLIST feFlood %filter_node_attributes; style CDATA #IMPLIED> <!ELEMENT feColorMatrix (animate)* > <!ATTLIST feColorMatrix %filter_node_attributes; type CDATA #REQUIRED values CDATA #IMPLIED> <!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) > <!ATTLIST feComponentTransfer %filter_node_attributes;> <!ELEMENT feFuncR (animate)* > <!ATTLIST feFuncR %component_transfer_function_attributes;> <!ELEMENT feFuncG (animate)* > <!ATTLIST feFuncG %component_transfer_function_attributes;> <!ELEMENT feFuncB (animate)* > <!ATTLIST feFuncB %component_transfer_function_attributes;> <!ELEMENT feFuncA (animate)* > <!ATTLIST feFuncA %component_transfer_function_attributes;> <!ELEMENT feComposite EMPTY > <!ATTLIST feComposite %filter_node_attributes; operator (over | in | out | atop | xor | arithmetic) "over" k1 CDATA #IMPLIED k2 CDATA #IMPLIED k3 CDATA #IMPLIED k4 CDATA #IMPLIED in2 CDATA #REQUIRED> <!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|animateColor)*) > <!ATTLIST feDiffuseLighting %filter_node_attributes; resultScale CDATA #IMPLIED surfaceScale CDATA #IMPLIED diffuseConstant CDATA #IMPLIED lightColor CDATA #IMPLIED> <!ELEMENT feDistantLight (animate)* > <!ATTLIST feDistantLight azimuth CDATA #IMPLIED elevation CDATA #IMPLIED> <!ELEMENT fePointLight (animate)* > <!ATTLIST fePointLight x CDATA #IMPLIED y CDATA #IMPLIED z CDATA #IMPLIED> <!ELEMENT feSpotLight (animate)* > <!ATTLIST feSpotLight x CDATA #IMPLIED y CDATA #IMPLIED z CDATA #IMPLIED pointsAtX CDATA #IMPLIED pointsAtY CDATA #IMPLIED pointsAtZ CDATA #IMPLIED specularExponent CDATA #IMPLIED> <!ELEMENT feDisplacementMap (animate)* > <!ATTLIST feDisplacementMap %filter_node_attributes; scale CDATA #IMPLIED xChannelSelector (R | G | B | A) "A" yChannelSelector (R | G | B | A) "A" in2 CDATA #REQUIRED> <!ELEMENT feGaussianBlur (animate)* > <!ATTLIST feGaussianBlur %filter_node_attributes; stdDeviation CDATA #IMPLIED> <!ELEMENT feImage (animateTransform)* > <!ATTLIST feImage nodeId CDATA #IMPLIED xmlns:xlink CDATA #FIXED "http://www.w3.org/XML/XLink/0.9" xlink:type (simple|extended|locator|arc) #FIXED "simple" xlink:role CDATA #IMPLIED xlink:title CDATA #IMPLIED xlink:show (new|parsed|replace) #FIXED 'parsed' xlink:actuate (user|auto) #FIXED 'auto' xlink:href CDATA #REQUIRED transform CDATA #IMPLIED> <!ELEMENT feMerge (feMergeNode)* > <!ATTLIST feMerge %filter_node_attributes;> <!ELEMENT feMergeNode EMPTY > <!ATTLIST feMergeNode in CDATA #IMPLIED> <!ELEMENT feMorphology (animate)* > <!ATTLIST feMorphology %filter_node_attributes; operator (erode | dilate) "erode" radius CDATA #IMPLIED> <!ELEMENT feOffset (animate)* > <!ATTLIST feOffset %filter_node_attributes; dx CDATA #IMPLIED dy CDATA #IMPLIED> <!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|animateColor)*) > <!ATTLIST feSpecularLighting %filter_node_attributes; surfaceScale CDATA #IMPLIED specularConstant CDATA #IMPLIED specularExponent CDATA #IMPLIED lightColor CDATA #IMPLIED> <!ELEMENT feTile EMPTY > <!ATTLIST feTile %filter_node_attributes;> <!ELEMENT feTurbulence (animate)* > <!ATTLIST feTurbulence %filter_node_attributes; baseFrequency CDATA #IMPLIED numOctaves CDATA #IMPLIED type (fractalNoise | turbulence) "turbulence">