This appendix is normative.
The DTD is also available for download.
<!-- This is the DTD for Scalable Vector Graphics (SVG) 1.0 (draft 19991203). The specification for SVG that corresponds to this DTD is available at: http://www.w3.org/1999/12/WD-SVG-19991203/ --> <!--=================== Generic Attributes ===================--> <!-- This entity allows for at most one of desc and title, supplied in any order --> <!ENTITY % descTitle "((desc,title?)|(title,desc?)?)" > <!-- This entity allows for at most one of desc, title and defs, supplied in any order --> <!ENTITY % descTitleDefs "(((desc,((title,defs?)|(defs,title?))?)| (title,((desc,defs?)|(defs,desc?))?)| (defs,((desc,title?)|(title,desc?))?))?)" > <!-- Supplemental attributes to xlink:href for all elements which reference to other elements using XLink --> <!ENTITY % xlinkRefAttrs "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|embed|replace) #FIXED 'embed' xlink:actuate (user|auto) #FIXED 'auto'" > <!ENTITY % graphicsElementEvents "onfocusin CDATA #IMPLIED onfocusout CDATA #IMPLIED ongainselection CDATA #IMPLIED onloseselection CDATA #IMPLIED onactivate CDATA #IMPLIED 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 "onresize CDATA #IMPLIED onscroll CDATA #IMPLIED onunload CDATA #IMPLIED onzoom CDATA #IMPLIED onerror CDATA #IMPLIED onabort CDATA #IMPLIED " > <!ENTITY % structured_text "content CDATA #FIXED 'structured text'" > <!-- Allow for extending the DTD with internal subset for container and graphics elements --> <!ENTITY % ceExt "" > <!ENTITY % geExt "" > <!--========== Document Structure and Grouping ==========--> <!ENTITY % svgExt "" > <!ELEMENT svg (%descTitleDefs;,metadata?, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a %ceExt;%svgExt;)*) > <!ATTLIST svg xmlns CDATA #FIXED 'http://www.w3.org/Graphics/SVG/SVG-19991203.dtd' id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; %documentEvents; system-required NMTOKEN #IMPLIED system-language 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' enableZoomAndPanControls (true | false) "true" contentScriptType CDATA #IMPLIED > <!ENTITY % gExt "" > <!ELEMENT g (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|set|animateMotion|animateColor|animateTransform %ceExt;%gExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED > <!ENTITY % defsExt "" > <!ELEMENT defs (script|style|symbol|marker|clipPath|mask| linearGradient|radialGradient|pattern|filter|cursor|font| animate|set|animateMotion|animateColor|animateTransform| path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|view|switch|altGlyphDef %ceExt;%defsExt;)* > <!ATTLIST defs id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED > <!--=================== Shapes ===================--> <!ENTITY % pathExt "" > <!ELEMENT path (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%pathExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED d CDATA #REQUIRED nominalLength CDATA #IMPLIED > <!ENTITY % rectExt "" > <!ELEMENT rect (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%rectExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED rx CDATA #IMPLIED ry CDATA #IMPLIED > <!ENTITY % circleExt "" > <!ELEMENT circle (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%circleExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED cx CDATA "0" cy CDATA "0" r CDATA #REQUIRED > <!ENTITY % ellipseExt "" > <!ELEMENT ellipse (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%ellipseExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED cx CDATA "0" cy CDATA "0" rx CDATA #REQUIRED ry CDATA #REQUIRED > <!ENTITY % lineExt "" > <!ELEMENT line (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%lineExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x1 CDATA "0" y1 CDATA "0" x2 CDATA "0" y2 CDATA "0" > <!ENTITY % polylineExt "" > <!ELEMENT polyline (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%polylineExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED points CDATA #REQUIRED > <!ENTITY % polygonExt "" > <!ELEMENT polygon (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%polygonExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED points CDATA #REQUIRED > <!--=================== Text ===================--> <!ENTITY % textExt "" > <!ELEMENT text (#PCDATA|tspan|tref|textPath|altglyph|use|animate|set|animateMotion|animateColor|animateTransform %geExt;%textExt;)* > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED > <!ENTITY % tspanExt "" > <!ELEMENT tspan (#PCDATA|tspan|tref|altglyph|animate|set|animateColor %tspanExt;)* > <!ATTLIST tspan id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED dx CDATA #IMPLIED dy CDATA #IMPLIED rotate CDATA #IMPLIED > <!ENTITY % trefExt "" > <!ELEMENT tref (animate|set|animateColor %trefExt;)* > <!ATTLIST tref id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED dx CDATA #IMPLIED dy CDATA #IMPLIED rotate CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!ENTITY % textPathExt "" > <!ELEMENT textPath (#PCDATA|tspan|tref|altglyph|animate|set|animateColor %textPathExt;)* > <!ATTLIST textPath id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED %graphicsElementEvents; system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED startOffset CDATA "0" %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!ENTITY % altGlyphExt "" > <!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* > <!ATTLIST altGlyph id ID #IMPLIED %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!ENTITY % altGlyphDefExt "" > <!ELEMENT altGlyphDef (glyphSub %altGlyphDefExt;)* > <!ATTLIST altglyphDef id ID #IMPLIED > <!ELEMENT glyphSub EMPTY > <!ATTLIST glyphSub id ID #IMPLIED font CDATA #REQUIRED glyphRef CDATA #REQUIRED format CDATA #REQUIRED > <!--=================== SVG Fonts ===================--> <!ENTITY % fontExt "" > <!ELEMENT font (%descTitle;,missing-glyph,(glyph|hkern|vkern %fontExt;)*) > <!ATTLIST font id ID #IMPLIED font-style CDATA #IMPLIED font-variant CDATA #IMPLIED font-weight CDATA #IMPLIED font-stretch CDATA #IMPLIED unicode-range CDATA #IMPLIED units-per-em CDATA #REQUIRED panose-1 CDATA #IMPLIED slope CDATA #IMPLIED cap-height CDATA #REQUIRED x-height CDATA #REQUIRED accent-height CDATA #IMPLIED ascent CDATA #REQUIRED descent CDATA #REQUIRED horiz-origin-x CDATA #IMPLIED horiz-origin-y CDATA #IMPLIED horiz-adv-x CDATA #REQUIRED vert-origin-x CDATA #IMPLIED vert-origin-y CDATA #IMPLIED vert-adv-y CDATA #IMPLIED text-bottom CDATA #REQUIRED baseline CDATA #REQUIRED centerline CDATA #REQUIRED mathline CDATA #REQUIRED ideographic CDATA #REQUIRED hanging CDATA #REQUIRED topline CDATA #REQUIRED text-top CDATA #REQUIRED font-face-name CDATA #IMPLIED underline-position CDATA #IMPLIED underline-thickness CDATA #IMPLIED strikethrough-position CDATA #IMPLIED strikethrough-thickness CDATA #IMPLIED overline-position CDATA #IMPLIED overline-thickness CDATA #IMPLIED > <!ENTITY % glyphExt "" > <!ELEMENT glyph (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|g|switch %glyphExt;)*) > <!ATTLIST glyph id ID #IMPLIED unicode CDATA #REQUIRED glyph-name CDATA #IMPLIED vert-text-orient CDATA #IMPLIED arabic CDATA #IMPLIED han CDATA #IMPLIED horiz-adv-x CDATA #IMPLIED vert-adv-y CDATA #IMPLIED > <!ENTITY % missing-glyphExt "" > <!ELEMENT missing-glyph (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|g|switch %missing-glyphExt;)*) > <!ATTLIST missing-glyph id ID #IMPLIED horiz-adv-x CDATA #IMPLIED vert-adv-y CDATA #IMPLIED > <!ELEMENT hkern EMPTY > <!ATTLIST hkern id ID #IMPLIED u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k CDATA #REQUIRED > <!ELEMENT vkern EMPTY > <!ATTLIST vkern id ID #IMPLIED u1 CDATA #IMPLIED g1 CDATA #IMPLIED u2 CDATA #IMPLIED g2 CDATA #IMPLIED k CDATA #REQUIRED > <!--=================== Graphics Referencing Elements ===================--> <!ENTITY % useExt "" > <!ELEMENT use (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%useExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!ENTITY % imageExt "" > <!ELEMENT image (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform %geExt;%imageExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!--=================== Symbols and Markers ===================--> <!ENTITY % symbolExt "" > <!ELEMENT symbol (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a %ceExt;%symbolExt;)*) > <!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' > <!ENTITY % markerExt "" > <!ELEMENT marker (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a %ceExt;%markerExt;)*) > <!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 | userSpaceOnUse) "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 %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 ===================--> <!ENTITY % clipPathExt "" > <!ELEMENT clipPath (%descTitle;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|animate|set|animateMotion|animateColor|animateTransform %ceExt;%clipPathExt;)*) > <!ATTLIST clipPath id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED clipPathUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" > <!ENTITY % maskExt "" > <!ELEMENT mask (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a| animate|set|animateMotion|animateColor|animateTransform %ceExt;%maskExt;)*) > <!ATTLIST mask id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED maskUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED > <!--=================== Gradients and Patterns ===================--> <!ENTITY % linearGradientExt "" > <!ELEMENT linearGradient (stop|animate|set|animateTransform %linearGradientExt;)* > <!ATTLIST linearGradient id ID #IMPLIED gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace' gradientTransform CDATA #IMPLIED x1 CDATA #IMPLIED y1 CDATA #IMPLIED x2 CDATA #IMPLIED y2 CDATA #IMPLIED spreadMethod (pad | reflect | repeat) "pad" %xlinkRefAttrs; xlink:href CDATA #IMPLIED > <!ENTITY % radialGradientExt "" > <!ELEMENT radialGradient (stop|animate|set|animateTransform %radialGradientExt;)* > <!ATTLIST radialGradient id ID #IMPLIED gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace' gradientTransform CDATA #IMPLIED cx CDATA #IMPLIED cy CDATA #IMPLIED r CDATA #IMPLIED fx CDATA #IMPLIED fy CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #IMPLIED > <!ENTITY % stopExt "" > <!ELEMENT stop (animate|set|animateColor %stopExt;)* > <!ATTLIST stop id ID #IMPLIED style CDATA #IMPLIED offset CDATA #REQUIRED > <!ENTITY % patternExt "" > <!ELEMENT pattern (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a %ceExt;%patternExt;)*) > <!ATTLIST pattern id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED class NMTOKENS #IMPLIED style CDATA #IMPLIED patternUnits (userSpace | userSpaceOnUse | 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' %xlinkRefAttrs; xlink:href CDATA #IMPLIED > <!--=================== Linking ===================--> <!ENTITY % aExt "" > <!ELEMENT a (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a %ceExt;%aExt;)*) > <!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|embed|replace) 'replace' xlink:actuate (user|auto) #FIXED 'user' xlink:href CDATA #REQUIRED target CDATA #IMPLIED > <!ENTITY % viewExt "" > <!ELEMENT view (%descTitle;%viewExt;) > <!ATTLIST view id ID #IMPLIED viewBox CDATA #IMPLIED preserveAspectRatio CDATA 'xMidYMid meet' enableZoomAndPanControls (true | false) "true" viewTarget CDATA #IMPLIED > <!--=================== Animation ===================--> <!ENTITY % animTargetAttrs "%xlinkRefAttrs; xlink:href CDATA #IMPLIED attributeName CDATA #REQUIRED attributeType CDATA #IMPLIED" > <!ENTITY % animTimingAttrs "begin CDATA #IMPLIED end CDATA #IMPLIED dur CDATA #IMPLIED endActive CDATA #IMPLIED restart (always | never | whenNotActive) 'always' repeatCount CDATA #IMPLIED repeatDur CDATA #IMPLIED fill (remove | freeze) 'remove'" > <!ENTITY % animValueAttrs "calcMode (discrete | linear | evenPace | spline) 'linear' values CDATA #IMPLIED from CDATA #IMPLIED to CDATA #IMPLIED by CDATA #IMPLIED keyTimes CDATA #IMPLIED keySplines CDATA #IMPLIED" > <!ENTITY % animAdditionAttrs "additive (true | false) 'false' accumulate (true | false) 'false'" > <!ENTITY % animateExt "" > <!ELEMENT animate (%descTitle;%animateExt;) > <!ATTLIST animate id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED %animTargetAttrs; %animTimingAttrs; %animValueAttrs; %animAdditionAttrs; > <!ENTITY % setExt "" > <!ELEMENT set (%descTitle;%setExt;) > <!ATTLIST set id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED %animTargetAttrs; %animTimingAttrs; to CDATA #IMPLIED > <!ENTITY % animateMotionExt "" > <!ELEMENT animateMotion (%descTitle;%animateMotionExt;) > <!ATTLIST animateMotion id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #IMPLIED %animTimingAttrs; %animValueAttrs; %animAdditionAttrs; path CDATA #IMPLIED rotate CDATA #IMPLIED origin CDATA #IMPLIED > <!ENTITY % animateColorExt "" > <!ELEMENT animateColor (%descTitle;%animateColorExt;) > <!ATTLIST animateColor id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED %animTargetAttrs; %animTimingAttrs; %animValueAttrs; %animAdditionAttrs; > <!ENTITY % animateTransformExt "" > <!ELEMENT animateTransform (%descTitle;%animateTransformExt;) > <!ATTLIST animateTransform id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED %animTargetAttrs; %animTimingAttrs; %animValueAttrs; %animAdditionAttrs; type (translate | scale | rotate | skewX | skewY) "translate" > <!--========== Defining Scripts and Declaring Styles ==========--> <!ELEMENT script (#PCDATA)* > <!ATTLIST script language CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #IMPLIED > <!ELEMENT style (#PCDATA)* > <!ATTLIST style type CDATA "text/css" > <!--=================== Custom cursors ===================--> <!ELEMENT cursor (%descTitle;) > <!ATTLIST cursor id ID #IMPLIED system-required NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA "0" y CDATA "0" %xlinkRefAttrs; xlink:href CDATA #REQUIRED > <!--=================== Extensibility ===================--> <!ENTITY % switchExt "" > <!ELEMENT switch (%descTitleDefs;, (path|text|rect|circle|ellipse|line|polyline|polygon| use|image|svg|g|switch|a|foreignObject| animate|set|animateMotion|animateColor|animateTransform %ceExt;%switchExt;)*) > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED > <!ENTITY % foreignObjectExt "" > <!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* > <!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 NMTOKEN #IMPLIED system-language CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #REQUIRED height CDATA #REQUIRED %structured_text; > <!--=================== Metadata ===================--> <!ENTITY % metadataExt "" > <!ELEMENT metadata (#PCDATA %metadataExt;)* > <!ATTLIST metadata id ID #IMPLIED > <!--============== Filter Effects ==============--> <!ENTITY % filter_node_attributes "result CDATA #IMPLIED x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED"> <!ENTITY % filter_node_attributes_with_in "%filter_node_attributes; in 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" > <!ENTITY % filterExt "" > <!ELEMENT filter (feBlend|feFlood| feColorMatrix|feComponentTransfer| feComposite|feDiffuseLighting|feDisplacementMap| feGaussianBlur|feImage|feMerge| feMorphology|feOffset|feSpecularLighting| feTile|feTurbulence| animate|set %filterExt;)* > <!ATTLIST filter id ID #IMPLIED xml:lang NMTOKEN #IMPLIED xml:space (default|preserve) #IMPLIED filterUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED filterRes CDATA #IMPLIED %xlinkRefAttrs; xlink:href CDATA #IMPLIED > <!ELEMENT feBlend EMPTY > <!ATTLIST feBlend %filter_node_attributes_with_in; mode (normal | multiple | screen | darken | lighten) "normal" in2 CDATA #REQUIRED > <!ELEMENT feFlood (animate|set|animateColor)* > <!ATTLIST feFlood %filter_node_attributes_with_in; style CDATA #IMPLIED > <!ELEMENT feColorMatrix (animate|set)* > <!ATTLIST feColorMatrix %filter_node_attributes_with_in; type CDATA #REQUIRED values CDATA #IMPLIED > <!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) > <!ATTLIST feComponentTransfer %filter_node_attributes_with_in; > <!ELEMENT feFuncR (animate|set)* > <!ATTLIST feFuncR %component_transfer_function_attributes; > <!ELEMENT feFuncG (animate|set)* > <!ATTLIST feFuncG %component_transfer_function_attributes; > <!ELEMENT feFuncB (animate|set)* > <!ATTLIST feFuncB %component_transfer_function_attributes; > <!ELEMENT feFuncA (animate|set)* > <!ATTLIST feFuncA %component_transfer_function_attributes; > <!ELEMENT feComposite EMPTY > <!ATTLIST feComposite %filter_node_attributes_with_in; 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|set|animateColor)*) > <!ATTLIST feDiffuseLighting %filter_node_attributes_with_in; resultScale CDATA #IMPLIED surfaceScale CDATA #IMPLIED diffuseConstant CDATA #IMPLIED lightColor CDATA #IMPLIED > <!ELEMENT feDistantLight (animate|set)* > <!ATTLIST feDistantLight azimuth CDATA #IMPLIED elevation CDATA #IMPLIED > <!ELEMENT fePointLight (animate|set)* > <!ATTLIST fePointLight x CDATA #IMPLIED y CDATA #IMPLIED z CDATA #IMPLIED > <!ELEMENT feSpotLight (animate|set)* > <!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|set)* > <!ATTLIST feDisplacementMap %filter_node_attributes_with_in; scale CDATA #IMPLIED xChannelSelector (R | G | B | A) "A" yChannelSelector (R | G | B | A) "A" in2 CDATA #REQUIRED > <!ELEMENT feGaussianBlur (animate|set)* > <!ATTLIST feGaussianBlur %filter_node_attributes_with_in; stdDeviation CDATA #IMPLIED > <!ELEMENT feImage (animate|set|animateTransform)* > <!ATTLIST feImage %filter_node_attributes; %xlinkRefAttrs; xlink:href CDATA #REQUIRED transform CDATA #IMPLIED > <!ELEMENT feMerge (feMergeNode)* > <!ATTLIST feMerge %filter_node_attributes_with_in; > <!ELEMENT feMergeNode EMPTY > <!ATTLIST feMergeNode in CDATA #IMPLIED > <!ELEMENT feMorphology (animate|set)* > <!ATTLIST feMorphology %filter_node_attributes_with_in; operator (erode | dilate) "erode" radius CDATA #IMPLIED > <!ELEMENT feOffset (animate|set)* > <!ATTLIST feOffset %filter_node_attributes_with_in; dx CDATA #IMPLIED dy CDATA #IMPLIED > <!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) > <!ATTLIST feSpecularLighting %filter_node_attributes_with_in; surfaceScale CDATA #IMPLIED specularConstant CDATA #IMPLIED specularExponent CDATA #IMPLIED lightColor CDATA #IMPLIED > <!ELEMENT feTile EMPTY > <!ATTLIST feTile %filter_node_attributes_with_in; > <!ELEMENT feTurbulence (animate|set)* > <!ATTLIST feTurbulence %filter_node_attributes_with_in; baseFrequencyX CDATA #IMPLIED baseFrequencyY CDATA #IMPLIED numOctaves CDATA #IMPLIED stitchTiles (stitch | noStitch) "noStitch" type (fractalNoise | turbulence) "turbulence" >