/** * Parse the table of contents file and populate nav data */ public function parse() { $this->navData = array(); $doc = new ChaucerDomDocument(); $doc->loadHTMLFile($this->path); $xpath = new DOMXpath($doc); $xpath->registerNamespace('epub', 'http://www.idpf.org/2007/ops'); $parentElements = $xpath->query("//nav"); if (!is_null($parentElements)) { foreach ($parentElements as $parentNode) { if ($parentNode->getAttribute('epub:type') == 'toc') { $this->navData = $this->parseTocNode($parentNode, $xpath, 0, 0); } } } }