protected function takeChildFromDOM($child) { $absoluteNodeName = $child->namespaceURI . ':' . $child->localName; switch ($absoluteNodeName) { case $this->lookupNamespace('atom') . ':' . 'author': $author = new Extension\Author(); $author->transferFromDOM($child); $this->_author[] = $author; break; case $this->lookupNamespace('atom') . ':' . 'category': $category = new Extension\Category(); $category->transferFromDOM($child); $this->_category[] = $category; break; case $this->lookupNamespace('atom') . ':' . 'contributor': $contributor = new Extension\Contributor(); $contributor->transferFromDOM($child); $this->_contributor[] = $contributor; break; case $this->lookupNamespace('atom') . ':' . 'id': $id = new Extension\Id(); $id->transferFromDOM($child); $this->_id = $id; break; case $this->lookupNamespace('atom') . ':' . 'link': $link = new Extension\Link(); $link->transferFromDOM($child); $this->_link[] = $link; break; case $this->lookupNamespace('atom') . ':' . 'rights': $rights = new Extension\Rights(); $rights->transferFromDOM($child); $this->_rights = $rights; break; case $this->lookupNamespace('atom') . ':' . 'title': $title = new Extension\Title(); $title->transferFromDOM($child); $this->_title = $title; break; case $this->lookupNamespace('atom') . ':' . 'updated': $updated = new Extension\Updated(); $updated->transferFromDOM($child); $this->_updated = $updated; break; default: parent::takeChildFromDOM($child); break; } }