RULE restrict_representation_for_document_size_property FOR (representation, representation_item); WHERE wr1: SIZEOF ( QUERY ( r <* representation | ( r.name = 'document size' ) AND ( ( SIZEOF ( r.items ) <1 ) OR ( SIZEOF ( r.items ) >2 ) ) ) ) =0; wr2: SIZEOF ( QUERY ( ri <* representation_item | ( SIZEOF ( QUERY ( r <* USEDIN ( ri , 'AUTOMOTIVE_DESIGN.REPRESENTATION.ITEMS' ) | r.name = 'document size' ) ) >0 ) AND NOT ( ri. name IN [ 'file size' , 'page count' ] ) ) ) =0; wr3: SIZEOF ( QUERY ( r <* representation | ( r.name = 'document size' ) AND ( SIZEOF ( QUERY ( i <* r.items | ( i.name = 'file size' ) AND ( SIZEOF ( ['AUTOMOTIVE_DESIGN.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AUTOMOTIVE_DESIGN.'+ 'VALUE_RANGE' , 'AUTOMOTIVE_DESIGN.'+ 'VALUE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) =1 ) ) ) >1 ) ) ) =0; wr4: SIZEOF ( QUERY ( r <* representation | ( r.name = 'document size' ) AND ( SIZEOF ( QUERY ( i <* r.items | ( i.name = 'page count' ) AND ( SIZEOF ( ['AUTOMOTIVE_DESIGN.'+ 'MEASURE_REPRESENTATION_ITEM' , 'AUTOMOTIVE_DESIGN.'+ 'VALUE_RANGE' , 'AUTOMOTIVE_DESIGN.'+ 'VALUE_REPRESENTATION_ITEM']* TYPEOF ( i ) ) =1 ) ) ) >1 ) ) ) =0; END_RULE; -- restrict_representation_for_document_size_property |
public class RRestrict_representation_for_document_size_property 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) |