RULE restrict_representation_for_document_creation_property FOR (representation, representation_item); LOCAL document_creation_representations: SET OF representation := []; END_LOCAL; document_creation_representations := QUERY( r <* representation | (r.name ='document creation' )); WHERE wr1: SIZEOF ( QUERY ( r <* document_creation_representations | ( ( SIZEOF ( r.items ) <1 ) OR (SIZEOF ( r.items ) >3 ) ) ) ) =0; wr2: SIZEOF ( QUERY ( ri <* representation_item | ( SIZEOF (QUERY ( r <* USEDIN ( ri ,'CATALOG_DATA_INFORMATION_MIM' + '.REPRESENTATION.ITEMS' ) | r.name ='document creation' ) ) >0 ) AND NOT ( ri. name IN [ 'creating interface' , 'creating system' ,'operating system' ] ) ) ) =0; wr3: SIZEOF ( QUERY ( r <* document_creation_representations | ( SIZEOF ( QUERY ( i <* r.items | ( i.name = 'creating interface' ) AND ( 'CATALOG_DATA_INFORMATION_MIM' + '.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i )))) >1 ) ) ) =0; wr4: SIZEOF ( QUERY ( r <* document_creation_representations | ( SIZEOF ( QUERY ( i <* r.items | ( i.name = 'creating system' ) AND ( 'CATALOG_DATA_INFORMATION_MIM' + '.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i )))) <>1 ) ) ) =0; wr5: SIZEOF ( QUERY ( r <* document_creation_representations | ( SIZEOF ( QUERY ( i <* r.items | ( i.name = 'operating system' ) AND ( 'CATALOG_DATA_INFORMATION_MIM' + '.DESCRIPTIVE_REPRESENTATION_ITEM' IN TYPEOF ( i )))) >1) ) ) =0; END_RULE; -- restrict_representation_for_document_creation_property |
public class RRestrict_representation_for_document_creation_property public int rWr5(SdaiContext _context) public int rWr4(SdaiContext _context) public int rWr3(SdaiContext _context) public int rWr2(SdaiContext _context) public int rWr1(SdaiContext _context) public int run(SdaiContext _context, A_string violations) |