Calling elt.getR().getBaseVal() (elt is SVGRadial GradientElement) throw the following exception, org.apache.batik.dom.svg.LiveAttributeException at org.apache.batik.dom.svg.AbstractSVGAnimatedLength $BaseSVGLength.revalidate(Unknown Source) at org.apache.batik.dom.svg.AbstractSVGLength.getValueAsString(Unknown Source) Look at the Batik source code, it because the null value passed on private void initializeLiveAttributes() at SVGOMRadialGradientElement especially the line r = createLiveAnimatedLength(null, SVG_R_ATTRIBUTE, null,SVGOMAnimatedLength.OTHER_LENGTH,false); Where as according to the SVG Spec the r value: If the attribute is not specified, the effect is as if a value of "50%" were specified. The fix is simple, it should be r = createLiveAnimatedLength(null, SVG_R_ATTRIBUTE, SVG_RADIAL_GRADIENT_R_DEFAULT_VALUE,SVGOMAnimatedLength.OTHER_LENGTH,false);
Hi Tonny. You are right, this should have a default value of "50%". Fixed in SVN.