<?xml version="1.0" encoding="iso-8859-1" ?>
<svg viewBox="0 0 700 700" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" onload="loaded()">
<title>Animation of tspan dx and dy</title> 
<desc>
    dx and dy attributes change with from-to, from-by and by animations for blue texts
    with explicitly given absolute text positions x and y.

    The same effect is gained using values animations for x and y of red texts below.
    Therefore the blue texts cover always the red texts. If something red gets
    visible, an error is occured.
</desc> 

<rect x="0" y="0" height="1000" width="1000" fill="#ffc" />


<text font-size="180" font-family="monospace">

<tspan id="compare1" x="100,200,300,400" y="200,190,180,170" fill="#f00">text
<animate
    attributeName="x" 
    attributeType="XML"
    values="110,200,300,400;140,200,300,400"
    dur="5s"
    fill="freeze" />
<animate
    attributeName="y" 
    attributeType="XML"
    values="210,190,180,170;240,190,180,170"
    dur="5s"
    fill="freeze" />
</tspan>

<tspan id="compare2" x="100,200,300,400" y="400,390,380,370" fill="#f00">text
<animate
    attributeName="x" 
    attributeType="XML"
    values="100,210,320,430;140,260,380,500"
    dur="5s"
    fill="freeze" />
<animate
    attributeName="y" 
    attributeType="XML"
    values="400,400,400,400;440,450,460,470"
    dur="5s"
    fill="freeze" />
</tspan>

<tspan id="compare3" x="100,200,300,400" y="600,580,560,540" fill="#f00">text
<animate
    attributeName="x" 
    attributeType="XML"
    values="100,200,300,400;140,260,380,500"
    dur="10s"
    fill="freeze" />
<animate
    attributeName="y" 
    attributeType="XML"
    values="600,580,560,540;640,640,640,640"
    dur="10s"
    fill="freeze" />
</tspan>





<tspan id="text1" x="100,200,300,400" y="200,190,180,170" fill="blue">text
<animate
    attributeName="dx" 
    attributeType="XML"
    from="10"
    to="40"
    dur="5s"
    fill="freeze" />
<animate
    attributeName="dy" 
    attributeType="XML"
    from="10"
    to="40"
    dur="5s"
    fill="freeze" />
</tspan> 
<tspan id="text2" x="100,200,300,400" y="400,390,380,370" fill="blue">text
<animate
    attributeName="dx" 
    attributeType="XML"
    from="0,10,20,30"
    by="40 50 60 70"
    dur="5s"
    fill="freeze" />
<animate
    attributeName="dy" 
    attributeType="XML"
    from="0,10,20,30"
    by="40 50 60 70"
    dur="5s"
    fill="freeze" />
</tspan>

<tspan id="text3" x="100,200,300,400" y="600,580,560,540" fill="blue">text
<animate
    attributeName="dx" 
    attributeType="XML"
    by="40 60 80 100"
    dur="10s"
    fill="freeze" />
<animate
    attributeName="dy" 
    attributeType="XML"
    by="40 60 80 100"
    dur="10s"
    fill="freeze" />
</tspan>
</text>
<script>
if (window.testRunner)
    testRunner.waitUntilDone();

function loaded() {
    document.documentElement.setCurrentTime(11);
    if (window.testRunner)
        testRunner.notifyDone();
}
</script>
</svg>
