Hi,

I don't speak english very well. So, I hope you understand my question.

I modified the sample file "test/spec/scripting/nestedsvg.svg" (see below). The nested svg-elemet is now created on the fly in the ecmascript. In the original file the svg-element was part of the <defs> section.

When I load the file in Batik the rect is NOT displayed. In the Adobe SVG Plugin it IS displayed. Is this a bug? Or is my ecmascript not correct?

Thank you in advance,
Urs


<?xml version="1.0" standalone="no"?> <!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.0//EN" "http://www.w3.org/TR/2001/REC-SVG-20010904/DTD/svg10.dtd";>

<svg xmlns="http://www.w3.org/2000/svg";
     xmlns:xlink="http://www.w3.org/1999/xlink";
     id="body" width="450" height="500" viewBox="0 0 450 500">

    <title>nested svg element</title>

<script type="text/ecmascript"><![CDATA[
function build(evt) {
var g = evt.target;
//var svg = g.ownerDocument.getElementById('svg');
var svg = g.ownerDocument.createElementNS(null, 'svg');
svg.setAttributeNS(null, 'id', 'svg_test');
svg.setAttributeNS(null, 'width', '450');
svg.setAttributeNS(null, 'height', '500');
svg.setAttributeNS(null, 'viewBox', '0 0 450 500');
var rect = g.ownerDocument.createElementNS(null, 'rect');
rect.setAttributeNS(null, 'id', 'rect_test');
rect.setAttributeNS(null, 'x', '10%');
rect.setAttributeNS(null, 'y', '10%');
rect.setAttributeNS(null, 'width', '80%');
rect.setAttributeNS(null, 'height', '80%');
rect.setAttributeNS(null, 'style', 'fill:crimson');
svg.appendChild(rect);
g.appendChild(svg);
}


    ]]></script>

<g>
    <g onload="build(evt)" id="test-content">
    </g>
</g>

</svg>


--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to