blob: 7aea17baf100eca2fb72906658c34a07cacdee72 [file] [log] [blame]
<?xml version="1.0" standalone="no"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd">
<svg viewBox="0 0 400 300" version="1.1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<defs>
<g id="g">
<rect id="rect" stroke-width="5px" fill="red" stroke="navy" width="60" height="10"/>
<circle id="circle" opacity="0.5" fill="green" cx="30" cy="5" r="10"/>
</g>
</defs>
<use x="25" y="25" xlink:href="#g"/>
<use x="125" y="25" xlink:href="#g"/>
<text id="text" x="70" y="70">Test failed.</text>
<script>
var useElement = document.getElementsByTagName("use")[1];
if (useElement != useElement.instanceRoot.correspondingUseElement)
return;
var element = useElement.instanceRoot.correspondingElement;
if (element != document.getElementById("g"))
return;
// element.firstChild is a #text node! the next sibling gives the rect
var rect = element.firstChild.nextSibling;
if (rect != document.getElementById("rect"))
return;
// rect.nextSibling is a #text node! the next sibling gives the circle
var circle = rect.nextSibling.nextSibling;
if (circle != document.getElementById("circle"))
return;
rect.setAttribute("fill", "green");
circle.setAttribute("opacity", "0.8");
document.getElementById("text").firstChild.nodeValue = "Test passed.";
</script>
</svg>