Overview Schemas Index

LOCATION_IN_BUILDING_MIM (jsdai.SLocation_in_building_mim)


RULE building_element_maps_into_building_section_or_space 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) *
        ['LOCATION_IN_BUILDING_MIM.BUILDING_ELEMENT',
        'LOCATION_IN_BUILDING_MIM.FIXTURE_EQUIPMENT_ELEMENT',
        'LOCATION_IN_BUILDING_MIM.SERVICE_ELEMENT',
        'LOCATION_IN_BUILDING_MIM.STRUCTURE_ENCLOSURE_ELEMENT']
        ) = 1
        )) >= 1)
        AND
        (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') | 
            SIZEOF (TYPEOF (pdr.definition.definition) *
        ['LOCATION_IN_BUILDING_MIM.BUILDING_SECTION',
              'LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT'] ) >= 1 ))
          =1 )) 
          = 0)
        )) = 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.BUILDING_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.FIXTURE_EQUIPMENT_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.SERVICE_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.STRUCTURE_ENCLOSURE_ELEMENT']) = 1
       )) >= 1)
       AND
      (SIZEOF (QUERY (pdr <* USEDIN(rrwt\representation_relationship.rep_1,
       'LOCATION_IN_BUILDING_MIM.PROPERTY_DEFINITION_REPRESENTATION.USED_REPRESENTATION') |
            SIZEOF (TYPEOF (pdr.definition.definition) *
        ['LOCATION_IN_BUILDING_MIM.BUILDING_SECTION',
              'LOCATION_IN_BUILDING_MIM.SPACE_ELEMENT'] ) >= 1
            )) = 0)
       )) = 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.BUILDING_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.FIXTURE_EQUIPMENT_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.SERVICE_ELEMENT',
       'LOCATION_IN_BUILDING_MIM.STRUCTURE_ENCLOSURE_ELEMENT']) = 1
       )) >= 1)
       AND
       (rrwt_1\representation_relationship.rep_2 :=: rrwt_2\representation_relationship.rep_2)
       )) >= 1
       )) = 0;
END_RULE; -- building_element_maps_into_building_section_or_space

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