parentWriter = $pWriter; } /** * Get parent writer * * @return IWriter * @throws Exception */ public function getParentWriter() { if (!is_null($this->parentWriter)) { return $this->parentWriter; } else { throw new Exception("No parent IWriter assigned."); } } /** * Get XML Writer * * @return XMLWriter */ protected function getXmlWriter() { $useDiskCaching = false; if (!is_null($this->parentWriter)) { if ($this->parentWriter->getUseDiskCaching()) { $useDiskCaching = true; } } if ($useDiskCaching) { return new XMLWriter(XMLWriter::STORAGE_DISK, $this->parentWriter->getDiskCachingDirectory()); } else { return new XMLWriter(XMLWriter::STORAGE_MEMORY); } } }