<!-- =====================================================================

  This is the DTD for SVG 1.0.



  The specification for SVG that corresponds to this DTD is available at:



    http://www.w3.org/TR/2001/REC-SVG-20010904/



  Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved.



  For SVG 1.0:



    Namespace:

      http://www.w3.org/2000/svg  



    Public identifier:

      PUBLIC "-//W3C//DTD SVG 1.0//EN"



    URI for the DTD:

      http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd

============================================================================= -->





<!-- ==============================================================

     ENTITY DECLARATIONS: Data types 

     ============================================================== -->



<!ENTITY % BaselineShiftValue "CDATA">

    <!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->



<!ENTITY % Boolean "(false | true)">

    <!-- feature specification -->



<!ENTITY % ClassList "CDATA">

    <!-- list of classes -->



<!ENTITY % ClipValue "CDATA">

    <!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->



<!ENTITY % ClipPathValue "CDATA">

    <!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->



<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">

    <!-- 'clip-rule' or fill-rule property/attribute value -->



<!ENTITY % ContentType "CDATA">

    <!-- media type, as per [RFC2045] -->



<!ENTITY % Coordinate "CDATA">

    <!-- a <coordinate> -->



<!ENTITY % Coordinates "CDATA">

    <!-- a list of <coordinate>s -->



<!ENTITY % Color "CDATA">

    <!-- a <color> value -->



<!ENTITY % CursorValue "CDATA">

    <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->



<!ENTITY % EnableBackgroundValue "CDATA">

    <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->



<!ENTITY % ExtensionList "CDATA">

    <!-- extension list specification -->



<!ENTITY % FeatureList "CDATA">

    <!-- feature list specification -->



<!ENTITY % FilterValue "CDATA">

    <!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->



<!ENTITY % FontFamilyValue "CDATA">

    <!-- 'font-family' property/attribute value (i.e., list of fonts) -->



<!ENTITY % FontSizeValue "CDATA">

    <!-- 'font-size' property/attribute value -->



<!ENTITY % FontSizeAdjustValue "CDATA">

    <!-- 'font-size-adjust' property/attribute value -->



<!ENTITY % GlyphOrientationHorizontalValue "CDATA">

    <!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->



<!ENTITY % GlyphOrientationVerticalValue "CDATA">

    <!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->



<!ENTITY % Integer "CDATA">

    <!-- a <integer> -->



<!ENTITY % KerningValue "CDATA">

    <!-- 'kerning' property/attribute value (e.g., auto | <length>) -->



<!ENTITY % LanguageCode "NMTOKEN">

    <!-- a language code, as per [RFC3066] -->



<!ENTITY % LanguageCodes "CDATA">

    <!-- comma-separated list of language codes, as per [RFC3066] -->



<!ENTITY % Length "CDATA">

    <!-- a <length> -->



<!ENTITY % Lengths "CDATA">

    <!-- a list of <length>s -->



<!ENTITY % LinkTarget "NMTOKEN">

    <!-- link to this target -->



<!ENTITY % MarkerValue "CDATA">

    <!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->



<!ENTITY % MaskValue "CDATA">

    <!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->



<!ENTITY % MediaDesc "CDATA">

    <!-- comma-separated list of media descriptors. -->



<!ENTITY % Number "CDATA">

    <!-- a <number> -->



<!ENTITY % NumberOptionalNumber "CDATA">

    <!-- list of <number>s, but at least one and at most two -->



<!ENTITY % NumberOrPercentage "CDATA">

    <!-- a <number> or a  <percentage> -->



<!ENTITY % Numbers "CDATA">

    <!-- a list of <number>s -->



<!ENTITY % OpacityValue "CDATA">

    <!-- opacity value (e.g., <number>) -->



<!ENTITY % Paint "CDATA">

    <!-- a 'fill' or 'stroke' property/attribute value: <paint> -->



<!ENTITY % PathData "CDATA">

    <!-- a path data specification -->



<!ENTITY % Points "CDATA">

    <!-- a list of points -->



<!ENTITY % PreserveAspectRatioSpec "CDATA">

    <!-- 'preserveAspectRatio' attribute specification -->



<!ENTITY % Script "CDATA">

    <!-- script expression -->



<!ENTITY % SpacingValue "CDATA">

    <!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->



<!ENTITY % StrokeDashArrayValue "CDATA">

    <!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->



<!ENTITY % StrokeDashOffsetValue "CDATA">

    <!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->



<!ENTITY % StrokeMiterLimitValue "CDATA">

    <!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->



<!ENTITY % StrokeWidthValue "CDATA">

    <!-- 'stroke-width' property/attribute value (e.g., <length>) -->



<!ENTITY % StructuredText

  "content CDATA #FIXED 'structured text'" >



<!ENTITY % StyleSheet "CDATA">

    <!-- style sheet data -->



<!ENTITY % SVGColor "CDATA">

    <!-- An SVG color value (RGB plus optional ICC) -->



<!ENTITY % Text "CDATA">

    <!-- arbitrary text string -->



<!ENTITY % TextDecorationValue "CDATA">

    <!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->



<!ENTITY % TransformList "CDATA">

    <!-- list of transforms -->



<!ENTITY % URI "CDATA">

    <!-- a Uniform Resource Identifier, see [URI] -->



<!ENTITY % ViewBoxSpec "CDATA">

    <!-- 'viewBox' attribute specification -->





<!-- ==============================================================

     ENTITY DECLARATIONS: Collections of common attributes 

     ============================================================== -->



<!-- All elements have an ID. -->

<!ENTITY % stdAttrs

 "id ID #IMPLIED

  xml:base %URI; #IMPLIED" >



<!-- Common attributes for elements that might contain character data content. -->

<!ENTITY % langSpaceAttrs

 "xml:lang %LanguageCode; #IMPLIED

  xml:space (default|preserve) #IMPLIED" >



<!-- Common attributes to check for system capabilities. -->

<!ENTITY % testAttrs

 "requiredFeatures %FeatureList; #IMPLIED

  requiredExtensions %ExtensionList; #IMPLIED

  systemLanguage %LanguageCodes; #IMPLIED" >



<!-- For most uses of URI referencing:

        standard XLink attributes other than xlink:href. -->

<!ENTITY % xlinkRefAttrs

 "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'

  xlink:type (simple) #FIXED 'simple' 

  xlink:role %URI; #IMPLIED

  xlink:arcrole %URI; #IMPLIED

  xlink:title CDATA #IMPLIED

  xlink:show (other) 'other'

  xlink:actuate (onLoad) #FIXED 'onLoad'" >



<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->

<!ENTITY % xlinkRefAttrsEmbed

 "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'

  xlink:type (simple) #FIXED 'simple' 

  xlink:role %URI; #IMPLIED

  xlink:arcrole %URI; #IMPLIED

  xlink:title CDATA #IMPLIED

  xlink:show (embed) 'embed'

  xlink:actuate (onLoad) #FIXED 'onLoad'" >



<!ENTITY % graphicsElementEvents

  "onfocusin %Script; #IMPLIED

   onfocusout %Script; #IMPLIED

   onactivate %Script; #IMPLIED

   onclick %Script; #IMPLIED

   onmousedown %Script; #IMPLIED

   onmouseup %Script; #IMPLIED

   onmouseover %Script; #IMPLIED

   onmousemove %Script; #IMPLIED

   onmouseout %Script; #IMPLIED

   onload %Script; #IMPLIED" >



<!ENTITY % documentEvents

  "onunload %Script; #IMPLIED

   onabort %Script; #IMPLIED

   onerror %Script; #IMPLIED

   onresize %Script; #IMPLIED

   onscroll %Script; #IMPLIED

   onzoom %Script; #IMPLIED" >



<!ENTITY % animationEvents

  "onbegin %Script; #IMPLIED

   onend %Script; #IMPLIED

   onrepeat %Script; #IMPLIED" >



<!-- This entity allows for at most one of desc, title and metadata,

     supplied in any order -->

<!ENTITY % descTitleMetadata

          "(((desc,((title,metadata?)|(metadata,title?))?)|

          (title,((desc,metadata?)|(metadata,desc?))?)|

          (metadata,((desc,title?)|(title,desc?))?))?)" >





<!-- ==============================================================

     ENTITY DECLARATIONS: Collections of presentation attributes 

     ============================================================== -->



<!-- The following presentation attributes have to do with specifying color. -->

<!ENTITY % PresentationAttributes-Color

  "color %Color; #IMPLIED

   color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED

   color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED " >



<!-- The following presentation attributes apply to container elements. -->

<!ENTITY % PresentationAttributes-Containers

  "enable-background %EnableBackgroundValue; #IMPLIED " >



<!-- The following presentation attributes apply to 'feFlood' elements. -->

<!ENTITY % PresentationAttributes-feFlood

  "flood-color %SVGColor; #IMPLIED

   flood-opacity %OpacityValue; #IMPLIED " >



<!-- The following presentation attributes apply to filling and stroking operations. -->

<!ENTITY % PresentationAttributes-FillStroke

  "fill %Paint; #IMPLIED

   fill-opacity %OpacityValue; #IMPLIED

   fill-rule %ClipFillRule; #IMPLIED

   stroke %Paint; #IMPLIED

   stroke-dasharray %StrokeDashArrayValue; #IMPLIED

   stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED

   stroke-linecap (butt | round | square | inherit) #IMPLIED

   stroke-linejoin (miter | round | bevel | inherit) #IMPLIED

   stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED

   stroke-opacity %OpacityValue; #IMPLIED

   stroke-width %StrokeWidthValue; #IMPLIED " >



<!-- The following presentation attributes apply to filter primitives. -->

<!ENTITY % PresentationAttributes-FilterPrimitives

  "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED " >



<!-- The following presentation attributes have to do with selecting a font to use. -->

<!ENTITY % PresentationAttributes-FontSpecification

  "font-family %FontFamilyValue; #IMPLIED

   font-size %FontSizeValue; #IMPLIED

   font-size-adjust %FontSizeAdjustValue; #IMPLIED

   font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |

                 condensed | semi-condensed | semi-expanded | expanded |

                 extra-expanded | ultra-expanded | inherit) #IMPLIED

   font-style (normal | italic | oblique | inherit) #IMPLIED

   font-variant (normal | small-caps | inherit) #IMPLIED

   font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |

               400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED " >



<!-- The following presentation attributes apply to gradient 'stop' elements. -->

<!ENTITY % PresentationAttributes-Gradients

  "stop-color %SVGColor; #IMPLIED

   stop-opacity %OpacityValue; #IMPLIED " >



<!-- The following presentation attributes apply to graphics elements. -->

<!ENTITY % PresentationAttributes-Graphics

  "clip-path %ClipPathValue; #IMPLIED

   clip-rule %ClipFillRule; #IMPLIED

   cursor %CursorValue; #IMPLIED

   display (inline | block | list-item | run-in | compact | marker |

            table | inline-table | table-row-group | table-header-group |

            table-footer-group | table-row | table-column-group | table-column |

            table-cell | table-caption | none | inherit) #IMPLIED

   filter %FilterValue; #IMPLIED

   image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED

   mask %MaskValue; #IMPLIED

   opacity %OpacityValue; #IMPLIED

   pointer-events (visiblePainted | visibleFill | visibleStroke | visible |

                   painted | fill | stroke | all | none | inherit) #IMPLIED

   shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED

   text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED

   visibility (visible | hidden | inherit) #IMPLIED " >



<!-- The following presentation attributes apply to 'image' elements. -->

<!ENTITY % PresentationAttributes-Images

  "color-profile CDATA #IMPLIED " >



<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->

<!ENTITY % PresentationAttributes-LightingEffects

  "lighting-color %SVGColor; #IMPLIED " >



<!-- The following presentation attributes apply to marker operations. -->

<!ENTITY % PresentationAttributes-Markers

  "marker-start %MarkerValue; #IMPLIED

   marker-mid %MarkerValue; #IMPLIED

   marker-end %MarkerValue; #IMPLIED " >



<!-- The following presentation attributes apply to text content elements. -->

<!ENTITY % PresentationAttributes-TextContentElements

  "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |

                        middle | bottom | after-edge | text-bottom | text-after-edge |

                        ideographic | lower | hanging | mathematical | inherit) #IMPLIED

   baseline-shift %BaselineShiftValue; #IMPLIED

   direction (ltr | rtl | inherit) #IMPLIED

   dominant-baseline (auto | autosense-script | no-change | reset|

                      ideographic | lower | hanging | mathematical | inherit ) #IMPLIED

   glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED

   glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED

   kerning %KerningValue; #IMPLIED

   letter-spacing %SpacingValue; #IMPLIED

   text-anchor (start | middle | end | inherit) #IMPLIED

   text-decoration %TextDecorationValue; #IMPLIED

   unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED

   word-spacing %SpacingValue; #IMPLIED " >



<!-- The following presentation attributes apply to 'text' elements. -->

<!ENTITY % PresentationAttributes-TextElements

  "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " >



<!-- The following presentation attributes apply to elements that establish viewports. -->

<!ENTITY % PresentationAttributes-Viewports

  "clip %ClipValue; #IMPLIED

   overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " >



<!--The following represents the complete list of presentation attributes. -->

<!ENTITY % PresentationAttributes-All

  "%PresentationAttributes-Color;

   %PresentationAttributes-Containers;

   %PresentationAttributes-feFlood;

   %PresentationAttributes-FillStroke;

   %PresentationAttributes-FilterPrimitives;

   %PresentationAttributes-FontSpecification;

   %PresentationAttributes-Gradients;

   %PresentationAttributes-Graphics;

   %PresentationAttributes-Images;

   %PresentationAttributes-LightingEffects;

   %PresentationAttributes-Markers;

   %PresentationAttributes-TextContentElements;

   %PresentationAttributes-TextElements;

   %PresentationAttributes-Viewports;" >







<!-- ==============================================================

     ENTITY DECLARATIONS: DTD extensions 

     ============================================================== -->



<!-- Allow for extending the DTD with internal subset for 

     container and graphics elements -->

<!ENTITY % ceExt "" >

<!ENTITY % geExt "" >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Document Structure 

     ============================================================== -->



<!ENTITY % svgExt "" >

<!ELEMENT svg (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%svgExt;)* >

<!ATTLIST svg

  xmlns CDATA #FIXED "http://www.w3.org/2000/svg"

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED 

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  viewBox %ViewBoxSpec; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  zoomAndPan (disable | magnify) 'magnify'

  %graphicsElementEvents;

  %documentEvents;

  version %Number; #FIXED "1.0"

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #IMPLIED

  height %Length; #IMPLIED

  contentScriptType %ContentType; "text/ecmascript"

  contentStyleType %ContentType; "text/css" >



<!ENTITY % gExt "" >

<!ELEMENT g (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%gExt;)* >

<!ATTLIST g

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;  >



<!ENTITY % defsExt "" >

<!ELEMENT defs (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%defsExt;)* >

<!ATTLIST defs

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;  >



<!ENTITY % descExt "" >

<!ELEMENT desc (#PCDATA %descExt;)* >

<!ATTLIST desc

  %stdAttrs;

  %langSpaceAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %StructuredText; >



<!ENTITY % titleExt "" >

<!ELEMENT title (#PCDATA %titleExt;)* >

<!ATTLIST title

  %stdAttrs;

  %langSpaceAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %StructuredText; >



<!ENTITY % symbolExt "" >

<!ELEMENT symbol (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%symbolExt;)* >

<!ATTLIST symbol

  %stdAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  viewBox %ViewBoxSpec; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  %graphicsElementEvents; >



<!ENTITY % useExt "" >

<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                   %geExt;%useExt;)*) >

<!ATTLIST use

  %stdAttrs;

  %xlinkRefAttrsEmbed;

  xlink:href %URI; #REQUIRED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #IMPLIED

  height %Length; #IMPLIED >



<!ENTITY % imageExt "" >

<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                   %geExt;%imageExt;)*) >

<!ATTLIST image

  %stdAttrs;

  %xlinkRefAttrsEmbed;

  xlink:href %URI; #REQUIRED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-Images;

  %PresentationAttributes-Viewports;

  transform %TransformList; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  %graphicsElementEvents;

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #REQUIRED

  height %Length; #REQUIRED >



<!ENTITY % switchExt "" >

<!ELEMENT switch (%descTitleMetadata;,

                  (path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|switch|a|foreignObject|

                   animate|set|animateMotion|animateColor|animateTransform

                   %ceExt;%switchExt;)*) >

<!ATTLIST switch

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents; >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Styling 

     ============================================================== -->



<!ELEMENT style (#PCDATA) >

<!ATTLIST style 

  %stdAttrs;

  xml:space (preserve) #FIXED "preserve"

  type %ContentType; #REQUIRED

  media %MediaDesc; #IMPLIED

  title %Text; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Paths

     ============================================================== -->



<!ENTITY % pathExt "" >

<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%pathExt;)*) >

<!ATTLIST path

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-Markers;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  d %PathData; #REQUIRED

  pathLength %Number; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Basic Shapes

     ============================================================== -->



<!ENTITY % rectExt "" >

<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%rectExt;)*) >

<!ATTLIST rect

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #REQUIRED

  height %Length; #REQUIRED

  rx %Length; #IMPLIED

  ry %Length; #IMPLIED >



<!ENTITY % circleExt "" >

<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%circleExt;)*) >

<!ATTLIST circle

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  cx %Coordinate; #IMPLIED

  cy %Coordinate; #IMPLIED

  r %Length; #REQUIRED >



<!ENTITY % ellipseExt "" >

<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%ellipseExt;)*) >

<!ATTLIST ellipse

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  cx %Coordinate; #IMPLIED

  cy %Coordinate; #IMPLIED

  rx %Length; #REQUIRED

  ry %Length; #REQUIRED >



<!ENTITY % lineExt "" >

<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%lineExt;)*) >

<!ATTLIST line

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-Markers;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  x1 %Coordinate; #IMPLIED

  y1 %Coordinate; #IMPLIED

  x2 %Coordinate; #IMPLIED

  y2 %Coordinate; #IMPLIED >



<!ENTITY % polylineExt "" >

<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%polylineExt;)*) >

<!ATTLIST polyline

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-Markers;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  points %Points; #REQUIRED >



<!ENTITY % polygonExt "" >

<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform

                %geExt;%polygonExt;)*) >

<!ATTLIST polygon

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-Markers;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  points %Points; #REQUIRED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Text

     ============================================================== -->



<!ENTITY % textExt "" >

<!ELEMENT text (#PCDATA|desc|title|metadata|

                tspan|tref|textPath|altGlyph|a|animate|set|

                animateMotion|animateColor|animateTransform

                %geExt;%textExt;)* >

<!ATTLIST text

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %PresentationAttributes-TextElements;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  x %Coordinates; #IMPLIED

  y %Coordinates; #IMPLIED

  dx %Lengths; #IMPLIED

  dy %Lengths; #IMPLIED

  rotate %Numbers; #IMPLIED

  textLength %Length; #IMPLIED

  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >



<!ENTITY % tspanExt "" >

<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor

                %tspanExt;)* >

<!ATTLIST tspan

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %graphicsElementEvents;

  x %Coordinates; #IMPLIED

  y %Coordinates; #IMPLIED

  dx %Lengths; #IMPLIED

  dy %Lengths; #IMPLIED

  rotate %Numbers; #IMPLIED

  textLength %Length; #IMPLIED

  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >



<!ENTITY % trefExt "" >

<!ELEMENT tref (desc|title|metadata|animate|set|animateColor

                %trefExt;)* >

<!ATTLIST tref

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %graphicsElementEvents;

  x %Coordinates; #IMPLIED

  y %Coordinates; #IMPLIED

  dx %Lengths; #IMPLIED

  dy %Lengths; #IMPLIED

  rotate %Numbers; #IMPLIED

  textLength %Length; #IMPLIED

  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED >



<!ENTITY % textPathExt "" >

<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor

                %textPathExt;)* >

<!ATTLIST textPath

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED

  %langSpaceAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %graphicsElementEvents;

  startOffset %Length; #IMPLIED

  textLength %Length; #IMPLIED

  lengthAdjust (spacing|spacingAndGlyphs) #IMPLIED

  method (align|stretch) #IMPLIED

  spacing (auto|exact) #IMPLIED >



<!ENTITY % altGlyphExt "" >

<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >

<!ATTLIST altGlyph

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED 

  glyphRef CDATA #IMPLIED

  format CDATA #IMPLIED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %graphicsElementEvents;

  x %Coordinates; #IMPLIED

  y %Coordinates; #IMPLIED

  dx %Lengths; #IMPLIED

  dy %Lengths; #IMPLIED

  rotate %Numbers; #IMPLIED >



<!ENTITY % altGlyphDefExt "" >

<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >

<!ATTLIST altGlyphDef

  %stdAttrs; >



<!ENTITY % altGlyphItemExt "" >

<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >

<!ATTLIST altGlyphItem

  %stdAttrs; >



<!ELEMENT glyphRef EMPTY >

<!ATTLIST glyphRef

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-FontSpecification;

  glyphRef CDATA #IMPLIED

  format CDATA #IMPLIED

  x %Number; #IMPLIED

  y %Number; #IMPLIED

  dx %Number; #IMPLIED

  dy %Number; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols 

     ============================================================== -->



<!ENTITY % markerExt "" >

<!ELEMENT marker (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%markerExt;)* >

<!ATTLIST marker

  %stdAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  viewBox %ViewBoxSpec; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  refX %Coordinate; #IMPLIED

  refY %Coordinate; #IMPLIED

  markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED

  markerWidth  %Length; #IMPLIED

  markerHeight %Length; #IMPLIED

  orient CDATA #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Color 

     ============================================================== -->



<!ELEMENT color-profile (%descTitleMetadata;) >

<!ATTLIST color-profile 

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  local CDATA #IMPLIED  

  name CDATA #REQUIRED

  rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto" >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Gradients and Patterns 

     ============================================================== -->



<!ENTITY % linearGradientExt "" >

<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform

                   %linearGradientExt;)*) >

<!ATTLIST linearGradient

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-Gradients;

  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  gradientTransform %TransformList; #IMPLIED

  x1 %Coordinate; #IMPLIED

  y1 %Coordinate; #IMPLIED

  x2 %Coordinate; #IMPLIED

  y2 %Coordinate; #IMPLIED

  spreadMethod (pad | reflect | repeat) #IMPLIED >





<!ENTITY % radialGradientExt "" >

<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform

                   %radialGradientExt;)*) >

<!ATTLIST radialGradient

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-Gradients;

  gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  gradientTransform %TransformList; #IMPLIED

  cx %Coordinate; #IMPLIED

  cy %Coordinate; #IMPLIED

  r %Length; #IMPLIED

  fx %Coordinate; #IMPLIED

  fy %Coordinate; #IMPLIED

  spreadMethod (pad | reflect | repeat) #IMPLIED >





<!ENTITY % stopExt "" >

<!ELEMENT stop (animate|set|animateColor

                   %stopExt;)* >

<!ATTLIST stop

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-Gradients;

  offset %NumberOrPercentage; #REQUIRED >



<!ENTITY % patternExt "" >

<!ELEMENT pattern (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%patternExt;)* >

<!ATTLIST pattern

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  viewBox %ViewBoxSpec; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  patternTransform %TransformList; #IMPLIED

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #IMPLIED

  height %Length; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing 

     ============================================================== -->



<!ENTITY % clipPathExt "" >

<!ELEMENT clipPath (%descTitleMetadata;,

                    (path|text|rect|circle|ellipse|line|polyline|polygon|

                     use|animate|set|animateMotion|animateColor|animateTransform

                     %ceExt;%clipPathExt;)*) >

<!ATTLIST clipPath

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FillStroke;

  %PresentationAttributes-FontSpecification;

  %PresentationAttributes-Graphics;

  %PresentationAttributes-TextContentElements;

  %PresentationAttributes-TextElements;

  transform %TransformList; #IMPLIED

  clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED >



<!ENTITY % maskExt "" >

<!ELEMENT mask (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%maskExt;)*  >

<!ATTLIST mask

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #IMPLIED

  height %Length; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Filter Effects

     ============================================================== -->



<!ENTITY % filterExt "" >

<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|

  feColorMatrix|feComponentTransfer|

  feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|

  feGaussianBlur|feImage|feMerge|

  feMorphology|feOffset|feSpecularLighting|

  feTile|feTurbulence|

  animate|set

  %filterExt;)*) >

<!ATTLIST filter

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #IMPLIED

  height %Length; #IMPLIED

  filterRes %NumberOptionalNumber; #IMPLIED >



<!ENTITY % filter_primitive_attributes

  "x %Coordinate; #IMPLIED

   y %Coordinate; #IMPLIED

   width %Length; #IMPLIED

   height %Length; #IMPLIED

   result CDATA #IMPLIED" >



<!ENTITY % filter_primitive_attributes_with_in

  "%filter_primitive_attributes;

   in CDATA #IMPLIED">



<!ELEMENT feDistantLight (animate|set)* >

<!ATTLIST feDistantLight

  %stdAttrs;

  azimuth %Number; #IMPLIED

  elevation %Number; #IMPLIED >



<!ELEMENT fePointLight (animate|set)* >

<!ATTLIST fePointLight

  %stdAttrs;

  x %Number; #IMPLIED

  y %Number; #IMPLIED

  z %Number; #IMPLIED >



<!ELEMENT feSpotLight (animate|set)* >

<!ATTLIST feSpotLight

  %stdAttrs;

  x %Number; #IMPLIED

  y %Number; #IMPLIED

  z %Number; #IMPLIED

  pointsAtX %Number; #IMPLIED

  pointsAtY %Number; #IMPLIED

  pointsAtZ %Number; #IMPLIED

  specularExponent %Number; #IMPLIED

  limitingConeAngle %Number; #IMPLIED >



<!ELEMENT feBlend (animate|set)* >

<!ATTLIST feBlend

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  in2 CDATA #REQUIRED

  mode (normal | multiply | screen | darken | lighten) "normal" >



<!ELEMENT feColorMatrix (animate|set)* >

<!ATTLIST feColorMatrix

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"

  values CDATA #IMPLIED >



<!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) >

<!ATTLIST feComponentTransfer

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in; >



<!ENTITY % component_transfer_function_attributes

  "type (identity | table | discrete | linear | gamma) #REQUIRED

   tableValues CDATA #IMPLIED

   slope %Number; #IMPLIED

   intercept %Number; #IMPLIED

   amplitude %Number; #IMPLIED

   exponent %Number; #IMPLIED

   offset %Number; #IMPLIED" >



<!ELEMENT feFuncR (animate|set)* >

<!ATTLIST feFuncR

  %stdAttrs;

  %component_transfer_function_attributes; >



<!ELEMENT feFuncG (animate|set)* >

<!ATTLIST feFuncG

  %stdAttrs;

  %component_transfer_function_attributes; >



<!ELEMENT feFuncB (animate|set)* >

<!ATTLIST feFuncB

  %stdAttrs;

  %component_transfer_function_attributes; >



<!ELEMENT feFuncA (animate|set)* >

<!ATTLIST feFuncA

  %stdAttrs;

  %component_transfer_function_attributes; >



<!ELEMENT feComposite (animate|set)* >

<!ATTLIST feComposite

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  in2 CDATA #REQUIRED

  operator (over | in | out | atop | xor | arithmetic) "over"

  k1 %Number; #IMPLIED

  k2 %Number; #IMPLIED

  k3 %Number; #IMPLIED

  k4 %Number; #IMPLIED >



<!ELEMENT feConvolveMatrix (animate|set)* >

<!ATTLIST feConvolveMatrix

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  order %NumberOptionalNumber; #REQUIRED

  kernelMatrix CDATA #REQUIRED

  divisor %Number; #IMPLIED

  bias %Number; #IMPLIED

  targetX %Integer; #IMPLIED

  targetY %Integer; #IMPLIED

  edgeMode (duplicate|wrap|none) "duplicate" 

  kernelUnitLength %NumberOptionalNumber; #IMPLIED 

  preserveAlpha %Boolean; #IMPLIED >



<!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >

<!ATTLIST feDiffuseLighting

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FilterPrimitives;

  %PresentationAttributes-LightingEffects;

  %filter_primitive_attributes_with_in;

  surfaceScale %Number; #IMPLIED

  diffuseConstant %Number; #IMPLIED 

  kernelUnitLength %NumberOptionalNumber; #IMPLIED >



<!ELEMENT feDisplacementMap (animate|set)* >

<!ATTLIST feDisplacementMap

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  in2 CDATA #REQUIRED

  scale %Number; #IMPLIED

  xChannelSelector (R | G | B | A) "A"

  yChannelSelector (R | G | B | A) "A" >



<!ELEMENT feFlood (animate|set|animateColor)* >

<!ATTLIST feFlood

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-feFlood;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in; >



<!ELEMENT feGaussianBlur (animate|set)* >

<!ATTLIST feGaussianBlur

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  stdDeviation %NumberOptionalNumber; #IMPLIED >



<!ELEMENT feImage (animate|set|animateTransform)* >

<!ATTLIST feImage

  %stdAttrs;

  %xlinkRefAttrsEmbed;

  xlink:href %URI; #REQUIRED

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All; >



<!ELEMENT feMerge (feMergeNode)* >

<!ATTLIST feMerge

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes; >



<!ELEMENT feMergeNode (animate|set)* >

<!ATTLIST feMergeNode

  %stdAttrs;

  in CDATA #IMPLIED >



<!ELEMENT feMorphology (animate|set)* >

<!ATTLIST feMorphology

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  operator (erode | dilate) "erode"

  radius %NumberOptionalNumber; #IMPLIED >



<!ELEMENT feOffset (animate|set)* >

<!ATTLIST feOffset

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in;

  dx %Number; #IMPLIED

  dy %Number; #IMPLIED >



<!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) >

<!ATTLIST feSpecularLighting

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-Color;

  %PresentationAttributes-FilterPrimitives;

  %PresentationAttributes-LightingEffects;

  %filter_primitive_attributes_with_in;

  surfaceScale %Number; #IMPLIED

  specularConstant %Number; #IMPLIED

  specularExponent %Number; #IMPLIED 

  kernelUnitLength %NumberOptionalNumber; #IMPLIED >



<!ELEMENT feTile (animate|set)* >

<!ATTLIST feTile

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes_with_in; >



<!ELEMENT feTurbulence (animate|set)* >

<!ATTLIST feTurbulence

  %stdAttrs;

  %PresentationAttributes-FilterPrimitives;

  %filter_primitive_attributes;

  baseFrequency %NumberOptionalNumber; #IMPLIED

  numOctaves %Integer; #IMPLIED

  seed %Number; #IMPLIED

  stitchTiles (stitch | noStitch) "noStitch"

  type (fractalNoise | turbulence) "turbulence" >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Interactivity 

     ============================================================== -->



<!ELEMENT cursor (%descTitleMetadata;) >

<!ATTLIST cursor

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Linking

     ============================================================== -->



<!ENTITY % aExt "" >

<!ELEMENT a       (#PCDATA|desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %ceExt;%aExt;)* >

<!ATTLIST a

  %stdAttrs;

  xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"

  xlink:type (simple) #FIXED "simple" 

  xlink:role %URI; #IMPLIED

  xlink:arcrole %URI; #IMPLIED

  xlink:title CDATA #IMPLIED

  xlink:show (new|replace) 'replace'

  xlink:actuate (onRequest) #FIXED 'onRequest'

  xlink:href %URI; #REQUIRED

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  target %LinkTarget; #IMPLIED >



<!ENTITY % viewExt "" >

<!ELEMENT view (%descTitleMetadata;%viewExt;) >

<!ATTLIST view

  %stdAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  viewBox %ViewBoxSpec; #IMPLIED

  preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet'

  zoomAndPan (disable | magnify) 'magnify' 

  viewTarget CDATA #IMPLIED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Scripting 

     ============================================================== -->



<!ELEMENT script (#PCDATA) >

<!ATTLIST script

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #IMPLIED

  externalResourcesRequired %Boolean; #IMPLIED

  type %ContentType; #REQUIRED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Animation 

     ============================================================== -->



<!ENTITY % animElementAttrs

 "%xlinkRefAttrs;

  xlink:href %URI; #IMPLIED" >



<!ENTITY % animAttributeAttrs

 "attributeName  CDATA  #REQUIRED

  attributeType  CDATA  #IMPLIED" >



<!ENTITY % animTimingAttrs

 "begin CDATA #IMPLIED 

  dur CDATA #IMPLIED

  end CDATA #IMPLIED

  min CDATA #IMPLIED

  max CDATA #IMPLIED

  restart (always | never | whenNotActive) 'always'

  repeatCount CDATA #IMPLIED 

  repeatDur CDATA #IMPLIED

  fill (remove | freeze) 'remove'" >



<!ENTITY % animValueAttrs

 "calcMode (discrete | linear | paced | spline) 'linear'

  values CDATA #IMPLIED

  keyTimes CDATA #IMPLIED

  keySplines CDATA #IMPLIED

  from CDATA #IMPLIED

  to CDATA #IMPLIED

  by CDATA #IMPLIED" >



<!ENTITY % animAdditionAttrs

 "additive       (replace | sum) 'replace'

  accumulate     (none | sum) 'none'" >



<!ENTITY % animateExt "" >

<!ELEMENT animate (%descTitleMetadata;%animateExt;) >

<!ATTLIST animate

  %stdAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  %animationEvents;

  %animElementAttrs;

  %animAttributeAttrs;

  %animTimingAttrs;

  %animValueAttrs;

  %animAdditionAttrs; >



<!ENTITY % setExt "" >

<!ELEMENT set (%descTitleMetadata;%setExt;) >

<!ATTLIST set

  %stdAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  %animationEvents;

  %animElementAttrs;

  %animAttributeAttrs;

  %animTimingAttrs;

  to CDATA #IMPLIED >



<!ENTITY % animateMotionExt "" >

<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >

<!ATTLIST animateMotion

  %stdAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  %animationEvents;

  %animElementAttrs;

  %animTimingAttrs;

  calcMode (discrete | linear | paced | spline) 'paced'

  values CDATA #IMPLIED

  keyTimes CDATA #IMPLIED

  keySplines CDATA #IMPLIED

  from CDATA #IMPLIED

  to CDATA #IMPLIED

  by CDATA #IMPLIED

  %animAdditionAttrs;

  path CDATA #IMPLIED

  keyPoints CDATA #IMPLIED

  rotate CDATA #IMPLIED

  origin CDATA #IMPLIED >



<!ENTITY % mpathExt "" >

<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >

<!ATTLIST mpath

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED

  externalResourcesRequired %Boolean; #IMPLIED >



<!ENTITY % animateColorExt "" >

<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >

<!ATTLIST animateColor

  %stdAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  %animationEvents;

  %animElementAttrs;

  %animAttributeAttrs;

  %animTimingAttrs;

  %animValueAttrs;

  %animAdditionAttrs; >



<!ENTITY % animateTransformExt "" >

<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >

<!ATTLIST animateTransform

  %stdAttrs;

  %testAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  %animationEvents;

  %animElementAttrs;

  %animAttributeAttrs;

  %animTimingAttrs;

  %animValueAttrs;

  %animAdditionAttrs;

  type (translate | scale | rotate | skewX | skewY) "translate" >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Fonts 

     ============================================================== -->



<!ENTITY % fontExt "" >

<!ELEMENT font (%descTitleMetadata;,font-face,

                   missing-glyph,(glyph|hkern|vkern %fontExt;)*) >

<!ATTLIST font

  %stdAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  horiz-origin-x %Number; #IMPLIED

  horiz-origin-y %Number; #IMPLIED

  horiz-adv-x %Number; #REQUIRED

  vert-origin-x %Number; #IMPLIED

  vert-origin-y %Number; #IMPLIED

  vert-adv-y %Number; #IMPLIED >



<!ENTITY % glyphExt "" >

<!ELEMENT glyph (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %glyphExt;)* >

<!ATTLIST glyph

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  unicode CDATA #IMPLIED

  glyph-name CDATA #IMPLIED

  d %PathData; #IMPLIED

  orientation CDATA #IMPLIED

  arabic-form CDATA #IMPLIED

  lang %LanguageCodes; #IMPLIED

  horiz-adv-x %Number; #IMPLIED

  vert-origin-x %Number; #IMPLIED

  vert-origin-y %Number; #IMPLIED

  vert-adv-y %Number; #IMPLIED >



<!ENTITY % missing-glyphExt "" >

<!ELEMENT missing-glyph (desc|title|metadata|defs|

                   path|text|rect|circle|ellipse|line|polyline|polygon|

                   use|image|svg|g|view|switch|a|altGlyphDef|

                   script|style|symbol|marker|clipPath|mask|

                   linearGradient|radialGradient|pattern|filter|cursor|font|

                   animate|set|animateMotion|animateColor|animateTransform|

                   color-profile|font-face

                   %missing-glyphExt;)* >

<!ATTLIST missing-glyph

  %stdAttrs;

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  d %PathData; #IMPLIED

  horiz-adv-x %Number; #IMPLIED

  vert-origin-x %Number; #IMPLIED

  vert-origin-y %Number; #IMPLIED

  vert-adv-y %Number; #IMPLIED >



<!ELEMENT hkern EMPTY >

<!ATTLIST hkern

  %stdAttrs;

  u1 CDATA #IMPLIED

  g1 CDATA #IMPLIED

  u2 CDATA #IMPLIED

  g2 CDATA #IMPLIED

  k %Number; #REQUIRED >



<!ELEMENT vkern EMPTY >

<!ATTLIST vkern

  %stdAttrs;

  u1 CDATA #IMPLIED

  g1 CDATA #IMPLIED

  u2 CDATA #IMPLIED

  g2 CDATA #IMPLIED

  k %Number; #REQUIRED >



<!ELEMENT font-face (%descTitleMetadata;,font-face-src?,definition-src?) >

<!ATTLIST font-face 

  %stdAttrs;

  font-family CDATA #IMPLIED

  font-style CDATA #IMPLIED

  font-variant CDATA #IMPLIED

  font-weight CDATA #IMPLIED

  font-stretch CDATA #IMPLIED

  font-size CDATA #IMPLIED

  unicode-range CDATA #IMPLIED

  units-per-em %Number; #IMPLIED

  panose-1 CDATA #IMPLIED

  stemv %Number; #IMPLIED

  stemh %Number; #IMPLIED

  slope %Number; #IMPLIED

  cap-height %Number; #IMPLIED

  x-height %Number; #IMPLIED

  accent-height %Number; #IMPLIED

  ascent %Number; #IMPLIED

  descent %Number; #IMPLIED

  widths CDATA #IMPLIED

  bbox CDATA #IMPLIED

  ideographic %Number; #IMPLIED

  alphabetic %Number; #IMPLIED

  mathematical %Number; #IMPLIED

  hanging %Number; #IMPLIED

  v-ideographic %Number; #IMPLIED

  v-alphabetic %Number; #IMPLIED

  v-mathematical %Number; #IMPLIED

  v-hanging %Number; #IMPLIED

  underline-position %Number; #IMPLIED

  underline-thickness %Number; #IMPLIED

  strikethrough-position %Number; #IMPLIED

  strikethrough-thickness %Number; #IMPLIED

  overline-position %Number; #IMPLIED

  overline-thickness %Number; #IMPLIED >



<!ELEMENT font-face-src (font-face-uri|font-face-name)+ >

<!ATTLIST font-face-src 

  %stdAttrs; >



<!ELEMENT font-face-uri (font-face-format*) >

<!ATTLIST font-face-uri 

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED >



<!ELEMENT font-face-format EMPTY >

<!ATTLIST font-face-format 

  %stdAttrs;

  string CDATA #IMPLIED >



<!ELEMENT font-face-name EMPTY >

<!ATTLIST font-face-name 

  %stdAttrs;

  name CDATA #IMPLIED >



<!ELEMENT definition-src EMPTY >

<!ATTLIST definition-src 

  %stdAttrs;

  %xlinkRefAttrs;

  xlink:href %URI; #REQUIRED >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Metadata 

     ============================================================== -->



<!ENTITY % metadataExt "" >

<!ELEMENT metadata (#PCDATA %metadataExt;)* >

<!ATTLIST metadata

  %stdAttrs; >





<!-- ==============================================================

     DECLARATIONS CORRESPONDING TO: Extensibility 

     ============================================================== -->



<!ENTITY % foreignObjectExt "" >

<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >

<!ATTLIST foreignObject

  %stdAttrs;

  %testAttrs;

  %langSpaceAttrs;

  externalResourcesRequired %Boolean; #IMPLIED

  class %ClassList; #IMPLIED

  style %StyleSheet; #IMPLIED

  %PresentationAttributes-All;

  transform %TransformList; #IMPLIED

  %graphicsElementEvents;

  x %Coordinate; #IMPLIED

  y %Coordinate; #IMPLIED

  width %Length; #REQUIRED

  height %Length; #REQUIRED

  %StructuredText; >