public function assignBody(HTML_Element $element) { if ($element->tag == 'body') { $this->body = $element; return; } else { if ($element instanceof HTML_Container) { try { $sub_element = $element->getAt(0); if ($sub_element->tag == 'body') { $this->body = $sub_element; return; } } catch (HTML_Index_Out_Of_Range_Exception $e) { } } } $match = $element->getElementsBy('tag', 'body'); if (!empty($match)) { $this->body = $match[0]; } else { throw new Root_Tag_Not_Found_Exception('body'); } }