    <html>
<head>
<script>
function loadXMLDoc()
{
    url = 'endlessxml.php';

    rq = false;
    
    try {
      if (window.XMLHttpRequest) {
        rq = new XMLHttpRequest();
        rq.overrideMimeType('text/xml');
        rq.onreadystatechange = readyStateChanged;
        rq.parent = window.parent;
        rq.open('GET', url, true);
        rq.send(null);
      }
    } catch (ex) {
        rq = false;
        alert(ex);
    }
}

function readyStateChanged(evt)
{
    evt.target.parent.dumpRequestStatus(evt.target);
}

</script>
</head>
<body onload="loadXMLDoc(); window.parent.subframeLoaded();" onunload="window.parent.log('Iframe unloaded');">
<p>This should have an XMLHttpRequest going on inside it</p>
</body>
</html>
