The Apache FOP Project

The Apache™ Batik Project

Batik implementation status

This page details information about Batik’s implementation of the SVG 1.1 and related specifications. The features of the implementation are annotated with their level of support, which can be at one of three levels:

Not supported : If a feature is not supported, this means that Batik performs no useful processing for it. This feature could be silently ignored or an exception might be thrown when trying to use it.

Partially supported : If a feature is partially supported, this means that Batik performs some processing for it, but there are known bugs with this processing.

Fully supported : If a feature is fully supported, this means that Batik performs the correct processing for it, as detailed in the relevant specification.

Note that the information on this page is based on the code in the Git repository main.

Elements, attributes and properties

The table below lists the SVG elements and the attributes and properties on them that are supported by Batik. For an element to be fully supported, its attributes and the properties that apply to it must also be fully supported. If an attribute of the element or a property that applies to the element is only partially supported or is not supported, the element can be at most partially supported. An element is not supported if it is not processed by Batik, even if some of its attributes are supported (such as the core attributes id or xml:base).

Note that all presentation attributes are supported on all stylable elements. These attributes are not listed in the table. Only those properties that apply to a given element are listed.

svg:a { #svg:a}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
target no While target is not supported, new windows can be opened with xlink:show="new".
transform yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href partial URI references to animation elements will not trigger the animation when the link is activated.
xlink:role yes [1]
xlink:show yes
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
display yes
enable-background yes
filter yes
mask yes
opacity yes
svg:altGlyph { #svg:altGlyph}
Attributes
class yes
dx yes
dy yes
externalResourcesRequired no
format no
glyphRef no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rotate yes
style yes
systemLanguage yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
alignment-baseline no
baseline-shift yes
color yes
direction yes
display yes
dominant-baseline no
fill yes
fill-opacity yes
fill-rule yes
font yes
font-family yes
font-size yes
font-size-adjust no
font-stretch no
font-style yes
font-variant no
font-weight yes
glyph-orientation-horizontal yes
glyph-orientation-vertical yes
kerning yes
letter-spacing yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
text-anchor yes
text-decoration yes
unicode-bidi yes
visibility yes
word-spacing yes
svg:altGlyphDef { #svg:altGlyphDef}
Attributes
id yes
xml:base yes
xml:lang yes
xml:space yes
svg:altGlyphItem { #svg:altGlyphItem}
Attributes
id yes
xml:base yes
xml:lang yes
xml:space yes
svg:animate { #svg:animate}
Attributes
accumulate yes
additive yes
attributeName yes
attributeType yes
begin yes
by yes
calcMode yes
dur yes
end yes
externalResourcesRequired no
fill yes
from yes
id yes
keySplines yes
keyTimes yes
max yes
min yes
onbegin yes
onend yes
onload yes
onrepeat yes
repeatCount yes
repeatDur yes
requiredExtensions no
requiredFeatures no
restart yes
systemLanguage no
to yes
values yes
svg:animateColor { #svg:animateColor}
Attributes
accumulate yes
additive yes
attributeName yes
attributeType yes
begin yes
by yes
calcMode yes
dur yes
end yes
externalResourcesRequired no
fill yes
from yes
id yes
keySplines yes
keyTimes yes
max yes
min yes
onbegin yes
onend yes
onload yes
onrepeat yes
repeatCount yes
repeatDur yes
requiredExtensions no
requiredFeatures no
restart yes
systemLanguage no
to yes
values yes
Properties
color-interpolation yes
color-rendering yes
svg:animateMotion { #svg:animateMotion}
Attributes
accumulate yes
additive yes
attributeName yes
attributeType yes
begin yes
by yes
calcMode yes
dur yes
end yes
externalResourcesRequired no
fill yes
from yes
id yes
keyPoints yes
keySplines yes
keyTimes yes
max yes
min yes
onbegin yes
onend yes
onload yes
onrepeat yes
origin yes
path yes
repeatCount yes
repeatDur yes
requiredExtensions no
requiredFeatures no
restart yes
rotate yes
systemLanguage no
to yes
values yes
svg:animateTransform { #svg:animateTransform}
Attributes
accumulate yes
additive yes
attributeName yes
attributeType yes
begin yes
by yes
calcMode yes
dur yes
end yes
externalResourcesRequired no
fill yes
from yes
id yes
keySplines yes
keyTimes yes
max yes
min yes
onbegin yes
onend yes
onload yes
onrepeat yes
repeatCount yes
repeatDur yes
requiredExtensions no
requiredFeatures no
restart yes
systemLanguage no
to yes
type yes
values yes
svg:circle { #svg:circle}
Attributes
class yes
cx yes
cy yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
r yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:clipPath { #svg:clipPath}
Attributes
class yes
clipPathUnits yes
externalResourcesRequired no
id yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
svg:color-profile { #svg:color-profile}
Attributes
id yes
local no
name yes
rendering-intent yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:cursor { #svg:cursor}
Attributes
externalResourcesRequired no
id yes
requiredExtensions yes
requiredFeatures yes
systemLanguage yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:definition-src { #svg:definition-src}
Attributes
id yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href no
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:defs { #svg:defs}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
svg:desc { #svg:desc}
Attributes
class yes
id yes
style yes
xml:base yes
xml:lang yes
xml:space yes
svg:ellipse { #svg:ellipse}
Attributes
class yes
cx yes
cy yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rx yes
ry yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:feBlend { #svg:feBlend}
Attributes
height yes
id yes
in yes
in2 yes
mode yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feColorMatrix { #svg:feColorMatrix}
Attributes
height yes
id yes
in yes
result yes
type yes
values yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feComponentTransfer { #svg:feComponentTransfer}
Attributes
height yes
id yes
in yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feComposite { #svg:feComposite}
Attributes
height yes
id yes
in yes
in2 yes
k1 yes
k2 yes
k3 yes
k4 yes
operator yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feConvolveMatrix { #svg:feConvolveMatrix}
Attributes
bias yes
divisor yes
edgeMode yes
height yes
id yes
in yes
kernelMatrix yes
kernelUnitLength yes
order yes
preserveAlpha yes
result yes
targetX yes
targetY yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feDiffuseLighting { #svg:feDiffuseLighting}
Attributes
class yes
diffuseConstant yes
height yes
id yes
in yes
kernelUnitLength no
result yes
style yes
surfaceScale yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color yes
color-interpolation-filters yes
lighting-color yes
svg:feDisplacementMap { #svg:feDisplacementMap}
Attributes
height yes
id yes
in yes
in2 yes
result yes
scale yes
width yes
x yes
xChannelSelector yes
y yes
yChannelSelector yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feDistantLight { #svg:feDistantLight}
Attributes
azimuth yes
elevation yes
id yes
xml:base yes
xml:lang yes
xml:space yes
svg:feFlood { #svg:feFlood}
Attributes
class yes
height yes
id yes
in yes
result yes
style yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color yes
color-interpolation-filters yes
flood-color yes
flood-opacity yes
svg:feFuncA { #svg:feFuncA}
Attributes
amplitude yes
exponent yes
id yes
intercept yes
offset yes
slope yes
tableValues yes
type yes
xml:base yes
xml:lang yes
xml:space yes
svg:feFuncB { #svg:feFuncB}
Attributes
amplitude yes
exponent yes
id yes
intercept yes
offset yes
slope yes
tableValues yes
type yes
xml:base yes
xml:lang yes
xml:space yes
svg:feFuncG { #svg:feFuncG}
Attributes
amplitude yes
exponent yes
id yes
intercept yes
offset yes
slope yes
tableValues yes
type yes
xml:base yes
xml:lang yes
xml:space yes
svg:feFuncR { #svg:feFuncR}
Attributes
amplitude yes
exponent yes
id yes
intercept yes
offset yes
slope yes
tableValues yes
type yes
xml:base yes
xml:lang yes
xml:space yes
svg:feGaussianBlur { #svg:feGaussianBlur}
Attributes
height yes
id yes
in yes
result yes
stdDeviation yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feImage { #svg:feImage}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
preserveAspectRatio no
result yes
style yes
width yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
clip no
clip-path yes
clip-rule yes
color-interpolation yes
color-interpolation-filters yes
color-profile yes
color-rendering yes
cursor yes
filter yes
image-rendering yes
mask yes
opacity yes
overflow yes
pointer-events yes
visibility yes
svg:feMerge { #svg:feMerge}
Attributes
height yes
id yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feMergeNode { #svg:feMergeNode}
Attributes
id yes
in yes
xml:base yes
xml:lang yes
xml:space yes
svg:feMorphology { #svg:feMorphology}
Attributes
height yes
id yes
in yes
operator yes
radius yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feOffset { #svg:feOffset}
Attributes
dx yes
dy yes
height yes
id yes
in yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:fePointLight { #svg:fePointLight}
Attributes
id yes
x yes
y yes
z yes
xml:base yes
xml:lang yes
xml:space yes
svg:feSpecularLighting { #svg:feSpecularLighting}
Attributes
class yes
height yes
id yes
in yes
kernelUnitLength yes
result yes
specularConstant yes
specularExponent yes
style yes
surfaceScale yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color yes
color-interpolation-filters yes
lighting-color yes
svg:feSpotLight { #svg:feSpotLight}
Attributes
id yes
limitingConeAngle yes
pointsAtX yes
pointsAtY yes
pointsAtZ yes
specularExponent yes
x yes
y yes
z yes
xml:base yes
xml:lang yes
xml:space yes
svg:feTile { #svg:feTile}
Attributes
height yes
id yes
in yes
result yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:feTurbulence { #svg:feTurbulence}
Attributes
baseFrequency yes
height yes
id yes
numOctaves yes
result yes
seed yes
stitchTiles yes
type yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color-interpolation-filters yes
svg:filter { #svg:filter}
Attributes
class yes
externalResourcesRequired no
filterRes yes
filterUnits yes
height yes
id yes
primitiveUnits yes
style yes
width yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:font { #svg:font}
Attributes
class yes
externalResourcesRequired no
horiz-adv-x yes
horiz-origin-x yes
horiz-origin-y yes
id yes
style yes
vert-adv-y yes
vert-origin-x yes
vert-origin-y yes
xml:base yes
xml:lang yes
xml:space yes
svg:font-face { #svg:font-face}
Attributes
accent-height no
alphabetic no
ascent yes
bbox no
cap-height no
descent yes
font-family yes
font-size no
font-stretch no
font-style yes
font-variant no
font-weight yes
hanging no
id yes
ideographic no
mathematical no
overline-position yes
overline-thickness yes
panose-1 yes
slope yes
stemh no
stemv no
strikethrough-position yes
strikethrough-thickness yes
underline-position yes
underline-thickness yes
unicode-range no
units-per-em yes
v-alphabetic no
v-hanging no
v-ideographic no
v-mathematical no
widths no
x-height no
xml:base yes
xml:lang yes
xml:space yes
svg:font-face-format { #svg:font-face-format}
Attributes
id yes
string no
xml:base yes
xml:lang yes
xml:space yes
svg:font-face-name { #svg:font-face-name}
Attributes
id yes
name yes
xml:base yes
xml:lang yes
xml:space yes
svg:font-face-src { #svg:font-face-src}
Attributes
id yes
xml:base yes
xml:lang yes
xml:space yes
svg:font-face-uri { #svg:font-face-uri}
Attributes
id yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:foreignObject { #svg:foreignObject}
Attributes
class no
height no
id yes
onactivate no
onclick no
onfocusin no
onfocusout no
onload no
onmousedown no
onmousemove no
onmouseout no
onmouseover no
onmouseup no
requiredExtensions no
requiredFeatures no
style no
systemLanguage no
transform no
width no
x no
y no
xml:base yes
xml:lang yes
xml:space yes
Properties
clip no
display no
overflow no
svg:g { #svg:g}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
display yes
enable-background yes
filter yes
mask yes
opacity yes
svg:glyph { #svg:glyph}
Attributes
arabic-form yes
class yes
d yes
glyph-name yes
horiz-adv-x yes
id yes
lang yes
orientation yes
style yes
unicode yes
vert-adv-y yes
vert-origin-x yes
vert-origin-y yes
xml:base yes
xml:lang yes
xml:space yes
svg:glyphRef { #svg:glyphRef}
Attributes
class yes
dx no
dy no
font-family no [2]
font-size no [2]
font-size-adjust no [2]
font-stretch no [2]
font-style no [2]
font-variant no [2]
font-weight no [2]
format no
glyphRef no
id yes
style yes
x no
y no
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:hkern { #svg:hkern}
Attributes
g1 yes
g2 yes
id yes
k yes
u1 yes
u2 yes
xml:base yes
xml:lang yes
xml:space yes
svg:image { #svg:image}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
preserveAspectRatio yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
width yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
clip no
clip-path yes
clip-rule yes
color-interpolation yes
color-profile yes
color-rendering yes
cursor yes
filter yes
image-rendering yes
mask yes
opacity yes
overflow yes
pointer-events yes
visibility yes
svg:line { #svg:line}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
x1 yes
x2 yes
y1 yes
y2 yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
marker yes
marker-end yes
marker-mid yes
marker-start yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:linearGradient { #svg:linearGradient}
Attributes
class yes
color yes
color-interpolation yes
color-rendering yes
externalResourcesRequired no
gradientTransform yes
gradientUnits yes
id yes
spreadMethod yes
stop-color yes
stop-opacity yes
style yes
x1 yes
x2 yes
y1 yes
y2 yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:marker { #svg:marker}
Attributes
class yes
externalResourcesRequired no
id yes
markerHeight yes
markerUnits yes
markerWidth yes
orient yes
preserveAspectRatio yes
refX yes
refY yes
style yes
viewBox yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
svg:mask { #svg:mask}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
maskContentUnits yes
maskUnits yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
svg:metadata { #svg:metadata}
Attributes
id yes
xml:base yes
xml:lang yes
xml:space yes
svg:missing-glyph { #svg:missing-glyph}
Attributes
class yes
d yes
horiz-adv-x yes
id yes
style yes
vert-adv-y yes
vert-origin-x yes
vert-origin-y yes
xml:base yes
xml:lang yes
xml:space yes
svg:mpath { #svg:mpath}
Attributes
externalResourcesRequired no
id yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:path { #svg:path}
Attributes
class yes
d yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
pathLength no Author specified path length is ignored.
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
marker yes
marker-end yes
marker-mid yes
marker-start yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:pattern { #svg:pattern}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
patternContentUnits yes
patternTransform yes
patternUnits yes
preserveAspectRatio yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
viewBox yes
width yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
svg:polygon { #svg:polygon}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
points yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
marker yes
marker-end yes
marker-mid yes
marker-start yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:polyline { #svg:polyline}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
points yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
marker yes
marker-end yes
marker-mid yes
marker-start yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:radialGradient { #svg:radialGradient}
Attributes
class yes
cx yes
cy yes
externalResourcesRequired no
fx yes
fy yes
gradientTransform yes
gradientUnits yes
id yes
r yes
spreadMethod yes
style yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:rect { #svg:rect}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rx yes
ry yes
style yes
systemLanguage yes
transform yes
width yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
fill yes
fill-opacity yes
fill-rule yes
filter yes
mask yes
opacity yes
pointer-events yes
shape-rendering yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
visibility yes
svg:script { #svg:script}
Attributes
externalResourcesRequired no
id yes
type yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
svg:set { #svg:set}
Attributes
attributeName yes
attributeType yes
begin yes
dur yes
end yes
externalResourcesRequired no
fill yes
from yes
id yes
max yes
min yes
onbegin yes
onend yes
onload yes
onrepeat yes
repeatCount yes
repeatDur yes
requiredExtensions no
requiredFeatures no
restart yes
systemLanguage no
xml:base yes
xml:lang yes
xml:space yes
svg:stop { #svg:stop}
Attributes
class yes
id yes
offset yes
style yes
xml:base yes
xml:lang yes
xml:space yes
Properties
color yes
stop-color yes
stop-opacity yes
svg:style { #svg:style}
The :hover, :link, :visited, :active and :focus pseudo-classes are not supported in selectors.
Attributes
id yes
media yes
title yes
type yes
xml:base yes
xml:lang yes
xml:space yes
svg:svg { #svg:svg}
Attributes
baseProfile no
class yes
contentScriptType yes
contentStyleType no text/css is always the default style type.
externalResourcesRequired no
height yes
id yes
onabort yes
onclick yes
onerror yes The event listener is added, but the error event is never fired by the implementation.
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
onresize yes
onscroll yes
onunload yes
onzoom yes
preserveAspectRatio yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
version yes
viewBox partial Attribute not animatable.
width yes
x yes
y yes
zoomAndPan yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip no
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
display yes
enable-background yes
filter yes
mask yes
opacity yes
overflow yes
svg:switch { #svg:switch}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
display yes
enable-background no
filter yes
mask yes
opacity yes
svg:symbol { #svg:symbol}
Attributes
class yes
externalResourcesRequired no
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
preserveAspectRatio yes
style yes
viewBox yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip no
clip-path yes
color-interpolation yes
color-rendering yes
cursor yes
enable-background no
filter yes
mask yes
opacity yes
overflow yes
svg:text { #svg:text}
Attributes
class yes
dx yes
dy yes
externalResourcesRequired no
id yes
lengthAdjust yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rotate yes
style yes
systemLanguage yes
textLength yes
transform yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color yes
color-interpolation yes
color-rendering yes
cursor yes
direction yes
display yes
dominant-baseline no
fill yes
fill-opacity yes
fill-rule yes
filter yes
font yes
font-family yes
font-size yes
font-size-adjust no
font-stretch no
font-style yes
font-variant no
font-weight yes
glyph-orientation-horizontal yes
glyph-orientation-vertical yes
kerning yes
letter-spacing yes
mask yes
opacity yes
pointer-events yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
text-anchor yes
text-decoration yes
text-rendering yes
unicode-bidi yes
visibility yes
word-spacing yes
writing-mode yes
svg:textPath { #svg:textPath}
Attributes
class yes
externalResourcesRequired no
id yes
lengthAdjust yes
method no align is always used.
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
spacing no exact is always used.
startOffset yes
style yes
systemLanguage yes
textLength yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
alignment-baseline no
baseline-shift yes
color yes
direction yes
display yes
dominant-baseline no
fill yes
fill-opacity yes
fill-rule yes
font yes
font-family yes
font-size yes
font-size-adjust no
font-stretch no
font-style yes
font-variant no
font-weight yes
glyph-orientation-horizontal yes
glyph-orientation-vertical yes
kerning yes
letter-spacing yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
text-anchor yes
text-decoration yes
unicode-bidi yes
visibility yes
word-spacing yes
svg:title { #svg:title}
Attributes
class yes
id yes
style yes
xml:base yes
xml:lang yes
xml:space yes
svg:tref { #svg:tref}
Attributes
class yes
dx yes
dy yes
externalResourcesRequired no
id yes
lengthAdjust yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rotate yes
style yes
systemLanguage yes
textLength yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
alignment-baseline no
baseline-shift yes
color yes
direction yes
display yes
dominant-baseline no
fill yes
fill-opacity yes
fill-rule yes
font yes
font-family yes
font-size yes
font-size-adjust no
font-stretch no
font-style yes
font-variant no
font-weight yes
glyph-orientation-horizontal yes
glyph-orientation-vertical yes
kerning yes
letter-spacing yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
text-anchor yes
text-decoration yes
unicode-bidi yes
visibility yes
word-spacing yes
svg:tspan { #svg:tspan}
Attributes
class yes
dx yes
dy yes
externalResourcesRequired no
id yes
lengthAdjust yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
rotate yes
style yes
systemLanguage yes
textLength yes
x yes
y yes
xml:base yes
xml:lang yes
xml:space yes
Properties
alignment-baseline no
baseline-shift yes
color yes
direction yes
display yes
dominant-baseline no
fill yes
fill-opacity yes
fill-rule yes
font yes
font-family yes
font-size yes
font-size-adjust no
font-stretch no
font-style yes
font-variant no
font-weight yes
glyph-orientation-horizontal yes
glyph-orientation-vertical yes
kerning yes
letter-spacing yes
stroke yes
stroke-dasharray yes
stroke-dashoffset yes
stroke-linecap yes
stroke-linejoin yes
stroke-miterlimit yes
stroke-opacity yes
stroke-width yes
text-anchor yes
text-decoration yes
unicode-bidi yes
visibility yes
word-spacing yes
svg:use { #svg:use}
Attributes
class yes
externalResourcesRequired no
height yes
id yes
onclick yes
onfocusin yes
onfocusout yes
onload yes
onmousedown yes
onmousemove yes
onmouseout yes
onmouseover yes
onmouseup yes
requiredExtensions yes
requiredFeatures yes
style yes
systemLanguage yes
transform yes
width yes
x yes
y yes
xlink:actuate yes [1]
xlink:arcrole yes [1]
xlink:href yes
xlink:role yes [1]
xlink:show yes [1]
xlink:title yes [1]
xlink:type yes [1]
xml:base yes
xml:lang yes
xml:space yes
Properties
clip-path yes
clip-rule yes
color-interpolation yes
color-rendering yes
cursor yes
filter yes
mask yes
opacity yes
pointer-events yes
visibility yes
svg:view { #svg:view}
Attributes
externalResourcesRequired no
id yes
preserveAspectRatio yes
viewBox yes
viewTarget no No highlighting is performed.
zoomAndPan yes
xml:base yes
xml:lang yes
xml:space yes
svg:vkern { #svg:vkern}
Attributes
g1 yes
g2 yes
id yes
k yes
u1 yes
u2 yes
xml:base yes
xml:lang yes
xml:space yes

Notes:

  1. noteXLink{ # Values} for the XLink attributes other than xlink:href that are not those required by SVG are ignored. For example, setting xlink:title="Something" or xlink:actuate="other" has no effect.

  2. noteGlyphRef{ # } glyphRef elements can reference glyphs only by URI, not by font properties.

DOM interfaces

The table below lists the SVG DOM interfaces that are supported by Batik. For each interface, the name of each IDL attribute and operation introduced on the interface is given, along with its level of support. For cases where the implementation of an attribute or operation introduced in a superinterface may differ depending on which subinterface has inherited it, this is noted next to that attribute or operation. Both the ECMAScript and Java bindings have the same implementation level as specified for the IDL interfaces in the table.

GetSVGDocument { #GetSVGDocument}
Operations
getSVGDocument no No objects implement this interface.
SVGAElement { #SVGAElement}
Attributes
target yes
SVGAltGlyphDefElement { #SVGAltGlyphDefElement}
SVGAltGlyphElement { #SVGAltGlyphElement}
Attributes
format yes
glyphRef yes
SVGAltGlyphItemElement { #SVGAltGlyphItemElement}
SVGAngle { #SVGAngle}
Attributes
unitType yes
value yes
valueAsString yes
valueInSpecifiedUnits yes
Operations
newValueSpecifiedUnits yes
convertToSpecifiedUnits yes
SVGAnimateColorElement { #SVGAnimateColorElement}
SVGAnimatedAngle { #SVGAnimatedAngle}
Attributes
animVal yes
baseVal yes
SVGAnimatedBoolean { #SVGAnimatedBoolean}
Attributes
animVal yes
baseVal yes
SVGAnimatedEnumeration { #SVGAnimatedEnumeration}
Attributes
animVal yes
baseVal yes
SVGAnimatedInteger { #SVGAnimatedInteger}
Attributes
animVal yes
baseVal yes
SVGAnimatedLength { #SVGAnimatedLength}
Attributes
animVal yes
baseVal yes
SVGAnimatedLengthList { #SVGAnimatedLengthList}
Attributes
animVal yes
baseVal yes
SVGAnimatedNumber { #SVGAnimatedNumber}
Attributes
animVal yes
baseVal yes
SVGAnimatedNumberList { #SVGAnimatedNumberList}
Attributes
animVal yes
baseVal yes
SVGAnimatedPathData { #SVGAnimatedPathData}
Attributes
animatedNormalizedPathSegList no
animatedPathSegList yes
normalizedPathSegList yes
pathSegList yes
SVGAnimatedPoints { #SVGAnimatedPoints}
Attributes
animatedPoints yes
points yes
SVGAnimatedPreserveAspectRatio { #SVGAnimatedPreserveAspectRatio}
Attributes
animVal yes
baseVal yes
SVGAnimatedRect { #SVGAnimatedRect}
Attributes
animVal yes
baseVal yes
SVGAnimatedString { #SVGAnimatedString}
Attributes
animVal yes
baseVal yes
SVGAnimatedTransformList { #SVGAnimatedTransformList}
Attributes
animVal yes
baseVal yes
SVGAnimateElement { #SVGAnimateElement}
SVGAnimateMotionElement { #SVGAnimateMotionElement}
SVGAnimateTransformElement { #SVGAnimateTransformElement}
SVGAnimationElement { #SVGAnimationElement}
Attributes
targetElement yes
Operations
getStartTime yes
getCurrentTime yes
getSimpleDuration yes
SVGCircleElement { #SVGCircleElement}
Attributes
cx yes
cy yes
r yes
SVGClipPathElement { #SVGClipPathElement}
Attributes
clipPathUnits yes
SVGColor { #SVGColor}
Attributes
colorType yes
iccColor yes
rgbColor yes
Operations
setRGBColor yes
setRGBColorICCColor yes
setColor yes
SVGColorProfileElement { #SVGColorProfileElement}
Attributes
local yes
name yes
renderingIntent yes
SVGColorProfileRule { #SVGColorProfileRule}
Attributes
name no
renderingIntent no
src no
SVGComponentTransferFunctionElement { #SVGComponentTransferFunctionElement}
Attributes
amplitude yes
exponent yes
intercept yes
offset yes
slope yes
tableValues no
type yes
SVGCSSRule { #SVGCSSRule}
SVGCursorElement { #SVGCursorElement}
Attributes
x yes
y yes
SVGDefinitionSrcElement { #SVGDefinitionSrcElement}
SVGDefinitionSrcElement { #SVGDefinitionSrcElement}
SVGDefsElement { #SVGDefsElement}
SVGDescElement { #SVGDescElement}
SVGDocument { #SVGDocument}
Attributes
domain yes
referrer yes
rootElement yes
title yes
URL yes
SVGElement { #SVGElement}
Attributes
id yes
ownerSVGElement yes
viewportElement yes
xmlbase yes
SVGElementInstance { #SVGElementInstance}
Attributes
childNodes no
correspondingElement no
correspondingUseElement no
firstChild no
lastChild no
nextSibling no
parentNode no
previousSibling no
SVGElementInstanceList { #SVGElementInstanceList}
Attributes
length no
Operations
item no
SVGEllipseElement { #SVGEllipseElement}
Attributes
cx yes
cy yes
rx yes
ry yes
SVGEvent { #SVGEvent}
SVGExternalResourcesRequired { #SVGExternalResourcesRequired}
Attributes
externalResourcesRequired yes
SVGFEBlendElement { #SVGFEBlendElement}
Attributes
in1 yes
in2 yes
mode yes
SVGFEColorMatrixElement { #SVGFEColorMatrixElement}
Attributes
in1 yes
type yes
values no
SVGFEComponentTransferElement { #SVGFEComponentTransferElement}
Attributes
in1 yes
SVGFECompositeElement { #SVGFECompositeElement}
Attributes
in1 yes
in2 yes
k1 yes
k2 yes
k3 yes
k4 yes
operator yes
SVGFEConvolveMatrixElement { #SVGFEConvolveMatrixElement}
Attributes
bias yes
divisor no
edgeMode yes
kernelMatrix no
kernelUnitLengthX no
kernelUnitLengthY no
orderX no
orderY no
preserveAlpha yes
targetX no
targetY no
SVGFEDiffuseLightingElement { #SVGFEDiffuseLightingElement}
Attributes
diffuseConstant yes
in1 yes
kernelUnitLengthX yes
kernelUnitLengthY yes
surfaceScale yes
SVGFEDisplacementMapElement { #SVGFEDisplacementMapElement}
Attributes
in1 yes
in2 yes
scale yes
xChannelSelector yes
yChannelSelector yes
SVGFEDistantLightElement { #SVGFEDistantLightElement}
Attributes
azimuth yes
elevation yes
SVGFEFloodElement { #SVGFEFloodElement}
Attributes
in1 yes
SVGFEFuncAElement { #SVGFEFuncAElement}
SVGFEFuncBElement { #SVGFEFuncBElement}
SVGFEFuncGElement { #SVGFEFuncGElement}
SVGFEFuncRElement { #SVGFEFuncRElement}
SVGFEGaussianBlurElement { #SVGFEGaussianBlurElement}
Attributes
in1 yes
stdDeviationX no
stdDeviationY no
Operations
setStdDeviation yes
SVGFEImageElement { #SVGFEImageElement}
Attributes
preserveAspectRatio no
SVGFEMergeElement { #SVGFEMergeElement}
SVGFEMergeNodeElement { #SVGFEMergeNodeElement}
Attributes
in1 yes
SVGFEMorphologyElement { #SVGFEMorphologyElement}
Attributes
in1 yes
operator yes
radiusX no
radiusY no
SVGFEOffsetElement { #SVGFEOffsetElement}
Attributes
dx yes
dy yes
in1 yes
SVGFEPointLightElement { #SVGFEPointLightElement}
Attributes
x yes
y yes
z yes
SVGFESpecularLightingElement { #SVGFESpecularLightingElement}
Attributes
in1 yes
specularConstant yes
specularExponent yes
surfaceScale yes
SVGFESpotLightElement { #SVGFESpotLightElement}
Attributes
limitingConeAngle yes
pointsAtX yes
pointsAtY yes
pointsAtZ yes
specularExponent yes
x yes
y yes
z yes
SVGFETileElement { #SVGFETileElement}
Attributes
in1 yes
SVGFETurbulenceElement { #SVGFETurbulenceElement}
Attributes
baseFrequencyX no
baseFrequencyY no
numOctaves yes
seed yes
stitchTiles yes
type yes
SVGFilterElement { #SVGFilterElement}
Attributes
filterResX no
filterResY no
filterUnits yes
height yes
primitiveUnits yes
width yes
x yes
y yes
Operations
setFilterRes no
SVGFilterPrimitiveStandardAttributes { #SVGFilterPrimitiveStandardAttributes}
Attributes
height yes
result yes
width yes
x yes
y yes
SVGFitToViewBox { #SVGFitToViewBox}
Attributes
preserveAspectRatio yes
viewBox partial Implemented for <svg> elements.
SVGFontElement { #SVGFontElement}
SVGFontFaceElement { #SVGFontFaceElement}
SVGFontFaceFormatElement { #SVGFontFaceFormatElement}
SVGFontFaceNameElement { #SVGFontFaceNameElement}
SVGFontFaceSrcElement { #SVGFontFaceSrcElement}
SVGFontFaceUriElement { #SVGFontFaceUriElement}
SVGForeignObjectElement { #SVGForeignObjectElement}
Attributes
height yes
width yes
x yes
y yes
SVGGElement { #SVGGElement}
SVGGlyphElement { #SVGGlyphElement}
SVGGlyphRefElement { #SVGGlyphRefElement}
Attributes
dx yes
dy yes
format yes
glyphRef yes
x yes
y yes
SVGGradientElement { #SVGGradientElement}
Attributes
gradientTransform yes
gradientUnits yes
spreadMethod yes
SVGHKernElement { #SVGHKernElement}
SVGICCColor { #SVGICCColor}
Attributes
colorProfile yes
colors yes
SVGImageElement { #SVGImageElement}
Attributes
height yes
preserveAspectRatio yes
width yes
x yes
y yes
SVGLangSpace { #SVGLangSpace}
Attributes
xmllang yes
xmlspace yes
SVGLength { #SVGLength}
Attributes
unitType yes
value yes
valueAsString yes
valueInSpecifiedUnits yes
Operations
newValueSpecifiedUnits yes
convertToSpecifiedUnits yes
SVGLengthList { #SVGLengthList}
Attributes
numberOfItems yes
Operations
clear yes
initialize yes
getItem yes
insertItemBefore yes
replaceItem yes
removeItem yes
appendItem yes
SVGLinearGradientElement { #SVGLinearGradientElement}
Attributes
x1 yes
x2 yes
y1 yes
y2 yes
SVGLineElement { #SVGLineElement}
Attributes
x1 yes
x2 yes
y1 yes
y2 yes
SVGLocatable { #SVGLocatable}
Attributes
farthestViewportElement yes
nearestViewportElement yes
Operations
getBBox yes
getCTM yes
getScreenCTM yes
getTransformToElement yes
SVGMarkerElement { #SVGMarkerElement}
Attributes
markerHeight yes
markerUnits yes
markerWidth yes
orientAngle yes
orientType yes
refX yes
refY yes
Operations
setOrientToAuto yes
setOrientToAngle yes
SVGMaskElement { #SVGMaskElement}
Attributes
height yes
maskContentUnits yes
maskUnits yes
width yes
x yes
y yes
SVGMatrix { #SVGMatrix}
Attributes
a yes
b yes
c yes
d yes
e yes
f yes
Operations
multiply yes
inverse yes
translate yes
scale yes
scaleNonUniform yes
rotate yes
rotateFromVector yes
flipX yes
flipY yes
skewX yes
skewY yes
SVGMetadataElement { #SVGMetadataElement}
SVGMissingGlyphElement { #SVGMissingGlyphElement}
SVGMPathElement { #SVGMPathElement}
SVGNumber { #SVGNumber}
Attributes
value yes
SVGNumberList { #SVGNumberList}
Attributes
numberOfItems yes
Operations
clear yes
initialize yes
getItem yes
insertItemBefore yes
replaceItem yes
removeItem yes
appendItem yes
SVGPaint { #SVGPaint}
Attributes
paintType yes
uri yes
Operations
setUri yes
setPaint yes
SVGPathElement { #SVGPathElement}
Attributes
pathLength no
Operations
getTotalLength yes
getPointAtLength yes
getPathSegAtLength yes
createSVGPathSegClosePath yes
createSVGPathSegMovetoAbs yes
createSVGPathSegMovetoRel yes
createSVGPathSegLinetoAbs yes
createSVGPathSegLinetoRel yes
createSVGPathSegCurvetoCubicAbs yes
createSVGPathSegCurvetoCubicRel yes
createSVGPathSegCurvetoQuadraticAbs yes
createSVGPathSegCurvetoQuadraticRel yes
createSVGPathSegArcAbs yes
createSVGPathSegArcRel yes
createSVGPathSegLinetoHorizontalAbs yes
createSVGPathSegLinetoHorizontalRel yes
createSVGPathSegLinetoVerticalAbs yes
createSVGPathSegLinetoVerticalRel yes
createSVGPathSegCurvetoCubicSmoothAbs yes
createSVGPathSegCurvetoCubicSmoothRel yes
createSVGPathSegCurvetoQuadraticSmoothAbs yes
createSVGPathSegCurvetoQuadraticSmoothRel yes
SVGPathSeg { #SVGPathSeg}
Attributes
pathSegType yes
pathSegTypeAsLetter yes
SVGPathSegArcAbs { #SVGPathSegArcAbs}
Attributes
angle yes
largeArcFlag yes
r1 yes
r2 yes
sweepFlag yes
x yes
y yes
SVGPathSegArcRel { #SVGPathSegArcRel}
Attributes
angle yes
largeArcFlag yes
r1 yes
r2 yes
sweepFlag yes
x yes
y yes
SVGPathSegClosePath { #SVGPathSegClosePath}
SVGPathSegCurvetoCubicAbs { #SVGPathSegCurvetoCubicAbs}
Attributes
x yes
x1 yes
x2 yes
y yes
y1 yes
y2 yes
SVGPathSegCurvetoCubicRel { #SVGPathSegCurvetoCubicRel}
Attributes
x yes
x1 yes
x2 yes
y yes
y1 yes
y2 yes
SVGPathSegCurvetoCubicSmoothAbs { #SVGPathSegCurvetoCubicSmoothAbs}
Attributes
x yes
x2 yes
y yes
y2 yes
SVGPathSegCurvetoCubicSmoothRel { #SVGPathSegCurvetoCubicSmoothRel}
Attributes
x yes
x2 yes
y yes
y2 yes
SVGPathSegCurvetoQuadraticAbs { #SVGPathSegCurvetoQuadraticAbs}
Attributes
x yes
x1 yes
y yes
y1 yes
SVGPathSegCurvetoQuadraticRel { #SVGPathSegCurvetoQuadraticRel}
Attributes
x yes
x1 yes
y yes
y1 yes
SVGPathSegCurvetoQuadraticSmoothAbs { #SVGPathSegCurvetoQuadraticSmoothAbs}
Attributes
x yes
y yes
SVGPathSegCurvetoQuadraticSmoothRel { #SVGPathSegCurvetoQuadraticSmoothRel}
Attributes
x yes
y yes
SVGPathSegLinetoAbs { #SVGPathSegLinetoAbs}
Attributes
x yes
y yes
SVGPathSegLinetoHorizontalAbs { #SVGPathSegLinetoHorizontalAbs}
Attributes
x yes
SVGPathSegLinetoHorizontalRel { #SVGPathSegLinetoHorizontalRel}
Attributes
x yes
SVGPathSegLinetoRel { #SVGPathSegLinetoRel}
Attributes
x yes
y yes
SVGPathSegLinetoVerticalAbs { #SVGPathSegLinetoVerticalAbs}
Attributes
y yes
SVGPathSegLinetoVerticalRel { #SVGPathSegLinetoVerticalRel}
Attributes
y yes
SVGPathSegList { #SVGPathSegList}
Attributes
numberOfItems yes
Operations
clear yes
initialize yes
getItem yes
insertItemBefore yes
replaceItem yes
removeItem yes
appendItem yes
SVGPathSegMovetoAbs { #SVGPathSegMovetoAbs}
Attributes
x yes
y yes
SVGPathSegMovetoRel { #SVGPathSegMovetoRel}
Attributes
x yes
y yes
SVGPatternElement { #SVGPatternElement}
Attributes
height yes
patternContentUnits yes
patternTransform no
patternUnits yes
width yes
x yes
y yes
SVGPoint { #SVGPoint}
Attributes
x yes
y yes
Operations
matrixTransform partial Not implemented for any SVGPoint in an SVGPointList.
SVGPointList { #SVGPointList}
Attributes
numberOfItems yes
Operations
clear yes
initialize yes
getItem yes
insertItemBefore yes
replaceItem yes
removeItem yes
appendItem yes
SVGPolygonElement { #SVGPolygonElement}
SVGPolylineElement { #SVGPolylineElement}
SVGPreserveAspectRatio { #SVGPreserveAspectRatio}
Attributes
align yes
meetOrSlice yes
SVGRadialGradientElement { #SVGRadialGradientElement}
Attributes
cx yes
cy yes
fx yes
fy yes
r yes
SVGRect { #SVGRect}
Attributes
height yes
width yes
x yes
y yes
SVGRectElement { #SVGRectElement}
Attributes
height yes
rx yes
ry yes
width yes
x yes
y yes
SVGRenderingIntent { #SVGRenderingIntent}
SVGScriptElement { #SVGScriptElement}
Attributes
type yes
SVGSetElement { #SVGSetElement}
SVGStopElement { #SVGStopElement}
Attributes
offset yes
SVGStringList { #SVGStringList}
Attributes
numberOfItems no
Operations
clear no
initialize no
getItem no
insertItemBefore no
replaceItem no
removeItem no
appendItem no
SVGStylable { #SVGStylable}
Attributes
className yes
style yes
Operations
getPresentationAttribute yes
SVGStyleElement { #SVGStyleElement}
Attributes
media yes
title yes
type yes
xmlspace yes
SVGSVGElement { #SVGSVGElement}
Attributes
contentScriptType yes
contentStyleType yes
currentScale yes
currentTranslate yes
currentView no
height yes
pixelUnitToMillimeterX yes
pixelUnitToMillimeterY yes
screenPixelToMillimeterX yes
screenPixelToMillimeterY yes
useCurrentView no
viewport yes
width yes
x yes
y yes
Operations
suspendRedraw yes
unsuspendRedraw yes
unsuspendRedrawAll yes
forceRedraw yes
pauseAnimations yes
unpauseAnimations yes
animationsPaused yes
getCurrentTime yes
setCurrentTime yes
getIntersectionList yes
getEnclosureList yes
checkIntersection yes
checkEnclosure yes
deselectAll yes
createSVGNumber yes
createSVGLength yes
createSVGAngle yes
createSVGPoint yes
createSVGMatrix yes
createSVGRect yes
createSVGTransform yes
createSVGTransformFromMatrix yes
getElementById yes
SVGSwitchElement { #SVGSwitchElement}
SVGSymbolElement { #SVGSymbolElement}
SVGTests { #SVGTests}
Attributes
requiredExtensions no
requiredFeatures no
systemLanguage no
Operations
hasExtension no
SVGTextContentElement { #SVGTextContentElement}
Attributes
lengthAdjust yes
textLength yes
Operations
getNumberOfChars yes
getComputedTextLength yes
getSubStringLength yes
getStartPositionOfChar yes
getEndPositionOfChar yes
getExtentOfChar yes
getRotationOfChar yes
getCharNumAtPosition yes
selectSubString yes
SVGTextElement { #SVGTextElement}
SVGTextPathElement { #SVGTextPathElement}
Attributes
method yes
spacing yes
startOffset yes
SVGTextPositioningElement { #SVGTextPositioningElement}
Attributes
dx yes
dy yes
rotate yes
x yes
y yes
SVGTitleElement { #SVGTitleElement}
SVGTransform { #SVGTransform}
Attributes
angle yes
matrix yes
type yes
Operations
setMatrix yes
setTranslate yes
setScale yes
setRotate yes
setSkewX yes
setSkewY yes
SVGTransformable { #SVGTransformable}
Attributes
transform yes
SVGTransformList { #SVGTransformList}
Attributes
numberOfItems yes
Operations
clear yes
initialize yes
getItem yes
insertItemBefore yes
replaceItem yes
removeItem yes
appendItem yes
createSVGTransformFromMatrix yes
consolidate yes
SVGTRefElement { #SVGTRefElement}
SVGTSpanElement { #SVGTSpanElement}
SVGUnitTypes { #SVGUnitTypes}
SVGURIReference { #SVGURIReference}
Attributes
href yes
SVGUseElement { #SVGUseElement}
Attributes
animatedInstanceRoot no
height yes
instanceRoot no
width yes
x yes
y yes
SVGViewElement { #SVGViewElement}
Attributes
viewTarget no
SVGViewSpec { #SVGViewSpec}
Attributes
preserveAspectRatioString no
transform no
transformString no
viewBoxString no
viewTarget no
viewTargetString no
SVGVKernElement { #SVGVKernElement}
SVGZoomAndPan { #SVGZoomAndPan}
Attributes
zoomAndPan yes
SVGZoomEvent { #SVGZoomEvent}
Attributes
newScale no
newTranslate no
previousScale no
previousTranslate no
zoomRectScreen no

ECMAScript objects

In addition to the host objects exposed to ECMAScript that implement the SVG DOM, the following objects are also available.

Global object
Properties
document
The current SVG document.
event
The most recently dispatched event object.
evt
An alias for `event`.
location
Implementation of the [Location](http://www.w3.org/TR/SVGTiny12/svgudom.html#dom__Location) interface. Methods `assign` and `reload` are available. This interface is available since version 1.8.
window
The global object (a self-reference).
Function properties
alert(message)
Displays an alert dialog with the specified `message`.
clearInterval(intervalID)
Cancels an interval that was set by a call to `setInterval`. The `intervalID` must be an object that has been returned by a previous `setInterval` call.
clearTimeout(timeoutID)
Cancels a timeout that was set by a call to `setTimeout`. The `timeoutID` must be an object that has been returned by a previous `clearTimeout` call.
confirm(message)
Displays a confirmation dialog with the specified `message`. The window has an OK and a Cancel button. The function returns `true` if the user clicks on the OK button, and `false` otherwise.
getURL(uri, function[, encoding])
Gets data from the given `uri`. This method returns immediately and the given `function` is called when the data is fully downloaded. The optional `encoding` argument is the encoding to assume the data is in, defaulting to UTF-8. The argument passed to the function is an object with three properties: success : `true` if the data is available, `false` otherwise. contentType : The content type of the data, if it is known by the implementation. content : A string holding the data.
parseXML(text, document)
Parses and returns a `DocumentFragment` object. `text` is the string that is to be parsed as XML data, and `document` is a `Document` that will be used for creating new DOM objects.
postURL(uri, content, function[, type, encoding])
Sends data to the given `uri`. This method returns immediately and the given `function` is called when the data is fully downloaded. The optional `type` argument will specify the `Content-Type` HTTP header to use, defaulting to `text/plain`. The optional `encoding` argument is the encoding to assume the data is in, defaulting to UTF-8. The argument passed to the function is an object with three properties: success : `true` if the data is available, `false` otherwise. contentType : The content type of the data, if it is known by the implementation. content : A string holding the data.
printNode(node)
Returns a string that is the serialization of the given DOM node.
prompt(message[, defaultValue])
Displays an input dialog with the specified `message`. The `defaultValue` parameter specifies the initial contents of the text box in the window. The function returns the string entered by the user, or null if the window was cancelled.
setInterval(script, interval)
Evaluates the given `script` repeatedly after the specified amount of time. The value for `script` must be either a string, which is evaluated by `eval` every interval, or an ECMAScript function object, which is called every interval. This method does not stall the script: the evaluation is scheduled and the script continues its execution. The function returns an object that can be passed to the `clearInterval` function.
setTimeout(script, timeout)
Evaluates the given `script` after the specified amount of time. The value for `script` must be either a string, which is evaluated by `eval` after the timeout, or an ECMAScript function object, which is called after the timeout. This method does not stall the script: the evaluation is scheduled and the script continues its execution. The function returns an object that can be passed to the `clearInterval` function. The function returns an object that can be passed to the `clearTimeout` function.

SVG 1.1 test suite

The table below lists the test cases from the December 2006 release of the SVG 1.1 test suite and whether the latest Batik code in the Git repository passes each one.

SVG 1.1 test suite
animate-elem-02-t yes
animate-elem-03-t yes
animate-elem-04-t yes
animate-elem-05-t yes
animate-elem-06-t yes
animate-elem-07-t yes
animate-elem-08-t yes
animate-elem-09-t yes
animate-elem-10-t yes
animate-elem-11-t yes
animate-elem-12-t yes
animate-elem-13-t yes
animate-elem-14-t yes
animate-elem-15-t yes
animate-elem-17-t yes
animate-elem-19-t yes
animate-elem-20-t yes
animate-elem-21-t yes
animate-elem-22-b yes
animate-elem-23-t yes
animate-elem-24-t yes
animate-elem-25-t yes
animate-elem-26-t yes
animate-elem-27-t yes
animate-elem-28-t yes
animate-elem-29-b yes
animate-elem-30-t yes
animate-elem-31-t yes
animate-elem-32-t yes
animate-elem-33-t yes
animate-elem-34-t yes
animate-elem-36-t yes
animate-elem-37-t yes
animate-elem-39-t yes
animate-elem-40-t yes
animate-elem-41-t yes
animate-elem-44-t yes
animate-elem-46-t yes
animate-elem-52-t yes
animate-elem-60-t yes
animate-elem-61-t yes
animate-elem-62-t yes
animate-elem-63-t yes
animate-elem-64-t yes
animate-elem-65-t yes
animate-elem-66-t yes
animate-elem-67-t yes
animate-elem-68-t yes
animate-elem-69-t yes
animate-elem-70-t yes
animate-elem-77-t yes
animate-elem-78-t yes
animate-elem-80-t yes
animate-elem-81-t yes
animate-elem-82-t yes
animate-elem-83-t partial Performing interpolating animation of paths between an absolute and a corresponding relative path command (e.g. from "M0,0 L10,10" to "M0,0 l10,20") is not supported.
animate-elem-84-t yes
animate-elem-85-t partial Performing interpolating animation of colors to or from the currentColor keyword is not supported.
color-prof-01-f yes
color-prop-01-b yes
color-prop-02-f yes
color-prop-03-t yes
coords-coord-01-t yes
coords-coord-02-t yes
coords-trans-01-b yes
coords-trans-02-t yes
coords-trans-03-t yes
coords-trans-04-t yes
coords-trans-05-t yes
coords-trans-06-t yes
coords-units-01-b yes
coords-units-02-b yes
coords-units-03-b yes
coords-viewattr-01-b yes
coords-viewattr-02-b yes
coords-viewattr-03-b yes
extend-namespace-01-f yes
filters-blend-01-b yes
filters-color-01-b yes
filters-composite-02-b yes
filters-comptran-01-b yes
filters-conv-01-f partial
filters-diffuse-01-f yes
filters-displace-01-f yes
filters-example-01-b yes
filters-felem-01-b no
filters-gauss-01-b yes
filters-image-01-b yes
filters-light-01-f yes
filters-morph-01-f yes
filters-offset-01-b yes
filters-specular-01-f yes
filters-tile-01-b yes
filters-turb-01-f yes
fonts-desc-02-t partial Font glyph selection based on certain properties is not supported.
fonts-elem-01-t yes
fonts-elem-02-t yes
fonts-elem-03-b yes
fonts-elem-04-b yes
fonts-elem-05-t yes
fonts-elem-06-t yes
fonts-elem-07-b yes
fonts-glyph-02-t yes
fonts-glyph-03-t yes
fonts-glyph-04-t yes
fonts-kern-01-t yes
interact-cursor-01-f yes
interact-dom-01-b yes
interact-events-01-b yes
interact-order-01-b yes
interact-order-02-b yes
interact-order-03-b yes
interact-zoom-01-t partial Test is incorrect.
linking-a-01-b yes
linking-a-02-b yes
linking-a-03-b yes
linking-a-04-t yes
linking-a-05-t yes
linking-a-07-t no The target attribute of the a element is ignored.
linking-uri-01-b yes
linking-uri-02-b yes
linking-uri-03-t yes
masking-intro-01-f yes
masking-mask-01-b yes
masking-opacity-01-b yes
masking-path-01-b yes
masking-path-02-b yes
masking-path-03-b yes
masking-path-04-b yes
masking-path-05-f yes
metadata-example-01-b yes
painting-fill-01-t yes
painting-fill-02-t yes
painting-fill-03-t yes
painting-fill-04-t yes
painting-fill-05-b yes
painting-marker-01-f yes
painting-marker-02-f yes
painting-marker-03-f yes
painting-render-01-b yes
painting-stroke-01-t yes
painting-stroke-02-t yes
painting-stroke-03-t yes
painting-stroke-04-t yes
painting-stroke-07-t partial
paths-data-01-t yes
paths-data-02-t yes
paths-data-03-f yes
paths-data-04-t yes
paths-data-05-t yes
paths-data-06-t yes
paths-data-07-t yes
paths-data-08-t yes
paths-data-09-t yes
paths-data-10-t yes
paths-data-12-t yes
paths-data-13-t yes
paths-data-14-t yes
paths-data-15-t yes
pservers-grad-01-b yes
pservers-grad-02-b yes
pservers-grad-03-b yes
pservers-grad-04-b yes
pservers-grad-05-b yes
pservers-grad-06-b yes
pservers-grad-07-b yes
pservers-grad-08-b yes
pservers-grad-09-b yes
pservers-grad-10-b yes
pservers-grad-11-b yes
pservers-grad-12-b yes
pservers-grad-13-b yes
pservers-grad-14-b yes
pservers-grad-15-b yes
pservers-grad-16-b yes
pservers-grad-17-b yes
pservers-grad-18-b yes
pservers-grad-19-b no Animation of gradients do not affect referencing elements.
pservers-pattern-01-b yes
render-elems-01-t yes
render-elems-02-t yes
render-elems-03-t yes
render-elems-06-t yes
render-elems-07-t yes
render-elems-08-t yes
render-groups-01-b yes
render-groups-03-t yes
script-handle-01-b yes
script-handle-02-b yes
script-handle-03-b yes
script-handle-04-b yes
shapes-circle-01-t yes
shapes-circle-02-t yes
shapes-ellipse-01-t yes
shapes-ellipse-02-t yes
shapes-intro-01-t yes
shapes-line-01-t yes
shapes-polygon-01-t yes
shapes-polyline-01-t yes
shapes-rect-01-t yes
shapes-rect-02-t yes
struct-cond-01-t yes
struct-cond-02-t yes
struct-cond-03-t yes
struct-defs-01-t yes
struct-dom-01-b yes
struct-dom-02-b yes
struct-dom-03-b yes
struct-dom-04-b yes
struct-dom-05-b yes
struct-dom-06-b yes
struct-frag-01-t yes
struct-frag-02-t yes
struct-frag-03-t yes
struct-frag-04-t yes
struct-frag-05-t yes
struct-frag-06-t yes
struct-group-01-t yes
struct-group-02-b yes
struct-group-03-t yes
struct-image-01-t yes
struct-image-02-b yes
struct-image-03-t yes
struct-image-04-t yes
struct-image-05-b yes
struct-image-06-t yes
struct-image-07-t yes
struct-image-08-t yes
struct-image-09-t yes
struct-image-10-t no
struct-symbol-01-b yes
struct-use-01-t yes
struct-use-03-t yes
struct-use-05-b yes
styling-css-01-b yes
styling-css-02-b yes
styling-css-03-b yes
styling-css-04-f yes
styling-css-05-b yes
styling-css-06-b no The :hover, :link, :visited, :active and :focus pseudo-classes are not supported in selectors.
styling-inherit-01-b yes
styling-pres-01-t yes
text-align-01-b yes
text-align-02-b yes
text-align-03-b yes
text-align-04-b yes
text-align-05-b yes
text-align-06-b yes
text-align-08-b no
text-altglyph-01-b yes
text-deco-01-b yes
text-fonts-01-t yes
text-fonts-02-t yes
text-fonts-03-t yes
text-intro-01-t yes
text-intro-02-b yes
text-intro-03-b yes
text-intro-04-t yes
text-intro-05-t yes
text-path-01-b yes
text-spacing-01-b yes
text-text-01-b yes
text-text-03-b yes
text-text-04-t yes
text-text-05-t no
text-text-06-t yes
text-text-07-t yes
text-text-08-b yes
text-tref-01-b yes
text-tselect-01-b yes
text-tselect-02-f partial
text-tspan-01-b yes
text-ws-01-t yes
text-ws-02-t yes
types-basicDOM-01-b yes