/**
  * export object to xml (see ilias_co.dtd)
  *
  * @param	object		$a_xml_writer	ilXmlWriter object that receives the
  *										xml data
  */
 function exportXML(&$a_xml_writer, $a_inst, $a_target_dir, &$expLog)
 {
     global $ilBench;
     $attrs = array();
     switch ($this->getType()) {
         case "lm":
             $attrs["Type"] = "LearningModule";
             break;
         case "dbk":
             $attrs["Type"] = "LibObject";
             break;
     }
     $a_xml_writer->xmlStartTag("ContentObject", $attrs);
     // MetaData
     $this->exportXMLMetaData($a_xml_writer);
     // StructureObjects
     //echo "ContObj:".$a_inst.":<br>";
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Structure Objects");
     $ilBench->start("ContentObjectExport", "exportStructureObjects");
     $this->exportXMLStructureObjects($a_xml_writer, $a_inst, $expLog);
     $ilBench->stop("ContentObjectExport", "exportStructureObjects");
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Structure Objects");
     // PageObjects
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Page Objects");
     $ilBench->start("ContentObjectExport", "exportPageObjects");
     $this->exportXMLPageObjects($a_xml_writer, $a_inst, $expLog);
     $ilBench->stop("ContentObjectExport", "exportPageObjects");
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Page Objects");
     // MediaObjects
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Media Objects");
     $ilBench->start("ContentObjectExport", "exportMediaObjects");
     $this->exportXMLMediaObjects($a_xml_writer, $a_inst, $a_target_dir, $expLog);
     $ilBench->stop("ContentObjectExport", "exportMediaObjects");
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Media Objects");
     // FileItems
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export File Items");
     $ilBench->start("ContentObjectExport", "exportFileItems");
     $this->exportFileItems($a_target_dir, $expLog);
     $ilBench->stop("ContentObjectExport", "exportFileItems");
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export File Items");
     // Questions
     if (count($this->q_ids) > 0) {
         $qti_file = fopen($a_target_dir . "/qti.xml", "w");
         include_once "./Modules/TestQuestionPool/classes/class.ilObjQuestionPool.php";
         $pool = new ilObjQuestionPool();
         fwrite($qti_file, $pool->toXML($this->q_ids));
         fclose($qti_file);
     }
     // To do: implement version selection/detection
     // Properties
     $expLog->write(date("[y-m-d H:i:s] ") . "Start Export Properties");
     $this->exportXMLProperties($a_xml_writer, $expLog);
     $expLog->write(date("[y-m-d H:i:s] ") . "Finished Export Properties");
     $a_xml_writer->xmlEndTag("ContentObject");
 }