*/
    public function getChildrenByNameAndAttribute($name, $attributename, $attributevalue = null)
    {
        $children = $this->getChildrenByName($name);
        foreach ($children as $key => $child) {
            if (is_null($child->getAttribute($attributename)) || !is_null($attributevalue) && $child->getAttribute($attributename) != $attributevalue) {
                unset($children[$key]);
            }
        }
        return $children;
    }
    /**
	 * returns the first child with the name $name and attribute $attributename set to $attribute value
	 * 
	 * @param string $name
	 * @param string $attributename name of the wanted attribute
	 * @param string|null $attributevalue name of the wanted value, null if we're only looking for the attribute presence
	 * @return CertissimXMLElement
	 */
    public function getChildByNameAndAttribute($name, $attributename, $attributevalue = null)
    {
        $children = $this->getChildrenByNameAndAttribute($name, $attributename, $attributevalue);
        return array_pop($children);
    }
    /**