public function parse()
{
$xml = simplexml_load_string($this->fileContent);
// parsing headers
$this->setTimeBase((string) $xml->attributes('ttp', true)->timeBase);
$this->setTickRate((string) $xml->attributes('ttp', true)->tickRate);
$head = $xml->head;
// parsing styles
foreach ($head->styling->style as $style) {
$styleData = $this->parseAttributes($style);
$this->styles[$styleData['id']] = $styleData;
}
// parsing regions
$regions = $head->layout->region;
foreach ($regions as $region) {
$regionData = $this->parseAttributes($region);
$this->regions[$regionData['id']] = $regionData;
if ($region->style) {
$regionAttr = array();
foreach ($region->style as $regionStyle) {
$regionAttr = array_merge($regionAttr, $this->parseAttributes($regionStyle));
}
$this->regions[$regionData['id']] = array_merge($this->regions[$regionData['id']], $regionAttr);
}
}
// parsing cues
$this->parseCues($xml->body);
return $this;
}