/** * Set CSM. * @param string $csm XML content of page. * @return IdmlPxeExporter */ public function setCSM($csm) { $ok = $this->csmDoc->loadHTML($csm); $this->pxeDoc = clone $this->csmDoc; $oldBody = $this->pxeDoc->getElementsByTagName('body')->item(0); $this->pxeBody = $this->pxeDoc->createElement('body'); $oldBody->parentNode->replaceChild($this->pxeBody, $oldBody); $this->elementMap = new IdmlPxeExportParentMap($this->pxeDoc); if ($ok === FALSE) { error_log("WARNING: Unable to load HTML from IdmlPxeExporter::setCSM"); return; } $this->csmBody = $this->csmDoc->getElementsByTagName('body')->item(0); return $this; }