<?xml version="1.0"?>
<root>
    <head xmlns="http://www.w3.org/1999/xhtml">
        <title> ProcessingInstruction.data and DOMCharacterDataModified event </title> 
    </head>
    <div id="log" xmlns="http://www.w3.org/1999/xhtml"></div>
  
    <pi><?foo bar?></pi>

    <script type="text/javascript" xmlns="http://www.w3.org/1999/xhtml">
        <![CDATA[
            var EVENT = "DOMCharacterDataModified";
            var TARGET = document.getElementsByTagName('pi')[0].firstChild;
            var TestResult = false;
            
            TARGET.addEventListener(EVENT, TestEvent, false);
            TARGET.data = "new" + TARGET.data;
            
            function TestEvent(evt)
            {
                if ((EVENT == evt.type) && (TARGET == evt.target) && ("newbar" == evt.newValue))
                {
                    TestResult = true; 
                }
                else
                {
                    TestResult = false; 
                }
            }
        ]]>
    </script>
</root>