<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1 Basic//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11-basic.dtd">
<!--======================================================================-->
<!--=  Copyright 2000 World Wide Web Consortium, (Massachusetts          =-->
<!--=  Institute of Technology, Institut National de Recherche en        =-->
<!--=  Informatique et en Automatique, Keio University). All Rights      =-->
<!--=  Reserved. See http://www.w3.org/Consortium/Legal/.                =-->
<!--======================================================================-->
<!-- ===================================================================== -->
<!-- linking-a-03-b.svg                                             -->
<!-- Notes.  This is based on sample files by Kelvin Lawrence et al, for   -->
<!-- IBM's SVGview.  Requires supplemental file, linkingCircle-f.svg.        -->
<!-- Author : Lofton Henderson  03-April-2000                              -->
<!--======================================================================-->
<svg version="1.1" baseProfile="basic" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" id="svg-root" width="100%" height="100%" viewBox="0 0 480 360" onload="clickLinkNow()">
   <script type="text/ecmascript"><![CDATA[
if (window.testRunner)
    window.testRunner.waitUntilDone();

function clickLinkNow() {
    if (window.eventSender) {
        eventSender.mouseMoveTo(240, 180);
        eventSender.mouseDown();
        eventSender.mouseUp();
    } else {
        // in manual mode
        alert("Please use run-webkit-tests.");
    }
}
]]>
</script>
    <title id="test-title">linking-a-03-b</title>
    <desc id="test-desc">Basic in-bound link object addressing formats.</desc>
    <!--======================================================================-->
    <!--Content of Test Case follows...                  =====================-->
    <!--======================================================================-->
    <g id="test-body-content" transform="scale(2)">
        <a xlink:href="resources/linkingCircle-f.svg#svgView(viewBox(64,227,72,72);transform(rotate(5));viewTarget(SomeElement);zoomAndPan(disable);preserveAspectRatio(none))">
	    <path fill="aqua" stroke="blue" d="M 185,40 h -100 v -12 l -45 36 l 45 36 v -12 h 100 z"/>
        </a>
    </g>
    <text id="revision" x="10" y="340" font-size="40" stroke="none" fill="black">$Revision: 1.2 $</text>
    <rect id="test-frame" x="1" y="1" width="478" height="358" fill="none" stroke="#000000"/>
</svg>
