adding support to define attributes with optional values.
Adding support to define nominal attributes