| 
<html><head>
 <title>HDObj test page</title>
 <style>
 body {
 background: #eeeeee;
 }
 h3 {
 text-align: center;
 }
 th {
 border: 1px solid black;
 background: #aaaaaa;
 }
 td {
 text-align: left;
 vertical-align: top;
 border: 1px solid black;
 }
 </style>
 </head>
 <body>
 <h3>HDObj test page</h3>
 <?php
 include_once("hdobj.php");
 
 function r_dump_errors(&$obj, $name="root") {
 $obj->dump_errors();
 foreach ($obj->children as $child) {
 r_dump_errors($obj->$child, $child);
 }
 }
 // load unit test
 if (!file_exists("data.xml")) {
 die("no data.xml in ".dirname(__FILE__));
 }
 $fp = fopen("data.xml", "r");
 $xml = fread($fp, filesize("data.xml"));
 fclose($fp);
 $obj = new HDObj($xml);
 //append unit test
 if (file_exists("append.xml")) {
 print("(appending xml from append.xml)<br>");
 $fp = fopen("append.xml", "r");
 $appendxml = fread($fp, filesize("append.xml"));
 fclose($fp);
 $obj->append_xml($appendxml, 1);
 }
 print("hdobject's error log:<br>");
 $obj->dump_errors();
 /*
 print("<hr>");
 $obj->printout();
 */
 print("<hr>");
 print("and now the hdobject reconstructs xml from its structure:<br>");
 print($obj->toXML(true, true));
 ?>
 <hr>
 how about we do something more constructive with the object?
 <?
 foreach ($obj->form as $form) {
 print("<table><thead><th colspan=\"2\">Form #"
 .$form->get_attrib("id")."</th></thead>");
 foreach($form->action as $action) {
 print("<tr><td>Action #".$action->get_attrib("id")."</td>");
 print("<td><table>");
 print("<tr><td>name</td><td>".$action->name."</td></tr>");
 print("<tr><td>description</td><td>".$action->descr."</td></tr>");
 print("<tr><td>type</td><td>".$action->type."</td></tr>");
 print("</table></td></tr>");
 }
 print("</table>");
 }
 ?>
 </body>
 </html>
 
 |