blob: ce66dfba79c0f10a747545928eb56bfe27602a82 [file] [log] [blame]
<!--
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" >