/** * @see CultureFeed_Cdb_IElement::parseFromCdbXml(SimpleXMLElement $xmlElement) * @return CultureFeed_Cdb_Data_EventDetailList */ public static function parseFromCdbXml(SimpleXMLElement $xmlElement) { $attributes = $xmlElement->attributes(); if (empty($attributes['lang'])) { throw new CultureFeed_Cdb_ParseException("Lang missing for eventdetail element"); } $eventDetail = new Culturefeed_Cdb_Data_EventDetail(); $eventDetail->setLanguage((string) $attributes['lang']); if (!empty($xmlElement->title)) { $eventDetail->setTitle((string) $xmlElement->title); } if (!empty($xmlElement->shortdescription)) { $eventDetail->setShortDescription((string) $xmlElement->shortdescription); } if (!empty($xmlElement->longdescription)) { $eventDetail->setLongDescription((string) $xmlElement->longdescription); } if (!empty($xmlElement->calendarsummary)) { $eventDetail->setCalendarSummary((string) $xmlElement->calendarsummary); } // Set Performers. if (!empty($xmlElement->performers)) { $eventDetail->setPerformers(CultureFeed_Cdb_Data_PerformerList::parseFromCdbXml($xmlElement->performers)); } if (!empty($xmlElement->media->file)) { foreach ($xmlElement->media->file as $fileElement) { $eventDetail->media->add(CultureFeed_Cdb_Data_File::parseFromCdbXML($fileElement)); } } if (!empty($xmlElement->price)) { $eventDetail->setPrice(CultureFeed_Cdb_Data_Price::parseFromCdbXml($xmlElement->price)); } return $eventDetail; }