public function __construct($type, $tag_value, $tag_name, $tag_settings = array()) { $this->setType($type)->setXmlValue($tag_value instanceof SimpleXMLElement ? Helper::getContent($tag_value) : $tag_value)->setName($tag_name); if ($tag_value instanceof SimpleXMLElement) { $this->setXml($tag_value); } if (!is_null($tag_settings)) { $this->setSettings($tag_settings); } $this->init(); if (false === $this->isEmpty) { $this->parse(); } }