* @return bool 
	 */
    public function isEmpty()
    {
        return ($this->getValue() == "" || is_null($this->getValue())) && $this->countChildren() == 0;
    }
    /**
	 * returns the current object child count
	 *
	 * @return int
	 */
    public function countChildren()
    {
        return count($this->children);
    }
    /**
	 * returns the current object as a SimpleXMLElement object
	 * 
	 * @param boolean $recursive allow to add children into the result
	 * @return SimpleXMLElement 
	 */
    public function toSimpleXMLElement($recursive = false)
    {
        $simplexlmelementobject = new SimpleXMLElement('<' . $this->getName() . '>' . $this->getValue() . '</' . $this->getName() . '>');
        foreach ($this->getAttributes() as $name => $value) {
            $simplexlmelementobject->addAttribute($name, $value);
        }
        if ($recursive) {
            $this->attachChildren($simplexlmelementobject);
        }
        return $simplexlmelementobject;
    }
    /**
	 * attaches all the children and their children of the current object to the object given in parameter
	 * 
	 * @param SimpleXMLElement $simplexmlelement
	 */
    public function attachChildren($simplexmlelement)
    {
        foreach ($this->getChildren() as $child) {
            $simplexmlelement_child = $simplexmlelement->addChild($child->getName(), $child->getValue());
            foreach ($child->getAttributes() as $name => $value) {
                $simplexmlelement_child->addAttribute($name, $value);
            }
            $child->attachChildren($simplexmlelement_child);
        }
    }
    /**