+ assert( a->a_vals[0].bv_val != NULL );
+
+ if( a->a_desc->ad_type->sat_check ) {
+ int rc = (a->a_desc->ad_type->sat_check)(
+ be, e, a, text, textbuf, textlen );
+ if( rc != LDAP_SUCCESS ) {
+ return rc;
+ }
+ }
+
+ if( !collective && is_at_collective( a->a_desc->ad_type ) ) {
+ snprintf( textbuf, textlen, "attribute '%s' "
+ "may only appear in collectiveAttributes subentry",
+ type );
+ return LDAP_OBJECT_CLASS_VIOLATION;
+ }