|
ENTITY multi_language_attribute_assignment SUBTYPE OF (attribute_value_assignment); items : SET [1:?] OF multi_language_attribute_item; DERIVE translation_language : language := language_indication[1]\attribute_classification_assignment.assigned_class; INVERSE language_indication : SET [1:1] OF attribute_language_assignment FOR items; WHERE WR1: (SELF\attribute_value_assignment.role.name = 'alternate language'); WR2: SIZEOF( QUERY( ala <* language_indication | (ala\attribute_classification_assignment.attribute_name = 'attribute_value') AND (ala\attribute_classification_assignment.role.name='translated') )) = 1; WR3: SELF\attribute_value_assignment.attribute_name <> ''; WR4: SIZEOF(QUERY(ci <* items | SIZEOF(QUERY(ata <* USEDIN(ci, 'MULTI_LINGUISM_MIM.MULTI_LANGUAGE_ATTRIBUTE_ASSIGNMENT.ITEMS') | (ata\attribute_value_assignment.attribute_name = SELF\attribute_value_assignment.attribute_name) AND (ata.translation_language :=: translation_language) ))>1 )) =0; WR5: SIZEOF(QUERY(ci <* items | SIZEOF(QUERY(ata <* USEDIN(ci, 'MULTI_LINGUISM_MIM.ATTRIBUTE_LANGUAGE_ASSIGNMENT.ITEMS') | (ata\attribute_classification_assignment.role.name='primary') AND (ata\attribute_classification_assignment.attribute_name= SELF\attribute_value_assignment.attribute_name) AND (ata\attribute_classification_assignment.assigned_class :=: translation_language) ))>0 )) =0; END_ENTITY; -- multi_language_attribute_assignment |
Entity data types and their attributesattribute_value_assignmentattribute_name: label; attribute_value: attribute_type; role: attribute_value_role; multi_language_attribute_assignment items: SET [1:?] OF multi_language_attribute_item; (DER) translation_language: language; (INV) language_indication: SET [1:1] OF attribute_language_assignment FOR items; |
Global rules for this entity data type- |