<svg version="1.1" baseProfile="tiny" 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="SVGWG" author="Lee Klosterman" status="accepted"
    version="$Revision: 1.5 $" testname="$RCSfile: linking-a-04-t.svg,v $">
    <d:testDescription xmlns="http://www.w3.org/1999/xhtml" href="http://www.w3.org/TR/SVG11/linking.html#Links">
      <p>
        Verify the capability to handle basic links out of SVG content
        using the 'a' element, with the xlink:href attributes.
        There are three subtests, in each of which one
        of three colored arrows comprise the content of an 'a' element.  The
        link destination is expressed by "xlink:href=".
        The initial view of this test contains the three arrows, a colored
        circle, labelling text, and the usual template legend and frame.
      </p>
    
      <p>
        There are several reference images associated with this test case.  The first
        illustrates the correct "start" or initial state of the rendered SVG file.
        The second illustrates the correct image after the first link is activated
        (to the linkingToc.svg file).  The third (for browser-environment viewers)
        should match the current image of the W3C home page, as viewed with a
        conventional browser.  (Note.  This harness does not yet
        provide access to multiple PNGs; the first, initial-state PNG is shown.)
      </p>
      <p>
        The test uses the 'rect' and 'polygon' elements, as well as basic fill (solid simple colors),
        stroke (black and colored wide and 1-pixel lines), font-family (Arial) and font-size properties.
      </p>
    </d:testDescription>
    <d:operatorScript xmlns="http://www.w3.org/1999/xhtml">
      <p>
        The user should interact with each of the arrows activating each of the links,
        using the UA's back mechanism to restart each link test.
      </p>
     
    </d:operatorScript>
    <d:passCriteria xmlns="http://www.w3.org/1999/xhtml">
      <p>
        The top-most (yellow) arrow links to an external SVG file, which is
        local (in the same directory).  The target file contains SVG 'text' elements
        which comprise a TOC and brief description of all of the test files
        for Linking.  Upon clicking the first arrow, the image of the linkingToc-t.svg
        file should replace the initial view of this test case in the viewer frame.
      </p>
      <p>
        The middle (green) arrow links to an object in this SVG test file, the yellow
        circle (id="internal-circle") immediately to its right, using "#circle-object"
        as the value of of the xlink:href attribute.
        There should be no change to the viewer frame upon clicking this arrow.
      </p>
      <p>
        The bottom-most (blue) arrow links to remote non-SVG content, the W3C home page
        using xlink:href attribute value "http://www.w3.org".  For viewers in a Web
        browser environment, the W3C home page should replace the initial view
        of this test case in the browser/viewer frame.  For other viewers (e.g.,
        interactive but SVG-only standalone viewers), the result is undefined, but could
        include such actions as a diagnostic "Error parsing..." message.
      </p>
    </d:passCriteria>
  </d:SVGTestCase>
  <title id="test-title">$RCSfile: linking-a-04-t.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">
    <text x="90" y="16" font-size="12">Basic out-bound links and the 'a' element.</text>
    <!-- First linking test:  link to another SVG file in same location. -->
    <a xlink:href="../images/linkingToc-t.svg">
      <path fill="yellow" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
    </a>
    <!-- Second linking test:  link to another object in this file. -->
    <g transform="translate(0,90)">
      <a xlink:href="#internal-circle">
        <path fill="lime" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
      </a>
    </g>
    <!-- Third linking test:  links to external, remote, non-SVG content (for  -->
    <!-- plugin viewers in browser environments.)                              -->
    <g transform="translate(0,180)">
      <a xlink:href="http://www.w3.org">
        <path fill="aqua" stroke="blue" d="M 165,40 h 100 v -12 l 45 36 l -45 36 v -12 h -100 z"/>
      </a>
    </g>
    <!-- Link target of second test -->
    <circle id="internal-circle" cx="390" cy="153" r="20" stroke="lime" fill="yellow" stroke-width="4"/>
    <text x="350" y="189" font-size="10">id="internal-circle"</text>
  </g>
  <g font-family="SVGFreeSansASCII,sans-serif" font-size="32">
    <text id="revision" x="10" y="340" stroke="none" fill="black">$Revision: 1.5 $</text>
  </g>
  <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
  <!-- 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>
