Commit d5c659a5 authored by Eric Domke's avatar Eric Domke
Browse files

Refactoring while working through W3C tests

- Adding W3C test cases and a test fixture
- Fixed support for CSS stylesheets (particularly when class names are
referenced)
- Refactoring unit calculations so that percentages and fractions
calculate more accurately
- SvgImage:
- Support PreserveAspectRatio attribute
- Support for referencing svg images
- Refactored text rendering to use the AttributeCollection inheritance
scheme
- Initial attempt at 'ex' unit support
- Added support for system color names
- Changed parsing of entities to support XML entities
- Supporting loading of a svg document directly from a XmlDocument with
requiring serializing the document as a string first.
- ...
parent 3aedd8e8
PNG

IHDR )IDATx]
0 P*@#
#T10lPF`ؠF=IQ*u`%qk
H񚈩mߟ э=,fOK
t(F ;P{xp]9/p*$(*yՃ@C  cqNU#)11.rf0gh(tEkIENDB`
\ No newline at end of file
<!-- =====================================================================
This is the DTD for SVG 1.1.
The specification for SVG that corresponds to this DTD is available at:
http://www.w3.org/TR/2002/WD-SVG11-20020215/
Copyright (c) 2002 W3C (MIT, INRIA, Keio), All Rights Reserved.
For SVG 1.1:
Namespace:
http://www.w3.org/2000/svg
Public identifier:
PUBLIC "-//W3C//DTD SVG 1.1//EN"
URI for the DTD:
http://www.w3.org/TR/2002/WD-SVG11-20020215/DTD/svg11.dtd
============================================================================= -->
<!-- ==============================================================
ENTITY DECLARATIONS: Data types
============================================================== -->
<!ENTITY % BaselineShiftValue "CDATA">
<!-- 'baseline-shift' property/attribute value (e.g., 'baseline', 'sub', etc.) -->
<!ENTITY % Boolean "(false | true)">
<!-- feature specification -->
<!ENTITY % ClassList "CDATA">
<!-- list of classes -->
<!ENTITY % ClipValue "CDATA">
<!-- 'clip' property/attribute value (e.g., 'auto', rect(...)) -->
<!ENTITY % ClipPathValue "CDATA">
<!-- 'clip-path' property/attribute value (e.g., 'none', %URI;) -->
<!ENTITY % ClipFillRule "(nonzero | evenodd | inherit)">
<!-- 'clip-rule' or fill-rule property/attribute value -->
<!ENTITY % ContentType "CDATA">
<!-- media type, as per [RFC2045] -->
<!ENTITY % Coordinate "CDATA">
<!-- a <coordinate> -->
<!ENTITY % Coordinates "CDATA">
<!-- a list of <coordinate>s -->
<!ENTITY % Color "CDATA">
<!-- a <color> value -->
<!ENTITY % CursorValue "CDATA">
<!-- 'cursor' property/attribute value (e.g., 'crosshair', %URI;) -->
<!ENTITY % EnableBackgroundValue "CDATA">
<!-- 'enable-background' property/attribute value (e.g., 'new', 'accumulate') -->
<!ENTITY % ExtensionList "CDATA">
<!-- extension list specification -->
<!ENTITY % FeatureList "CDATA">
<!-- feature list specification -->
<!ENTITY % FilterValue "CDATA">
<!-- 'filter' property/attribute value (e.g., 'none', %URI;) -->
<!ENTITY % FontFamilyValue "CDATA">
<!-- 'font-family' property/attribute value (i.e., list of fonts) -->
<!ENTITY % FontSizeValue "CDATA">
<!-- 'font-size' property/attribute value -->
<!ENTITY % FontSizeAdjustValue "CDATA">
<!-- 'font-size-adjust' property/attribute value -->
<!ENTITY % GlyphOrientationHorizontalValue "CDATA">
<!-- 'glyph-orientation-horizontal' property/attribute value (e.g., <angle>) -->
<!ENTITY % GlyphOrientationVerticalValue "CDATA">
<!-- 'glyph-orientation-vertical' property/attribute value (e.g., 'auto', <angle>) -->
<!ENTITY % Integer "CDATA">
<!-- a <integer> -->
<!ENTITY % KerningValue "CDATA">
<!-- 'kerning' property/attribute value (e.g., auto | <length>) -->
<!ENTITY % LanguageCode "NMTOKEN">
<!-- a language code, as per [RFC3066] -->
<!ENTITY % LanguageCodes "CDATA">
<!-- comma-separated list of language codes, as per [RFC3066] -->
<!ENTITY % Length "CDATA">
<!-- a <length> -->
<!ENTITY % Lengths "CDATA">
<!-- a list of <length>s -->
<!ENTITY % LinkTarget "NMTOKEN">
<!-- link to this target -->
<!ENTITY % MarkerValue "CDATA">
<!-- 'marker' property/attribute value (e.g., 'none', %URI;) -->
<!ENTITY % MaskValue "CDATA">
<!-- 'mask' property/attribute value (e.g., 'none', %URI;) -->
<!ENTITY % MediaDesc "CDATA">
<!-- comma-separated list of media descriptors. -->
<!ENTITY % Number "CDATA">
<!-- a <number> -->
<!ENTITY % NumberOptionalNumber "CDATA">
<!-- list of <number>s, but at least one and at most two -->
<!ENTITY % NumberOrPercentage "CDATA">
<!-- a <number> or a <percentage> -->
<!ENTITY % Numbers "CDATA">
<!-- a list of <number>s -->
<!ENTITY % OpacityValue "CDATA">
<!-- opacity value (e.g., <number>) -->
<!ENTITY % Paint "CDATA">
<!-- a 'fill' or 'stroke' property/attribute value: <paint> -->
<!ENTITY % PathData "CDATA">
<!-- a path data specification -->
<!ENTITY % Points "CDATA">
<!-- a list of points -->
<!ENTITY % PreserveAspectRatioSpec "CDATA">
<!-- 'preserveAspectRatio' attribute specification -->
<!ENTITY % Script "CDATA">
<!-- script expression -->
<!ENTITY % SpacingValue "CDATA">
<!-- 'letter-spacing' or 'word-spacing' property/attribute value (e.g., normal | <length>) -->
<!ENTITY % StrokeDashArrayValue "CDATA">
<!-- 'stroke-dasharray' property/attribute value (e.g., 'none', list of <number>s) -->
<!ENTITY % StrokeDashOffsetValue "CDATA">
<!-- 'stroke-dashoffset' property/attribute value (e.g., 'none', <legnth>) -->
<!ENTITY % StrokeMiterLimitValue "CDATA">
<!-- 'stroke-miterlimit' property/attribute value (e.g., <number>) -->
<!ENTITY % StrokeWidthValue "CDATA">
<!-- 'stroke-width' property/attribute value (e.g., <length>) -->
<!ENTITY % StructuredText "content CDATA #FIXED 'structured text'">
<!ENTITY % StyleSheet "CDATA">
<!-- style sheet data -->
<!ENTITY % SVGColor "CDATA">
<!-- An SVG color value (RGB plus optional ICC) -->
<!ENTITY % Text "CDATA">
<!-- arbitrary text string -->
<!ENTITY % TextDecorationValue "CDATA">
<!-- 'text-decoration' property/attribute value (e.g., 'none', 'underline') -->
<!ENTITY % TransformList "CDATA">
<!-- list of transforms -->
<!ENTITY % URI "CDATA">
<!-- a Uniform Resource Identifier, see [URI] -->
<!ENTITY % ViewBoxSpec "CDATA">
<!-- 'viewBox' attribute specification -->
<!-- ==============================================================
ENTITY DECLARATIONS: Collections of common attributes
============================================================== -->
<!-- All elements have an ID. -->
<!ENTITY % stdAttrs "id ID #IMPLIED
xml:base %URI; #IMPLIED">
<!-- Common attributes for elements that might contain character data content. -->
<!ENTITY % langSpaceAttrs "xml:lang %LanguageCode; #IMPLIED
xml:space (default|preserve) #IMPLIED">
<!-- Common attributes to check for system capabilities. -->
<!ENTITY % testAttrs "requiredFeatures %FeatureList; #IMPLIED
requiredExtensions %ExtensionList; #IMPLIED
systemLanguage %LanguageCodes; #IMPLIED">
<!-- For most uses of URI referencing:
standard XLink attributes other than xlink:href. -->
<!ENTITY % xlinkRefAttrs "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
xlink:type (simple) #FIXED 'simple'
xlink:role %URI; #IMPLIED
xlink:arcrole %URI; #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (other) 'other'
xlink:actuate (onLoad) #FIXED 'onLoad'">
<!-- Standard XLink attributes for uses of URI referencing where xlink:show is 'embed' -->
<!ENTITY % xlinkRefAttrsEmbed "xmlns:xlink CDATA #FIXED 'http://www.w3.org/1999/xlink'
xlink:type (simple) #FIXED 'simple'
xlink:role %URI; #IMPLIED
xlink:arcrole %URI; #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (embed) 'embed'
xlink:actuate (onLoad) #FIXED 'onLoad'">
<!ENTITY % graphicsElementEvents "onfocusin %Script; #IMPLIED
onfocusout %Script; #IMPLIED
onactivate %Script; #IMPLIED
onclick %Script; #IMPLIED
onmousedown %Script; #IMPLIED
onmouseup %Script; #IMPLIED
onmouseover %Script; #IMPLIED
onmousemove %Script; #IMPLIED
onmouseout %Script; #IMPLIED
onload %Script; #IMPLIED">
<!ENTITY % documentEvents "onunload %Script; #IMPLIED
onabort %Script; #IMPLIED
onerror %Script; #IMPLIED
onresize %Script; #IMPLIED
onscroll %Script; #IMPLIED
onzoom %Script; #IMPLIED">
<!ENTITY % animationEvents "onbegin %Script; #IMPLIED
onend %Script; #IMPLIED
onrepeat %Script; #IMPLIED">
<!-- This entity allows for at most one of desc, title and metadata,
supplied in any order -->
<!ENTITY % descTitleMetadata "(((desc,((title,metadata?)|(metadata,title?))?)|
(title,((desc,metadata?)|(metadata,desc?))?)|
(metadata,((desc,title?)|(title,desc?))?))?)">
<!-- ==============================================================
ENTITY DECLARATIONS: Collections of presentation attributes
============================================================== -->
<!-- The following presentation attributes have to do with specifying color. -->
<!ENTITY % PresentationAttributes-Color "color %Color; #IMPLIED
color-interpolation (auto | sRGB | linearRGB | inherit) #IMPLIED
color-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED ">
<!-- The following presentation attributes apply to container elements. -->
<!ENTITY % PresentationAttributes-Containers "enable-background %EnableBackgroundValue; #IMPLIED ">
<!-- The following presentation attributes apply to 'feFlood' elements. -->
<!ENTITY % PresentationAttributes-feFlood "flood-color %SVGColor; #IMPLIED
flood-opacity %OpacityValue; #IMPLIED ">
<!-- The following presentation attributes apply to filling and stroking operations. -->
<!ENTITY % PresentationAttributes-FillStroke "fill %Paint; #IMPLIED
fill-opacity %OpacityValue; #IMPLIED
fill-rule %ClipFillRule; #IMPLIED
stroke %Paint; #IMPLIED
stroke-dasharray %StrokeDashArrayValue; #IMPLIED
stroke-dashoffset %StrokeDashOffsetValue; #IMPLIED
stroke-linecap (butt | round | square | inherit) #IMPLIED
stroke-linejoin (miter | round | bevel | inherit) #IMPLIED
stroke-miterlimit %StrokeMiterLimitValue; #IMPLIED
stroke-opacity %OpacityValue; #IMPLIED
stroke-width %StrokeWidthValue; #IMPLIED ">
<!-- The following presentation attributes apply to filter primitives. -->
<!ENTITY % PresentationAttributes-FilterPrimitives "color-interpolation-filters (auto | sRGB | linearRGB | inherit) #IMPLIED ">
<!-- The following presentation attributes have to do with selecting a font to use. -->
<!ENTITY % PresentationAttributes-FontSpecification "font-family %FontFamilyValue; #IMPLIED
font-size %FontSizeValue; #IMPLIED
font-size-adjust %FontSizeAdjustValue; #IMPLIED
font-stretch (normal | wider | narrower | ultra-condensed | extra-condensed |
condensed | semi-condensed | semi-expanded | expanded |
extra-expanded | ultra-expanded | inherit) #IMPLIED
font-style (normal | italic | oblique | inherit) #IMPLIED
font-variant (normal | small-caps | inherit) #IMPLIED
font-weight (normal | bold | bolder | lighter | 100 | 200 | 300 |
400 | 500 | 600 | 700 | 800 | 900 | inherit) #IMPLIED ">
<!-- The following presentation attributes apply to gradient 'stop' elements. -->
<!ENTITY % PresentationAttributes-Gradients "stop-color %SVGColor; #IMPLIED
stop-opacity %OpacityValue; #IMPLIED ">
<!-- The following presentation attributes apply to 'solid-color' elements. -->
<!ENTITY % PresentationAttributes-SolidColor "solid-color %SVGColor; #IMPLIED
solid-opacity %OpacityValue; #IMPLIED ">
<!-- The following presentation attributes apply to graphics elements. -->
<!ENTITY % PresentationAttributes-Graphics "clip-path %ClipPathValue; #IMPLIED
clip-rule %ClipFillRule; #IMPLIED
cursor %CursorValue; #IMPLIED
display (inline | block | list-item | run-in | compact | marker |
table | inline-table | table-row-group | table-header-group |
table-footer-group | table-row | table-column-group | table-column |
table-cell | table-caption | none | inherit) #IMPLIED
filter %FilterValue; #IMPLIED
image-rendering (auto | optimizeSpeed | optimizeQuality | inherit) #IMPLIED
mask %MaskValue; #IMPLIED
opacity %OpacityValue; #IMPLIED
pointer-events (visiblePainted | visibleFill | visibleStroke | visible |
painted | fill | stroke | all | none | inherit) #IMPLIED
shape-rendering (auto | optimizeSpeed | crispEdges | geometricPrecision | inherit) #IMPLIED
text-rendering (auto | optimizeSpeed | optimizeLegibility | geometricPrecision | inherit) #IMPLIED
visibility (visible | hidden | inherit) #IMPLIED ">
<!-- The following presentation attributes apply to 'image' elements. -->
<!ENTITY % PresentationAttributes-Images "color-profile CDATA #IMPLIED ">
<!--The following presentation attributes apply to 'feDiffuseLighting' and 'feSpecularLighting' elements. -->
<!ENTITY % PresentationAttributes-LightingEffects "lighting-color %SVGColor; #IMPLIED ">
<!-- The following presentation attributes apply to marker operations. -->
<!ENTITY % PresentationAttributes-Markers "marker-start %MarkerValue; #IMPLIED
marker-mid %MarkerValue; #IMPLIED
marker-end %MarkerValue; #IMPLIED ">
<!-- The following presentation attributes apply to text content elements. -->
<!ENTITY % PresentationAttributes-TextContentElements "alignment-baseline (baseline | top | before-edge | text-top | text-before-edge |
middle | bottom | after-edge | text-bottom | text-after-edge |
ideographic | lower | hanging | mathematical | inherit) #IMPLIED
baseline-shift %BaselineShiftValue; #IMPLIED
direction (ltr | rtl | inherit) #IMPLIED
dominant-baseline (auto | autosense-script | no-change | reset|
ideographic | lower | hanging | mathematical | inherit ) #IMPLIED
glyph-orientation-horizontal %GlyphOrientationHorizontalValue; #IMPLIED
glyph-orientation-vertical %GlyphOrientationVerticalValue; #IMPLIED
kerning %KerningValue; #IMPLIED
letter-spacing %SpacingValue; #IMPLIED
text-anchor (start | middle | end | inherit) #IMPLIED
text-decoration %TextDecorationValue; #IMPLIED
unicode-bidi (normal | embed | bidi-override | inherit) #IMPLIED
word-spacing %SpacingValue; #IMPLIED ">
<!-- The following presentation attributes apply to 'text' elements. -->
<!ENTITY % PresentationAttributes-TextElements "writing-mode (lr-tb | rl-tb | tb-rl | lr | rl | tb | inherit) #IMPLIED ">
<!-- The following presentation attributes apply to elements that establish viewports. -->
<!ENTITY % PresentationAttributes-Viewports "clip %ClipValue; #IMPLIED
overflow (visible | hidden | scroll | auto | inherit) #IMPLIED ">
<!--The following represents the complete list of presentation attributes. -->
<!ENTITY % PresentationAttributes-All "%PresentationAttributes-Color;
%PresentationAttributes-Containers;
%PresentationAttributes-feFlood;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FilterPrimitives;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Gradients;
%PresentationAttributes-Graphics;
%PresentationAttributes-Images;
%PresentationAttributes-LightingEffects;
%PresentationAttributes-Markers;
%PresentationAttributes-TextContentElements;
%PresentationAttributes-TextElements;
%PresentationAttributes-Viewports;">
<!-- ==============================================================
ENTITY DECLARATIONS: DTD extensions
============================================================== -->
<!-- Allow for extending the DTD with internal subset for
container and graphics elements -->
<!ENTITY % ceExt "">
<!ENTITY % geExt "">
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Document Structure
============================================================== -->
<!ENTITY % svgExt "">
<!ELEMENT svg (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%svgExt;)* >
<!ATTLIST svg
xmlns CDATA #FIXED "http://www.w3.org/2000/svg"
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
zoomAndPan (disable | magnify) "magnify"
%graphicsElementEvents;
%documentEvents;
version %Number; #FIXED "1.0"
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
contentScriptType %ContentType; "text/ecmascript"
contentStyleType %ContentType; "text/css"
>
<!ENTITY % gExt "">
<!ELEMENT g (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%gExt;)* >
<!ATTLIST g
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
>
<!ENTITY % defsExt "">
<!ELEMENT defs (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%defsExt;)* >
<!ATTLIST defs
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
>
<!ENTITY % descExt "">
<!ELEMENT desc (#PCDATA %descExt;)* >
<!ATTLIST desc
%stdAttrs;
%langSpaceAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%StructuredText;
>
<!ENTITY % titleExt "">
<!ELEMENT title (#PCDATA %titleExt;)* >
<!ATTLIST title
%stdAttrs;
%langSpaceAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%StructuredText;
>
<!ENTITY % symbolExt "">
<!ELEMENT symbol (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%symbolExt;)* >
<!ATTLIST symbol
%stdAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
%graphicsElementEvents;
>
<!ENTITY % useExt "">
<!ELEMENT use (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%useExt;)*) >
<!ATTLIST use
%stdAttrs;
%xlinkRefAttrsEmbed;
xlink:href %URI; #REQUIRED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
>
<!ENTITY % imageExt "">
<!ELEMENT image (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%imageExt;)*) >
<!ATTLIST image
%stdAttrs;
%xlinkRefAttrsEmbed;
xlink:href %URI; #REQUIRED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-Graphics;
%PresentationAttributes-Images;
%PresentationAttributes-Viewports;
transform %TransformList; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
%graphicsElementEvents;
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #REQUIRED
height %Length; #REQUIRED
>
<!ENTITY % switchExt "">
<!ELEMENT switch (%descTitleMetadata;,
(path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|switch|a|foreignObject|
animate|set|animateMotion|animateColor|animateTransform
%ceExt;%switchExt;)*) >
<!ATTLIST switch
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Styling
============================================================== -->
<!ELEMENT style (#PCDATA)>
<!ATTLIST style
%stdAttrs;
xml:space (preserve) #FIXED "preserve"
type %ContentType; #REQUIRED
media %MediaDesc; #IMPLIED
title %Text; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Paths
============================================================== -->
<!ENTITY % pathExt "">
<!ELEMENT path (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%pathExt;)*) >
<!ATTLIST path
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
%PresentationAttributes-Markers;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
d %PathData; #REQUIRED
pathLength %Number; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Basic Shapes
============================================================== -->
<!ENTITY % rectExt "">
<!ELEMENT rect (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%rectExt;)*) >
<!ATTLIST rect
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #REQUIRED
height %Length; #REQUIRED
rx %Length; #IMPLIED
ry %Length; #IMPLIED
>
<!ENTITY % circleExt "">
<!ELEMENT circle (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%circleExt;)*) >
<!ATTLIST circle
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
cx %Coordinate; #IMPLIED
cy %Coordinate; #IMPLIED
r %Length; #REQUIRED
>
<!ENTITY % ellipseExt "">
<!ELEMENT ellipse (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%ellipseExt;)*) >
<!ATTLIST ellipse
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
cx %Coordinate; #IMPLIED
cy %Coordinate; #IMPLIED
rx %Length; #REQUIRED
ry %Length; #REQUIRED
>
<!ENTITY % lineExt "">
<!ELEMENT line (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%lineExt;)*) >
<!ATTLIST line
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
%PresentationAttributes-Markers;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
x1 %Coordinate; #IMPLIED
y1 %Coordinate; #IMPLIED
x2 %Coordinate; #IMPLIED
y2 %Coordinate; #IMPLIED
>
<!ENTITY % polylineExt "">
<!ELEMENT polyline (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%polylineExt;)*) >
<!ATTLIST polyline
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
%PresentationAttributes-Markers;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
points %Points; #REQUIRED
>
<!ENTITY % polygonExt "">
<!ELEMENT polygon (%descTitleMetadata;,(animate|set|animateMotion|animateColor|animateTransform
%geExt;%polygonExt;)*) >
<!ATTLIST polygon
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-Graphics;
%PresentationAttributes-Markers;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
points %Points; #REQUIRED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Text
============================================================== -->
<!ENTITY % textExt "">
<!ELEMENT text (#PCDATA|desc|title|metadata|
tspan|tref|textPath|altGlyph|a|animate|set|
animateMotion|animateColor|animateTransform
%geExt;%textExt;)* >
<!ATTLIST text
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%PresentationAttributes-TextElements;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
x %Coordinates; #IMPLIED
y %Coordinates; #IMPLIED
dx %Lengths; #IMPLIED
dy %Lengths; #IMPLIED
rotate %Numbers; #IMPLIED
textLength %Length; #IMPLIED
lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
>
<!ENTITY % tspanExt "">
<!ELEMENT tspan (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
%tspanExt;)* >
<!ATTLIST tspan
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
x %Coordinates; #IMPLIED
y %Coordinates; #IMPLIED
dx %Lengths; #IMPLIED
dy %Lengths; #IMPLIED
rotate %Numbers; #IMPLIED
textLength %Length; #IMPLIED
lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
>
<!ENTITY % trefExt "">
<!ELEMENT tref (desc|title|metadata|animate|set|animateColor
%trefExt;)* >
<!ATTLIST tref
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
x %Coordinates; #IMPLIED
y %Coordinates; #IMPLIED
dx %Lengths; #IMPLIED
dy %Lengths; #IMPLIED
rotate %Numbers; #IMPLIED
textLength %Length; #IMPLIED
lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
>
<!ENTITY % divExt "">
<!--ELEMENT div (#PCDATA | region | div | p | span | animate | set | animateMotion | animateColor | animateTransform | %divExt;)*-->
<!ELEMENT div (#PCDATA | region | div | p | span | animate | set | animateMotion | animateColor | animateTransform %ceExt;%divExt;)*>
<!ATTLIST div
%stdAttrs;
%langSpaceAttrs;
%testAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
spacing (auto | exact) #IMPLIED
>
<!ENTITY % pExt "">
<!--ELEMENT p (#PCDATA | p | div | span | animate | set | animateMotion | animateColor | animateTransform | %pExt;)*-->
<!ELEMENT p (#PCDATA | p | div | span | animate | set | animateMotion | animateColor | animateTransform %ceExt;%pExt;)*>
<!ATTLIST p
%stdAttrs;
%langSpaceAttrs;
%testAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
>
<!ENTITY % spanExt "">
<!ELEMENT span (#PCDATA | animate | set | animateMotion | animateColor | animateTransform %ceExt;%spanExt;)*>
<!--ELEMENT span (#PCDATA | animate | set | animateMotion | animateColor | animateTransform | %spanExt;)*-->
<!ATTLIST span
%stdAttrs;
%langSpaceAttrs;
%testAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
>
<!ENTITY % regionExt "">
<!--ELEMENT region (rect | use | %regionExt;)*-->
<!ELEMENT region (rect | use %ceExt;%regionExt;)*>
<!ATTLIST region
%stdAttrs;
%langSpaceAttrs;
%testAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
%graphicsElementEvents;
>
<!ENTITY % brExt "">
<!-- dont think this can be extended from EMPTY to having coontent
<!ELEMENT br (%ceExt;%brExt;)*-->
<!ELEMENT br EMPTY >
<!ATTLIST br
%stdAttrs;
%testAttrs;
>
<!ENTITY % textPathExt "">
<!ELEMENT textPath (#PCDATA|desc|title|metadata|tspan|tref|altGlyph|a|animate|set|animateColor
%textPathExt;)* >
<!ATTLIST textPath
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
%langSpaceAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
startOffset %Length; #IMPLIED
textLength %Length; #IMPLIED
lengthAdjust (spacing | spacingAndGlyphs) #IMPLIED
method (align | stretch) #IMPLIED
spacing (auto | exact) #IMPLIED
>
<!ENTITY % altGlyphExt "">
<!ELEMENT altGlyph (#PCDATA %altGlyphExt;)* >
<!ATTLIST altGlyph
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
glyphRef CDATA #IMPLIED
format CDATA #IMPLIED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%graphicsElementEvents;
x %Coordinates; #IMPLIED
y %Coordinates; #IMPLIED
dx %Lengths; #IMPLIED
dy %Lengths; #IMPLIED
rotate %Numbers; #IMPLIED
>
<!ENTITY % altGlyphDefExt "">
<!ELEMENT altGlyphDef ((glyphRef+|altGlyphItem+) %altGlyphDefExt;) >
<!ATTLIST altGlyphDef
%stdAttrs;
>
<!ENTITY % altGlyphItemExt "">
<!ELEMENT altGlyphItem (glyphRef+ %altGlyphItemExt;) >
<!ATTLIST altGlyphItem
%stdAttrs;
>
<!ELEMENT glyphRef EMPTY>
<!ATTLIST glyphRef
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-FontSpecification;
glyphRef CDATA #IMPLIED
format CDATA #IMPLIED
x %Number; #IMPLIED
y %Number; #IMPLIED
dx %Number; #IMPLIED
dy %Number; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Painting: Filling, Stroking and Marker Symbols
============================================================== -->
<!ENTITY % markerExt "">
<!ELEMENT marker (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%markerExt;)* >
<!ATTLIST marker
%stdAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
refX %Coordinate; #IMPLIED
refY %Coordinate; #IMPLIED
markerUnits (strokeWidth | userSpaceOnUse) #IMPLIED
markerWidth %Length; #IMPLIED
markerHeight %Length; #IMPLIED
orient CDATA #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Color
============================================================== -->
<!ELEMENT color-profile (%descTitleMetadata;)>
<!ATTLIST color-profile
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
local CDATA #IMPLIED
name CDATA #REQUIRED
rendering-intent (auto | perceptual | relative-colorimetric | saturation | absolute-colorimetric) "auto"
>
<!ENTITY % solidColorExt "">
<!--ELEMENT solidColor (%descTitleMetadata;, (stop | animate | set | animateTransform | animateColor | animateMotion | %solidExt;)*)-->
<!ELEMENT solidColor (%descTitleMetadata;, (stop | animate | set | animateTransform | animateColor | animateMotion %ceExt;%solidColorExt;)*)>
<!ATTLIST solidColor
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-SolidColor;
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Gradients and Patterns
============================================================== -->
<!ENTITY % linearGradientExt "">
<!ELEMENT linearGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
%linearGradientExt;)*) >
<!ATTLIST linearGradient
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-Gradients;
gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
gradientTransform %TransformList; #IMPLIED
x1 %Coordinate; #IMPLIED
y1 %Coordinate; #IMPLIED
x2 %Coordinate; #IMPLIED
y2 %Coordinate; #IMPLIED
spreadMethod (pad | reflect | repeat) #IMPLIED
>
<!ENTITY % radialGradientExt "">
<!ELEMENT radialGradient (%descTitleMetadata;,(stop|animate|set|animateTransform
%radialGradientExt;)*) >
<!ATTLIST radialGradient
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-Gradients;
gradientUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
gradientTransform %TransformList; #IMPLIED
cx %Coordinate; #IMPLIED
cy %Coordinate; #IMPLIED
r %Length; #IMPLIED
fx %Coordinate; #IMPLIED
fy %Coordinate; #IMPLIED
spreadMethod (pad | reflect | repeat) #IMPLIED
>
<!ENTITY % stopExt "">
<!ELEMENT stop (animate|set|animateColor
%stopExt;)* >
<!ATTLIST stop
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-Gradients;
offset %NumberOrPercentage; #REQUIRED
>
<!ENTITY % patternExt "">
<!ELEMENT pattern (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%patternExt;)* >
<!ATTLIST pattern
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
patternUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
patternContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
patternTransform %TransformList; #IMPLIED
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Clipping, Masking and Compositing
============================================================== -->
<!ENTITY % clipPathExt "">
<!ELEMENT clipPath (%descTitleMetadata;,
(path|text|rect|circle|ellipse|line|polyline|polygon|
use|animate|set|animateMotion|animateColor|animateTransform
%ceExt;%clipPathExt;)*) >
<!ATTLIST clipPath
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FillStroke;
%PresentationAttributes-FontSpecification;
%PresentationAttributes-Graphics;
%PresentationAttributes-TextContentElements;
%PresentationAttributes-TextElements;
transform %TransformList; #IMPLIED
clipPathUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
>
<!ENTITY % maskExt "">
<!ELEMENT mask (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%maskExt;)* >
<!ATTLIST mask
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
maskUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
maskContentUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Filter Effects
============================================================== -->
<!ENTITY % filterExt "">
<!ELEMENT filter (%descTitleMetadata;,(feBlend|feFlood|
feColorMatrix|feComponentTransfer|
feComposite|feConvolveMatrix|feDiffuseLighting|feDisplacementMap|
feGaussianBlur|feImage|feMerge|
feMorphology|feOffset|feSpecularLighting|
feTile|feTurbulence|
animate|set
%filterExt;)*) >
<!ATTLIST filter
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
filterUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
primitiveUnits (userSpaceOnUse | objectBoundingBox) #IMPLIED
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
filterRes %NumberOptionalNumber; #IMPLIED
>
<!ENTITY % filter_primitive_attributes "x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #IMPLIED
height %Length; #IMPLIED
result CDATA #IMPLIED">
<!ENTITY % filter_primitive_attributes_with_in "%filter_primitive_attributes;
in CDATA #IMPLIED">
<!ELEMENT feDistantLight (animate | set)*>
<!ATTLIST feDistantLight
%stdAttrs;
azimuth %Number; #IMPLIED
elevation %Number; #IMPLIED
>
<!ELEMENT fePointLight (animate | set)*>
<!ATTLIST fePointLight
%stdAttrs;
x %Number; #IMPLIED
y %Number; #IMPLIED
z %Number; #IMPLIED
>
<!ELEMENT feSpotLight (animate | set)*>
<!ATTLIST feSpotLight
%stdAttrs;
x %Number; #IMPLIED
y %Number; #IMPLIED
z %Number; #IMPLIED
pointsAtX %Number; #IMPLIED
pointsAtY %Number; #IMPLIED
pointsAtZ %Number; #IMPLIED
specularExponent %Number; #IMPLIED
limitingConeAngle %Number; #IMPLIED
>
<!ELEMENT feBlend (animate | set)*>
<!ATTLIST feBlend
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
in2 CDATA #REQUIRED
mode (normal | multiply | screen | darken | lighten) "normal"
>
<!ELEMENT feColorMatrix (animate | set)*>
<!ATTLIST feColorMatrix
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
type (matrix | saturate | hueRotate | luminanceToAlpha) "matrix"
values CDATA #IMPLIED
>
<!ELEMENT feComponentTransfer (feFuncR?, feFuncG?, feFuncB?, feFuncA?)>
<!ATTLIST feComponentTransfer
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
>
<!ENTITY % component_transfer_function_attributes "type (identity | table | discrete | linear | gamma) #REQUIRED
tableValues CDATA #IMPLIED
slope %Number; #IMPLIED
intercept %Number; #IMPLIED
amplitude %Number; #IMPLIED
exponent %Number; #IMPLIED
offset %Number; #IMPLIED">
<!ELEMENT feFuncR (animate | set)*>
<!ATTLIST feFuncR
%stdAttrs;
%component_transfer_function_attributes;
>
<!ELEMENT feFuncG (animate | set)*>
<!ATTLIST feFuncG
%stdAttrs;
%component_transfer_function_attributes;
>
<!ELEMENT feFuncB (animate | set)*>
<!ATTLIST feFuncB
%stdAttrs;
%component_transfer_function_attributes;
>
<!ELEMENT feFuncA (animate | set)*>
<!ATTLIST feFuncA
%stdAttrs;
%component_transfer_function_attributes;
>
<!ELEMENT feComposite (animate | set)*>
<!ATTLIST feComposite
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
in2 CDATA #REQUIRED
operator (over | in | out | atop | xor | arithmetic) "over"
k1 %Number; #IMPLIED
k2 %Number; #IMPLIED
k3 %Number; #IMPLIED
k4 %Number; #IMPLIED
>
<!ELEMENT feConvolveMatrix (animate | set)*>
<!ATTLIST feConvolveMatrix
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
order %NumberOptionalNumber; #REQUIRED
kernelMatrix CDATA #REQUIRED
divisor %Number; #IMPLIED
bias %Number; #IMPLIED
targetX %Integer; #IMPLIED
targetY %Integer; #IMPLIED
edgeMode (duplicate | wrap | none) "duplicate"
kernelUnitLength %NumberOptionalNumber; #IMPLIED
preserveAlpha %Boolean; #IMPLIED
>
<!ELEMENT feDiffuseLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)>
<!ATTLIST feDiffuseLighting
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FilterPrimitives;
%PresentationAttributes-LightingEffects;
%filter_primitive_attributes_with_in;
surfaceScale %Number; #IMPLIED
diffuseConstant %Number; #IMPLIED
kernelUnitLength %NumberOptionalNumber; #IMPLIED
>
<!ELEMENT feDisplacementMap (animate | set)*>
<!ATTLIST feDisplacementMap
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
in2 CDATA #REQUIRED
scale %Number; #IMPLIED
xChannelSelector (R | G | B | A) "A"
yChannelSelector (R | G | B | A) "A"
>
<!ELEMENT feFlood (animate | set | animateColor)*>
<!ATTLIST feFlood
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-feFlood;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
>
<!ELEMENT feGaussianBlur (animate | set)*>
<!ATTLIST feGaussianBlur
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
stdDeviation %NumberOptionalNumber; #IMPLIED
>
<!ELEMENT feImage (animate | set | animateTransform)*>
<!ATTLIST feImage
%stdAttrs;
%xlinkRefAttrsEmbed;
xlink:href %URI; #REQUIRED
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%filter_primitive_attributes;
%PresentationAttributes-All;
>
<!ELEMENT feMerge (feMergeNode)*>
<!ATTLIST feMerge
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes;
>
<!ELEMENT feMergeNode (animate | set)*>
<!ATTLIST feMergeNode
%stdAttrs;
in CDATA #IMPLIED
>
<!ELEMENT feMorphology (animate | set)*>
<!ATTLIST feMorphology
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
operator (erode | dilate) "erode"
radius %NumberOptionalNumber; #IMPLIED
>
<!ELEMENT feOffset (animate | set)*>
<!ATTLIST feOffset
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
dx %Number; #IMPLIED
dy %Number; #IMPLIED
>
<!ELEMENT feSpecularLighting ((feDistantLight | fePointLight | feSpotLight), (animate | set | animateColor)*)>
<!ATTLIST feSpecularLighting
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-Color;
%PresentationAttributes-FilterPrimitives;
%PresentationAttributes-LightingEffects;
%filter_primitive_attributes_with_in;
surfaceScale %Number; #IMPLIED
specularConstant %Number; #IMPLIED
specularExponent %Number; #IMPLIED
kernelUnitLength %NumberOptionalNumber; #IMPLIED
>
<!ELEMENT feTile (animate | set)*>
<!ATTLIST feTile
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes_with_in;
>
<!ELEMENT feTurbulence (animate | set)*>
<!ATTLIST feTurbulence
%stdAttrs;
%PresentationAttributes-FilterPrimitives;
%filter_primitive_attributes;
baseFrequency %NumberOptionalNumber; #IMPLIED
numOctaves %Integer; #IMPLIED
seed %Number; #IMPLIED
stitchTiles (stitch | noStitch) "noStitch"
type (fractalNoise | turbulence) "turbulence"
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Interactivity
============================================================== -->
<!ELEMENT cursor (%descTitleMetadata;)>
<!ATTLIST cursor
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Linking
============================================================== -->
<!ENTITY % aExt "">
<!ELEMENT a (#PCDATA|desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%ceExt;%aExt;)* >
<!ATTLIST a
%stdAttrs;
xmlns:xlink CDATA #FIXED "http://www.w3.org/1999/xlink"
xlink:type (simple) #FIXED "simple"
xlink:role %URI; #IMPLIED
xlink:arcrole %URI; #IMPLIED
xlink:title CDATA #IMPLIED
xlink:show (new | replace) "replace"
xlink:actuate (onRequest) #FIXED "onRequest"
xlink:href %URI; #REQUIRED
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
target %LinkTarget; #IMPLIED
>
<!ENTITY % viewExt "">
<!ELEMENT view (%descTitleMetadata;%viewExt;) >
<!ATTLIST view
%stdAttrs;
externalResourcesRequired %Boolean; #IMPLIED
viewBox %ViewBoxSpec; #IMPLIED
preserveAspectRatio %PreserveAspectRatioSpec; "xMidYMid meet"
zoomAndPan (disable | magnify) "magnify"
viewTarget CDATA #IMPLIED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Scripting
============================================================== -->
<!ELEMENT script (#PCDATA)>
<!ATTLIST script
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #IMPLIED
externalResourcesRequired %Boolean; #IMPLIED
type %ContentType; #REQUIRED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Animation
============================================================== -->
<!ENTITY % animElementAttrs "%xlinkRefAttrs;
xlink:href %URI; #IMPLIED">
<!ENTITY % animAttributeAttrs "attributeName CDATA #REQUIRED
attributeType CDATA #IMPLIED">
<!ENTITY % animTimingAttrs "begin CDATA #IMPLIED
dur CDATA #IMPLIED
end CDATA #IMPLIED
min CDATA #IMPLIED
max CDATA #IMPLIED
restart (always | never | whenNotActive) 'always'
repeatCount CDATA #IMPLIED
repeatDur CDATA #IMPLIED
fill (remove | freeze) 'remove'">
<!ENTITY % animValueAttrs "calcMode (discrete | linear | paced | spline) 'linear'
values CDATA #IMPLIED
keyTimes CDATA #IMPLIED
keySplines CDATA #IMPLIED
from CDATA #IMPLIED
to CDATA #IMPLIED
by CDATA #IMPLIED">
<!ENTITY % animAdditionAttrs "additive (replace | sum) 'replace'
accumulate (none | sum) 'none'">
<!ENTITY % animateExt "">
<!ELEMENT animate (%descTitleMetadata;%animateExt;) >
<!ATTLIST animate
%stdAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
%animationEvents;
%animElementAttrs;
%animAttributeAttrs;
%animTimingAttrs;
%animValueAttrs;
%animAdditionAttrs;
>
<!ENTITY % setExt "">
<!ELEMENT set (%descTitleMetadata;%setExt;) >
<!ATTLIST set
%stdAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
%animationEvents;
%animElementAttrs;
%animAttributeAttrs;
%animTimingAttrs;
to CDATA #IMPLIED
>
<!ENTITY % animateMotionExt "">
<!ELEMENT animateMotion (%descTitleMetadata;,mpath? %animateMotionExt;) >
<!ATTLIST animateMotion
%stdAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
%animationEvents;
%animElementAttrs;
%animTimingAttrs;
calcMode (discrete | linear | paced | spline) "paced"
values CDATA #IMPLIED
keyTimes CDATA #IMPLIED
keySplines CDATA #IMPLIED
from CDATA #IMPLIED
to CDATA #IMPLIED
by CDATA #IMPLIED
%animAdditionAttrs;
path CDATA #IMPLIED
keyPoints CDATA #IMPLIED
rotate CDATA #IMPLIED
origin CDATA #IMPLIED
>
<!ENTITY % mpathExt "">
<!ELEMENT mpath (%descTitleMetadata;%mpathExt;) >
<!ATTLIST mpath
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
externalResourcesRequired %Boolean; #IMPLIED
>
<!ENTITY % animateColorExt "">
<!ELEMENT animateColor (%descTitleMetadata;%animateColorExt;) >
<!ATTLIST animateColor
%stdAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
%animationEvents;
%animElementAttrs;
%animAttributeAttrs;
%animTimingAttrs;
%animValueAttrs;
%animAdditionAttrs;
>
<!ENTITY % animateTransformExt "">
<!ELEMENT animateTransform (%descTitleMetadata;%animateTransformExt;) >
<!ATTLIST animateTransform
%stdAttrs;
%testAttrs;
externalResourcesRequired %Boolean; #IMPLIED
%animationEvents;
%animElementAttrs;
%animAttributeAttrs;
%animTimingAttrs;
%animValueAttrs;
%animAdditionAttrs;
type (translate | scale | rotate | skewX | skewY) "translate"
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Fonts
============================================================== -->
<!ENTITY % fontExt "">
<!ELEMENT font (%descTitleMetadata;,font-face,
missing-glyph,(glyph|hkern|vkern %fontExt;)*) >
<!ATTLIST font
%stdAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
horiz-origin-x %Number; #IMPLIED
horiz-origin-y %Number; #IMPLIED
horiz-adv-x %Number; #REQUIRED
vert-origin-x %Number; #IMPLIED
vert-origin-y %Number; #IMPLIED
vert-adv-y %Number; #IMPLIED
>
<!ENTITY % glyphExt "">
<!ELEMENT glyph (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%glyphExt;)* >
<!ATTLIST glyph
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
unicode CDATA #IMPLIED
glyph-name CDATA #IMPLIED
d %PathData; #IMPLIED
orientation CDATA #IMPLIED
arabic-form CDATA #IMPLIED
lang %LanguageCodes; #IMPLIED
horiz-adv-x %Number; #IMPLIED
vert-origin-x %Number; #IMPLIED
vert-origin-y %Number; #IMPLIED
vert-adv-y %Number; #IMPLIED
>
<!ENTITY % missing-glyphExt "">
<!ELEMENT missing-glyph (desc|title|metadata|defs|
path|text|rect|circle|ellipse|line|polyline|polygon|
use|image|svg|g|view|switch|a|altGlyphDef|
script|style|symbol|marker|clipPath|mask|
linearGradient|radialGradient|solidColor|pattern|filter|cursor|font|
animate|set|animateMotion|animateColor|animateTransform|
color-profile|font-face
%missing-glyphExt;)* >
<!ATTLIST missing-glyph
%stdAttrs;
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
d %PathData; #IMPLIED
horiz-adv-x %Number; #IMPLIED
vert-origin-x %Number; #IMPLIED
vert-origin-y %Number; #IMPLIED
vert-adv-y %Number; #IMPLIED
>
<!ELEMENT hkern EMPTY>
<!ATTLIST hkern
%stdAttrs;
u1 CDATA #IMPLIED
g1 CDATA #IMPLIED
u2 CDATA #IMPLIED
g2 CDATA #IMPLIED
k %Number; #REQUIRED
>
<!ELEMENT vkern EMPTY>
<!ATTLIST vkern
%stdAttrs;
u1 CDATA #IMPLIED
g1 CDATA #IMPLIED
u2 CDATA #IMPLIED
g2 CDATA #IMPLIED
k %Number; #REQUIRED
>
<!ELEMENT font-face (%descTitleMetadata;, font-face-src?, definition-src?)>
<!ATTLIST font-face
%stdAttrs;
font-family CDATA #IMPLIED
font-style CDATA #IMPLIED
font-variant CDATA #IMPLIED
font-weight CDATA #IMPLIED
font-stretch CDATA #IMPLIED
font-size CDATA #IMPLIED
unicode-range CDATA #IMPLIED
units-per-em %Number; #IMPLIED
panose-1 CDATA #IMPLIED
stemv %Number; #IMPLIED
stemh %Number; #IMPLIED
slope %Number; #IMPLIED
cap-height %Number; #IMPLIED
x-height %Number; #IMPLIED
accent-height %Number; #IMPLIED
ascent %Number; #IMPLIED
descent %Number; #IMPLIED
widths CDATA #IMPLIED
bbox CDATA #IMPLIED
ideographic %Number; #IMPLIED
alphabetic %Number; #IMPLIED
mathematical %Number; #IMPLIED
hanging %Number; #IMPLIED
v-ideographic %Number; #IMPLIED
v-alphabetic %Number; #IMPLIED
v-mathematical %Number; #IMPLIED
v-hanging %Number; #IMPLIED
underline-position %Number; #IMPLIED
underline-thickness %Number; #IMPLIED
strikethrough-position %Number; #IMPLIED
strikethrough-thickness %Number; #IMPLIED
overline-position %Number; #IMPLIED
overline-thickness %Number; #IMPLIED
>
<!ELEMENT font-face-src (font-face-uri | font-face-name)+>
<!ATTLIST font-face-src
%stdAttrs;
>
<!ELEMENT font-face-uri (font-face-format*)>
<!ATTLIST font-face-uri
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
>
<!ELEMENT font-face-format EMPTY>
<!ATTLIST font-face-format
%stdAttrs;
string CDATA #IMPLIED
>
<!ELEMENT font-face-name EMPTY>
<!ATTLIST font-face-name
%stdAttrs;
name CDATA #IMPLIED
>
<!ELEMENT definition-src EMPTY>
<!ATTLIST definition-src
%stdAttrs;
%xlinkRefAttrs;
xlink:href %URI; #REQUIRED
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Metadata
============================================================== -->
<!ENTITY % metadataExt "">
<!ELEMENT metadata (#PCDATA %metadataExt;)* >
<!ATTLIST metadata
%stdAttrs;
>
<!-- ==============================================================
DECLARATIONS CORRESPONDING TO: Extensibility
============================================================== -->
<!ENTITY % foreignObjectExt "">
<!ELEMENT foreignObject (#PCDATA %ceExt;%foreignObjectExt;)* >
<!ATTLIST foreignObject
%stdAttrs;
%testAttrs;
%langSpaceAttrs;
externalResourcesRequired %Boolean; #IMPLIED
class %ClassList; #IMPLIED
style %StyleSheet; #IMPLIED
%PresentationAttributes-All;
transform %TransformList; #IMPLIED
%graphicsElementEvents;
x %Coordinate; #IMPLIED
y %Coordinate; #IMPLIED
width %Length; #REQUIRED
height %Length; #REQUIRED
%StructuredText;
>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<svg id="svg-root" width="100%" height="100%" viewBox="0 0 480 360"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" >
<SVGTestCase xmlns="http://www.w3.org/2000/02/svg/testsuite/description/" >
<OperatorScript version="$Revision: 1.3 $" testname="" >
<Paragraph>
</Paragraph>
</OperatorScript>
</SVGTestCase>
<title id="test-title" > </title>
<desc id="test-desc" > </desc>
<defs>
<font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
<font-face-src>
<font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
</font-face-src>
</font-face>
</defs>
<g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
<!--======================================================================-->
<!--Content of Test Case follows... =====================-->
<!--======================================================================-->
<rect x="001" y="001" width="239" height="179" fill="gold" stroke="none" />
<rect x="240" y="001" width="239" height="179" fill="blue" stroke="none" />
<rect x="001" y="180" width="239" height="179" fill="blue" stroke="none" />
<rect x="240" y="180" width="239" height="179" fill="gold" stroke="none" />
<text font-size="35" x="240" y="35" text-anchor="middle" >SVGImageTest.svg</text>
<text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.3 $</text>
<rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
</g>
</svg>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd">
<!--======================================================================-->
<!--= Copyright 2000 World Wide Web Consortium, (Massachusetts =-->
<!--= Institute of Technology, Institut National de Recherche en =-->
<!--= Informatique et en Automatique, Keio University). All Rights =-->
<!--= Reserved. See http://www.w3.org/Consortium/Legal/. =-->
<!--======================================================================-->
<!-- ===================================================================== -->
<!-- -->
<!-- animation-add-BE-09.svg -->
<!-- -->
<!-- Test 'additive' and 'accumulate' attributes. -->
<!-- -->
<!-- Author : Jon Ferraiolo 11-Aug-2000 -->
<!-- -->
<!-- History: -->
<!-- 11-Aug-2000, JF: Serial#1 created. -->
<!-- -->
<!-- ===================================================================== -->
<!--======================================================================-->
<!--= Note. After October 2000, revision history is kept as CVS 'commit' =-->
<!--= log messages, and therefore is no longer in the preceding preamble.=-->
<!--======================================================================-->
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="450" height="450">
<SVGTestCase xmlns="http://www.w3.org/2000/svg/test" chapter="animation" focus="add" testType="BE" BENumber="09" >
<!-- For the BE-01 case, 'Previous' elt. should target previous chapter-focus. -->
<Previous chapter="animation" focus="values" BENumber="08" />
<Next chapter="animation" focus="inherit" BENumber="10" />
<Parent chapter="toc" />
<Child testType="DT" DTNumber="01" />
<OperatorScript>
<Paragraph>
Test 'additive' and 'accumulate' attributes.
</Paragraph>
<Paragraph>
Eight animations have been defined.
For each animation, ruler lines and text are provided to help show
what the correct behavior is.
The red text shows the values for attributes 'additive' and 'accumulate'.
The black text and ruler lines help show the change in height of
the rectangles over time.
</Paragraph>
<Paragraph>
In the first row, a single animation which changes the height of the rectangle
is defined for each picture.
The height changes from 10 to 25, and the animation repeats (total of two loops).
The four pictures show the effect with the four possible combinations of
'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum').
</Paragraph>
<Paragraph>
In the second row, two identical animations change the height of the rectangle,
with each animation exactly the same as the corresponding animation in the first row.
Again, the four pictures show the effect with the four possible combinations of
'additive' (either 'replace' or 'sum') and 'accumulate' (either 'none' or 'sum').
Because two animations are animating the height, the effects of 'additive' and
'accumulate' are sometimes different than when there is only a single animation.
</Paragraph>
</OperatorScript>
</SVGTestCase>
<title id="test-title">animation-add-BE-09</title>
<desc id="test-desc">Test 'additive' and 'accumulate' attributes.</desc>
<!--======================================================================-->
<!--Content of Test Case follows... =====================-->
<!--======================================================================-->
<g id="test-body-content">
<text font-family="Helvetica" font-size="14" text-anchor="middle" x="225" y="25">Test 'additive' and 'accumulate' attributes.</text>
<g xml:space="preserve" font-family="Helvetica" font-size="13.5" text-anchor="end" stroke-width="3" >
<g transform="translate(75,60)">
<text x="-10" y="14">0,4 sec. </text>
<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
<text x="-10" y="29">4,8+ sec. </text>
<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
</g>
<g transform="translate(185,60)">
<text x="-10" y="39">0,4 sec. </text>
<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
<text x="-10" y="54">4,8+ sec. </text>
<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
</g>
<g transform="translate(295,60)">
<text x="-10" y="14">0 sec. </text>
<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
<text x="-10" y="29">4 sec. </text>
<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
<text x="-10" y="39">4 sec. </text>
<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
<text x="-10" y="54">8+ sec. </text>
<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
</g>
<g transform="translate(405,60)">
<text x="-10" y="39">0 sec. </text>
<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
<text x="-10" y="54">4 sec. </text>
<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
<text x="-10" y="64">4 sec. </text>
<line x1="-10" y1="60" x2="20" y2="60" fill="none" stroke="#880000" />
<text x="-10" y="79">8+ sec. </text>
<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="100" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
<text x="-15" y="115" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
</g>
<g transform="translate(75,220)">
<text x="-10" y="14">0,4 sec. </text>
<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
<text x="-10" y="29">4,8+ sec. </text>
<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
</g>
<g transform="translate(185,220)">
<text x="-10" y="49">0,4 sec. </text>
<line x1="-10" y1="45" x2="20" y2="45" fill="none" stroke="#880000" />
<text x="-10" y="79">4,8+ sec. </text>
<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="none" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='none'</text>
</g>
<g transform="translate(295,220)">
<text x="-10" y="14">0 sec. </text>
<line x1="-10" y1="10" x2="20" y2="10" fill="none" stroke="#880000" />
<text x="-10" y="29">4 sec. </text>
<line x1="-10" y1="25" x2="20" y2="25" fill="none" stroke="#880000" />
<text x="-10" y="39">4 sec. </text>
<line x1="-10" y1="35" x2="20" y2="35" fill="none" stroke="#880000" />
<text x="-10" y="54">8+ sec. </text>
<line x1="-10" y1="50" x2="20" y2="50" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
<animate attributeName="height" calcMode="discrete" additive="replace" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='replace'</text>
<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
</g>
<g transform="translate(405,220)">
<text x="-10" y="49">0 sec. </text>
<line x1="-10" y1="45" x2="20" y2="45" fill="none" stroke="#880000" />
<text x="-10" y="79">4 sec. </text>
<line x1="-10" y1="75" x2="20" y2="75" fill="none" stroke="#880000" />
<text x="-10" y="99">4 sec. </text>
<line x1="-10" y1="95" x2="20" y2="95" fill="none" stroke="#880000" />
<text x="-10" y="129">8+ sec. </text>
<line x1="-10" y1="125" x2="20" y2="125" fill="none" stroke="#880000" />
<rect x="0" y="0" width="20" height="25" fill="#44FFAA" stroke="#008888" stroke-width="4" >
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
<animate attributeName="height" calcMode="discrete" additive="sum" accumulate="sum" repeatCount="2" from="10" to="25" begin="0s" dur="4s" fill="freeze"/>
</rect>
<text x="-15" y="140" xml:space="default" text-anchor="middle" fill="red" font-size="12" >additive='sum'</text>
<text x="-15" y="155" xml:space="default" text-anchor="middle" fill="red" font-size="12" >accumulate='sum'</text>
</g>
</g>
</g>
<!--======================================================================-->
<!--Legend and frame: Title, suite and SVG document serialization====-->
<!--======================================================================-->
<g id="test-legend" fill="black" font-family="Helvetica" font-size="10" >
<rect x="10" y="390" width="275" height="50" fill="none" stroke="#000000" />
<path fill="none" stroke="#000000" d="M10 405 h275 M205 405 v35 M10 426 h195 M205 422 h80"/>
<text x="25" y="401">Scalable Vector Graphics (SVG) Conformance Suite</text>
<a xlink:href="copyright-documents-19990405.html">
<text x="12" y="437" fill="blue" >Copyright 2000 W3C. All Rights Reserved.</text>
</a>
<text font-size="12" x="35" y="420">animation-add-BE-09</text>
<text font-size="10" x="210" y="417">$Revision: 1.1 $</text>
<text font-size="10" x="210" y="435">Release 3.0</text>
<rect id="test-frame" x="1" y="1" width="448" height="448" fill="none" stroke="#000000" />
</g>
</svg>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image1" width="360" height="120" viewBox="0 0 360 120">
<g style="stroke: black; stroke-width:2">
<rect x="2" y="10" width="0" height="20" style="fill: lightgreen">
<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
</rect>
<rect x="2" y="50" width="0" height="20" style="fill: blue">
<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
</rect>
<rect x="2" y="90" width="0" height="20" style="fill: red">
<animate attributeName="width" attributeType="XML" from="0" to="120" begin="1s" dur="5s" fill="freeze"/>
</rect>
</g>
<g>
<text x="280" y="30" style="font-size:20">Image 1</text>
</g>
</svg>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image2" width="360" height="120" viewBox="0 0 360 120">
<g style="stroke: black; stroke-width:2">
<rect x="2" y="10" width="120" height="20" style="fill: lightgreen"/>
<rect x="2" y="50" width="120" height="20" style="fill: blue">
<animate attributeName="width" attributeType="XML" from="120" to="240" begin="1s" dur="5s" fill="freeze"/>
</rect>
<rect x="2" y="90" width="120" height="20" style="fill: red">
<animate attributeName="width" attributeType="XML" from="120" to="240" begin="1s" dur="5s" fill="freeze"/>
</rect>
</g>
<g>
<text x="280" y="30" style="font-size:20">Image 2</text>
</g>
</svg>
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "SVG-1.1-monolithic-fixed.dtd">
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="animation-extRef-image3" width="360" height="120" viewBox="0 0 360 120">
<g style="stroke: black; stroke-width:2">
<rect x="2" y="10" width="120" height="20" style="fill: lightgreen"/>
<rect x="2" y="50" width="240" height="20" style="fill: blue"/>
<rect x="2" y="90" width="240" height="20" style="fill: red">
<animate attributeName="width" attributeType="XML" from="240" to="356" begin="1s" dur="5s" fill="freeze"/>
</rect>
</g>
<g>
<text x="280" y="30" style="font-size:20">Image 3</text>
</g>
</svg>
P3
10 10
255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
0 0 255 0 0 255 0 0 255 0 0 255 0 0 255
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment