isNew()) { $executor = new SQLite3ScriptExecutor(); $result = $executor->executeScript('../data/seed.sql'); if (!$result['success']) { throw new RuntimeException($result['error']); } } $sort = isset($_GET['sort']) ? $_GET['sort'] : "created"; $order = isset($_GET['order']) ? $_GET['order'] : "desc"; $result = $database->getPubData($sort, $order); header("Content-type: text/xml"); // generate XML $xmlDoc = pubGetFileFeedXML($result); $xsltPath = 'pub.xsl'; $pi = $xmlDoc->createProcessingInstruction('xml-stylesheet', "type=\"text/xsl\" href=\"$xsltPath\""); // Insert the processing instruction at the beginning of the document $xmlDoc->insertBefore($pi, $xmlDoc->documentElement); echo $xmlDoc->saveXML(); } catch (Exception $e) { die("Database initialization failed: " . $e->getMessage()); } finally { if (isset($database)) { $database->close(); } }