/**
* Update the specified attribute.
*
* @param string $name The name of the attribute
* to be updated.
* @param mixed $value The value to store.
* @param DOMNode $parent_node The parent node of the
* node that should be
* updated.
* @param Horde_Kolab_Format_Xml_Helper $helper A XML helper instance.
* @param array $params The parameters for this
* write operation.
* @param DOMNode|NULL $old_node The previous value (or
* null if there is none).
*
* @return DOMNode|boolean The new/updated child node or false if this
* failed.
*
* @throws Horde_Kolab_Format_Exception If converting the data to XML failed.
*/
public function saveNodeValue($name, $value, $parent_node, Horde_Kolab_Format_Xml_Helper $helper, $params = array(), $old_node = false)
{
if (!isset($value) || !$value instanceof DateTime) {
throw new Horde_Kolab_Format_Exception(sprintf('Missing or invalid date for the "%s" entry!', $name));
}
$date = Horde_Kolab_Format_Date::writeDate($value);
$node = parent::saveNodeValue($name, $date, $parent_node, $helper, $params, $old_node);
return $node;
}