The path '$path' is bad.

\n"); html_footer(); } } else { $fp = fopen("docfiles$path", "rb"); if (!$fp) { if ($type == "html") { html_header("Documentation Error"); print("

Unable to open path '$path'.

\n"); html_footer(); } } else if ($type == "html") { html_header("Documentation"); $saw_body = 0; $last_nav = 0; while ($line = fgets($fp, 1024)) { if (strstr($line, "")) { break; } else if ($saw_body) { if (strstr($line, "ContentsPrevious") || strstr($line, ">Next")) { if ($last_nav) print("·\n"); else print("\n"); print("

User Comments

\n" ."

" ."Add Comment

\n"); $num_comments = show_comments("documentation.php$path"); if ($num_comments == 0) print("

No comments for this page.

\n"); html_footer(); } else { header("Content-Type: image/$type"); print(fread($fp, filesize("docfiles$path"))); fclose($fp); } } } else { html_header("Documentation"); if (array_key_exists("CLEAR", $_GET)) $q = ""; else if (array_key_exists("Q", $_GET)) $q = $_GET["Q"]; else $q = ""; $html = htmlspecialchars($q, ENT_QUOTES); if (stripos($_SERVER["HTTP_USER_AGENT"], "webkit") !== FALSE) { // Use Safari search box... $search = ""; } else { // Use standard HTML text field... $search = " " ." " .""; } print("
\n" ."

$search

\n" ."
\n"); if ($q != "") { // Run htmlsearch to search the documentation... $matches = array(); $fp = popen("/home/mike/bin/htmlsearch " . escapeshellarg($q), "r"); while ($line = fgets($fp, 1024)) { $data = explode(":", $line); $matches[$data[0]] = $data[1]; } pclose($fp); // Show the results... if (sizeof($matches) == 1) $total = "1 match"; else $total = sizeof($matches) . " matches"; print("

$total found:

\n" ."
    \n"); reset($matches); foreach ($matches as $file => $text) { $link = "$PHP_SELF/$file"; print("
  1. $text
  2. \n"); } print("
\n"); } else { ?>

You can view the Mini-XML documentation in a single HTML file or in multiple files with comments on-line:

You can also get a printed version of the Mini-XML documentation on Lulu.com.