export() public method

public export ( ) : TheSeer\fDOM\fDOMDocument
return TheSeer\fDOM\fDOMDocument
Esempio n. 1
0
 private function saveUnit(array $map, array $reportUnits, AbstractUnitObject $unit)
 {
     $indexNode = $this->index->findUnitNodeByName($unit->getNamespace(), $unit->getLocalName());
     if (!$indexNode) {
         throw new ProjectException(sprintf("Internal Error: Unit '%s' not found in index (ns: %s, n: %s).", $unit->getName(), $unit->getNamespace(), $unit->getLocalName()), ProjectException::UnitNotFoundInIndex);
     }
     $name = str_replace('\\', '_', $unit->getName());
     $dom = $unit->export();
     $dom->formatOutput = TRUE;
     $dom->preserveWhiteSpace = FALSE;
     $fname = $map[$dom->documentElement->localName] . '/' . $name . '.xml';
     try {
         $dom->save($this->xmlDir . '/' . $fname);
     } catch (fDOMException $e) {
         throw new ProjectException(sprintf("Internal Error: Unit '%s' could not be saved (ns: %s, n: %s).", $unit->getName(), $unit->getNamespace(), $unit->getLocalName()), ProjectException::UnitCouldNotBeSaved, $e);
     }
     if ($indexNode->hasAttribute('xml')) {
         $reportUnits = array_merge($reportUnits, $this->findAffectedUnits($fname));
     } else {
         $indexNode->setAttribute('xml', $fname);
     }
     return $reportUnits;
 }