<svg version="1.1" baseProfile="full" onload="init();" id="svg-root"
  width="100%" height="100%" viewBox="0 0 480 360"
  xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
  <!--======================================================================-->
  <!--=  SVG 1.1 2nd Edition Test Case                                     =-->
  <!--======================================================================-->
  <!--=  Copyright 2009 World Wide Web Consortium, (Massachusetts          =-->
  <!--=  Institute of Technology, European Research Consortium for         =-->
  <!--=  Informatics and Mathematics (ERCIM), Keio University).            =-->
  <!--=  All Rights Reserved.                                              =-->
  <!--=  See http://www.w3.org/Consortium/Legal/.                          =-->
  <!--======================================================================-->
  <d:SVGTestCase xmlns:d="http://www.w3.org/2000/02/svg/testsuite/description/"
    template-version="1.4" reviewer="AQ" author="ED" status="accepted"
    version="$Revision: 1.8 $" testname="$RCSfile: struct-dom-07-f.svg,v $">
    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/struct.html#DOMInterfaces">
      <p>
        The svg contains three use elements that each reference three rects from an svg element in the document.
        Before the onload-script is run there should be 9 red rects visible. The script changes the fill of the rects to be green.
      </p>
    </d:testDescription>
    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
      <p>
        Run the test. No interaction required.
      </p>
    </d:operatorScript>
    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
      <p>
        The test is passed if 9 green rectangles are shown.
      </p>
    </d:passCriteria>
  </d:SVGTestCase>
  <title id="test-title">$RCSfile: struct-dom-07-f.svg,v $</title>
  <defs>
    <font-face font-family="SVGFreeSansASCII" unicode-range="U+0-7F">
      <font-face-src>
        <font-face-uri xlink:href="../resources/SVGFreeSans.svg#ascii"/>
      </font-face-src>
    </font-face>
  </defs>
  <g id="test-body-content" font-family="SVGFreeSansASCII,sans-serif" font-size="18">
    <script><![CDATA[
      function init()
      {
        var use = document.getElementById("use-elm");
        var firstElementChild = use.instanceRoot.firstChild;

        // Get the <g> elements SVGElementInstance
        while(firstElementChild.correspondingElement.nodeType != Node.ELEMENT_NODE)
          firstElementChild = firstElementChild.nextSibling;

        // the childnodes of the g element shadowtree
        var childNodes = firstElementChild.childNodes;
        for(var i = 0; i < childNodes.length; i++)
        {
          var item = childNodes.item(i);
          if(item.correspondingElement.nodeType == Node.ELEMENT_NODE)
          {
            item.correspondingElement.setAttribute("fill", "green");
          }
        }
      }
    ]]></script>
    <defs>
      <svg xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-sub-root" viewBox="0 0 450 450">
        <g id="drawRects" fill="red" stroke="black" stroke-width="5">
          <rect x="225" y="0" width="225" height="225"/>
          <rect x="0" y="225" width="225" height="225"/>
          <rect x="225" y="225" width="225" height="225"/>
        </g>
      </svg>
    </defs>

    <g transform="translate(100,30)">
      <use id="use-elm" x="60" y="50" width="240" height="240" transform="translate(50,50) scale(0.4)" xlink:href="#svg-sub-root"/>
      <use id="use-elm-2" x="60" y="50" width="240" height="240" transform="scale(0.4)" xlink:href="#svg-sub-root"/>
      <use id="use-elm-3" width="450" height="450" transform="translate(124,120) scale(0.213333)" xlink:href="#drawRects"/>
    </g>
  </g>
  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.8 $</text>
  </g>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="black"/>
  <!-- comment out this watermark once the test is approved -->
  <!--<g id="draft-watermark">
    <rect x="1" y="1" width="478" height="20" fill="red" stroke="black" stroke-width="1"/>
    <text font-family="SVGFreeSansASCII,sans-serif" font-weight="bold" font-size="20" x="240"
      text-anchor="middle" y="18" stroke-width="0.5" stroke="black" fill="white">DRAFT</text>
  </g>-->
</svg>
