Add validate check to Item::assign() methods
The smtk::attribute::Item class has a virtual method assign() that was original added to support copy-attribute operations. Each concrete subclass of Item overrides that method. None of the implementations do any validation, which is OK for copying attributes, since the calling code passes in compatible input. But since the assign() methods are public, they should have an option to verify to check that the assignment is valid with respect to its definition.
Since a general validation is nontrivial, a good starting point would be to match the definition name or, better still, the definition namespace, of the input Item and the target Item.