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" >