private function setAttribute($name, $value)
{
// Not possible when setAttribute is private.
#if (!is_string($name)) {
# throw new \InvalidArgumentException('Attribute name is not a string.');
#} else
if (!is_string($value) && !is_int($value)) {
throw new Exception\InvalidArgumentException('Attribute value is not a string.');
} else {
if ($name === 'name') {
throw new Exception\InvalidArgumentException('"name" attribute cannot be overwritten.');
}
}
$this->attributes[$name] = $value;
}