protected function setAttribute( string$key, string$value, string$condition=null ):self
	{
		if( isset($this->attributes[$key]) )
			{ $this->document->throw("Attribute $key of $this->name cannot redeclare."); }

		$this->attributes[$key]=[
			'value'=> $value,
			'condition'=> $condition,
		];

		return $this;
	}