user: IDS Version: IFC2X3
filename: row-0070.ids

For common corridor doors (IfcDoor) on evacuation routes, check whether the following are included:
- Material type: Steel/Wood/Aluminum (enumerated values)
- Effective width: 850-1200 mm (numeric, unit mm)
- Opening/closing method category: Single-leaf/Double-leaf (enumerated values)

Create an IDS for detecting inconsistencies with in-house standards. Extract missing input, out-of-range values, and unexpected values.

assistant: <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ids:ids xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://standards.buildingsmart.org/IDS http://standards.buildingsmart.org/IDS/1.0/ids.xsd" xmlns:ids="http://standards.buildingsmart.org/IDS">
  <!--edit with ONESTRUCTION Inc.-->
  <ids:info>
    <ids:title>EvacuationRouteCommonCorridorDoor_InHouseStandardComplianceVerification</ids:title>
    <ids:description>IDS to verify whether common corridor doors on evacuation routes retain attributes within the in-house standard range. Detects missing input, out-of-range values, and unexpected values for material type, effective width, and opening/closing method category.</ids:description>
  </ids:info>
  <ids:specifications>
    <ids:specification name="EvacuationRouteCommonCorridorDoor_StandardCompliance" ifcVersion="IFC2X3">
      <ids:applicability minOccurs="1" maxOccurs="unbounded">
        <ids:entity>
          <ids:name>
            <ids:simpleValue>IFCDOOR</ids:simpleValue>
          </ids:name>
        </ids:entity>
      </ids:applicability>
      <ids:requirements>
        <ids:property cardinality="required" dataType="IFCLABEL">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>Material type</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:string">
              <xs:enumeration value="Steel"/>
              <xs:enumeration value="Wood"/>
              <xs:enumeration value="Aluminum"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCLENGTHMEASURE">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>Effective width</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:double">
              <xs:minInclusive value="850"/>
              <xs:maxInclusive value="1200"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
        <ids:property cardinality="required" dataType="IFCLABEL">
          <ids:propertySet>
            <xs:restriction base="xs:string">
              <xs:pattern value="^(?!(Pset_|Qto_)).+"/>
            </xs:restriction>
          </ids:propertySet>
          <ids:baseName>
            <ids:simpleValue>Opening/closing method category</ids:simpleValue>
          </ids:baseName>
          <ids:value>
            <xs:restriction base="xs:string">
              <xs:enumeration value="Single-leaf"/>
              <xs:enumeration value="Double-leaf"/>
            </xs:restriction>
          </ids:value>
        </ids:property>
      </ids:requirements>
    </ids:specification>
  </ids:specifications>
</ids:ids>