The DTD is also available for download.
<!ENTITY % namespace "xmlns CDATA #FIXED 'http://www.w3.org/Graphics/SVG/SVG-19990325'"> <!ENTITY % class "class NMTOKENS #IMPLIED"> <!ENTITY % id "id ID #IMPLIED"> <!ENTITY % lang "xml:lang NMTOKEN #IMPLIED"> <!ENTITY % style "style CDATA #IMPLIED"> <!ENTITY % global "%class; %id; %style;"> <!ENTITY % str_text "content CDATA #FIXED 'structured text'"> <!ENTITY % global_t "%class; %id; %lang; %style;"> <!ENTITY % g_eventhandlers "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 % r_eventhandlers "onunload CDATA #IMPLIED onzoom CDATA #IMPLIED "> <!ENTITY % system_required "system-required CDATA #IMPLIED"> <!ENTITY % std_g_attrs "%global; %system_required; %g_eventhandlers;"> <!ENTITY % std_g_attrs_t "%global_t; %system_required; %g_eventhandlers;"> <!ENTITY % replaced "xml:link CDATA #FIXED 'simple' show CDATA #FIXED 'embed' actuate CDATA #FIXED 'auto' href CDATA #REQUIRED "> <!ENTITY % hyperlink "xml:link CDATA #FIXED 'simple' show CDATA #FIXED 'replace' actuate CDATA #FIXED 'user' href CDATA #REQUIRED "> <!ENTITY % symbol_descriptor_attributes "min-x CDATA #IMPLIED min-y CDATA #IMPLIED max-x CDATA #IMPLIED max-y CDATA #IMPLIED ref-x CDATA #IMPLIED ref-y CDATA #IMPLIED"> <!ENTITY % shapes "rect|circle|ellipse|polyline|polygon|line"> <!ENTITY % g_elements "(defs?,title?,desc?,(use|image|text|path|%shapes;|g|switch|svg|a)*)"> <!ELEMENT svg %g_elements; > <!ATTLIST svg %namespace; %std_g_attrs_t; %r_eventhandlers; %symbol_descriptor_attributes; width CDATA #REQUIRED height CDATA #REQUIRED allow-zoom-and-pan (true | false) "true" > <!ELEMENT g %g_elements; > <!ATTLIST g %std_g_attrs_t;> <!ELEMENT switch %g_elements; > <!ATTLIST switch %std_g_attrs_t;> <!ELEMENT defs (script|style|private|lineargradient|radialgradient| symbol|image|text|textflow|path|%shapes;)* > <!ATTLIST defs %global_t;> <!ELEMENT private ANY > <!ATTLIST > <!ELEMENT title (#PCDATA)* > <!ATTLIST title %global_t; %str_text;> <!ELEMENT desc (#PCDATA)* > <!ATTLIST desc %std_g_attrs_t; %str_text;> <!ELEMENT use EMPTY > <!ATTLIST use %std_g_attrs; x CDATA #IMPLIED y CDATA #IMPLIED width CDATA #IMPLIED height CDATA #IMPLIED %replaced;> <!ELEMENT marker EMPTY > <!ATTLIST marker %global; %replaced; width CDATA #IMPLIED height CDATA #IMPLIED> <!ELEMENT image (desc?, title?) > <!ATTLIST image %std_g_attrs_t; x CDATA #IMPLIED y CDATA #IMPLIED %replaced;> <!ELEMENT text (#PCDATA|src|tf|textpath)* > <!ATTLIST text %std_g_attrs_t; x CDATA "0" y CDATA "0"> <!ELEMENT textpath EMPTY > <!ATTLIST textpath start-offset CDATA "0" %replaced;> <!ELEMENT path (data|marker)* > <!ATTLIST path %std_g_attrs; d CDATA #REQUIRED flatness CDATA #IMPLIED nominal-length CDATA #IMPLIED> <!ELEMENT data EMPTY > <!ATTLIST data d CDATA #REQUIRED > <!ELEMENT rect EMPTY > <!ATTLIST rect %std_g_attrs; x CDATA "0" y CDATA "0" width CDATA #REQUIRED height CDATA #REQUIRED> <!ELEMENT circle EMPTY > <!ATTLIST circle %std_g_attrs; cx CDATA "0" cy CDATA "0" r CDATA #REQUIRED> <!ELEMENT ellipse EMPTY > <!ATTLIST ellipse %std_g_attrs; cx CDATA "0" cy CDATA "0" major CDATA #REQUIRED minor CDATA #REQUIRED angle CDATA "0"> <!ELEMENT polyline EMPTY > <!ATTLIST polyline %std_g_attrs; verts CDATA #REQUIRED> <!ELEMENT polygon EMPTY > <!ATTLIST polygon %std_g_attrs; sides CDATA "3" angle CDATA "0" r CDATA #REQUIRED> <!ELEMENT line EMPTY > <!ATTLIST line %std_g_attrs; x1 CDATA "0" x2 CDATA "0" y1 CDATA "0" y2 CDATA "0"> <!ELEMENT foreignobject (#PCDATA)* > <!ATTLIST foreignobject %std_g_attrs_t; width CDATA #REQUIRED height CDATA #REQUIRED %str_text;> <!ELEMENT script (#PCDATA)* > <!ATTLIST script language CDATA "text/ecmascript"> <!ELEMENT style (#PCDATA)* > <!ATTLIST style type CDATA #FIXED "text/css"> <!ENTITY % gradient.attrs "target-type CDATA #IMPLIED target-left CDATA #IMPLIED target-top CDATA #IMPLIED target-right CDATA #IMPLIED target-bottom CDATA #IMPLIED " > <!ELEMENT lineargradient (gradientstop)* > <!ATTLIST lineargradient id ID #IMPLIED vector-start-x CDATA #IMPLIED vector-start-y CDATA #IMPLIED vector-length CDATA #IMPLIED vector-angle CDATA #IMPLIED spread-method CDATA #IMPLIED %gradient.attrs;> <!ELEMENT radialgradient (gradientstop)* > <!ATTLIST radialgradient id ID #IMPLIED innermost-x CDATA #IMPLIED innermost-y CDATA #IMPLIED outermost-x CDATA #IMPLIED outermost-y CDATA #IMPLIED outermost-radius CDATA #IMPLIED matrix CDATA #IMPLIED %gradient.attrs;> <!ELEMENT gradientstop EMPTY > <!ATTLIST gradientstop %style; id ID #IMPLIED offset CDATA #REQUIRED color CDATA #REQUIRED> <!ELEMENT symbol %g_elements; > <!ATTLIST symbol %global_t; %symbol_descriptor_attributes;> <!ELEMENT src EMPTY > <!ATTLIST src %replaced;> <!ELEMENT textflow (t|text)* > <!ATTLIST textflow %std_g_attrs_t; %str_text;> <!ELEMENT t EMPTY > <!ATTLIST t %replaced;> <!ELEMENT tf EMPTY > <!ATTLIST tf %replaced;> <!ELEMENT a ANY > <!ATTLIST a %hyperlink;>