Overview Schemas Index

LOCATION_IN_BUILDING_MIM (jsdai.SLocation_in_building_mim)


RULE space_or_building_level_maps_into_building_section FOR (mapped_item, representation_relationship_with_transformation);

WHERE
          wr1: SIZEOF (QUERY (mi <* mapped_item |
        (SIZEOF (QUERY (pdr <* USEDIN(mi.mapping_source.mapped_representation,
        'LOCATION_IN_BUILDING_MIM.'+
        'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
            SIZEOF  (TYPEOF (pdr.definition.definition) *
        ['BUILDING_ITEM_MIM.SPACE_ELEMENT',
        'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL']
        ) = 1
        )) >= 1)
        AND
        (NOT (SIZEOF (QUERY (r <* USEDIN (mi,'LOCATION_IN_BUILDING_MIM.REPRESENTATION.ITEMS') |
        SIZEOF (QUERY (pdr <* USEDIN(r,'LOCATION_IN_BUILDING_MIM.'+
        'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') | 
        ('LOCATION_IN_BUILDING_MIM.BUILDING_SECTION' IN TYPEOF(pdr.definition.definition))
        )) >= 1
        )) = 1))
        )) = 0;
          wr2: SIZEOF (QUERY (rrwt <* representation_relationship_with_transformation |
       (SIZEOF (QUERY (pdr <* USEDIN(rrwt\representation_relationship.rep_2,
       'LOCATION_IN_BUILDING_MIM.'+
       'PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
       SIZEOF (TYPEOF (pdr.definition.definition) *
       ['LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL']) = 1
       )) >= 1)
       AND
      (NOT (SIZEOF (QUERY (pdr <* USEDIN(rrwt\representation_relationship.rep_1,
       'LOCATION_IN_BUILDING_MIM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
       ('LOCATION_IN_BUILDING_MIM.BUILDING_SECTION' IN TYPEOF (pdr.definition.definition))
       )) = 1))
       )) = 0;
          wr3: SIZEOF (QUERY (rrwt_1 <* representation_relationship_with_transformation |
       SIZEOF  (QUERY (rrwt_2 <* representation_relationship_with_transformation |
       (SIZEOF (QUERY (pdr <* USEDIN(rrwt_1\representation_relationship.rep_2,
       'LOCATION_IN_BUILDING_MIM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
       SIZEOF (TYPEOF (pdr.definition.definition) *
       ['LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.BUILDING_LEVEL']) = 1
       )) >= 1)
       AND
       (rrwt_1\representation_relationship.rep_2 :=: rrwt_2\representation_relationship.rep_2)
       )) >= 1
       )) = 0;
END_RULE; -- space_or_building_level_maps_into_building_section

public class RSpace_or_building_level_maps_into_building_section
          public int rWr3(SdaiContext _context)
          public int rWr2(SdaiContext _context)
          public int rWr1(SdaiContext _context)
          public int run(SdaiContext _context, A_string violations)