public static function create_from_xml($alias, $itnum, $subitnum, $xmlbuffer)
 {
     $xml = new SimpleXMLElement($xmlbuffer);
     $xmlnode = ItemFactory::node($xml, '//xml');
     $format = (string) $xmlnode->format;
     $extension = Item::extension((string) $xmlnode->find);
     #some items have no format
     $is_image = array_search($extension, Item::image_extensions());
     if ($extension == 'cpd') {
         // $format == 'Document' ||  -- inconsistent
         $compound_object = CompoundObject::from_xml($alias, $itnum, $xmlbuffer);
         if ($subitnum != NULL) {
             return $compound_object->item_by_itnum($subitnum);
         } else {
             return $compound_object->first_item();
         }
     } else {
         if ($format == 'Image' || $is_image) {
             return Image::from_xml($alias, $itnum, $xmlbuffer);
         } else {
             return Item::from_xml($alias, $itnum, $xmlbuffer);
         }
     }
 }
Example #2
0
 public function file_type()
 {
     return Item::extension($this->file);
 }