| <!-- |
| This is the Shared DTD for SVG 1.0 (draft 20000303). It contains the |
| element, attribute and entities definitions which are common to the |
| DTD for Stylable SVG and the DTD for Exchange SVG. |
| |
| The only purpose of the Shared DTD is to serve as a single definition for |
| the definitions of elements, attributes and entities that are common to |
| the DTD for Stylable SVG and the DTD for Exchange SVG. |
| The Shared DTD should not be used directly; instead, use either the |
| DTD for Stylable SVG or the DTD for Exchange SVG. |
| |
| The specification for SVG that corresponds to this DTD is available at: |
| |
| http://www.w3.org/TR/2000/03/WD-SVG-20000303/ |
| |
| Copyright (c) 2000 W3C (MIT, INRIA, Keio), All Rights Reserved. |
| |
| For this working draft: |
| |
| Namespaces: |
| Stylable SVG: http://www.w3.org/2000/svg-20000303-stylable |
| Exchange SVG: http://www.w3.org/2000/svg-20000303-exchange |
| |
| Public identifiers: |
| PUBLIC "-//W3C//DTD SVG 20000303 Shared//EN" |
| PUBLIC "-//W3C//DTD SVG 20000303 Stylable//EN" |
| PUBLIC "-//W3C//DTD SVG 20000303 Exchange//EN" |
| |
| URIs for the DTDs: |
| http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-shared.dtd |
| http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-stylable.dtd |
| http://www.w3.org/TR/2000/03/WD-SVG-20000303/DTD/svg-20000303-exchange.dtd |
| --> |
| |
| |
| <!--=================== Entity definitions ===================--> |
| |
| <!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 "(evenodd | nonzero | 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 % CSSColor "CDATA"> |
| <!-- a <color> value, as per [CSS2-color] --> |
| |
| <!ENTITY % CursorValue "CDATA"> |
| <!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) --> |
| |
| <!ENTITY % EnableBackgroundValue "CDATA"> |
| <!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') --> |
| |
| <!ENTITY % Feature "CDATA"> |
| <!-- feature 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 % LanguageCode "NMTOKEN"> |
| <!-- a language code, as per [RFC1766] --> |
| |
| <!ENTITY % LanguageCodes "CDATA"> |
| <!-- comma-separated list of language codes, as per [RFC1766] --> |
| |
| <!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 % Number "CDATA"> |
| <!-- a <number> --> |
| |
| <!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 % StopColorValue "CDATA"> |
| <!-- 'stop-color' property/attribute value --> |
| |
| <!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 % 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 --> |
| |
| <!-- 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?))?))?)" > |
| |
| <!-- All elements have an ID. --> |
| <!ENTITY % stdAttrs |
| "id ID #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 |
| "system-required %Feature; #IMPLIED |
| system-language %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/2000/xlink/namespace/' |
| xlink:type (simple|extended|locator|arc) 'simple' |
| xlink:role CDATA #IMPLIED |
| xlink:title CDATA #IMPLIED |
| xlink:show (new|embed|replace) 'embed' |
| xlink:actuate (onRequest|onLoad) 'onLoad'" > |
| |
| <!ENTITY % graphicsElementEvents |
| "onfocusin %Script; #IMPLIED |
| onfocusout %Script; #IMPLIED |
| onactivate %Script; #IMPLIED |
| onmousedown %Script; #IMPLIED |
| onmouseup %Script; #IMPLIED |
| onclick %Script; #IMPLIED |
| ondblclick %Script; #IMPLIED |
| onmouseover %Script; #IMPLIED |
| onmousemove %Script; #IMPLIED |
| onmouseout %Script; #IMPLIED |
| onkeydown %Script; #IMPLIED |
| onkeypress %Script; #IMPLIED |
| onkeyup %Script; #IMPLIED |
| onload %Script; #IMPLIED |
| onselect %Script; #IMPLIED" > |
| |
| <!ENTITY % documentEvents |
| "onresize %Script; #IMPLIED |
| onscroll %Script; #IMPLIED |
| onunload %Script; #IMPLIED |
| onzoom %Script; #IMPLIED |
| onerror %Script; #IMPLIED |
| onabort %Script; #IMPLIED " > |
| |
| |
| <!-- Definitions of elements and attributes that only apply to Stylable SVG --> |
| |
| <!-- Stylable SVG has a 'style' element and puts a 'style' attribute on most elements. --> |
| <![%StylableSVG;[ |
| <!ENTITY % StylableSVG-StyleElement |
| "|style" > |
| |
| <!ENTITY % StylableSVG-StyleAttribute |
| "style %StyleSheet; #IMPLIED" > |
| ]]> |
| |
| <!-- These elements and attributes are not available for Exchange SVG. --> |
| <![%ExchangeSVG;[ |
| <!-- For Exchange SVG only, the 'style' attribute and 'style' element |
| are removed from most elements. --> |
| <!ENTITY % StylableSVG-StyleAttribute "" > |
| <!ENTITY % StylableSVG-StyleElement "" > |
| ]]> |
| |
| |
| <!-- Definitions of attribute collections that only apply to Exchange SVG --> |
| |
| <![%ExchangeSVG;[ |
| <!-- For Exchange SVG only, all container elements have these attributes. --> |
| <!ENTITY % ExchangeSVG-ContainerAttrs |
| "enable-background %EnableBackgroundValue; #IMPLIED " > |
| |
| <!-- For Exchange SVG only, attributes on elements that can be filled or stroked. --> |
| <!ENTITY % ExchangeSVG-FillStrokeAttrs |
| "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 " > |
| |
| <!-- For Exchange SVG only, all gradient elements have these attributes. --> |
| <!ENTITY % ExchangeSVG-GradientAttrs |
| "stop-color %StopColorValue; #IMPLIED |
| stop-opacity %OpacityValue; #IMPLIED " > |
| |
| <!-- For Exchange SVG only, all graphics elements have these attributes. --> |
| <!ENTITY % ExchangeSVG-GraphicsAttrs |
| "clip-path %ClipPathValue; #IMPLIED |
| clip-rule %ClipFillRule; #IMPLIED |
| color %CSSColor; #IMPLIED |
| color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED |
| color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #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 | visibleFillStroke | visible | |
| painted | fill | stroke | fillstroke | 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 " > |
| |
| <!-- For Exchange SVG only, container elements and certain graphics elements have these attributes. --> |
| <!ENTITY % ExchangeSVG-MarkerAttrs |
| "marker-start %MarkerValue; #IMPLIED |
| marker-mid %MarkerValue; #IMPLIED |
| marker-end %MarkerValue; #IMPLIED " > |
| |
| <!-- For Exchange SVG only, all text container elements have these attributes. --> |
| <!ENTITY % ExchangeSVG-TextContainerAttrs |
| "baseline-identifier (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 |
| 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 |
| glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED |
| glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED |
| letter-spacing %SpacingValue; #IMPLIED |
| text-decoration %TextDecorationValue; #IMPLIED |
| unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED |
| word-spacing %SpacingValue; #IMPLIED " > |
| |
| <!-- For Exchange SVG only, the 'text' element has these attributes. --> |
| <!ENTITY % ExchangeSVG-TextElementAttrs |
| "dominant-baseline (auto | autosense-script | no-change | reset| |
| ideographic | lower | hanging | mathematical | inherit ) #IMPLIED |
| text-anchor (start | middle | end | inherit) #IMPLIED |
| writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED " > |
| |
| <!-- For Exchange SVG only, all elements that establish viewports have these attributes. --> |
| <!ENTITY % ExchangeSVG-ViewportAttrs |
| "clip %ClipValue; #IMPLIED |
| overflow (visible | hidden | scroll | auto | inherit) #IMPLIED " > |
| |
| <!-- For Exchange SVG only, feFlood has these attributes. --> |
| <!ENTITY % ExchangeSVG-feFloodAttrs |
| "flood-color %SVGColor; #IMPLIED |
| flood-opacity %OpacityValue; #IMPLIED " > |
| ]]> |
| |
| <!-- These above Exchange SVG attribute collections |
| are not available for Stylable SVG. --> |
| <![%StylableSVG;[ |
| <!ENTITY % ExchangeSVG-ContainerAttrs "" > |
| <!ENTITY % ExchangeSVG-FillStrokeAttrs "" > |
| <!ENTITY % ExchangeSVG-GradientAttrs "" > |
| <!ENTITY % ExchangeSVG-GraphicsAttrs "" > |
| <!ENTITY % ExchangeSVG-MarkerAttrs "" > |
| <!ENTITY % ExchangeSVG-TextContainerAttrs "" > |
| <!ENTITY % ExchangeSVG-TextElementAttrs "" > |
| <!ENTITY % ExchangeSVG-ViewportAttrs "" > |
| <!ENTITY % ExchangeSVG-feFloodAttrs "" > |
| ]]> |
| |
| |
| <!-- Definitions of elements that only apply to Exchange SVG --> |
| |
| <!-- Exchange SVG has a corresponding XML version of the |
| @font-face and @color-profile features available when SVG is styled with CSS. --> |
| <![%ExchangeSVG;[ |
| <!ENTITY % ExchangeSVG-ColorProfileElement |
| "|color-profile" > |
| |
| <!ENTITY % ExchangeSVG-FontFaceElement |
| "|font-face" > |
| ]]> |
| |
| <!-- These elements are not available for Stylable SVG. --> |
| <![%StylableSVG;[ |
| <!ENTITY % ExchangeSVG-ColorProfileElement "" > |
| <!ENTITY % ExchangeSVG-FontFaceElement "" > |
| ]]> |
| |
| |
| <!-- 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|view|switch|a|altGlyphDef| |
| script|symbol|marker|clipPath|mask| |
| linearGradient|radialGradient|pattern|filter|cursor|font| |
| animate|set|animateMotion|animateColor|animateTransform |
| %StylableSVG-StyleElement; |
| %ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement; |
| %ceExt;%svgExt;)*) > |
| <!ATTLIST svg |
| xmlns CDATA #FIXED "%SVGNamespace;" |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| %graphicsElementEvents; |
| %documentEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #REQUIRED |
| height %Length; #REQUIRED |
| viewBox %ViewBoxSpec; #IMPLIED |
| preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' |
| enableZoomAndPanControls %Boolean; "true" |
| contentScriptType %ContentType; "text/ecmascript" |
| contentStyleType %ContentType; "text/css" |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| <!ENTITY % gExt "" > |
| <!ELEMENT g (%descTitleDefs;, |
| (path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|svg|g|view|switch|a|altGlyphDef| |
| script|symbol|marker|clipPath|mask| |
| linearGradient|radialGradient|pattern|filter|cursor|font| |
| animate|set|animateMotion|animateColor|animateTransform |
| %StylableSVG-StyleElement; |
| %ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement; |
| %ceExt;%gExt;)*) > |
| <!ATTLIST g |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!ENTITY % defsExt "" > |
| <!ELEMENT defs ( |
| path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|svg|g|view|switch|a|altGlyphDef| |
| script|symbol|marker|clipPath|mask| |
| linearGradient|radialGradient|pattern|filter|cursor|font| |
| animate|set|animateMotion|animateColor|animateTransform |
| %StylableSVG-StyleElement; |
| %ExchangeSVG-ColorProfileElement;%ExchangeSVG-FontFaceElement; |
| %ceExt;%defsExt;)* > |
| <!ATTLIST defs |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| |
| <!--=================== Shapes ===================--> |
| |
| <!ENTITY % pathExt "" > |
| <!ELEMENT path (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%pathExt;)*) > |
| <!ATTLIST path |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| d %PathData; #REQUIRED |
| length %Number; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; > |
| |
| <!ENTITY % rectExt "" > |
| <!ELEMENT rect (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%rectExt;)*) > |
| <!ATTLIST rect |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #REQUIRED |
| height %Length; #REQUIRED |
| rx %Length; #IMPLIED |
| ry %Length; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; > |
| |
| <!ENTITY % circleExt "" > |
| <!ELEMENT circle (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%circleExt;)*) > |
| <!ATTLIST circle |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| cx %Coordinate; "0" |
| cy %Coordinate; "0" |
| r %Length; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; > |
| |
| <!ENTITY % ellipseExt "" > |
| <!ELEMENT ellipse (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%ellipseExt;)*) > |
| <!ATTLIST ellipse |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| cx %Coordinate; "0" |
| cy %Coordinate; "0" |
| rx %Length; #REQUIRED |
| ry %Length; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; > |
| |
| <!ENTITY % lineExt "" > |
| <!ELEMENT line (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%lineExt;)*) > |
| <!ATTLIST line |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x1 %Coordinate; "0" |
| y1 %Coordinate; "0" |
| x2 %Coordinate; "0" |
| y2 %Coordinate; "0" |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; > |
| |
| <!ENTITY % polylineExt "" > |
| <!ELEMENT polyline (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%polylineExt;)*) > |
| <!ATTLIST polyline |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| points %Points; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; > |
| |
| <!ENTITY % polygonExt "" > |
| <!ELEMENT polygon (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%polygonExt;)*) > |
| <!ATTLIST polygon |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| points %Points; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; > |
| |
| |
| <!--=================== Text ===================--> |
| |
| <!ENTITY % textExt "" > |
| <!ELEMENT text (#PCDATA|desc|title| |
| tspan|tref|textPath|altGlyph|a|animate|set| |
| animateMotion|animateColor|animateTransform |
| %geExt;%textExt;)* > |
| <!ATTLIST text |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!ENTITY % tspanExt "" > |
| <!ELEMENT tspan (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor |
| %tspanExt;)* > |
| <!ATTLIST tspan |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinates; #IMPLIED |
| y %Coordinates; #IMPLIED |
| dx %Lengths; #IMPLIED |
| dy %Lengths; #IMPLIED |
| rotate CDATA #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-TextContainerAttrs; > |
| |
| <!ENTITY % trefExt "" > |
| <!ELEMENT tref (animate|set|animateColor |
| %trefExt;)* > |
| <!ATTLIST tref |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinates; #IMPLIED |
| y %Coordinates; #IMPLIED |
| dx %Lengths; #IMPLIED |
| dy %Lengths; #IMPLIED |
| rotate CDATA #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-TextContainerAttrs; > |
| |
| <!ENTITY % textPathExt "" > |
| <!ELEMENT textPath (#PCDATA|tspan|tref|altGlyph|a|animate|set|animateColor |
| %textPathExt;)* > |
| <!ATTLIST textPath |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| startOffset CDATA "0" |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-TextContainerAttrs; > |
| |
| <!ENTITY % altGlyphExt "" > |
| <!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* > |
| <!ATTLIST altGlyph |
| %stdAttrs; |
| %langSpaceAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED > |
| |
| <!ENTITY % altGlyphDefExt "" > |
| <!ELEMENT altGlyphDef (glyphSub %altGlyphDefExt;)* > |
| <!ATTLIST altGlyphDef |
| %stdAttrs; > |
| |
| <!ELEMENT glyphSub EMPTY > |
| <!ATTLIST glyphSub |
| %stdAttrs; |
| font CDATA #REQUIRED |
| glyphRef CDATA #REQUIRED |
| format CDATA #REQUIRED > |
| |
| <!--=================== SVG Fonts ===================--> |
| |
| <!ENTITY % fontExt "" > |
| <!ELEMENT font (%descTitle;,missing-glyph,(glyph|hkern|vkern |
| %fontExt;)*) > |
| <!ATTLIST font |
| %stdAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| font-style CDATA #IMPLIED |
| font-variant CDATA #IMPLIED |
| font-weight CDATA #IMPLIED |
| font-stretch CDATA #IMPLIED |
| unicode-range CDATA #IMPLIED |
| units-per-em %Number; #REQUIRED |
| panose-1 CDATA #IMPLIED |
| slope %Number; #IMPLIED |
| cap-height %Number; #REQUIRED |
| x-height %Number; #REQUIRED |
| accent-height %Number; #IMPLIED |
| ascent %Number; #REQUIRED |
| descent %Number; #REQUIRED |
| 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 |
| text-bottom %Number; #REQUIRED |
| baseline %Number; #REQUIRED |
| centerline %Number; #REQUIRED |
| mathline %Number; #REQUIRED |
| ideographic %Number; #REQUIRED |
| hanging %Number; #REQUIRED |
| topline %Number; #REQUIRED |
| text-top %Number; #REQUIRED |
| font-face-name CDATA #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 > |
| |
| <!ENTITY % glyphExt "" > |
| <!ELEMENT glyph (%descTitleDefs;, |
| (path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|g|switch |
| %glyphExt;)*) > |
| <!ATTLIST glyph |
| %stdAttrs; |
| unicode CDATA #REQUIRED |
| glyph-name CDATA #IMPLIED |
| vert-text-orient CDATA #IMPLIED |
| arabic CDATA #IMPLIED |
| han CDATA #IMPLIED |
| horiz-adv-x %Number; #IMPLIED |
| vert-adv-y %Number; #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 |
| %stdAttrs; |
| horiz-adv-x %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 > |
| |
| |
| <!--=================== Graphics Referencing Elements ===================--> |
| |
| <!ENTITY % useExt "" > |
| <!ELEMENT use (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%useExt;)*) > |
| <!ATTLIST use |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #IMPLIED |
| height %Length; #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| <!ENTITY % imageExt "" > |
| <!ELEMENT image (%descTitle;,(animate|set|animateMotion|animateColor|animateTransform |
| %geExt;%imageExt;)*) > |
| <!ATTLIST image |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #REQUIRED |
| height %Length; #REQUIRED |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| |
| <!--=================== 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 |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED |
| viewBox %ViewBoxSpec; #IMPLIED |
| preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!ENTITY % markerExt "" > |
| <!ELEMENT marker (%descTitleDefs;, |
| (path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|svg|g|switch|a |
| %ceExt;%markerExt;)*) > |
| <!ATTLIST marker |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED |
| refX %Coordinate; #IMPLIED |
| refY %Coordinate; #IMPLIED |
| viewBox %ViewBoxSpec; #IMPLIED |
| preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' |
| markerUnits (strokeWidth | userSpace | userSpaceOnUse) "strokeWidth" |
| markerWidth %Length; "3" |
| markerHeight %Length; "3" |
| orient CDATA "0" |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| |
| <!--========== Descriptions and Titles ==========--> |
| |
| <!ELEMENT desc (#PCDATA) > |
| <!ATTLIST desc |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| style %StyleSheet; #IMPLIED |
| %StructuredText; > |
| |
| <!ELEMENT title (#PCDATA) > |
| <!ATTLIST title |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| style %StyleSheet; #IMPLIED |
| %StructuredText; > |
| |
| |
| <!--=================== 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 |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| clipPathUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!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 |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| maskUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #IMPLIED |
| height %Length; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| |
| <!--=================== Gradients and Patterns ===================--> |
| |
| <!ENTITY % linearGradientExt "" > |
| <!ELEMENT linearGradient (stop|animate|set|animateTransform |
| %linearGradientExt;)* > |
| <!ATTLIST linearGradient |
| %stdAttrs; |
| gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace' |
| gradientTransform %TransformList; #IMPLIED |
| x1 %Coordinate; #IMPLIED |
| y1 %Coordinate; #IMPLIED |
| x2 %Coordinate; #IMPLIED |
| y2 %Coordinate; #IMPLIED |
| spreadMethod (pad | reflect | repeat) "pad" |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| |
| <!ENTITY % radialGradientExt "" > |
| <!ELEMENT radialGradient (stop|animate|set|animateTransform |
| %radialGradientExt;)* > |
| <!ATTLIST radialGradient |
| %stdAttrs; |
| gradientUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace' |
| gradientTransform %TransformList; #IMPLIED |
| cx %Coordinate; #IMPLIED |
| cy %Coordinate; #IMPLIED |
| r %Length; #IMPLIED |
| fx %Coordinate; #IMPLIED |
| fy %Coordinate; #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| |
| <!ENTITY % stopExt "" > |
| <!ELEMENT stop (animate|set|animateColor |
| %stopExt;)* > |
| <!ATTLIST stop |
| %stdAttrs; |
| class %ClassList; #IMPLIED |
| offset %Length; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-GradientAttrs; > |
| |
| <!ENTITY % patternExt "" > |
| <!ELEMENT pattern (%descTitleDefs;, |
| (path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|svg|g|switch|a |
| %ceExt;%patternExt;)*) > |
| <!ATTLIST pattern |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| patternUnits (userSpace | userSpaceOnUse | objectBoundingBox) 'userSpace' |
| patternTransform %TransformList; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #REQUIRED |
| height %Length; #REQUIRED |
| viewBox %ViewBoxSpec; #IMPLIED |
| preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; > |
| |
| |
| |
| <!--=================== Linking ===================--> |
| |
| <!ENTITY % aExt "" > |
| <!ELEMENT a (#PCDATA|desc|title|defs| |
| path|text|rect|circle|ellipse|line|polyline|polygon| |
| use|image|svg|g|switch|a| |
| tspan|tref|textPath|altGlyph |
| %ceExt;%aExt;)* > |
| <!ATTLIST a |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| xmlns:xlink CDATA #FIXED "http://www.w3.org/2000/xlink/namespace/" |
| xlink:type (simple|extended|locator|arc) #FIXED "simple" |
| xlink:role CDATA #IMPLIED |
| xlink:title CDATA #IMPLIED |
| xlink:show (new|embed|replace) 'replace' |
| xlink:actuate (onRequest|onLoad) #FIXED 'onRequest' |
| xlink:href %URI; #REQUIRED |
| target %LinkTarget; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!ENTITY % viewExt "" > |
| <!ELEMENT view (%descTitle;%viewExt;) > |
| <!ATTLIST view |
| %stdAttrs; |
| viewBox %ViewBoxSpec; #IMPLIED |
| preserveAspectRatio %PreserveAspectRatioSpec; 'xMidYMid meet' |
| enableZoomAndPanControls (true | false) "true" |
| viewTarget CDATA #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| |
| <!--=================== Animation ===================--> |
| |
| <!ENTITY % animTargetAttrs |
| "%xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| attributeName CDATA #REQUIRED |
| attributeType CDATA #IMPLIED" > |
| |
| <!ENTITY % animTimingAttrs |
| "begin CDATA #IMPLIED |
| dur CDATA #IMPLIED |
| restart (always | never | whenNotActive) 'always' |
| repeatCount CDATA #IMPLIED |
| repeatDur CDATA #IMPLIED |
| end 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 (replace | sum) 'replace' |
| accumulate (none | sum) 'none'" > |
| |
| <!ENTITY % animateExt "" > |
| <!ELEMENT animate (%descTitle;%animateExt;) > |
| <!ATTLIST animate |
| %stdAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %animTargetAttrs; |
| %animTimingAttrs; |
| %animValueAttrs; |
| %animAdditionAttrs; > |
| |
| <!ENTITY % setExt "" > |
| <!ELEMENT set (%descTitle;%setExt;) > |
| <!ATTLIST set |
| %stdAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %animTargetAttrs; |
| %animTimingAttrs; |
| to CDATA #IMPLIED > |
| |
| <!ENTITY % animateMotionExt "" > |
| <!ELEMENT animateMotion (%descTitle;%animateMotionExt;) > |
| <!ATTLIST animateMotion |
| %stdAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| %animTimingAttrs; |
| %animValueAttrs; |
| %animAdditionAttrs; |
| path CDATA #IMPLIED |
| rotate CDATA #IMPLIED |
| origin CDATA #IMPLIED > |
| |
| <!ENTITY % animateColorExt "" > |
| <!ELEMENT animateColor (%descTitle;%animateColorExt;) > |
| <!ATTLIST animateColor |
| %stdAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %animTargetAttrs; |
| %animTimingAttrs; |
| %animValueAttrs; |
| %animAdditionAttrs; > |
| |
| <!ENTITY % animateTransformExt "" > |
| <!ELEMENT animateTransform (%descTitle;%animateTransformExt;) > |
| <!ATTLIST animateTransform |
| %stdAttrs; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %animTargetAttrs; |
| %animTimingAttrs; |
| %animValueAttrs; |
| %animAdditionAttrs; |
| type (translate | scale | rotate | skewX | skewY) "translate" > |
| |
| |
| <!--========== Defining Scripts and Declaring Styles ==========--> |
| |
| <!ELEMENT script (#PCDATA) > |
| <!ATTLIST script |
| %stdAttrs; |
| type %ContentType; #REQUIRED |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| |
| <!-- Define the 'style' element for Stylable SVG. |
| This element is not available for Exchange SVG. --> |
| <![%StylableSVG;[ |
| <!ELEMENT style (#PCDATA) > |
| <!ATTLIST style |
| %stdAttrs; |
| type %ContentType; #REQUIRED > |
| ]]> |
| |
| |
| <!--==== (Exchange SVG Only) Defining color profiles and font faces ====--> |
| |
| <![%ExchangeSVG;[ |
| <!ELEMENT color-profile (%descTitle;,color-profile-src) > |
| <!ATTLIST color-profile |
| %stdAttrs; |
| name CDATA #REQUIRED |
| rendering-intent CDATA #IMPLIED > |
| |
| <!ELEMENT color-profile-src EMPTY > |
| <!ATTLIST color-profile-src |
| %stdAttrs; |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED > |
| |
| <!ELEMENT font-face (%descTitle;,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 |
| ascent %Number; #IMPLIED |
| descent %Number; #IMPLIED |
| widths CDATA #IMPLIED |
| bbox CDATA #IMPLIED |
| baseline %Number; #IMPLIED |
| centerline %Number; #IMPLIED |
| mathline %Number; #IMPLIED |
| topline %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 > |
| ]]> |
| |
| |
| <!--=================== Custom cursors ===================--> |
| |
| <!ELEMENT cursor (%descTitle;) > |
| <!ATTLIST cursor |
| %stdAttrs; |
| %testAttrs; |
| x %Coordinate; "0" |
| y %Coordinate; "0" |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| |
| <!--=================== 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 |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; > |
| |
| <!ENTITY % foreignObjectExt "" > |
| <!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* > |
| <!ATTLIST foreignObject |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| %graphicsElementEvents; |
| %testAttrs; |
| externalResourcesRequired %Boolean; #IMPLIED |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #REQUIRED |
| height %Length; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; |
| %StructuredText; > |
| |
| |
| |
| <!--=================== Metadata ===================--> |
| |
| <!ENTITY % metadataExt "" > |
| <!ELEMENT metadata (#PCDATA %metadataExt;)* > |
| <!ATTLIST metadata |
| %stdAttrs; > |
| |
| |
| <!--============== Filter Effects ==============--> |
| |
| <!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"> |
| |
| <!ENTITY % component_transfer_function_attributes |
| "type (identity | table | linear | gamma) #REQUIRED |
| tableValues CDATA #IMPLIED |
| slope %Number; #IMPLIED |
| intercept %Number; #IMPLIED |
| amplitude %Number; #IMPLIED |
| exponent %Number; #IMPLIED |
| offset %Number; #IMPLIED" > |
| |
| <!ENTITY % filterExt "" > |
| <!ELEMENT filter (feBlend|feFlood| |
| feColorMatrix|feComponentTransfer| |
| feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap| |
| feGaussianBlur|feImage|feMerge| |
| feMorphology|feOffset|feSpecularLighting| |
| feTile|feTurbulence| |
| animate|set |
| %filterExt;)* > |
| <!ATTLIST filter |
| %stdAttrs; |
| %langSpaceAttrs; |
| filterUnits (userSpace | userSpaceOnUse | objectBoundingBox) "userSpace" |
| x %Coordinate; #IMPLIED |
| y %Coordinate; #IMPLIED |
| width %Length; #IMPLIED |
| height %Length; #IMPLIED |
| filterRes CDATA #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED > |
| |
| <!ELEMENT feBlend (animate|set)* > |
| <!ATTLIST feBlend |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| mode (normal | multiply | screen | darken | lighten) "normal" |
| in2 CDATA #REQUIRED > |
| |
| <!ELEMENT feColorMatrix (animate|set)* > |
| <!ATTLIST feColorMatrix |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix" |
| values CDATA #IMPLIED > |
| |
| <!ELEMENT feComponentTransfer (feFuncR?,feFuncG?,feFuncB?,feFuncA?) > |
| <!ATTLIST feComponentTransfer |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; > |
| |
| <!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; |
| %filter_primitive_attributes_with_in; |
| operator (over | in | out | atop | xor | arithmetic) "over" |
| k1 %Integer; #IMPLIED |
| k2 %Integer; #IMPLIED |
| k3 %Integer; #IMPLIED |
| k4 %Integer; #IMPLIED |
| in2 CDATA #REQUIRED > |
| |
| <!ELEMENT feConvolveMatrix (animate|set)* > |
| <!ATTLIST feConvolveMatrix |
| %filter_primitive_attributes_with_in; |
| order CDATA #REQUIRED |
| kernelMatrix CDATA #REQUIRED |
| divisor %Number; #IMPLIED |
| targetX %Integer; #IMPLIED |
| targetY %Integer; #IMPLIED |
| edgeMode (duplicate|wrap|none) "duplicate" |
| kernelUnitLength CDATA #IMPLIED > |
| |
| <!ELEMENT feDiffuseLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) > |
| <!ATTLIST feDiffuseLighting |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| resultScale %Number; #IMPLIED |
| surfaceScale %Number; #IMPLIED |
| diffuseConstant %Number; #IMPLIED |
| lightColor %SVGColor; #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 > |
| |
| <!ELEMENT feDisplacementMap (animate|set)* > |
| <!ATTLIST feDisplacementMap |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| scale %Number; #IMPLIED |
| xChannelSelector (R | G | B | A) "A" |
| yChannelSelector (R | G | B | A) "A" |
| in2 CDATA #REQUIRED > |
| |
| <!ELEMENT feFlood (animate|set|animateColor)* > |
| <!ATTLIST feFlood |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| style %StyleSheet; #IMPLIED |
| %ExchangeSVG-feFloodAttrs; > |
| |
| <!ELEMENT feGaussianBlur (animate|set)* > |
| <!ATTLIST feGaussianBlur |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| stdDeviation CDATA #IMPLIED > |
| |
| <!ELEMENT feImage (animate|set|animateTransform)* > |
| <!ATTLIST feImage |
| %stdAttrs; |
| %langSpaceAttrs; |
| class %ClassList; #IMPLIED |
| transform %TransformList; #IMPLIED |
| externalResourcesRequired %Boolean; #IMPLIED |
| %xlinkRefAttrs; |
| xlink:href %URI; #REQUIRED |
| %StylableSVG-StyleAttribute; |
| %ExchangeSVG-ContainerAttrs; |
| %ExchangeSVG-FillStrokeAttrs; |
| %ExchangeSVG-GradientAttrs; |
| %ExchangeSVG-GraphicsAttrs; |
| %ExchangeSVG-MarkerAttrs; |
| %ExchangeSVG-TextContainerAttrs; |
| %ExchangeSVG-TextElementAttrs; |
| %ExchangeSVG-ViewportAttrs; |
| %filter_primitive_attributes; > |
| |
| <!ELEMENT feMerge (feMergeNode)* > |
| <!ATTLIST feMerge |
| %stdAttrs; |
| %filter_primitive_attributes; > |
| |
| <!ELEMENT feMergeNode (animate|set)* > |
| <!ATTLIST feMergeNode |
| %stdAttrs; |
| in CDATA #IMPLIED > |
| |
| <!ELEMENT feMorphology (animate|set)* > |
| <!ATTLIST feMorphology |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| operator (erode | dilate) "erode" |
| radius %Length; #IMPLIED > |
| |
| <!ELEMENT feOffset (animate|set)* > |
| <!ATTLIST feOffset |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| dx %Length; #IMPLIED |
| dy %Length; #IMPLIED > |
| |
| <!ELEMENT feSpecularLighting ((feDistantLight|fePointLight|feSpotLight),(animate|set|animateColor)*) > |
| <!ATTLIST feSpecularLighting |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; |
| surfaceScale %Number; #IMPLIED |
| specularConstant %Number; #IMPLIED |
| specularExponent %Number; #IMPLIED |
| lightColor %SVGColor; #IMPLIED > |
| |
| <!ELEMENT feTile (animate|set)* > |
| <!ATTLIST feTile |
| %stdAttrs; |
| %filter_primitive_attributes_with_in; > |
| |
| <!ELEMENT feTurbulence (animate|set)* > |
| <!ATTLIST feTurbulence |
| %stdAttrs; |
| %filter_primitive_attributes; |
| baseFrequency CDATA #IMPLIED |
| numOctaves %Integer; #IMPLIED |
| seed %Number; #IMPLIED |
| stitchTiles (stitch | noStitch) "noStitch" |
| type (fractalNoise | turbulence) "turbulence" > |
| |